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

@jessica.steinjan Try lofting the profiles in pairs sequentially
Something like this…

Hi Vikram,
I still find strange that curves extracted from different family instances could be joined in a unique list of items…

@Yna_Db Didn’t really observe/study the manner in which the curves are intersected. Not sure if that is the actual issue.
My suggestion is based on the assumption that there is difficulty forming a smooth solid loft connecting all profiles.

You’re right, it could be an issue, but I tried yesterday with a simple rectangle profile and I got 4 lines in each sublists, that’s why I answered to your proposal (which is correct anyway :slight_smile: )

Dear all and especially David_Banks for your great Support and help.
Unfortunatelly it is still not working in that way I need it for this special Project…
Let me explain the circumstances a little bit more detailed, maybe someone of you has a good idea, how to achieve a good result here? Me myself I’m very short before giving up… :frowning:
Anyhow I think, I may have started completey wrong, so any new idea is very welcome!
So this is the task:
A model of a simple road has to be created in an automatic way. But it is only a kind of placeholder model, that means, the road should not have any slope. In simple words: There is just a polyline with, which represents the way of the road (without any elevation) and then the section profile of the road (which is a simple rectangular) should run along this polyline and should form a solid for the whole length of this poyline (we are talking about a length of 80km here). So this sounds easy so far, but the difficulty is, that I need to cut this solid element afterwards every 20m, exactly at each 20m of the stationing and each element should contain the information of its start and its end kilometer.

Does any one of you has an idea how to simply model this?
I am really really greatful for all kind of tips.
Thank you so much in forward!
Best regards,
Jessica

1 Like

I would first refer to this post to create a solid from multiple profiles:

Thank you Ina_Db.
I will review this and test everything… :wink:

These threads could also be very useful:

http://dynamobim.org/forums/topic/align-objects-with-a-3d-curve/

@jessica.steinjan
I did this (thanks to the tips I found) and it seems to work:

The orientation of the profile depends on how the family is constructed and it could need some adjustments…

Good morning,
@Yna_Db, thank you for offering me your knowledge and your testfile.
I set up the Dynamo file in the same way, as shown in the Picture, but it doesn’t work.
I have created the section Profile as conceptual mass Family and then loaded to the Alignment Family, which is set up as adaptive Family.
I have uploaded you the files here.
Can you please check, why it is working for you, but not for me? Where is my mistake???
:frowning:
Thank you so much for your helpAlignmentTest.rfa|attachment (480 KB)
SectionProfileTest.rfa (312 KB)
AlignmentTest.dyn (17.1 KB)

Good morning,
Thank you for your answer. I see first one small observation: I didn’t load the profile into an adaptive family but directly into the project. But I will check your files anyway… :slight_smile:

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

@jessica.steinjan
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.

@jessica.steinjan
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!!!

@jessica.steinjan
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):

3 Likes