What Hatch Component Can Be Used For GH Style

I’m trying to create customized annotation style through grasshopper style.
I used hatch component from Elefront, but It has some conflict with GH Definition.
I refer to VisualARQ website, the component used for annotation looks like that of Elefront, but it’s not exactly same. What component should I use to create annotation style?

@archist97 You have got the Create Hatch components under VisualARQ > D.Generics >

I’ve already tried the component, but I get some error
It looks fine when I create GH definition through Grasshopper, but when I insert the annotation in Rhino, hatch is not aligned with annotation. Some of the hatch are placed even before left-clicking on mouse.
Rhino 7 SR16/ VisualARQ 2.12.4 (Non-Official)


Can you share the 3dm and the gh file you are using for that style?

I’ve revised the definition so that it can be inserted on a plane.
VA objects are now on the section plane correctly. (The position of hatch is still wrong, though)

Annotation_Revised.3dm (2.9 MB)
Annotation_Revised.gh (26.7 KB)

Try to replace the obsolete “Hatch Options” component, with the current one:

Does that fix the hatch position?

My VA version is 2.12.4. Why does old obsolete component still remain?
Where can I find the latest Hatch Option component in the image above?

The obsolete component remains since it was created with older versions. This is the behavior of all obsolete components in GH, so you can identify them when you open the file in a new version, and replace them with the corresponding updated component.
The current “Hatch Options” components also lies on the VisualARQ > D.Generics area:

In any case, does the new hatch component fix the hatch position?

Hi Francesc.
What I mean by “old obsolete component still remains” is the latest Hatch Option component is not installed in my grasshopper. My VA version is latest one, 2.12.4, the hatch option component in my grasshopper is still old one.
How can I update VA grasshopper components?

Hatch Option

No solution for this?

Hi @archist97 excuse the late reply for this topic. I didn’t have Pufferfish and Elefront installed until now so I couldn’t open your gh file properly.

Regarding my comment on the obsolete Hatch component, please ignore it. It’s a component that has changed in the upcoming VisualARQ 2.13 version, which I was testing, so that’s why it didn’t appear to you. My bad, apologies for the confusion.

About the error:
On one hand, I can see your definition generates hatches that are not on the same plane. Annotation objects are meant to be 2D objects. So hatches, texts, and 2D geometry must be on the same plane.

Also, even I’m not 100% sure, there might be some incompatibility with some of the Elefront or Pufferfish components in that definition when they are used for the VA Style.
If I try to create a similar object in 2D without using the Elefront or Pufferfish components, it works well. Can you try that as well?

Actually, I thought the same thing. VA usually conflicts with third-party plug-ins. The reason I would include hatch in the annotation definition is because annotation behind working sections have to be not shown.
I thought hatch can be used as a mask to hide them, but I realized hatch can not do that.
I used surfaces for mask. It works. However, I should use Element not Annotation for this. Surface can’t avoid being printed out in Annotation.
Anyway, I will try to create hatch not using third-party plug-ins

Why don’t you use layer visibility settings to control that? You can put specific components into layers, and then show or hide them per Detail view.

Annotations in section “B” should not be shown in section “A”.

If you don’t have mask, section “A” will looks like this.

This is “Wipe Out”. You can not use layer visibility for this. As you say, you can set layer visibility per layout and detail view. However, how may sections and plans will you have in a project? You will have to create tens of different layer state. The big problem you can not solve is that you can not set different layer state per viewport in model.

If you do annotation in layout, You might not need mask. However, layout does not work parametrically. Every room tags in the image above, are assigned room named through attribute user-text If the room names are changed, text in the room tag can be updated through vaUpdate. If you do this through Grasshopper without using VA, they can be updated automatically.

Room Tag


I assume this works fine, isn’t it?

Would it work for you to change the section A depth, so it doesn’t include annotations D and C? You can edit the section depth through its control points.

Yes. surface mask works fine with customized Element through GH style.

You can not hide annotations behind a working section with section depth when the sections are close to each other, and sections will cross each other like section A and section C. You can not hide annotations on section C when you are working on section A.

Hi @archist97 I guess that what you need here is an annotation that orients towards each viewport, right? that way you don’t have to duplicate it and rotate it so it displays correctly in each section view.

Yes, exactly, but most important thing is to avoid workaround.
It’s a big workaround to hide annotations manually in detail or layout or to create layer states and set them per view.