Curves from DraftAngleAnalysis vs. TestSilhouette

For geometry like this:
image
ForDraftAngleAnalysis.3dm (107.5 KB)

At these settings:

Create Draft Curves creates 13 curves, 5 from an incomplete profile:
image
(I get the same results using RhinoCommon’s Silhouette.ComputeDraftCurve.)

On the other hand, TestSilhouette in V6 at -5° creates 16 curves in 2 sets of closed profiles:
image
Yellow on layer Silhoutette_Crease
Green on layer Silhoutette_Tangent

Does this demonstrate a problem with DraftAngleAnalysis? If not, how can the command either produce the same results as TestSilhouette or only the 8 lower curves?

Thanks for the find @spb Steve,

We’ll take a look and get these two more aligned.

https://mcneel.myjetbrains.com/youtrack/issue/RH-58448

Silhouette.ComputeDraftCurve does return 3 Silhouettes whose Curves are None, so these may be for the 3 missing curves.

All SilhouetteTypes returned are DraftCurve, even for the Nones. The same is true for other models I’ve tested. For the provided model, should the SilhouetteTypes be different as they are for TestSilhouette between the curves on the tangent and the one on the sharp edge?

Counts with types:

[3] None
[4] LineCurve
[9] NurbsCurve
----------------
[16] DraftCurve

Study_Silhouette_ComputeDraftCurve.py (1.5 KB)

Also, if you flip the model (or change the angle to positive 5°) only the 5 curves on the sharp edges are returned.

image

results seem to match here in
Work In Progress
(7.0.20161.6425, 6/9/2020)
Commercial

7.0.20168.13075, 6/16/2020 creates 16 curves, but SilhouetteType from Silhouette.ComputeDraftCurve for all 16 curves is still DraftCurve.
https://developer.rhino3d.com/wip/api/RhinoCommon/html/T_Rhino_Geometry_SilhouetteType.htm

TestSilhouette creates the lower 8 curves on layer Silhoutette_Tangent and the upper 8 on Silhoutette_Crease.

Since they are hidden at a negative draft angle, why are the upper curves included in the output of Silhouette.ComputeDraftCurve? If they are supposed to exist, please set them to a different SilhouetteType.

image

I made some fixes for this bug item
https://mcneel.myjetbrains.com/youtrack/issue/RH-58448
I think the draft curves that are made are now complete. They can be closed using join. But I see that both curves are produced even though only min is requested.

Should these curves be joined as part of the construction process?

So that I can ignore the upper set of curves, will you please set their SilhouetteType to Crease, similar to how TestSilhouette categorizes them?

I notice that Silhouette.Compute also returns Silhouette of non-requested SilhouetteTypes even though silhouetteType is a parameter. In this example with Vector3d.ZAxis as parallelCameraDirection, no matter the SilhouetteType passed to it, Crease and Tangent Silhouettes are returned.

Please don’t join the output.

opened this bug
https://mcneel.myjetbrains.com/youtrack/issue/RH-59157

RH-59157 is fixed in the latest WIP

RH-59157 is fixed in the latest WIP