Skip to content

Instantly share code, notes, and snippets.

View teocomi's full-sized avatar

Matteo Cominetti teocomi

View GitHub Profile
@teocomi
teocomi / gist:396c04320dd77db69393
Created February 25, 2016 18:10
Remove git history
//source http://stackoverflow.com/questions/9683279/make-the-current-commit-the-only-initial-commit-in-a-git-repository
rm -rf .git
git init
git add .
git commit -m "Initial commit"
git remote add origin <github-uri>
git push -u --force origin master
@teocomi
teocomi / RandomString.cs
Last active July 20, 2016 09:27
Random friendly string
/// <summary>
/// Random ID Generator
/// more ideas: http://www.anotherchris.net/csharp/friendly-unique-id-generation-part-2/
/// </summary>
/// <param name="length">Length of the string</param>
/// <returns></returns>
public static string RandomString(int length)
{
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var random = new Random();
@teocomi
teocomi / dynamo_fix-column-level-offset.py
Last active March 9, 2018 16:29
Fixes column level and offset in Revit using Dynamo
# Inspired by: https://danimosite.wordpress.com/2017/06/06/split-walls-and-columns-by-level/
# Fixes Columns in Revit using Dynamo by setting Top and Base levels to the closest levels and sets the right offsets to those levels
import clr
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
//using DotNetOpenAuth and RestSharp
WebServerClient client = new WebServerClient(
new AuthorizationServerDescription
{
TokenEndpoint = new Uri("https://myurl/oauth"),
ProtocolVersion = ProtocolVersion.V20
}, "client", "secret");
var token = client.GetClientAccessToken();
#Given a level name or a list or level names, return the matching level/s found
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
# Import DocumentManager and TransactionManager
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
#Given an element Id or a list or elementIds, return the matching tags/s found
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
# Import DocumentManager and TransactionManager
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
Public Sub BatchReplaceTextInWordFiles()
' https://www.datanumen.com/blogs/find-replace-contents-multiple-word-documents/
Dim objDoc As Workbook
Dim strFile As String
Dim strFolder As String
Dim oldNamesFile As String
Dim newNamesFile As String
Dim strFindText As String
Dim strReplaceText As String
Dim oldnames As New Collection
@teocomi
teocomi / GoogleAnalyticsApi.cs
Last active July 11, 2018 16:14 — forked from PallasDoesCode/GoogleAnalyticsApi.cs
C# wrapper around the Google Analytics Measurement Protocol API
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;
namespace ConsoleApplication4
{
@teocomi
teocomi / ConvexHull.cs
Last active December 12, 2018 09:55
Calculates the convex hull from a given list of Revit points
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.DB;
namespace Geometry
{
#this script lists the BuiltInCategories currently loaded in a Revit document
#can be easily tweaked to instead list categories only
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager