I used Rhino 5 to read .step files and save them as .3dm files. The geometry information in .3dm files is then extracted with openNURBS.
I visualised the model in a way such that each trimmed surface is visualised separately, that is, each trimmed surface is bounded by the images of its p-curves in 3D, instead of the 3D intersection curves. I found that the p-curves computed in Rhino present very large errors in some cases, especially when the dimension of a untrimmed model is much larger than that of a trimmed one. This leads to unanticipated large gaps in the visualisation in our own viewer.
The figures below show two examples with large gaps due to ‘incorrect’ p-curves. The first figure shows large gaps between adjacent trimmed surfaces; the second figure shows the pink surface is somewhat away from its adjacent trimmed surface. I expect that there will be inevitably tiny imperfections in trimmed regions, but not as large as what it’s showed here.
There is no information of p-curves in .step files, so p-curves should be computed in Rhino when exporting the geometry as .3dm files. Basically I just used ‘SaveAs’ in Rhino to save the .step file as .3dm file. I am wondering the reason why we get p-curves with so large errors for these models. Is there something that I missed when I exported the geometry with Rhino and read it with openNURBS?
I attached the files of the first model. One is the original .step file, and the other is the .3dm file I exported from Rhino 5.
24.step (100.3 KB)
24.3dm (122.6 KB)
Thank you in advance for your help.