Sweep 1 Rail not completing along full path

Heya
I have just moved to V8 from 7 and a weird situation is happening with Sweep 1 rail, in cases where the path comes back on itself and passes within the profile it fails to complete the surface.
If I move the profile away its fine.
Both path curves have been refitted to tolerance and had make uniform run on them, as I have hundreds of complex curves to sweep and I really need this to work as they should.
Any idea if this is a bug or is it something I am missing?
The profile is created with circle around Curve but the path is the issue somehow.
as I said this worked fine in 7
It also fails if the path is rebuilt , but as I stated I have hundreds of ropes (all the rigging of a sailing ship) to do so need to refit to optimise

Pipe works for now

Curve Example.3dm (330.6 KB)

This doesn’t work in Rhino 7 either here. Sweep1 code hasn’t been changed for long AFAIK.

You are right, yep it has stopped in 7 as well now.
The weird thing is I have done about 30 of these types of curve with no issue, even knots like clove hitches that are fine.

Any idea what’s going on with it?

In your last image I don’t see anything that is close to what you showed in the file.
I assume you are after modeling something realistic, so I don’t see the purpose of a self intersecting rope.
If you have history enabled, maybe you can tweak your rail curve a bit until it works, or use pipe as you mentioned.

You could split your rail curve at the circle’s location. Then it works. Maybe a workaround.

I can assure you I have good reason for needing it done like this, I have been doing this sort of work professionally since 2004 and been using Rhino since v2 so I am not a newbie by any means in case it seems that way.
The object represents a spliced eye Stirrup which unlike a served eye is woven into itself and has no end, so in the way this is rendered I don’t want edges showing around the circumference.
I merely wanted to see if this could be a bug and I am going to assume it is.
I am currently writing a major book under contract and have 380 plans to do from this model so trying to be ultra clean with geo and in conjunction with the custom display mode I have for the presentation I can’t have edges around the circumference if I can avoid it at all.
The reason I wanted to use this over pipe is because I wanted the flexibility to scale the profile with history on.
Thanks anyway.

@Richard_Dunn I can certainly write up a YT for this, if you want to.
Just trying to understand if there is another way to get your work done. If it is for making images only you could also use curve piping mesh modifier.
If you have older versions of Rhino where this type of Sweep1 works then we could add that as part of the bug report.
The workaround shown by @Lagom could still work, because you can afterwards use MergeSrf (smooth=no)

Hi Richard,

If you think about it, there is nothing to link the profile to the rail apart from its physical position. If you place the profile in a region where there are two adjacent sections of the rail, Rhino has no way of knowing which part of the rail to associate the profile with.

The trick is to extend the rail curve with an arc sufficiently large that a profile placed at the end does not intersect another part of the rope, create the sweep and trim off the excess surface with an isocurve.

HTH
Jeremy

Yeah, interesting idea, but it has worked for about a hundred exact other cases, it’s just 2 or 3 paths that fail., but I have been running the sweep with a detached profile onto a centre based path the whole time.
Also as I showed in the test curves I attached. if you do the same principle on the right one which has it’s profile not cross over the path it works fine.
if you do it one he right one with history on and then slowly move the profile to the side back into itself it will eventually remove the mesh, so it does seem to be related to that, but then why not all? that’s the issue.
IF it is that, then pipe it will have to be as I need to be able to use the centre due to the way the shapes have to be built, it would be very tricky to do a knot path when having to visualise in your head the shape at one side of the rope.
I would have to do it twice, then pipe it then create a rail off the pipe and run it again, that’s double the work.
Incidentally even if you try to do this exact thing in Maya with a circle on a detached path it works, so I think generally it works.
I am just trying to work out why its failing on these curves as I have months of this work ahead threading through blocks and pullies.

Upload one of the “exact other cases” which works, and someone may be able to see what is different.

I honestly do think it’s a bug but only partially, as I said it does work 85% of the time but every now and again it does not like something about the path, even though they are all made the same way.
@Lagom way of doing it as 2 surfs and merging is fine but because it means using merge it breaks history and I need to be able to tweak the Paths control points after the fact to fit the rope to various things, and to tighten and snug up knots, so in this regard pipe is a better option.

Good idea

Sadly I have deleted all the curves for the ones done but I think I will just modify my technique a bit, I get the feeling that this should not have worked at all due to the profile not being connected to the path as one of you said but I got lucky for a while in V7, however without having those curves now I cant investigate further,
So will go with pipe and then extract a rail from the side and then sweep 1 rail with history, it should be ok to fit knots rom this.
Thanks for the advice guys.

If you choose an isocurve that doesn’t intersect the area enclosed by the profile then that will sweep correctly. However, if you later enlarge the profile to increase the sweep thickness from history, you may cause that intersection and the sweep will then fail - which rather negates the benefit of history for this purpose.

Might it not be better to simply pipe the curves and keep the latter on a turned-off layer rather than delete them? You would then be able to redo the pipe if you needed to change the thickness. (And pipe has cap options which sweep doesn’t).

Regards
Jeremy

Incidentally, Sweep1 does exactly the same thing in R5, R6, R7 and the WIP: it fails if two places on the rail intersect the space occupied by the profile. @gijs, I can’t immediately see why this might be necessary behaviour. I can see that Sweep1 should ask where on the rail the ambiguous profile should be placed. (I’d also like to see Sweep1 sweep in both directions if a profile is mid-rail - I suspect this is already on the list.)

There is a script Pascal wrote if IIRC that allows you to extract the centerline of a pipe.

If you have a lot of curves to pipe, this would be an excellent excuse to use a script or grasshopper.

I’ll investigate a bit further and write up tickets if needed

1 Like

RH-92232 Sweep1: stops too early

you almost got yourself the oldest YT:
RH-2353 Both side sweep