Skip to content

Instantly share code, notes, and snippets.

View teocomi's full-sized avatar

Matteo Cominetti teocomi

View GitHub Profile
#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",
#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
@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 / 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