HiddenLineDrawingSegment.Visibility

Thanks for HiddenLineDrawing in Rhino6. I’m starting to get my head around it and it’s getting more an more fun :slight_smile:

But here’s my issue: It’s great to be able to identify duplicate segments to create a minimal 2D-drawing. But when I want to group ALL the returning HiddenLineDrawingSegments (including the duplicate segments!) based on the SourceObjects (or color them or move them to separate layers like Make2D), I cannot assess if the duplicate segments are visible or hidden.

Why is “duplicate” a state in the HiddenLineDrawingSegment.Visibility-enumeration and not an indivual (boolean) property of HiddenLineDrawingSegment? Then it would be possible to evaluate if a duplicate segment is acutally “hidden” or “visible”.

1 Like

Since this has been here without a comment for 18 months now, I thought I’d add a nice image explaining the problem:

This is a hiddenline of rectangular floor panels (and a few columns and beams). Unfortunately, none of the floor panels is a closed rectangle anymore, because at least one of its sides coinciding with the neighboring panel is sorted to the “duplicate” state (see yellow outline). This can be easily resolved by grouping the output of hiddenline by source object - so we have a complete outline again.

BUT: some of the panels are behind other objects and thus have VISIBLE and HIDDEN lines. The HiddenLineDrawingSegment.Visibility-enumeration can only return ONE state: visible, hidden OR duplicate. So we have no chance to re-sort our duplicate line segments into the correct category. :frowning:

WISH: The “duplicate” state should be a separate boolean property of HiddenLineDrawingSegment, then this wouldn’t be a problem anymore.