Automatic road creation: How to generate solid between section profiles?

That would be great. And I will test it with direct loading to a Project… :wink:
Thank you!

You will need to create one curve from arcs and lines:

I did it that way:

Your profile has to be re-oriented though…

1 Like

Thank you!
But unfortunately still not working. :frowning:
dyn file here: AlignmentTest2.dyn (21.8 KB)

Anyhow I am not sure, if this is the right way, because this is just the testfile with an aligment, which consists of 2lines and an arc. But later on, in the real Project, the aligment would be an 80km Long spline with several lines and arcs…

Yes, I can see that it’s quite challenging and I think you could get lots of troubles,especially because profiles can’t be aligned in a simple way. But it could be worth asking some experts (@jostein_olsen maybe :relaxed:) …

Hi Jessica
This in my opinion is a great article that could help you:

I’ve created a workflow based on the one in the article and it works successfully.
I guess there are going to be some problems if you try to create the whole 80km alignment at once.
As far as I know there are some limitations for some geometry operations with large(in units) objects.

Here is how you can join arcs and lines at once:

Taking a look at BIM4Struc package could be worth indeed, there are also some posts from Dieter Vermeulen on the forum and you could surely ask him for advice if needed:

Thank you @viktor_kuzev.
I know this article and it is really great.
But for my purpose, it’s too much detailed. I don’t need a left edge/right edge/centerline at 0.00 and I also don’t need the slope…
But I will go on trying to revise the dyn-file and hopefully I will found the solution somehow.
I am aware that the length of 80km might cause Problems, but if I could manage it somehow for a shorter length, then I can join the shorter 3d solids afterwards. We will see… :wink:
Anyhow thank you a lot!!!

I will try to find a solution for profiles orientation which is not correct for me at the moment. I redrew the profile family in the XZ plane and the result is better but still…
The problem you have with your graph is related to the input of different curves nodes (you are filling them with the length of the curve at the moment and not with the curve itself). It seems that you are also feeding the Vector.AngleWithVector with the wrong vector:

On the other hand, there is a mistake in my graph (sorry for that, I had to clean it a bit too quickly yesterday): The Curve.PlaneAtParameter node needs a Curve.ParameterAtSegmentLength input, like so:

I built up a solution to solve instances orientation problem based on what I previously did here:

Thanks for giving me a serious opportunity to develop this idea. To sum up, the idea is to place family instances with the node FamilyInstance.ByFace because it gives more predictable results. To do so, I place tiny circles that creates the needed faces on the selected normals of the curve. I used a profile drawn on the XY plane of the mass family but it could be re-oriented with the Vector.Rotate node anyway. Everything seems to work fine from my side. I hope the graph is clear enough (png’s are not always readable in the forum preview so you could need to download it or open it in a new window):

Here is the result in Dynamo and in Revit (after using ImportInstance.ByGeometries):


Thank you so much @Yna_Db !!!
Finally it works.

One question left:
When I now use: ImportInstance.ByGeometry, I Transfer the solid back to revit. But in revit then it is 1 solid for the complete length. Is there an opportunity that makes me able to pick each of the elements seperate?
Explode in revit doesn’t work…

Thank you soooo much!!!

1 Like

Thank you really for this nice answer :relaxed:. I have read somewhere that DirectShapes could give better results in family files. I will give it a try…

Update: This should work (just to mention it, Springs.DirectShape.ByGeometry is from spring nodes):

Hi Jessica, I am so glad it worked!
Would you be able to share the final script, so I can give it a try as well?
Good luck!

1 Like

The best would be to build it by yourself to fully understand the process (and also how long it takes) :slight_smile:

Here is how I did it finally:

I had to change the splitting node because the OOTB one gave strange results. This one is from the Ampersand package. I also used Springs.Form.ByGeometry because it’s a simple way to import what is called FreeForms but there are less options than with DirectShapes. If needed, this could be discussed specifically in another topic (this one is already very long and was mainly resolved at posts 39/40). If all is clear for you, please mark the thread as solved so that we can close it.
Thanks for all, that was a very interesting challenge :relaxed:

1 Like

Hi @Francisco_Farias,
thank you for your nice words.
@Yna_Db is right. For me it was a big help to re-build the script on my own, because only then I understood what’s going on… :wink:
Anyhow, if you don’t want to re-built it on your own, just let me know, then I will offer you the file of course. :slight_smile:
Best regards,

Again thank you thank you thank you @Yna_Db.
I will mark this comment as solved.
From my side, all is clear at the Moment.
But maybe new questions will arise later… :wink:
Wish you all a nice Weekend and really thank you so much to all of you!!!
Best regards,

Perfect! This topic is solved and must be closed, otherwise its length will make it non-understandable. Please open a new one for further issues, where it will always be possible (and recommended) to integrate links to something unclear or incomplete here. Many thanks :slight_smile:

Yes. Definitely.
Thank you!

1 Like

I am going to go a head close this.