Hello,
I have tried this website: File Converter
The geometry looks significantly better than OBJ>ToSubD>ToNURBS, particularly around the star points. Could this better conversion be added to Rhino somehow?
Hello,
I have tried this website: File Converter
The geometry looks significantly better than OBJ>ToSubD>ToNURBS, particularly around the star points. Could this better conversion be added to Rhino somehow?
A screenshot of a shaded polysurface with edges would be more informative…
Hi @vanastarr,
It would be helpful if you posted the .obj file that contains what you’re starting with.
– Dale
You could throw one up quickly, but here is an example using Blender (what I will predominantly use, the OBJ exported from Blender for input to both Rhino and the web based converter).
Test.obj (15.7 KB)
Test.igs (467.9 KB)
This is the Rhino file testing (done in R7 today but I’m sure the code is the same in R8):
Surflab test.3dm (7.4 MB)
I would upload the Blender file but it will not let me - could you add .blend to file types that can be uploaded?
zips usually work onefolder.zip (192 Bytes)
Done.
-wim
I think “better” is somewhat ambiguous.
A result that is “smoother” may not actually be “better” if the deviation of the nurbs surface to the mesh is “excessive”. What is excessive would depend on the end use.
You images show curvature only.
Surface deviation would be needed to provide further understanding.
Unfortunately Rhino’s point deviation does not provide a good visualization for the deviation.
Cloud Compare could be used to compare deviation of the original mesh and a mesh exported from the nurbs surface. Not convenient to use another app but the results are better, although I have run into some situations where Cloud Compare fails at this task.
Geomagic Control and Zeiss (formerly GOM) Inspect are industry standard tools for deviation analysis.
I’m using brep closest point in grasshopper to compare two objects…
even if the used analysis-tools are not correct…
looking at the file the surflab surfaces look great and better then rhinos ToNurbs / G2 - Algorithm
EDIT
that s the lab behind the converter:
https://www.cise.ufl.edu/research/SurfLab/index.shtml
and the github page
but the core is not published:
#include "mesh_to_igs.hpp"
@dalelear … chuck is retired … hopefully the right people at mcneel see this topic / potential
That looks like an interesting method! Very low on CV count. Also very low on details about the math behind it unfortunately. Digging into the repo’s commits a little bit, mesh_to_igs.hpp
used to be called semi_structured_spline/Source/src/mesh_to_igs.hpp
, which points to a couple of papers from Jorg Peters’ lab [1] [2].
It looks like it’s giving slightly worse point deviations between SubD and NURBS, than G1XX in v8. That might be acceptable given the very low CV count.
Zebras and curvature look marginally better than G1xx:
There is something strange about the C2 continuity, the dis-continuity should be concentrated at the extraordinary vertex and not spread out on the entire edge like that. This might be an unrelated problem in the conversion pipeline, the papers I linked to above claim to give C2 results.
We have been investigating similar methods of building better SubD to Nurbs conversions for v9 using various kinds of n-sided patches. I’ll add this one to the list for further investigation.
V8 had several improvements, bugfixes, as well as the “G1XX” option added to ToNURBS
, compared to v7.
Ok, I will have another look later (only have R7 at work where I teach Rhino). Is there an explanation of G1XX anywhere online?