Surface from Planar Curves - Appears to be SelDup Bug

In the attached file, I have made 4 closed circles in difference viewports.

In Rhino 8, using the Surface from Planar Curves command, all 3 circles with have surfaces in them. but in Rhino 9.0, it makes you do this 3 separate times, one for each circle. Surely, this was not intentional when developing Rhino 9.0?

Works here in one go… Don’t see a file posted.

surfaces from planar curves - Rhino 9.0.3dm (45.9 KB)

Something very odd with that file - or the WIP - it says that two of your three circles are duplicated curves - they select with SelDup - but they are not in fact doubled…

If I copy and paste those curves into V8, PlanarSrf does the same thing. If I delete your circles and remake them in your file or in a new file it does the same thing. There is definitely a bug in the current WIP - but it is in the creation of the circles, not PlanarSrf…

Weird.

If I copy and paste the circles into V8, SelDup identifies the same two circles as duplicates.

Even stranger if I create another three orhogonal circles in a different locaiton and different radii, SelDup says two of those circles are also duplicates:

Command: SelDup
Found 4 duplicates. 4 curves added to selection.
Duplicate selection is from model space only.

Circle problem DC- Rhino 9.0.3dm (43.2 KB)

I revised the thread title to include “Actually Circle Bug”.

Creating the circles in V8 also results in the false-positive selections by _SelDup/_SelDupAll. V7 does not do this.

_PlanarSrf may just be filtering its input using the same code as _SelDup/_SelDupAll.

So, maybe this a duplicate-finding bug since V8.

I confirmed this. Updated the thread title again.

Could be that. The same thing happened to me just now in Rhino 8.0. I use the command often but I guess I didn’t use it for multiple closed curves!

There is no problem with making multiple planar surfaces from multiple closed planar curves. It is this particular configuration that causes the problem with SelDup - and we maybe have a clue why…

Circle objects are defined by a plane and a radius. All three circles have the same radius and the origin of their planes is the same point. Possibly SelDup is getting one of the planes confused, so it thinks it has two circle objects with the same radius and the same plane. Hence they are considered duplicates.

If I run something that changes them from actual circle objects - say MakeSubDFriendly, they cease to select with SelDup. However running ToNurbs on them, one of the two circles (the vertical one) still selects by itself with SelDup. The other doesn’t anymore. Still very odd.

I filed a bug report here:

I also played around with the following script and the Rhino file below to see what kind of modifications to the circles change things or not.

import rhinoscriptsyntax as rs
import scriptcontext as sc
import Rhino


cxy_ids=rs.ObjectsByName("C-XYPlane")
cxy=rs.coercegeometry(cxy_ids[0])

czx_ids=rs.ObjectsByName("C-ZXPlane")
czx=rs.coercegeometry(czx_ids[0])

cyz_ids=rs.ObjectsByName("C-YZPlane")
cyz=rs.coercegeometry(cyz_ids[0])

comp=Rhino.Geometry.GeometryBase.GeometryEquals(cxy,czx)
print("XY and ZX circles are equal = {}".format(comp))

comp=Rhino.Geometry.GeometryBase.GeometryEquals(czx,cyz)
print("ZX and YZ circles are equal = {}".format(comp))

comp=Rhino.Geometry.GeometryBase.GeometryEquals(cyz,cxy)
print("YZ and XY circles are equal = {}".format(comp))

CompareTest.3dm (2.1 MB)

RH-92547 is fixed in Rhino 8 Service Release 30