Line type/width for blocks

I need the line representation for the objects in a particular block to follow the settings of the layer the different instances of the block are on.

Should setting the objects to display linetype “by parent”, and the linetype for the block instances to “by layer” do this?

Hello - yes.


That’s what I thought. I can’t get it to work that way though. Can you help?
Here are thesettings for the objects within the block:

Here are the Block instance’s settings:

you can see that the non-block also selected in the image above displays with the linetype “by layer”, but the block instance doesn’t.

Hello - from the look of it, I’d expect that to work but I do not know what the chair outline is - in the upper image, as selected with the surface, is that just curves or is it itself a block instance?


Both the chair within the block and the chair beneath the block (in the lower image) are just curves.

The desk is a surface (within the block).

The display mode is wireframe and hidden lines on the “furn dahsed lines” layer are showing as expected in other cases.

I’ve uploaded the project to your attention.

I welcome a phone session and shared interface if it helps. This can get complicated to discuss.

Hello - if I move one of the blocks from ‘Furn’ to ‘furn dashed lines’ is responds as expected…



The block in question in my example is on “furn dashed lines” but it doesn’t display that way.

The objects within the block are on Furn, but being set to display by parent it shouldn’t matter, if I understand correctly they should follow the display characteristics of the instance.

The task here is to have the same block display as dashed or not depending on what layer the instance is on. How is that accomplished?

Hm - this is what I see:

Is that what you expect?


What are the settings for those linese withint the block?

Mine are set to “Furn” and they don’t display the way yours do. You can see those settings in the topmost image above.

Hello - whatever is in the file - I just opened the file and found, I think, one of the blocks you are asking about. The linetype scale for dashed is 150 in this file, maybe it needs to be larger for your level of zoom?


but the chair immediately beneath it displays the dashes juist fine? Isnt’ loinetype scale global?

Hello - it is, but the block instance is scaled down quite a lot.

Apparently, this behavior is, by some at least, not expected - you among them no doubt - @mary is going to verify and shove it on the list…


a) In the meantime, can I get what I need? How do I change the display of this block, in a 1/4"=1’-0" detail view, between dashed and continuous? Can you recommend the most efficient means for this?

b) LInetype scale doesn’t scale with an object, does it?

Hi David,

a) In the meantime, can I get what I need? How do I change the display of this block, in a 1/4"=1’-0" detail view, between dashed and continuous? Can you recommend the most efficient means for this?

There is no Per Detail Linetype setting in Rhino yet. (logged as RH-9327)
However you can have 2 of the same block on different layers: one layer with dashed and the other layer with continuous. The geometry within the block that you want to “take on” the parent layer’s linetype needs to be set to “by parent.”. However, the linetype will not change per detail.

b) LInetype scale doesn’t scale with an object, does it?

It is not supposed to. This is related to bug item RH-35055

Mary Ann Fugier
McNeel Technical Support and Training
Seattle, WA

This is precisely the thing that apparently does NOT work as per the thread above. If it really doesn’t, I need to know the most efficient work around. It’s okay if it doesn’t change per detail, but I need to change per layer that the block instance is on. The cases are actually different instances, not different views, of the same block.

Hi David,
It does typically work. I will work up a sample for you in a bit.

However, I need you to post a small and simple model that will show us what does not work on for you.

Thanks for your help.
Mary Ann Fugier

As Pascal suggested, the issue is that the linetype isn’t being displayed at the same scale for both non-block and block objects on the same layer:

Dased Display in Blocked objects and non-blocked objects.3dm (344.2 KB)
In the project I’m working on, the lower chair shows a hatch but the one in the block does not. In the simpler project I’ve uploaded here, the problem is the reverse. (The selected objects are the block instance.)

Hi David,
Thank you for the file. Here are the issues.

The top chair block is at a scale 1/16 compared to the original. Look at the original to the right.
There is a current bug that the block is scaling the linetype. This accounts for the difference in scale. When this is fixed. the linetypes, in both block will be based on the model linetype scale factor. This will be fixed at some point, so don’t get too used to this behavior.

This is a much better and cleaner block than the chair at the bottom of the file. Most lines are long enough to accommodate the linetype.

The chair at the bottom of your file is a bit of a mess since it is composed of 40 some microscopic curves. Linetypes are applied to the entire length and “if” the line is too short the linetype will not display and the lines will look continuous. This is the way nearly all CAD packages work.

With the bottom object, you need to use commands like Join, Rebuild, and CurveBoolean to efficiently rebuild with “good curves” that are long enough to support a linetype.

When we simply use Join, one of the curve starts to display the linetype:


There are couple things you can do to help with situation.

  • First clean up the block and trace it with good curves. Try CurveBoolean but replace arm with one curve, the seat and back with appropriate curves I would guess 6-7 smooth curves is all you will need.
  • Second, if you like the linetype on the first chair, copy it for make a second that has the values that you want.

  • Adjust your global linetype scale as needed.

The fixed file is attached for your reference.

Mary Ann Fugier
McNeel Technical Support and Training