Straight Loft by uneven number of segments of curves

unhandled
nurbs

#1

Hi there,

I want to build a surface using 2 groups of curves’ segments that represent the highest and lowest points of a facade.They 'e is that the number of segments for each curve is different, and each have an arc like segment.

The problem that I have, is that I want a perfect straight surface and now twisted as seen in the photo

PS: The surface will be used for panelling.

image

And here are the files:
201804 - Fachada Anita_00.03-005.3dm.gh (6.0 KB)
201804 - Fachada Anita_00.03.3dm (43.3 KB)

Thank you in advance


#2

I believe the issue in that case is because at some point you have curves in Z axis direction,so loft option will tendence to overlap . I choose to remove that curves simulating a staight loft option, in this case a polysurface. I hope it helps.

23.04.2018.gh (28.6 KB)


#3

I will repeat what I have just read to make sure that I have got it right, your solution is:

  1. Remove the arc like segment.
  2. Loft the curve without the arc like segment.
  3. Join all lofts

My question, wouldn’t this create trimmed surfaces ??


(Michael Pryor) #4

My question, wouldn’t this create trimmed surfaces ??

Loft never makes trimmed surfaces. It only results in surfaces or polysurfaces (Breps), but those polysurfaces will be made of untrimmed faces.

However keep in mind, Merge faces may make trimmed surfaces depending on what it is merging.


(Michael Pryor) #5

Anyway, no need to remove anything. You just need to align your seams and fit your curves. (would not have to do any of this if you had drawn the curves correctly, starting from same location, and fitted).

I move the seam to a corner rather than in the middle of a length as you had, then I make this corner the seam of both lines. Then I fit the curves to degree 3 to fix the fillet arc (fillet arcs are degree 2 and dont really play nice with lofts when mixed in the same polyline curve as line or curve segments). Fit just gives the arc section much more control points as a nurbs curve.

It is important to remember that the way we draw things matter. Operations like loft are quite literal interpolations which have some automatic alignment stuff but they are not really perfect. Always better to construct the curve in the way you want it to loft (line things up between curves like seams, directions, control points)

SeamsAndFitting.gh (12.3 KB)


#6

alternatively, if both top and bottom lines have the same vertical projection, you could extrude one of the polylines, and then split the resulting polysurface with the other polyline.


#7

Tried that and the results were horrendous.


#8

:joy:define horrendous, please. I splited the polysurface after exploding them to surfaces, and the polylines to line segments. As Filipe pointed out vertical segments were being problematic


#9

Yes, Michael has right, depending on how curves are designed first. but i don´t know Michael, that way we are not design a clean aproach. [ irregular - quad and triangles] - it work´s [adjusting the seam], but in my opinion it´s not the most indicated way. I prefer to take the control of the surfaces, but i understand your opinion in this case.

1.Using your curves
2.Control poitns of the main curve. + line sgment
3.Solve interseccion of line segment and 2º curve.
4.Remove curves postioned in Z axis direction
5.Rulled surface. [not trimed surface]


(Michael Pryor) #10

If interested here is a little secret using loft in c#, you can get always a single untrimmed surface no matter the curves (even with sharp angles) if we just output it as its surface form without splitting at kinks as Gh+Rhino do native. Then you can use this surface as you would a single surface in gh, divide it, evaluate it ect. (but if you bake that surface into Rhino it will become split at kinks - unless you turning off CreaseSplitting before the bake in Rhino which is not recommended). Works good for wanting to treat polysurfaces like surfaces for surface divisions (mostly when curves are more uniform you get good divisions, in this case it can get a little angled, however I’ll share anyway).


LoftUnsplit.gh (10.8 KB)


(Michael Pryor) #11

Can get away with some pretty cool stuff that way. Check it out (grey polysurface is how this “single untrimmed surface” bakes - it becomes a polysurface.)


LoftUnsplitPline.gh (11.0 KB)


#12

that’s cheating, using c# it´s not fair :slight_smile: I check your component in my approch it´s work nice. with native loft at some curves [depending on properties it creates a trimed surface ] that´s way I use Rulled surface. But with your LoftUnsplit component it create the result as I expected. Thanks for sharing.


#13

@Michael_Pryor That is exactly what I was searching for. Thank you
That way it panelling for me would be a lot easier.

@FilipeReis That is not cheating :joy::joy::joy:

@aitorleceta The photo you have just shared, is it a one continuous surface done in GH ?
If yes, please tell me how ?


(Michael Pryor) #14

That is not cheating

Its more like taking the training wheels off, there is good reason why lofts get split at kinks and the geometry is just logical that way.


#15

@Michael_Pryor

Teach me sensei


(Michael Pryor) #16

Nothing to teach. It is just a rhinocommon Method.


#17

@Nader_Belal , no, its not a single surface, the geometry I made is a polysurface of trimmed surfaces. but hey, working with cuves obtained from sections, you can easily emulate a continuos surface behaviour with a decent control of topology…(almost everything is made in python, btwpanelizationWithCurves.gh (16.6 KB)

)


#18

@Nader_Belal - I post here the file for you to have a look. As I said previously in page group, I decided to use Aitor approach rebuilding and sorting curves position elements and them shatter consecutively in articulation with time counter, removing vertical elements to preform a mesh loft opperation.

To animate try to look at the indications, and also have a look to the video [ group page ] to see how it works. I hope it helps.

27.04.2018.gh (38.5 KB)