Civil 3D Toolkit Feedback thread

When trying to use the SetPartsList node from the C3D Toolkit, I get an error as soon as I provide the newPartList input. C3D and Dynamo crash. Error and graph shown in attached photo. Please advise.

Hi,
after creating a profile with the alignmentextension node, how is one supposed to add geometry segments (tangents, curves etc) to the profile? Most of the profileExtensions nodes require PVI or profile entity inputs?

Adding PVI:s by station with straight segments between is what I’m hoping to do but I can’t seem to be able to add them before the is a profile already spanning the station interval…
Plz Halp!

And @Paolo_Emilio_Serra1 thanks for making work fun =)

1 Like

Hello,

I’ve been working with using excel to populate pipe property sets and have been able to get it work in the plan view labels, but for some reason it’s not giving the results in the profile view. I’ve applied the property set to everything pipe related thinking I may be missing something. Am I missing something? See screenshots below. Let me know if I need to provide additional information. Thanks in advance for your time.



I worked around this by exportin xml and reimporting it after doing minor additions (manual work but still). Anyhow the issue still remains: how can we manipulate a profile object right after when it is initialized with the profile creation node in the alignmentExtensions?

@Paolo_Emilio_Serra1, @jacob.small

Just an update on a previous issue I raised a few months back–see below link. I’ve downloaded the Civil 3D 2023.1 update and tried to run one of my graphs to create Civil 3D pipes from dynamo curves and the PipeNetwork.AddPipeByCurve node still fails to work in 2023, but works fine in 2022.

Has there been any progress made on this issue?

1 Like

Pipes in plan are separate entities than the profile pipe objects and therefore the property set data isn’t automatically linked. Someone asked a similar question on the autodesk forum and I made a script to copy property set values from plan object to profile object, maybe check that out and if that helps. Also, for next time, post a brand new thread as this thread is meant only for issues/feedback about the Civil3DToolkit package.

5 Likes

Is there a good thread someone can point me to where the issue of converting lists in dynamo nodes to a different property type is covered? For example, when a node in one of these packages has been found to carry out the function needed, but the other nodes available to screen the inputs generate lists of different types. In these scenarios we get the error “warning: function expects arguments x,y,z but was called with a,b,c” and the difference is that somewhere x takes the form civl3d.geometery.whatever but was called (by a) with autodesk.civil.dynamonodes.watever. Usually we have nice intermediate nodes to help with these conversions, but finding the correct ones is not easy. Is there a more general way around this? Is there a discussion thread that includes advice on useful nodes to make conversions (like changing something into an object or into a block, which seem to be the forms most tools want as inputs)

Was the errorcode something like eInvalidOpenState?
I had the same issue with the node, but when I save the script, close it and open it again it works perfectly.

Update to the above: This week, I got a new laptop and installed everything a new.
Somehow, I have the same error as @JPhil described above:

I changed from Windows 10 to 11 and I previously had Civil 2022 installed. That’s what is different to my current setup, I think. I’m positive that I had it working on 2023 as well. Below, I’ve added the log file from my current setup.

Autodesk_Civil3DToolkit.txt (841 Bytes)

The polylineExtensions are returning incorrect vertex values I am using the latest version of the toolkit and Civil 3d 2023

I am also looking for a way to do this. I suspect if I knew the internal structure of the API better, I could make a python node to dig in to the source document of any surface, gather the defenitions by sets (filter in this case by object class of breaklines), output the list of names of all these entities, then I could use another node to select all those objects by name in their source document and run an object.geometry node to pull info from those breaklines. This would allow me to add those breaklines to composite surfaces in a a way that would greatly refine a current script I’ve been developing.

Thanks in advance if there is any possible solution to this problem!

1 Like

CogoPointExtension.SetUserDefinedPropertyValueByName - what did I miss?

udp-class

As it says in the message you did not pass a list of CogoPoints but a function (you need to pass the layer input)

1 Like

oops! that fixed it … apologies … thx …

1 Like

Hi … Civil3DToolkit is helping a huge amount - thank you. I need to set the point style and label style to null - if possible for all cogo points - to let point groups determine point style and lable style. Selecting all cogo point is easy (thank you for that) … I have tried “” and “none” and null … all not working.
Intresting to note that if you set the properties manually to in the properties palette … then use GetStyle and GetLabelStyle nodes - the result in watch is … “blank”./empty/null

set-styles-none-null

Hi …
The Node “Pick Point on PS VP Boundary” does not support non rectangular paper space viewports. So I need to script an alternative Python Script node to pass a Dynamo Node Viewport object to the “View.Boundary” Node. I can access the viewport object but I dont know how to pass it on (script node output) as a Dynamo Node Viewport object

# Load the Python Standard and DesignScript Libraries
import sys
import clr

# Add Assemblies for AutoCAD and Civil3D
clr.AddReference('AcMgd')
clr.AddReference('AcCoreMgd')
clr.AddReference('AcDbMgd')
clr.AddReference('AecBaseMgd')
clr.AddReference('AecPropDataMgd')
clr.AddReference('AeccDbMgd')

# 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 from Civil3D
from Autodesk.Civil.ApplicationServices import *
from Autodesk.Civil.DatabaseServices import *

from Autodesk.AutoCAD.DynamoNodes import SelectionByQuery


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

idata = IN[0]

ih = idata.Handle
hnint = int(idata.Handle,16)
hexa = Handle(hnint);
oid = adoc.Database.GetObjectId(False,hexa,0)
res = idata.Handle

with adoc.LockDocument():
    with adoc.Database as db:
        with db.TransactionManager.StartTransaction() as t:
            # Place your code below
            # 
            #
            obj = t.GetObject(oid,OpenMode.ForRead)
            res = str(type(obj))
            if not isinstance(obj,Viewport):
                vpid = LayoutManager.Current.GetNonRectangularViewportIdFromClipId(oid)
                vpobj = t.GetObject(vpid,OpenMode.ForRead)
                res = vpobj.Handle

            # Commit before end transaction
            t.Commit()

OUT = res

Hi,
Has anyone met the issue that Select Objects node is crashing the script on second run?
I could not recreate, but somtimes it produces ProtoCore.DSASM.StackValue as output.
acad_ebc136m5MF
I use:
image
No .log file created.

Hi Kovacvs,

Same issue her, with the same Dynamo version.
image

Hi, ObjectExtensions.GetParameters node doesn’t work as expected. Values in list are not visible.
Do you have same experience with this node?

image

It’s a Dynamo v2.15 issue. Hope in the next version Autodesk will fix everything they broke in 2.15 :wink:

4 Likes