Printing Pen Mode with Lineweights?

Hi,

Is it possible to get lineweights to print to vector PDF when in Pen display mode?


Pen Mode does a really nice job of creating simple vector fills of all surfaces/solids in the view, which I like for many diagrams. It outputs these as vector objects, which is idea for my use.

But when I have curves with either a By-Layer lineweight or a By-Object lineweight, those always seem to get ignored during export to vector PDF, and all the lines come out the same weight? The lines look as expected (with weights) in the ‘Print Preview’ model in Rhino,

but they do not come through in the PDF. Note that the lineweights do come through in raster PDF, and the issue appears to be limited to vector output.

Note also that any linework drawn ‘on’ the Layout view (whats that called? “paper space”? meaning: as opposed to in the 3D scene) does show lineweights in vector PDF output, even when the viewport is in Pen mode.


Environment:

  • Macbook 2021, Apple M1 Max
  • macOS 13.6.6 (Ventura)
  • Rhino Version 8 (8.8.24142.13002, 2024-05-21)

My_Pen_Mode.ini (7.7 KB)

unfortunately not, Pen Mode is simply a visual effect emulating vector look. in fact that is just an opengl (or some current graphic card) trick from what i understood. to print this the way you see it you would have to print as raster as you already have discovered, nothing you can about it.

Thanks @encephalon ,

Bummer. Do you know if instead there is a way to get Shaded mode to print surfaces the same way Pen does (as vector fills) instead of always falling back to raster? Shaded vector PDFs do keep their lineweights, but as soon as surface pops into the scene it always outputs raster…

@ed.p.may

nope… more bad news here… sorry. i used to transfer everything to illustrator, but because having time to make things beautiful never works out the way you want i started printing in raster. there really is no need to use vector if you dont have to design something graphically in a different program imo.

i think that is that one point why people like using autocad or archicad more for such tasks, if you are in the architecture realm. but mostly there really is no need for it, printing in raster is usually just fine.

You, I and I’m sure many others wish. In my mind, everything flat shaded, opacity = anything, should be printable/exportable as vectors. I still do not understand why that’s not possible.

(In other news, unlike Rhino, Revit is a steaming pile of garbage in almost every respect, but it does somehow manage to output surfaces as vectors to pdf.)

Edit: You have to use solid hatches to export to vectors. It’s super hacky, lots more geometry to duplicate and manage, but you can make it work.

Good to know that I’m not doing something terribly wrong and just missing the easy solution.

Thank you for the input.

@ed.p.may

I’m not sure I’d call it easy, especially if you have polysurfaces or anything curved to convert to hatches, but doable enough for planar objects.

Hi Ed -

Note that at no point, are “simple vector fills” created. I understand that it might look that way, but, when exporting to vector PDF/SVG, the edges of surfaces in the scene clip and remove occluded parts of the scene. It’s only curves that are being produced.

Yes.
When exporting to vector PDF, the linetype of curves is used.

In this scene, 7 curves are on 7 different layers, which all have a different linetype assigned. The linetypes are defined to be continuous with different widths:

When this is printed to PDF, the PDF takes those settings into account:

When you define widths in, e.g., millimeter, the resulting curves will be as wide as that number is set to. When you, on the other hand, define those widths in pixels, the result will depend on the DPI that you are exporting to. In the picture above, I printed to 300 DPI; in the following picture, I used 30 DPI.
image

For surfaces, at this point, hidden lines will adhere to the Hidden linetype that you can modify, but visible edges are hardcoded to use the Continuous linetype that cannot be modified. Hopefully, Rhino 9 will give more control over this.

Sample file → Lineweights to vector PDF.3dm (2.6 MB)
-wim

3 Likes

Ah! So using ‘Linetypes’ instead of ‘Print Width’ was the secret? I had no idea :smiley: that’s awesome.

thank you @wim !!
@ed.p.may

Not so much “a secret”, but a new feature in V8 as I understand it.

1 Like

Can I take this opportunity to ask if tapering can be displayed as well? I’m wanting to taper the curves depending on distance from camera.

Here’s what I see in the viewport - tested with a 3d object and a line with tapered settings:

Vector printing:

Raster doesn’t seem to show tapering either:

I’m wondering also how does the pen view get silhouette of the object compared to Make2D with Scene Silhouette checked?

This is what we come to the forums for. Thanks Wim!