Hello,
I hope that I did not miss any existing threads dealing with this, I tried my best searching first.
There is following idea - since we have possibility of overriding dimension arrows independently in Rhino 8, I think it might be useful to also be able to control their sizes independently. Imagine situation like this:
I am working on custom “ordinate dimensions” in Grasshopper and want to have one side arrow and the other side a dot. However, being same size the dot is too big.
There would be inputs S1, S2 same as A1, A2 instead of single S.
Maybe using the “UserBlock” arrow could do the trick of making the dot smaller, but I failed to find any instructions on how to use it. If that could do the thing and somebody knew how, please let me know.
Hi Martin, thank you for reply.
To add more details - I really need to just override dim style for this specific case, because our dim styles are also used elsewhere in normal context.
Having independent sizes for both arrows is what seems to be most logical solution to me.
So far I was not successful getting predefined “UserBlock” into Grasshopper arrow settings as can be done with general dim style settings. Even if I did it, I would feel that it is rather “workaround” not a proper solution.
Can I somehow increase chances that this wish gets noticed by McNeel people? Do you know of any dedicated tags or anything?
This would require adding another field to the dimension style table. Notice in the image above (from Martin) that there is only a single Arrow Size input which controls both arrows. The Grasshopper component is merely wrapping the properties that already exist on the annotation style in Rhino… so it would first need to add a new field in Rhino and then we could access that field in Grasshopper.
Alternatively, as Martin suggested, you might be able to work around this by defining custom blocks (at different sizes) for each arrowhead… then you could assign the custom block as you see fit and it would show the size of the block scaled by the arrow size input. Does that make sense? So perhaps you could leave the Arrowhead 1 as “Arrow” but set Arrowhead 2 as a custom block (that looks like a circle but is scaled down according to your needs). Would that work?
Hello Andy,
thank you for explaining the background.
Speaking of the workaround that Martin suggested, I need to ask you this - do the custom arrowhead blocks have to be set up on the Dimension Style level (Drafting/Edit Annotation Styles…) or can I just make a local override using GH component?
There is a “UserBlock” option in Annotation Arrow Settings, but I don’t know how to use it.
For my purpose the modification in “global” annotation style is not suitable, because we use series of 20 scaled styles and I would have to create “ordinate” mutation for each of those, which is not good practice IMO. Provided the arrow override can’t be done locally, I might just leave the arrow out completely (using None override) since it is “only” visual thing.
In the past I used hatches scaled how we needed them, but then we had issues when users changed annotation scales later, because they were “dead” objects, unlike real annotation objects and thus did not re-scale.
In my example I’m creating an annotation with style ‘Millimeter Large’ which has standard arrows. Then I get the Arrow Settings from ‘Millimeter Small’ which is using the custom user block arrow. It doesn’t show in the viewport. However the Dot which is an override done the same way shows up…
It seems that about a year ago I worked on adding custom user blocks as arrow types (see RH-81500) but it appears as though it was never pushed into the main Rhino source code. I’m working to revive this code again so that you can set an arrow type to use a block.