Odd Surface Interactions

I was rebuilding the example I had been sharing on V6 probably for the first time.

In the attached file I have two polysrfs. The one in gray behaves bizarrely. The polysurface in read passes clear through yet it will not subtract or split. In fact, if I draw a line along the top edge of the red, I cannot use it to trim gray.

If I intersect the curve at the top is open for no apparent reason.

I can trim slightly above the top of red or slightly below but not where I need it to cut.

I am curious what is going on here now.

Problem Subtract.3dm (3.5 MB)

it doesn’t work because you have a lot of control points stacked in one space:



if you remove those multiple knots. it works ok

That interesting because the cross section curve are fairly simple with 6 control points each.

Can you post the original curves and the method you used to generate the surface? It would be good to know how to reproduce this - so maybe it could be improved…

Here’s an odd one. When I build this in my source file, I get a single surface.

I copied the curves to a new file to post and when I rebuild and the result is a poly surface.

Problem Sweep.3dm (3.4 MB)

Your profile curves are odd - Rhino reports this:

Geometry:
Valid curve.
Open NURBS curve
start = (-8.65974e-15,-2.8125,16.4688)
end = (-1.65994e-15,-4.8225,15.1406)
degree = 3
control points: non-rational, count=8
knots: non-uniform, domain = 0 to 2.44404
clamped at start and end
Curve is not smooth. If you explode it, it will become two or more curves.

Indeed if you explode them, they break into two. There is a fully multiple knot (i.e. kink point) in the middle of each one. If you run RemoveMultiKnot on the profile curves the Sweep2 should result in one single surface - but it doesn’t. There is another problem. Your lower rail curve is also a polycurve with two segments and one of the joints is out of tangent by a tiny bit. Fix that with Match and then run the two rail sweep and you get a single surface without kinks.

Thanks, that command will probably help me in other places as well.

I guess I cannot just rely on GCON saying its G1.

Hello - GCon reports the G1 status according to the document properties angle tolerance; it also reports the actual angle difference, which is what I generally care about most. Shoot for 0.0

-Pascal

What Pascal said…