hi i am trying to construct a CurveLoop from room boundaries.
up to now i am failing.
when i use the original boundaries python throws an exception.
i tried to work around by creating solids and intersecting them with a plane.
no result.
i tried to construct a CurveLoop from curves with the Append method. api tells me to expect an Autodesk.Revit.DB.Curve i don’t know how to construct one?
why do i need that: to crop a view according to the room boundaries. (bounding box is not working as rooms ar rotated)
and room boundaries in python throw an exception.
rotating a section view would work, but i also need (mirrored) ceiling plans … that is why i have to go with cropping a ceiling plan
tx
Hi Peter,
Using Intersect works as shown. Isn’t it what you want?
Hi Peter,
It’s not clear from the image - are you inputting Revit’s “BoundarySegments” or are you inputting Dynamo geometry curves into your python script?
When you fed it Dynamo geometry curves, did you convert each curve to a revit curve?( .ToRevitType( ) ) That usually works for me.
Dang I was thinking about arrays. CurveLoops are a bit hard to make because they have to follow a lot of criteria. From the API:
“It should also be noted that these definitions take the order of the curves and the curves’ directions into account. For example, a CurveLoop comprising the four edges of a rectangle in the order {bottom, top, left, right} is discontinuous. Similarly, a CurveLoop comprising the four edges of a rectangle in the order {bottom, right, top, left}, with three of the lines oriented in the counter-clockwise direction of the rectangle and the fourth oriented in the clockwise direction, is discontinuous.”
"There are a specific set of requirements for how valid CurveLoops must be formed:
- The curves must typically be continuous
- ..."
Maybe you can run your curves through a PolyCurve.ByJoinedCurves first and then extract the curves from that. Dynamo's PC node is very powerful.
edit: quick example below
exactly what i did!
i will continue examining!
tx