I’m really confused and could use some help about the various transformations used in display conduits for moving between model (detail) spaces and paper spaces. I haven’t seen a comprehensive overview of those transformations, and it’s quite unclear to me which would apply. (These past discussions don’t seem to tell the whole story: Annotation on a Layout, CRhinoPageView & CRhinoDetailViewObject, RhinoCommon Printing)
I’m trying to use my display conduit to overlay some annotations on various detail viewports in a paper space, as shown in the mockup below:
Simply, each viewport gets a black background (
e.Display.Draw2dRectangle - size derived from
e.Display.Measure2dText) and white text (
e.Display.Draw2dText) in each corner.
If I just use the
Draw2d[Rectangle | Text] as they are, they do not scale with the paper, and remain fixed based on the size of the viewport on screen.
How do I get 12 point (for example) text to render as 12 point in relation to the paper drawn on the screen, rather than simply 12 points on the screen?
Is it drawn in the detail viewport (i.e.
e.Viewport.ViewportType == ViewportType.DetailViewport) or in the page viewport (i.e.
e.Viewport.ViewportType == ViewportType == PageViewMainViewport and cycling through the
GetDetailViews() to get the locations of the detail viewports)?