Sweeps along curve with different profile families


i’ve been trying to import a curve from Revit and have multiple profiles along that curve then sweep a solid through all these profiles but somehow Dynamo ignores one profile and considers only the other when i use solid by sweep though i used a list to combine them all together.

“Converting an array to Autodesk.DesignScript.Geometry.Curve would cause array rank reduction and is not permitted”

your help would be appreciated !

Did you also try with Solid.ByLoft? You could see good examples of this in the Dictionary (see Geometry / Solid / Create):

i have tried that also, same issue happens.

solid by loft seems to consider the bigger profile and ignore the smaller ones.
i think the issue is with the list that combines the polyCurves.

It seems that a Surface.ByLoft (crossSections, guideCurve) would be more indicated for what you’re trying to do, but it needs a_NurbsCurve_ node.
Solid.ByLoft works for me :

it is all related to the fact that am importing all the families + the curves from Revit directly ?

please refer to the files & let me know if you figure it out

Fin_Profile _2_families.dyn (32.8 KB)
mass2.rfa (504 KB)

The whole idea from the script was to generate points on a curve and sweep a profile that changes from family to the other at a specified distance, i tried doing that in the massing environment which can be done only if its a SINGLE spline not multiple arcs

It’s an interesting topic but I can’t test it right now (maybe someone else could). Take a look at Solid.ByLoft (crossSections) in the Dictionary: what you probably need is to position your profiles along your path first. Also look at PolyCurve by Profile Family Type from Archi-Lab Grimshaw to import your profiles polycurves…

yeah, i tried all what you mentioned, and nothing yet seems to work properly.

The profiles are imported correctly from Revit because Dynamo reads them and places them correctly at the lines. only sweeping them all together is the issue. anyway thanks for your time !

You could find some more tips in this thread:

As you are new to the forum (and in case you didn’t read it already), I would also invite you to browse this useful page where you can find good advice on how to get help (for instance, use the @ if you want to address your issue to someone specific):

Thanks for your efforts!

Welcome to the forum! I am sure someone that has already deepen this topic will help soon, if not, update your post so that it comes at the top of the list again (or create a new one)… :slight_smile:

Hi @Mohammadz
@Yna_Db ‘s suggestion works. Just make sure your profile list is ordered correctly.
If the order isn’'t right it won’t work :


Thanks alot for your straight answer, feels much better to understand the reason ! @Mostafa_El_Ayoubi

now im gonna try to make it even more complicated ‘for me’

how about if i want to have more than one curve connected and distribute the families along start center end of each curve then loft among all families

i reached somewhere with my script but i’m having few issues which are :

1- i have duplicated families because of my ( start, end ) point list.
2- when the curve flips from convex to concave some of the families are flipping ( normal plane issues ) @Mostafa_El_Ayoubi i had a look at a post where you answered that but couldnt really implement it in my script.
3- IF i sorted everything else, how can i then rearrange the list to make my Loft.by solid actually work based on the correct order.

i’m sorry for making it so long but im still new to all of this! many thanks !

Fin_Profile _2_families.dyn (47.3 KB)
mass2.rfa (528 KB)

i did it with Revit but its a very lengthy process, thats what im trying to achieve :

@Mohammadz ,
This is possible to achieve. Here’w one way you can do it:

multiple profile solid loft.dyn (12.2 KB)

Since you have a big number of elements, I thought it would be beneficial to avoid having to select them… In the screenshot above you can see that the script makes one path from all the reference curves and sorts the profiles along that path automatically.

Now if you try this with the .Rfa you posted in your previous post, it wont work because your profiles are not on the reference curves. They are very close but not on them, so the loft operation fails.

1 Like

thought i wanted dynamo to first generate the points on the curve by itself no matter how many curves i have and sort the start/end/mid points for each separated curve by itself then place the families also by a formula based on that concept. ( i think i’ll take it easy on myself and think more of how to do that )

with a bit of manual work this actually SOLVED all the issue! thanks to you man !

1 Like

I am current meet this issue, I want to know how to model multi profile sweeps. Do you mind send your solved files to me? Thanks.