Skip to content

Instantly share code, notes, and snippets.

View chuongmep's full-sized avatar
👋
Loading...

Chuong Ho chuongmep

👋
Loading...
View GitHub Profile
@chuongmep
chuongmep / Set Parameter Dynamo Sample.py
Last active June 4, 2020 16:33
Set Parameter Dynamo Sample
#Copyright(c) 2020, chuongho
# @chuongmep, https://chuongmep.com/
import clr
import sys
sys.path.append('C:\Program Files (x86)\IronPython 2.7\Lib')
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
import clr
@chuongmep
chuongmep / GetParameterValue.py
Created June 4, 2020 16:47
Get Parmater Revit API
def GetParameterValue(parameter):
value= None
if parameter.StorageType == StorageType.Double:
value = parameter.AsDouble()
elif parameter.StorageType == StorageType.Integer:
if parameter.Definition.ParameterType == ParameterType.Integer:
value = parameter.AsInteger()
else:
value = parameter.AsValueString()
elif parameter.StorageType == StorageType.String:
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import Surface as DSSurf
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import*
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
import sys
pyt_path = r'C:\\Program Files (x86)\\IronPython 2.7\\Lib'
public static List<Autodesk.DesignScript.Geometry.Surface> GetTop(Autodesk.DesignScript.Geometry.Geometry geometry)
{
List<Autodesk.DesignScript.Geometry.Surface> TopSurface = new List<Autodesk.DesignScript.Geometry.Surface>();
Autodesk.DesignScript.Geometry.Geometry[] geometries = geometry.Explode();
foreach (Autodesk.DesignScript.Geometry.Surface g in geometries)
{
double d = g.NormalAtParameter(0.5, 0.5).Z;
if (d>0.1)
{
TopSurface.Add(g);
# Load the Python Standard and DesignScript Libraries
import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference('acdbmgd')
clr.AddReference('acmgd')
clr.AddReference('accoremgd')
clr.AddReference('AecBaseMgd')
import Autodesk
@chuongmep
chuongmep / PurgeCAD.cs
Last active June 8, 2020 08:25
Purge CAD
public static void PurgesCAD()
{
Document doc = Autodesk.AutoCAD.ApplicationServices.Core.Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
using (Transaction Tx = db.TransactionManager.StartTransaction())
{
BlockTable table = Tx.GetObject(db.BlockTableId,
OpenMode.ForRead) as BlockTable;
ObjectIdCollection blockIds = new ObjectIdCollection();
do
import clr
clr.AddReference('ProtoGeometry')
import Autodesk.DesignScript.Geometry
a = IN[0]
if isinstance(a, list):
a = a
else: a = [a]
import clr
import math
import sys
pyt_path = r'C:\Program Files (x86)\IronPython 2.7\Lib'
sys.path.append(pyt_path)
import System
clr.AddReference("RevitServices")
import RevitServices
mylist = IN[0]
i, seen, result = mylist, set(), []
for _index, item in enumerate(i):
if item not in seen:
seen.add(item)
else:
result.append(_index)
OUT = result
#Copyright(c) 2020, chuongho
# @chuongmep, https://chuongmep.com/
data = IN[0]
item = IN[1]
newlst = []
i=0
for n in item:
i = i+1
try:
lst = data[data.index(n):data.index(item[i])]