Converting Civil3D Objects to Dynamo Geometry errors on Elipses

Hello everyone,

I have a quite complex shape for a special road marking, and i would like to transform this Civil3D Block, which is now 2D into an 3D Object through Dynamo.

The problem is, i dont know where or how to approach this. This is what i have created so far in Dynamo:

This is a reference for the output i need (in real life):

Also my files:

Complex Road Marking.dwg (908.2 KB)
Complex Road Marking Script.dyn (18.9 KB)

Thanks in advance!
Daan

2 Likes

Hi @Daan,
I can not study your diagram because i got all unresolved nodes,
but i would try that kind of process


You can use nodes from bimorphNodes package.

2 Likes

I suggest extracting the geometry using the Civil 3D Toolkit : BlockReferenceExtensions.GetGeometry.

This will give you each curve that makes the block (without the nulls/empty).

Afterwards you can join the polycurves (knowing which is which is tricky and will take some time) to construct surfaces : .
-First I’ll construct a surface that represents the whole (see image below)
-and then substract the surfaces representing the gaps (when joining the polycurves make sure that you create a polycurve containing for curves for each of the gap and you can create the surfaces by patching).

Finally you can use the the surface.thicken node to make it a solid.

Anyway this is by no means the only way to do it. As with everything in Dynamo you can have many ways to get to the same result. This is what I came up when seeing the geometry. Maybe just creating it in Dynamo from scratch can be easier ? It seems every parameter is constant (space between the gaps, slope of the lines, etc.)

1 Like

Hadn’t seen your reply but we thought of the same approach :slightly_smiling_face:

1 Like

:slight_smile:

1 Like

Hi @david_licona & @Francois_Labonne,

I would like to thank you both for your in depth feedback! That is a great solution!
However i have another small problem, when i insert another symbol, a STOP marking i get this weird result: (Using the BlockReferenceExtensions node)

How or why this happens, i don’t know.
Again thank you! :slight_smile:

Complex Road Marking Script V2.dyn (74.3 KB)
Complex Road Marking V2.dwg (1.1 MB)

Yes, i have already seen that…you can split the arcs in several straights lines with Curve.PointAtParameter, and then join those points to redraw the arcs…

How do i know which arc correspond to which letter and which parameter?

Not easy to find the letter unless you move it to a specic layer.
But you can select all the arcs that way


About parameter : one or several values normalized i.e. beetween 0 & 1

Maybe you can just use the 3d text tool in revit and catch it with dynamo

There is not only Arc in your text but also EllipseArc…maybe the issues come from those EllipseArc

Yes, i see now that the issues are coming from the Ellipses, but i do not know how to change those elipses to polylines.

@Daan
Here is a tedious way to get your S letter extruded


S_shape.dyn (43.8 KB)

Hi @Francois_Labonne,

Could you share your Dynamo file?
This looks really promising.

Regards,
Daan

you can find the download link in my previous post :slight_smile:
(i just used a node from bimorphNodes package)

1 Like

The issue is that these are ellipses in AutoCAD but they should be EllipseArc in Dynamo, hence the confusion

2 Likes


Thanks for pointing this out there is something off going on in the the Dynamo node to create Ellipse Arc, I had to do some changes to the logic of the geometry conversion but the result looks good now.

5 Likes

@Paolo_Emilio_Serra1,

I still have the same problem, do i need to reinstall the Civil3DToolkit package?

I haven’t released the new version yet

Is there a way to get this to work at the moment?
Or are you going to release that update really soon?