PlanarSrf and InsertKnot - a problem with Join

unhandled

#1

Hello, I created curves and executed on them Loft, and later closed top by means of PlanarSrf. Then I change degree (at Deformable=No) and I use InsertKnot - now a problem with Join. At a flat surface the form has to remain and problems with Join should not be - so?
Untitled.3dm (148.1 KB)



(Chris Kuether ) #2

I don’t know why join doesn’t work with the third instance. And I know it’s disrecommended, but joinedge will get those two joined. Seems like it’s a bit past tolerance. Your tolerance is 1/10 microns --awfully tight!


#3

Problems with join are related to edge/boundary definitions not form. Raising the degree and inserting knots is not changing the form of the surface but it does look like it is messing with the edge curves.

Inserting knots on a trimmed surface should not be changing the boundary curve definitions so that looks like a bug to me.

If you want to restore the boundary to its original condition untrim and then retrim the surface.


(Pascal Golay) #4

Got that, thanks.

https://mcneel.myjetbrains.com/youtrack/issue/RH-44262

-Pascal


(Chris Kuether ) #5

This is Rhino5 not 6. Ergo no fix. Eh?


#6

In your youtrack comment you say can get join to work when it really doesn’t.

It’s a good thing that join fails because that has exposed a ugly bug in the insertknot command.


#7

I also think that it is a mistake! All thanks for answers!

If to apply Rebuild to receiving the necessary degree, and later I apply InsertKnot - there are no problems with Join. :grinning:
Untitled.3dm (125.4 KB)


If to receive a curve after change of degree, and after to cut off a total flat surface of the received curve - it is possible to see small pieces:
2018-02-19_175125


#8

Still interestingly here that - the problem appears only after excess of Absolute tolerance = 0.001 :thinking:
There are curves which I smooth through FilletCorners, but before it choose defined the admission:
2018-02-19_231543
Untitled.3dm (31.0 KB)


#9

The “problem” is that inserknot makes the surface which has good accurate edges into a surface with crappy inaccurate edges.

If you want to see the problem you can run extrudeSrf both before and after the insertknot command.

In Rhino5 the problem is just the insertknot command.

In Rhino 6 there seems to be an additional problem with edge tolerance reporting. If you run ExtrudeSrf command before and after the ChangeDegree command you get 2 solids with identical edges but the property>details reports that the degree3 surface has edges out of tolerance. So that’s another bug in V6


(Chuck Welsh) #10

The problem is really in ChangeDegree. The edge is already bad after that command, you just can’t tell because it is the 2D edge, rather than the 3D edge that is bad. InsertKnot causes a rebuild of the 3D edge based on the bad 2D edge. It could be argued that this step isn’t necessary. We’ll look int that. The original Youtrack created by Pascal has been updated to reflect this.


#11

There may well be additional problems with ChangeDegree in rhino6, but it looks like inserknot is the command making the bad edges all by itself

If you go back to the original degree 1 surface and run insertknot and then run ExtrudeSrf anybody can see the crappy result. And Property.details reports out of tolerance edges. That’s when ChangeDegree is not involved at all.

if you run extrudeSrf on the degree 1 surface before running inserknot then you get a good solid with edge tolerance of zero. If insertknot was not yhe culprit you should get a good solid with zero tolerance edges after inserting knots.


(Chuck Welsh) #12

Yeah, as I said, InsertKnot is rebuilding the 3D edge, which is probably unnecessary, and is certainly done in a stupid way. I don’t see that the edges are out of tolerance, they’re just not perfect like they were before the command. I’ll fix that. I just have to figure out why someone thought it necessary to rebuild the edges.

ChangeDegree is making edges that are way out of tolerance. In this example, the edge is off by 10 times tolerance. Here, I also have to figure out why the 2D edges are being rebuilt.

In both cases it may have just been laziness, but maybe I’m overlooking something.


#13

Hello - It is very serious problem! I hope that she will be corrected…
Change of degree + InsertKnot - edges spoil at any surface. And at Rebuild everything is good.


2018-02-20_161556

2018-02-20_161635

By the way, if not to change degree, then all super!



2018-02-20_163129


(Chuck Welsh) #14

Those numbers are not necessarily indications of problems. They are just numbers that have been stored on the edges, and look to be the tolerances used in the commands. I’m not saying there’s nothing wrong, but the values you are looking at are not necessarily showing the problems. I plan on going through both InsertKnot and ChangeDegree thoroughly over the next two weeks.