Solved! Go to Solution.
Solved by caddman6425nah. Go to Solution.
You can schedule the length of structural members with PSD, or are you referring to the Z height which can also be obtained via PSD.
Property Data is only available if the Property Set(s) in which the desired property(ies) are defined are attached to the object or style. If you are using a Sturctural Member Syle that does not already have the style-based Property Set that includes the needed property attached, then you will need to attach it.
I do not see an automatic property source for the "height" (or any other dimension) of a structural member, however. You could set up a manual, style-based property that could hold the height, based on the member shape(s) that the member uses.
1. Set up Structural Member Styles for all of the steel members you expect to use. (You can always add more, later.)
2. In the Style Manager, under your current Drawing, expand the Documentation Objects and the Property Set Definitions nodes.
3. Right click the Property Set Definitions node and choose New in the context menu.
4. Give the new Property Set Definition a name of your choosing. If you think you may ever want to reference a property in this Property Set in a Schedule Tag, do not include any spaces in the Definition name.
5. Left click the new style.
6. In the right pane, on the General tab, add a Description if you like.
7. On the Applies To tab, choose the Styles and Definitions radio button at the top, and then check Structural Member Style.
8. On the Definition tab, left click the Add Manual Property Definition button (top one at the far right column of buttons).
9. Provide a name for the property; as with the Property Set Definition name, do not include any spaces in the property name if you want to be able to reference it in a Schedule Tag.
10. Assign appropriate attributes to the property. For a property holding the height (depth) of a structural member, setting the type to Real would be the appropriate choice. Set a default value if you like, but you may be better off leaving this set to 0, as a warning that you have not entered the appropriate value for a given style. Standard may work as the Property Data Format; if not, you can use another or create a custom format. If you want to see the property on the Extended Data tab of the Properties palette, leave the Visible toggle checked. If you have multiple properties, you can deterimine the order is which the properties appear in the Properties palette by entering integer values in the Order column.
11. Repeat steps 8 - 10 for each additional manual property you want to add (if any).
12. Click Apply to register your edits to this point in the Drawing. If you added a number of properties, or just want to be safe, you can click OK to dismiss the Style Manager and then save the Drawing.
13. Reopen or continue in the Style Manager. Expand the Architectural Objects and Structural Member Styles node.
14. Select the first Structural Member Style, and, on the General tab in the right pane, click on the Property Sets... button.
15. In the Edit Property Set Data dialog, click on the Add Property Sets button near the lower left corner.
16. Make certain the Property Set Definition you created is checked (you can choose to add or not add any other Property Set Definitions that apply to Structural Member Styles, if any) and click OK.
17. Your new Property Set will appear in the Edit Property Set Data dialog. You may need to scroll to find it,. Enter the data specific to this style for each of your manual properties.
18. Click OK.
19. Repeat steps 14 - 18 for each of the remaining Structural Member Styles.
20. Click OK to close the Style Manager. Save your Drawing file.
You wiill likely want to set up a style source file in which you keep Structural Member Styles to which you have added your custom data and from which you copy the styles for use in future Drawings, to avoid having to manually add the data over and over. Because the data is attached to a style-based Property Set Definition, the data will travel with the Style when copied into a new file. (Unless you already have a Property Set Definition of the same name, but with different properties, in the target file.)
I suppose you could build a really big Select Case statement and enter the height for every structual member style you use.
When you set up the formula property or formula column to calculate your bearing height (check the spelling of HEIGHT in the header in your Schedule Table Style), do not enclose the property references in double quotes - that will turn the numeric values into strings, and so far as I know, you cannot subtract text strings. You will also want to have those source properties formatted a real numbers, in inches, to whatever precision you need, without any suffixes or other units formating (such as imperial feet and inches formatting). For example, if your beam depth is 16.23 inches, you want the property the formula is using to have a format that will pass through a real number value of 16.23, you do not want 16.23" or 1'-4 1/4". You can apply a Property Data Format to the formula or formula column to format the result of the math, but you want the math to be done on unadorned real numbers.
HI
I'm working on a way to calculate the bottom of the beam.
Using your idea of creating a custom property works to some extent.
When I create the beam style from the structural members wizard I put the depth in parenthesis.
For Example "W16x45 (16.13)"
See attached pic.
This way I don't have to look it up later.
I then need to manually enter the depth in the custom depth property for each beam
My thinking now, is there a way to strip out the depth from the beam style text?
This way it would be automatic for each style.
I see all those VBscripting codes that can be used in the formula definitions.
But have no idea where to start with it.
It doesn't have to be parenthesis, it could be what ever character is best for striping out certain text.
Could it be scripted to pull out the depth and the width?
Thanks so much..
Dallas
Wow! Excellent work there Nick! You put alot of work into it.
So simple to use.
Since my use would be to make a structural background for use on MEP projects, I'm really looking for beam size and bottom of beam. Actually Bottom of Fire Insulation. So if you had an insulation thickness variable and allowed changing the tag's information to include/exclude the above, you'd have a HUGE winner in the MEP market.
That said, I'm far enough along in my understanding of property sets that I can create one for insulation and calculating the bottom from where you've gotten it all.
But to be able to throw that information on as I'm drawing the beam as your tag works, would be awesome...
You found yourself a customer.
Thanks so much for the quick reply..
Glad to see that Nick was able to help you out. While that was going on, I put together a quick demonstration file that shows that you could do what your earlier post requested - extract a string between two delimeter characters in the style name and use it to calculate a beam bottom value. Perhaps this may be of help to others who happen to read this thread.
The attached ZIP file has a formula property that extracts the string, using the InStr and Mid VBScript functions, along with some tests to avoid having the formula blow up if the delimeter characters are not found, if the first ")" occurs before or immediately after the first "(" or if the text between the "(" and ")" does not evaluate to a number. The formula returns 0 as the depth in these cases.
The formula property that calculates the bottom of the structural member also takes into account the justification. Most beams would likely be Top Center justified, in which case, along with Top Left and Top Right, the entire depth is subtracted from the automatic LocationZ value. For the Middle justifications, half the member depth is subtracted and for the Bottom justifications, the LocationZ value is passed through unmodified. If the justification is Baseline, then I have no way to know what to subtract (for Structural Member Shapes generated from the steel part of the Structual Member Catalog, I believe that the shape insertion point is a the midpoint of the shape, but that may not be true of a user-defined shape, so I had the MemberBottom formula return a value of "BASELINE". If the MemberDepth is 0, then the MemberBottom formula returns a value of "NO DEPTH", as a warning that the style name was not properly set up.
You could extend this to include a manually entered spray fireproofing thickness if desired. You could also add the member width to the style name, either using different delimeters, such as "[" and "]" , or by truncating the string after the first ")" and then processing the result for the remaining "(" and ")".
Another thought that occurred to me today: the MemberBottom formula presumes that the Roll property of the Structural Member is 0, and that the bottom of the beam is in the negative Z direction. A more sophisticated formula would require an additional Automatic property to make the Roll value available, and would check that and then adjust the calculations for the various justifications accordingly. For example, for a beam with a Roll of 180 degrees and one of the Top justifications, the LocationZ property is the bottom of the beam, and you would not want to subtract the beam depth. Rolls other than 0 or 180 degrees would also require knowing the member Width and, assuming the bottom occurs at the corner of a rectangle described by the Depth and Width, more sophisticated calculations to determine the lowest elevation of the beam. (In those cases, the Left, Center and Right justifications would not have the same calculation, either.)
Or you could leave things as is, and mandate that all beams have a Roll of 0.
Thanks so much David.
Your String extraction example really helps me understand it more.
I agree, to get a really foolproof bottom of beam, there would be a lot more coding.
But to grab the bottom of a beam in its normal orientation and not sloped, this works pretty good.
To be honest, Ive taken to using your 'Steal Beams for AEC'. It's sooo much easier to bring in beams and Im able to create a custom tag for the bottom of fireproofing from your object properties.
It's already saved me several hours.
Great Job guys.
Dallas
Can't find what you're looking for? Ask the community or share your knowledge.