Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
I may be slow to respond.

chuongmep

💭
I may be slow to respond.
View GitHub Profile
@chuongmep
chuongmep / Set Parameter Dynamo Sample.py
Last active Jun 4, 2020
Set Parameter Dynamo Sample
View Set Parameter Dynamo Sample.py
#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
View GetParameterValue.py
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:
@chuongmep
chuongmep / GetParameterValue DynamoRevit C#.cs
Last active May 13, 2021
GetParameterValue DynamoRevit C#
View GetParameterValue DynamoRevit C#.cs
public static object GetParameterValue(Autodesk.Revit.DB.Parameter param)
{
object result;
switch (param.StorageType)
{
case StorageType.ElementId:
int valueId = param.AsElementId().IntegerValue;
if (valueId > 0)
{
var elem = ElementIDLifecycleManager<int>.GetInstance().GetFirstWrapper(valueId) as Element;
View GetParameterValue.cs
public static string GetParameterValue(this Parameter p)
{
if (p == null) return string.Empty;
switch (p.StorageType)
{
case StorageType.Double:
return p.AsDouble().ToString();
case StorageType.ElementId:
try
{
View GetTopFace.py
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'
View GetTopSurface.cs
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);
@chuongmep
chuongmep / GetTopFace.cs
Created Jun 4, 2020
Get Top Face Revit API
View GetTopFace.cs
public static PlanarFace GetTopFace(Solid solid)
{
PlanarFace topFace = null;
FaceArray faces = solid.Faces;
foreach (Face f in faces)
{
PlanarFace pf = f as PlanarFace;
if (pf.FaceNormal.IsAlmostEqualTo(new XYZ(0, 0, -1)))
{
topFace = pf;
View Python Civil.py
# 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
View PurgeCAD.cs
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
View Line To Curve Dynamo.py
import clr
clr.AddReference('ProtoGeometry')
import Autodesk.DesignScript.Geometry
a = IN[0]
if isinstance(a, list):
a = a
else: a = [a]