A WIP based on the ever-popular Make2D command in Rhino (but really I just wanted a reason to draw some dashed lines).
How does Make2D work for NURBS objects? I have no idea. A cursory Google search leads me to believe it might, in part, be based on render meshes and surface normals (pointing towards or away from the viewpoint). However there must be more to it because that doesn’t really explain how hidden lines are generated for NURBS surface edges. And clearly objects like cylinders and spheres are special cases.
This definition only works (sort of) with closed, faceted BReps. I was going to try to work with meshes (and I may still) but converting referenced NURBS geometry to mesh geometry in GH is a bit uncontrollable. I also think this definition is a kind of fake way to go about this.
Actual Make2D results are at the right and you can see obvious problems with the cylinder. Back to the laboratory.
DEFINITION
make2D.ghx (Right-click on link and “Save link as…”)
UPDATE
Check out this definition at thedisContinuum for a GH scripted implementation of Make2D.


Make2D does not use meshes, it operates directly on the Nurbs data. So instead of testing the normals for every face in a mesh to see if it is a ‘front’ or ‘back’ face, Make2D needs to dynamically sample nurbs surfaces. I don’t know how it actually works, but I do know it is fiendishly difficult. An integral part of Make2D is finding the silhouettes, where a nurbs surface goes from front to back. You can create these curves with the _Silhouette command.
Hmm… So _Make2D first uses _Silhouette to create all the curves and then determines which curves are behind surfaces in order to hide or display them as hidden lines? It doesn’t look like Silhouette is exposed in the SDK (if I’m looking in the right place) so maybe I’ll see if I can script the command. Marc Hopperman got Patch working so that looks like a good starting point. Thanks for the info!
really interesting..