DisplayPen ThicknessSpace behavior

I was playing around with the DisplayPen ThicknessSpace property, hoping I could preview linework at a fixed model (physical) width instead of at a fixed number of screen pixels. However, I am not seeing any difference in the custom preview when changing the ThicknessSpace property. Is this a bug, or am I misunderstanding what this property is for? My Rhino version is 8.34.26223.11001.

A simple test case is attached. Regardless of whether the ThicknessSpace is world or screen, the line thickness is in the given number of pixels (2 in this case).

PreviewOverrideLinewidth_2026.09.02.gh (5.3 KB)


Hi @Christopher_Savage,

To get model-unit thickness, set ThicknessSpace to CoordinateSystem.Camera rather than World:

pen.ThicknessSpace = Rhino.DocObjects.CoordinateSystem.Camera;
pen.Thickness = 0.5f; // now in model units

Camera is the value Rhino uses internally when a linetype’s width is set in document units. World isn’t handled by the display engines and falls back to pixels.

– Dale

Thanks, @dale, that does indeed fix it.

I noticed the JoinStyle doesn’t really work in this case – is that to be expected?

I imagine it would be fairly complicated to get join styles to work in this mode.