I’m trying to create a Dynamo script that changes a surface style to a specific style (for example, a slope banding style) automatically.
I was following a tutorial on YouTube (credit to the creator), and in the workflow they used the node DocumentExtensions.GetStyle. However, in my setup I cannot find this node. The closest one I can find is CivilObject.SetStyle, and at that point I’m not sure how to proceed.
For reference, I’m using Civil 3D 2026, and I have already installed the following packages:
Camber 4.2.6
Civil3DToolkit 1.1.30
Arkance Systems 7.4.0
Because the DocumentExtensions.GetStyle node is missing, I’m currently stuck and not sure what the correct workflow should be.
Could anyone please point me in the right direction or suggest an alternative way to get the style and apply it to the surface?
Hello, Surface Styles is a Camber node, if you add a watch node after you can see the output will not be a string. CivilObject.SetStyle expects a string as input, so you should edit your output until it is just a string from the style or just give the surface style string you want to use yourself via a string node. This works for me.
Also for your information. Civil3DToolkit is for Civil 3D up to 2024. If Civil 3D 2026 is your go to, most of the time Camber and The Civil Nodes packages will be the packages you’ll need.
Thanks for the clarification. I understand now that the Surface Styles node outputs an object and CivilObject.SetStyle requires a string. I’ll adjust the graph to pass the style name as a string or use a string node directly.
Also appreciate the note about Civil3DToolkit being up to 2024. Since I’m on C3D 2026, I’ll work mainly with Camber and Civil Nodes.
I recommend using Surface Styles and the CivilObject.SetStyle nodes from the Camber package because the Surface Styles node allows for easy selection and the CivilObject.SetStyle node is designed to accept that style input.
Thank you for the recommendation. I will try using the Surface Styles node together with CivilObject.SetStyle from the Camber package as you suggested. I appreciate your help and explanation.