SubD to Nurbs - Polysurface Issue

Hi everyone- My SubD has no extraordinary vertex but the toNurbs gives a polysuface.


Any ideas?
(My Subd is more than 60MB not sure why so can’t upload)

1 Like

That looks as I would expect it to look.

curious as to what would you expect that would be different?

3 Likes

Yes, Kyle is right this is how it works at the moment.
Looking at the image I’m expecting to happen on the red vertex, this are in fact star point (if you thicken the shape)
Not sure why it splits at the green vertex but is related to how the Patches are simplified.

Have you tried to change the SubDOptions to Face=Unpacked ?
The result will convert each SubD face into a Nurbs Patch with a much lighter result.

2 Likes

If not, maybe create the more or less elliptical cutout after converting to nurbs…

2 Likes

Hi @DearFOX,

The two vertices that @skysurfer cirled in red are definitely extraordinary vertices and require multiple NURBS surfaces to cover (or in this specific case, one trimmed NURBS surface could work, but we do not create trimmed surfaces in _ToNURBS).

The green vertices look ordinary and I’m not sure why the face packs do not extend past them. You can try recomputing the SubD’s face packs with _PackSubDFaces before _ToNURBS. If that doesn’t solve the issue, you can send us your file through our upload page. Please add pierre@mcneel.com as a recipient of that email.

60 MB is way too big for this file, there are probably some leftover objects in it. I just tried making your SubD + its NURBS conversion, it saved to a 154 kB file. You can use _Audit3dmFile and _Purge to investigate and get rid of unnecessary things.

Thanks, everyone, for replying to this question!
I misunderstood what an extraordinary vertex is (I didn’t know a crease would add more definition to it). I removed the crease, which resolved the bottom issue. I tried the _PackSubDFaces that @pierrec suggested for the green vertices, but it’s still the same.
(for the SubD, I had no idea why the file is still 68M - I export only the SubD, purge, audit, copy to a new file… etc.)

Just the SubD on the left cannot be 68 MB…

1 Like

The offending vertices were creased:

(used TestSubDLabel and SetPerFaceColorByFacePack for this image)

If you select the vertices, run _RemoveCrease, select the SubD, run _PackSubDFaces, then _ToNURBS should give you the expected output.

The file is very big because of plugin data attached by “MKS BEAM”. I can get it back to a normal size by using “Save as…” and unchecking the “Save plugin data” checkbox. If this is a problem you have with all your files (i.e. any empty or very simple file is 70 MB), please open a new topic about this. It seems to me like a plugin shouldn’t be saving that much data on such simple files, but I’m not very knowledgeable in this area.

Hope this helps,
Pierre

2 Likes

COOL! I want this as features :star_struck:

Both of these commands are available in Rhino 7 and 8. SetPerFaceColorByFacePack is a regular command with autocomplete, documentation, and compatibility guarantees; TestSubDLabel is an undocumented test command that we don’t think brings much value to the end user and sometimes changes in non-backwards compatible ways.

Any news about a way to set custom/manual face packing?
The user trying to pack unpackable set of faces could get a message of why.
TestSubDLabel seems useful!

Sorry for the OT.

Not much to report on custom packing, sorry. In the custom packing command, edges that can’t be crossed by a face pack would be displayed in a special color, I could extract that as a standalone selection / coloring command. The other thing to check for is that all packs are rectangular, that will incorporated in the pack selection tool directly.

1 Like