Skip to content

Instantly share code, notes, and snippets.

View teocomi's full-sized avatar

Matteo Cominetti teocomi

View GitHub Profile
@teocomi
teocomi / .gitattributes
Created September 13, 2016 15:04
Gitattributes for Unity projects with support for Git Large File Storage (LFS)
## Unity ##
*.cs diff=csharp text
*.cginc text
*.shader text
*.mat merge=unityyamlmerge eol=lf
*.anim merge=unityyamlmerge eol=lf
*.unity merge=unityyamlmerge eol=lf
*.prefab merge=unityyamlmerge eol=lf
#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
@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
{
@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
{
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
#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
#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
//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();
@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
@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();