I am trying to create a family from a dwg file in REvit 2025 (Dynamox3).
The routine tries to extrude as Solid from the CAD layer by the BIMmorphe node “CAD.CurvesFromCADLayers” to read the dwg, and the Spring node “Form.Bygeometry” to export the extrusion inside a Family file .
I cannot extrude it as a solid because it says the curve are not closed.
However, it partially works by “Curve.Extrude” and “Surface.Thicken” to create asolude to the “Form.Geometry” node, but some layers are not extruded properly .
It appears that the latest version of IronPython2.7 3.2.1 no longer has the traceback module which is causing the Springs node to fail.
Easiest solution - build the family in 2023 and open, update and save in 2025
You could open the node and update the python engine and code, however that creates more issues than it solves (like the inability to delete the SAT imports)
Before trying in my routine, I opened your scripts.
However, I could not import the geometry into the family file. My apologies, but I am still new with all this. I have opened the Python script, but I have not clue how to proceed.
Ok, I have just installed it and reset revit just in case. I can now the python dashboard looks different, but I am not sure if I need to do anything else. I cannot see any extrusion in the family document.
However, trying to include the node in the script with the BIMmorphe, it doesn’extrudes the cad layers either as surface or solid. I must be doing something wrong with the lists or lacing. My bad, I am still fresh.
These images show that the shapes you are selecting font form closed curves. Can you isolate one of them in a 3D view before running the graph so we can understand what the geometry you are starting with is doing? To use extrude as solid you need curves which form a cluster loop.
Starts to - select the chain of lines and see if you get a single closed loop.
My guess is that you don’t. It’ll be many segments disjointed, or overlapping, or crossing. I recommend processing the file in AutoCAD first to get closed polycurves on unique layers, or extracting to an intermediate file (i.e. open the DWG in Dynamo for Civil 3D, select the closed polylines, use Object.Geometry to extract the curve loop and convert to polycurves, write the polycurves out to JSON, read the JSON into Dynamo for Revit and use that to create the solids).
I worked already on the CAD file, basically I set everything as polyline by the same layer. I checked everything was enclosed by placing some hatches in autocad.
I cannot find Object.Geometry, but I have tried with Element.Geometry, as shown below. I may not follow all the steps you mentioned earlier to run the routine.
That would be in Dynamo for Civil3D, not Dynamo for Revit.
You are passing invalid data into the node, so you are going to get this error.
If they are all in the same layer you are not going to be able to generate closed polylines, as the right side of curve A will have an overlap with the left side of curve B. That will mean that the PolyCurve will branch in some cases, which is shown in your shape by the voids. You want a single closed polyline per layer (not just closed openings - the workflow you are building is selecting line by line segment by line segment in a continuous loop where the end of curve 1 becomes the start of curve 2, end of 2 becomes the start of 3, 3 to 4, and 4 to 1 if you were building a rectangle), or better yet preprocess and in Civil 3D and export to an intermediate file which is read into Revit to build the forms. Faster and more accurate that way in my experience.
Overall when I look at this shape, it feels like you are over modeling to some extent - the blocking on the inside won’t be seen, nor will some of the interior gaps, and some of the pieces are quite small - Revit has a minimum tolerance after all. i would strongly consider making one loop for the outside face, nothing more.
Thanks @jacob.small, I complicated myself by trying to invent the wheel.
In the end the routine worked as you mentioned. Then, by just deleting the “spare” solid the extrusion was done in few seconds. Besides, it process the extrusion as a freeform with an specific material.
I have attached some screenshots if anyone is interested.
Also, I would like to thank to @sovitek@c.poupin and @Mike.Buttery they gave me all the insights to complete this as well.