Skip to content

Instantly share code, notes, and snippets.

View teocomi's full-sized avatar

Matteo Cominetti teocomi

View GitHub Profile
@teocomi
teocomi / revit-addin-locations.txt
Last active February 23, 2024 18:17
Revit Addin folder location
Autodesk Revit addins are generally loaded from the following locations.
User Addins:
%appdata%\Autodesk\Revit\Addins\
%appdata%\Autodesk\ApplicationPlugins\
Machine Addins (for all users of the machine):
C:\ProgramData\Autodesk\Revit\Addins\
Addins packaged for the Autodesk Exchange store:
@teocomi
teocomi / .gitignore
Created September 13, 2016 15:01
Gitignore for Unity projects
# =============== #
# Unity generated #
# =============== #
[Tt]emp/
[Oo]bj/
[Bb]uild
/[Bb]uilds/
/[Ll]ibrary/
sysinfo.txt
*.stackdump
@teocomi
teocomi / dynamo_select-revit-elements-by-id.py
Last active November 23, 2023 01:46
Select Revit Elements by ID from Dynamo
import clr
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import ElementId
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
clr.AddReference("System")
from System.Collections.Generic import List
@teocomi
teocomi / dynamo_get-revit-elements-by-guid.py
Created March 27, 2018 10:26
Get Revit Elements by UniqueID (GUID) from Dynamo
import clr
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import ElementId
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
clr.AddReference("System")
from System.Collections.Generic import List
@teocomi
teocomi / Win32Api.cs
Last active April 24, 2023 07:09
Run Revit commands using Win32 API
/// <summary>
/// Run Revit commands using Win32 API
/// </summary>
public class Win32Api
{
[DllImport("user32.dll")]
private static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")]
static extern bool SetFocus(IntPtr hWnd);
@teocomi
teocomi / oauth2-restsharp.cs
Last active March 6, 2023 10:33
OAuth2 C# RestSharp
string url = "https://myurl.com";
string client_id = "client_id";
string client_secret = "client_secret";
//request token
var restclient = new RestClient(url);
RestRequest request = new RestRequest("request/oauth") {Method = Method.POST};
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("client_id", client_id);
request.AddParameter("client_secret", client_secret);
@teocomi
teocomi / dynamo_split-columns-by-level.py
Created March 28, 2018 12:43
Splits columns by level in Revit using Dynamo
#inspired by: https://danimosite.wordpress.com/2017/06/06/split-walls-and-columns-by-level/#comment-10
#as input provide only a list of the levels you want to cut with
import clr
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
@teocomi
teocomi / grasshopper_gui-button-mouseover.cs
Last active February 26, 2022 14:53
Grasshopper GUI Button mouseover
using Grasshopper.GUI;
using Grasshopper.GUI.Canvas;
using Grasshopper.Kernel;
using Grasshopper.Kernel.Attributes;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
#gets the total download count of releases in a github repo
#adapted from: https://www.artificialworlds.net/blog/2015/10/16/finding-the-download-count-of-github-releases/
#might stop working if the releases are too many :/
curl -s https://api.github.com/repos/speckleworks/speckleinstaller/releases?per_page=100 | egrep 'download_count' | cut '-d:' -f 2 | sed 's/,/+/g' | xargs echo | sed 's/ //g' | xargs echo | xargs -I N echo N 0 | bc
@teocomi
teocomi / karabiner-elements-remote-desktop.json
Last active July 23, 2020 17:34
Karabiner Elements JSON configuration for Microsoft Remote Desktop
{
"title": "Remote Desktop & TeamViewer",
"rules": [
{
"description": "Swap command and control - teocomi",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "left_control",