Civil3D > Dynamo > Revit


I am trying to connect Civil3D and Revit through Dynamo by using dynamo package CivilConnection (author: @Paolo_Emilio_Serra1). I have a few problems and I was hoping you could help me out. I will post pictures.

Picture 1: Extracted solids from a corridor in Civil3D (using Model Viewer). You can see that the solid is continuous as it should be.

Picture_Shapes: Dynamo script that I am using to extract Corridor.Shapes and create Revit Families by using a node called Mass.ByShapesCreaseStations.

Picture 2: Extracted geometry of Corridor.Shapes. If you compare with Picture 1 then you can see that there is no cut in the lower subassembly (no inner extracted geometry).

Picture 3: The way node Mass.ByShapesCreaseStations creates Revit families. You can see that there is a problem at the location of the region change (a hole) + there is no cut in the lower subassembly.

I don’t know how to fix these 2 problems. I was hoping you could help me.

I tried something else.

Picture_Links: Dynamo script for extracting BaselineRegion.Links instead of shapes.

Picture 4: Extracted BaselineRegion.Links.

It would seem that Dynamo correctly extracted Links from the lower subassembly (and all other subassemblies). But now I have a problem that I don’t know how to connect all these cross-section shapes to create individual Revit families because Mass.ByShapesCreaseStations seem to only work for shapes and there is no similar node in the package for Links.

Need help!

Thank you,

@DomenS you need to create two separate baselines in the corridor in Civil 3D, one baseline per assembly. There is nothing else you can do, the assembly in the region that precedes will be used also in the first station of the region that follows even if the assembly is different. If you assign different assemblies to different baselines this problem does not occur and even Civil 3D is “happier”. For the cut you can use a similar approach using the SolidByGeometry node in CivilConnection passing true for the void input so that you can subtract manually afterwards. You can extract the links geometries using CivilConnection, create the solids using Dynamo and then do the subtractions with the aforementioned node.

1 Like

Alright, thank you very much. I will try that.

@Paolo_Emilio_Serra1 I have one more question. I know how to manually create families from Civil3D objects using your dynamo package (our previous messages). Now I am trying with the IFC links. I am following “Linear Workflow Giude”. I don’t know how to set up “Replace IFC” (Picture 3) step because I don’t understand the Replace IFC link node.

I created and opened corridor solids in separate files. Then I created IFC file using Export IFC link (Picture 1).

Picture 1: My “Export IFC” graph.

I linked IFC file to Revit. Now I am at the step “Replace IFC link”. But I don’t understand the node.

Picture 2: From Linear Workflow Guide

Picture 3: Replace IFC link node

Please help. Thanks.

One more thing. If I want to use ADSK CivilConnection Shared Parameters I have to create Civil3D objects manually (as families) and not by IFC links, correct? And ADSK parameters will only show up on families if I use CivilConnection node “RevitUtils.AssignFeatureLine”, correct?

Thank you.


Just don’t use it, it saves you only a couple of clicks, if you read the documentation it says to use the other approach and forget about the IFC.


Sorry to bother you again. I have one more question. When I try to use node “RevitUtils.CreateFamilyInstance”, the input for station doesn’t seem to be working. I want to place 2 bridge piers at 2 defined stations but node seems to read only the first one (Picture 2). I was watching video on Autodesk Knowledge Network where Jim Crabtree (Bridge Detailing 2.0) made similar bridge by using the same node and he had 5 stations defined (Picture 3). At all those 5 defined stations, Revit made all defined families. Can you help me please? Check pictures.

Best regards,

@DomenS you need to understand how lacing works in Dynamo.As you noticed in Jim’s presentation, the node is working fine.

Thank you for that advice. I went and read everything about lacing. I understand it now. Problem still remains, even if I do it exactly like Jim (Picture 1 and 2). It says “null” value after I run script. I’ve tried with all types of lacing options:

  • shortest: this one is not useful because I have only 1 feature line;
  • longest: at my example this one should work, but it doesn’t;
  • cross product: should work but it doesn’t.

I have also noticed one more problem. When I try to draw geometry of a featureline with node “Featureline.Curve”, it doesn’t draw a complete line (Picture 4). Even though it’s OK in Civil3D when extracting it from corridor. Maybe do you know why this happens?

Thank you!

Just so we are clear, testing all the available options tells me that you did not understand how lacing works, but I’m sure you will get it in time.
To your problem, can you check if the second station is in the interval that is not extracted?
Can you try with a different featureline code?
Did you look at the log file? Does it report any errors?
Did you look at the XML exported?
Can you confirm that the last point of the featureline is a breakpoint?

Yes, the second station was in the interval. I also tried with different feature line, in different baseline and different region. At this second try, feature line was drawn correctly at dynamo preview. But still no 2 piers. The node takes only the first station, even though I have it set to “Cross product”. I’ve also checked the log file. Nothing out of the ordinary, in my opinion. Didn’t find anything that’s relevant to my problem. It did say, however, that some of the addins are in conflict. So I deleted all but CivilConnection. Still, the problem remains.

I dont understand about exporting XML. Where can I find that file? I’ve checked on web. Couldn’t find anything.

And yes I can confirm that the last point of the featureline is a breakpoint.

I mean the CivilConnection log file.
Check you temp folder

I have located XML and log file for CivilConnection. Everything seems to be fine in the XML file for the selected featureline (stations, indexes etc). But as I was reading through log file I noticed only 1 error which said: “ERROR: Baseline.GetFeaturelinesFromXML Side Object reference not set to an instance of an object.” … So I thought that there is a problem with Side definition in Civil3D since I didn’t set Side parameter for my subassembly in the Subassembly Composer and Civil3D. So I went and fixed it. Then I restarted my script in Dynamo and the problem still remains (even the error in log file). Even though I define 2 stations, only 1 pier is drawn and node keeps saying that “the operation failed” and gives me null value for my second pier.

I wish I could send you .txt file but forum doesn’t let me.

you can send whatever you want via WeTransfer, I hope that you send something that is actually pointing in the direction of the problem. The error you found is not related to the subassembly so there was nothing wrong with it, sorry you wasted your time.

In the XML can you check if the last point of the featureline has a value of IsBreak = 1?, change that manually if it is equal to 0 and run again.

I uploaded log file, xml file, dwg, rvt (with shared coordinates + pier family) and dynamo script on this link:

It’s just a simple project that I am using to test CivilConnection package.

I also checked XML file. For Baseline 2 (you will see in dwg that I have two baselines inside one corridor) and for a featureline called B_OS_NOSILEC (in english: B_AXIS_BEAM) which I use to place piers, there is no IsBreak=1 for last point. I will change that. However, I was using Baseline 1 in my script and IsBreak is set to 1 for the same feature line (B_OS_NOSILEC) and last point.

But, how? Did you change anything? Why isn’t working for me? Should I delete CivilConnection package and reinstall it? I don’t understand.

Try using an earlier version, like 3.0.8
this is the result from the latest version I’m working on that is still not published (it’s been over a year since I’ve updated CivilConnection) but it is working as designed.

I’ve tried version 3.0.8. The software crashes. Doesn’t work. Not even to start a script with a simple node. I am using Civil3D 2020 and Revit 2020.

Can you give me a hint to when the latest version of the package will be published?

no because I’m doing it on my free time.