Civil 3D Toolkit Feedback thread

Hello, I try to find my answer but I didn’t find, if anyone knows anything about this, please let me know.
The problem is that the node “AlignmentExtensions.PIStations” get the PI Station in a different way from the Alignment Grid View in C3D. I’ll attach a image with this difference, but the difference is the way that each one gets the result.
Dynamo node is a projection of PI point on the curve and the C3D table is a sum of curve start station and external tangent.
Are these two pieces of information supposed to be the same or is it a misunderstanding on my side?


Dynamo 2.13 v 2.12 - AddPipeByCurve Not working.

FYI @solamour, @Paolo_Emilio_Serra1

I can open the same drawing and graph in each version, but the C3D 2023/Dynamo 2.13 version doesn’t create the pipes (PipeNetwork.AddPipeByCurve). All the nodes leading into this one look good and output the correct results as far as I can tell. Not sure what other nodes in the Civil3DToolkit are affected.

Has anyone else encountered this with either this node or others?

In the Core 2.13 release notes, I found the following:

"Group discrete curve paths into one or more PolyCurves"

Is it possible the core is converting the lines used to generate the pipes into a polycurve that this node can’t handle?

Error log and screen shots below…

Autodesk_Civil3DToolkit.txt (20.3 KB)



1 Like

Hello @JPhil - The PolyCurve.GroupByCurves node will return the exact same results as Polycurve.ByJoinedCurves - it’s just smarter about how to generate those :slight_smile: So that will not be the problem.

I suspect either that particular set of input curves have something at fault, or something has changed in the underlying API being called.

Can you try with a simple use case? i.e. a line? Do you get the same error?


@solamour, Simple line input creates same error. Screen shot with inputs below…

1 Like

I’m not Pretty sure

You use node before


@hosneyalaa, I misunderstood the release notes. I’ve never used a polycurve to create a pipe. I’ve been using dynamo lines.

@solamour @Paolo_Emilio_Serra1, I’ve also noticed that the Structure.SetSumpDepth doesn’t seem to work in C3D 2023 either. Within both Dynamo and the C3D Structure Properties dialogue box, they report the correct sump depth, but the structure drawn within the profile view remains unchanged. Further, I can’t manually change the sump depth of the structure within C3D 2023 after I’ve used this node. Again, I can run the exact same graph and dwg in C3D 2022 without problem.

@JPhil - We’ll need to wait for @Paolo_Emilio_Serra1 to chime in on this one. I do believe he’s on vacation right now, so it may take a few days :slight_smile:

1 Like

can you To share a dynamo file example
let’s try with you to solve the problem

I am trying to use the Hatch.Geometry Node but the arcs of the hatch boundaries are interpreted incorrectly:

Some arcs of the Hatch boundaries seem to be inverted. Is there a way to fix this?


Hi @safi.hage, I know this thread is quite old already but I have a question related to this post. If I use the 2 nodes for patching issue attributes, I get the warnings seen in the screenshot. Do you know what causes those warnings? Could it be that I need to set up a 3-legged token via “data:write”? If so, then I seem to not be able to set up a “data:write” 3leggedtoken with the given nodes (see other screenshot). Thanks in advance for your help.

Hello @Paolo_Emilio_Serra1, have you had the chance to look at the behaviour of this node? I am having some issues with it trying to crop several surfaces with the same object at once, as in I have checked the surfaces are there but it only crops some of them with the object… I was looking for what could be going on on my end but I can’t really find what’s the issue as the node doesn’t create a warning or an error, please see below:

Thanks in advance for looking into this!

Hi, Thank you @Paolo_Emilio_Serra1 for these nodes. I’m trying to use the nodes to set the superelevation. Has anyone been successful? Is it possible to get some example of correct usage?
I have a log file so I’m attaching it with a picture of part of the script, but where I don’t know if I made some basic mistake.

Autodesk_Civil3DToolkit.txt (66.3 KB)

I noticed that node Section.GetGeometry places the section geometry near origin 0,0,0 in Dynamo space.
Normally they should be inside the rectangles.
Is it wanted like that?

Just wondering are we able set the HGL and EGL values of the pipes and structures using excel? I’m finding nodes to get the information from the pipes but not finding any nodes that would set the values. I looked at the API guide and it appears that it is able to set these values? See screenshot below. If possible, can anyone point in direction to find a node to set the values, or possibly create a node that does this? Thanks in advance!

PS woud like to be able to set this for both the EGL and HGL.

@texas157 - take a look at these.

1 Like

Thank you sir!

Is the 1. one a known C3D Toolkit issue? I had to use the workaround as well. Strangely some of them are working.

My main problem is that for some reason for corriodor solids the Corrior class needs to be added.
Or am I using this wrong, and the object Class names are not the ones displayed in the Applies To tab?


I am also facing the same issue, and for now I am applying it all objects as a temp solution.

1 Like

How use Nodes Pick Point in Dynamo Player ?

Still can’t, however I am using the below python script.

import clr

# Add Assemblies for AutoCAD and Civil 3D APIs

# Create an alias to the Autodesk.AutoCAD.ApplicationServices.Application class
import Autodesk.AutoCAD.ApplicationServices.Application as acapp

# Import references from AutoCAD
from Autodesk.AutoCAD.Runtime import *
from Autodesk.AutoCAD.ApplicationServices import *
from Autodesk.AutoCAD.EditorInput import *
from Autodesk.AutoCAD.DatabaseServices import *
from Autodesk.AutoCAD.Geometry import *

# Import references for Civil 3D
from Autodesk.Civil.ApplicationServices import *
from Autodesk.Civil.DatabaseServices import *
#Import References from dynamo
from Autodesk.AutoCAD.DynamoNodes import SelectionByQuery

adoc = Application.DocumentManager.MdiActiveDocument
editor = adoc.Editor

def Get_Civil_Object(COMObject):
	if not isinstance(COMObject,list):
		COMObject = [COMObject]	
	output,handle = [],[]
	with adoc.LockDocument():
		with adoc.Database as db:
			with db.TransactionManager.StartTransaction() as t:
				for c in COMObject:
		for h in handle:
		return output

OUT = Get_Civil_Object(IN[0])