Hi guy!
I want get geometry for steel plate is steelproxyelement in revit 2019 I have found many ways that do not produce results
So can you help me! Thank so much!
@Bach, that’s not an easy road
Firstly, steel connections are part of the AdvanceSteel API, which resides in the steel connections add-in folder:
C:\Program Files\Autodesk\Revit 2019\AddIns\SteelConnections
Secondly, AdvanceSteel API shows these elements as solids, which means that they are not more than pure geometry (there’s no way to extract useful data from there). If it is okay for you, then you should find a way to reference AdvanceSteel APIs from Dynamo. I haven’t tried that yet.
@zhukoven Thanks for your answer! I will try learn more and start from this idea!
@Bach, welcome! Also check out this thread at Autodesk forums:
https://forums.autodesk.com/t5/revit-api-forum/revit-api-2019-structural-connections-and-subelement-geometry/td-p/7953233
Although these samples are in C#, they may be handful.
Thanh @zhukoven now i will check this forums
Hi @zhukoven @kennyb6 I have found a way to use python, but currently the file only works for an element you can help me to work it for multiple element
Enable Python support and load DesignScript library
import clr
clr.AddReference(‘ProtoGeometry’)
from Autodesk.DesignScript.Geometry import *
import clr
import sys
pyt_path = r’C:\Program Files (x86)\IronPython 2.7\Lib’
sys.path.append(pyt_path)
import os
import webbrowser
import unicodedata
clr.AddReference(‘RevitAPISteel’)
clr.AddReference(‘RevitAPI’)
from Autodesk.Revit.DB import *
clr.AddReference(‘RevitAPIUI’)
from Autodesk.Revit.UI import Selection
clr.AddReference(‘RevitNodes’)
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference(‘RevitServices’)
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
clr.AddReference(‘DSCoreNodes’)
from DSCore import *
doc = DocumentManager.Instance.CurrentDBDocument
uidoc = DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
views = doc.ActiveView
colec = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_StructConnectionPlates).WhereElementIsNotElementType().ToElements()
connection = UnwrapElement(IN[0])
TransactionManager.Instance.EnsureInTransaction(doc)
opt = Options()
opt.ComputeReferences = True
opt.IncludeNonVisibleObjects = True
opt.View = doc.ActiveView
geo = connection.get_Geometry(opt)
TransactionManager.Instance.TransactionTaskDone()
OUT = geo
Really interested,
I’m having the same issue right now. I cannot find the wat to get the location of the steel plates.
This method helped me a LOT! In addiction, if someone still can’t generate the geometry, this other topic helped me. Specifically, the line that says enum1 = geo1.GetEnumerator() ; enum1.MoveNext()
, I don’t know what it does but solved my issues.