using Loft surfaces, but only after doing some rather strange and unusual things to get the outside surface to work. The problem I had to work around was how to arrange the curves that create the outer Loft surface. So I made a simple test file to demo the problem:
What I needed was a set of vertical contour curves made from the input Loft surface. So I used BBX to create them - New Curves. This image shows those curves:
Obviously the problem has to do with the order of the Loft input curves.
I did a fair number of online searches but found nothing that applied to this situation. Most had to do with curve alignment and/or curve direction which doesn’t seem to be an issue here. I finally hit on one approach that helped quite a bit - but not quite enough:
I expected the BBX component to generate the vertical contour curves in a nice order, but it doesn’t seem to do this. Maybe a re-ordering process exists in some obscure GH object or GH add-on that I don’t have, but if so which one?
could you please post the portion of gh file where the sorting problem arises?
the screenshot is ok, but it does not contain data to check .____.
for instance, looking at the screenshot without GH file, this part would produce 30x overlapped circular planar surfaces radius 1 centered on XY which I believe is not the case in your gh file
I guess your section-circle is created on XZ or YZ plane (can’t say, omitted in your screenshot) and that the circle is big enough to contain your whole geometry
this means that when you are sectioning your geometry, for each circular surface you are getting 2 section curves instead of one (the right one but also the left one)
as stuff out of BBX is branched by section circle, this means that you have first curve on one side, second curve on the opposite, third on one side, fourth on the opposite and so on… if you hover your mouse on the Flattened C Output of BBX you should be surprised to see that you are getting double the curves you expected for 30 “sectioning circles” you get 60 curves
instead of using a circle, you can use a Rectangular Surface that covers just half of your geometry, like this:
I would much rather contour with planes than intersect BREPs. This has the advantage of not having to know the semi circle or rectangle size of the intersecting shape. Naturally, this leads original problem of the unwanted intersection curves on the opposite side of the BREP. Here is a messy solution to that, but is flawed for its assumption there will only ever be 2 intersection curves.
Working through this I discovered two things: one, is that Contours is bugged? It duplicates path numbers instead of inserting 0s. Second, is that Tree Branch does not work according to the regular input matching paradigm. Given a tree of paths, it will flatten them before outputting.
This is a much more reliable version using planes. It culls all curves that occur on the positive side of the intersection plane. I struggled for a while with the transformation information. I don’t know how to use it. In the end I converted to text and used Member Index. Any genious burgers out there can tell me how that would have been done correctly.
I do have to ask, why you don’t just create nurbs curves from the control points of your horizontal section profiles. If you loft throught the horizontal section and create curves with degree 3, you should get the same result:
Oh wow indeed! I’ve been looking at your method for a while now - and I still don’t see how it works. I’ve used all those GH components before, and I thought I knew what they did. But apparently not. Hopefully I will real soon now.
Sigh!. I saw your C# code. Regrettably my coding experience has been with Fortran and IBM 360/370 machine language. But I do like your GH solution.
No. I’ve got a method for generating a smooth inner surface that I’ve been using for a while. My ultimate goal is to turn the vertical control curves into wavy ones so the Loft ends up with bumps having both vertical and horizontal offsets.