Getting a Bad Result from Lofting Curves

Hello,

I have done some searching, and I can’t find a post about the issue I’m having. I am trying to join two surfaces, one created from an extrude and one from a loft. I then cap and use solid difference to get the shape I need. Each step seems to make the issue worse. The results create strange wrinkles at the corners when I fillet the curves that I use for extrude and loft. The surfaces look fine before the join and bake out correctly in Rhino. If I join, I get a strange result. The baked surface in Rhino still shows wrinkles, but if I extract an isocurve, it appears correct. If I try to render, the wrinkles show up there too. See attached images and GH file.

surface issue example.gh (16.5 KB)

I think it looks better when you use the Refit option in the loft settings. Actually just on one corner.

:scream:

What are you doing here?

I’d ditch the loft and sweep instead.

surface issue example sweep.gh (23.6 KB)

Thanks for the quick help. The sweep 2 seems to work well for the 6” radius option, but if I change it to the 3” radius for the corners, the points from the discontinuity get reordered and don’t make the correct lines for the sweep. I’m still trying to figure out how to keep the list order the same when I use multiple options, like I’m doing with the corner fillet.

Here is the result I get when I choose the 3” fillet for the corner…

I am using the boolean to create a 1” fillet on the inside offset line when the 3” fillet option is used for the outer corner. It might be too much of a “quick and dirty” way to get a fillet on the inside offset line when using the 3” fillet option. I don’t want a fillet on that offset when using the sharp corner radius option, but I think that I need a fillet on the inside offset to get a good corner with the 3” corner radius. It doesn’t fillet anything when using options over 3” because the offset already has a rounded corner, and there are no shape corners to fillet. I know that I could use a stream filter and the boolean to do this as well, but the boolean is also outputting 1 (true) and giving me the 1” radius.

Thanks again for the help.

:rofl:

Filleting with a radius of 1 or 0. Unusual, but why not?

You can order the discontinuities by converting them to polar coordinates and asynchronously sorting the discontinuities based on the phi values. But Martin is right. Maybe better to define a profile and use simple sweep (Sweep1)

That’s what I said. One of my outer fillet options is 0, so I don’t want a fillet on the offset inner rectangle if the outer rectangle doesn’t have one. Hence, the use of the Boolean. If the outer fillet is set to 0, then the inner offset line gets a 0 (or false) fillet. If it is more than 0, then it gets a 1 (or true) fillet for the offset curve that has less than a 1” radius in the corner. I have larger options than the 3” outer fillet, but they are not affected by having the 1” radius, because those corners are already larger than 1. Again, maybe too quick and dirty…

I see no problem, just good casting.

Unfortunately, you will not be able to rely on just Sweep 2 to create the figure under all circumstances.

surface issue example VR 2.gh (67.1 KB)

The above has a little hiccup when, for example, you choose a half-round, and the length and width dimensions are equal. Don’t know how disqualifying this is for you.

If this suits, please mark a solution.

Did you mean loft?

Nope, sweep also. It fails when when the internal rail is a rectangle while the external rail is filletted. Sweep1, Sweep2, Ruled Surface, Loft all fail.


This is what happens:

But maybe you know something better.

The op geometry was rounded rectangle.

I suggested sweep 2 and splitting the curves into segments to have better control over the alignment.

You cannot use Sweep 2 on the naked edges as whole (periodic), so, yes, you need to break it down into segments. However, for the case of the corners where there is no internal curve, you cannot use Sweep 2. Show me the above where the inside curve is not filletted (the 3" option)

My comments were not about an option where the inside isn’t filleted.

The OPs were.

Pretty sure that 3” radius was only mentioned after my comment about sweeping.

I never claimed you can sweep a shape with 0.0 radius on the inside and 3” on the outside so don’t say I was incorrect please.

The 3" radius option was in the script from the beginning–in first post–so it is incorrect to say that sweep offers a general solution. I’m not bashing you. If it’s uncomfortable I will rephrase the above.

You’re right. I missed that input option.

One trick is to use a very tiny fillet on the inner curve… Then you can sweep

It’s not like a was hoping a simple sweep wouldn’t work. Look how convoluted my solution became. At the start I approached the problem by wanting to fillet (chamfer) the volume, which works and is short:


surface issue example VR 3.gh (16.2 KB)

but you can only fillet with equal distance to both sides of the edge meaning only a 45° chamfer. :confused:

Ok, yo I completely missed the other options in the original definition.

I also did not implement my idea with the sections very well. Here’s a screenshot of the 3” sweep which unfortunately does not seem to work because the sections are not perpendicular to the rails.

So the next thing to try is fillet variable