Diagonal Structural Beam System Tag

Diagonal Structural Beam System Tag

Anonymous
Not applicable
1,190 Views
2 Replies
Message 1 of 3

Diagonal Structural Beam System Tag

Anonymous
Not applicable

I am working on creating a diagonal structural beam tag. Basically, I need the visible tag line to span from the lower left to upper right corners and display the beam system information. The existing beam system tag has preloaded properties that only allow it to display the information and line perpendicular to the beam direction. What I have done so far is created a new beam system tag sub-family and added diagonal lines (instead of the normal perpendicular) that have horizontal legs defined by instance parameters. This is great in the horizontal direction because it snaps horizontally to the beam system edges. The problem is that the beam system tag has no parameters to evaluate the vertical distance (direction parallel to beam direction). My thought is that maybe if I could nest another family that can capture the vertical dimension I can us that to set the vertical legs, therefore allowing the tag to snap to the corners of the beam system, but I am not sure if that is the best way to go (haven't had success so far). Any ideas on how to solve this problem?

 

 

Beam System.jpgDiagonal Beam Line.jpg

0 Likes
1,191 Views
2 Replies
Replies (2)
Message 2 of 3

DAI-JML
Participant
Participant

Try this out.

Built using Revit 2019 and Dynamo 2.X

It is meant to be run using the Dynamo Player.

 

You are correct in stating that you cannot feed the dimensions of the Beam System into the Tag, nor can you add an instance parameter to control just the tag. I mean, you can make an instance parameter in the family, but you cannot control said instance parameter from the revit project. However, with Dynamo you can control an instance parameter.

The instance parameters of the Beam System Tag are annotative, so not only do you need to control annotative dimension, you will need to know the dimension of the beam system as well as the scale of the current view you are on.

 

So, all that being said, the dynamo script does the following:

  1. Gets the view scale of the active view
  2. Gets the Beam System Tag ID
  3. Gets the host element of the tag (this is the Beam System)
  4. Gets the length of the Structural Framing (Joist) member from that beam system
  5. Divides the beam length by the view scale (to get annotative length) and feeds that value back into the tag.

*The script was made using 3 custom nodes and the rest OOTB. I pulled the python script out for the custom nodes, such that you need not load their specific packages.

But it could not be done without the original authors who are Dimeter Venkov (Springs) and Konrad Sobon (Archi-lab), and both of those are de-facto standards to have for any Dynamo install.

 

The two (family and script) need to be used together, because both the family and the script are using the instance parameter "Dim1" to both read/write. It is set up to go to 90% of the beam length, with a fine adjustment tool (which can be adjusted via the edit option in the dynamo player) to change it in 1% increments +/-.

 

If you want, you can change the code of the dynamo to get rid of the adjustments, or otherwise make it corner to corner. It will always require some manual adjustment of the center point. As of now I cannot figure out how to pull (x,y,z) center of tag and (x,y,z) center of Beam System and write one into the other. There are two tag types, to change direction, and the text can also be manually adjusted, whether you want it above the line or on the center of the line, etc.

 

You may also decide the text is not what you want, so just change the parameters of the labels within the tag family.

 

Diagonal Beam Tag.JPG

0 Likes
Message 3 of 3

DAI-JML
Participant
Participant

Having troubles loading the Tag Family.

Here's at least a screenshot of the family to get you going.

Diagonal Beam Tag 2.JPG

0 Likes