Jump to content

Wall data in Worksheets, but not Graphic Legend or Data Tag?


Recommended Posts

In a worksheet, I can use "=OBJECTDATA('MARK')" to get the info that is in the "Mark" field in a wall style definition.

 

But when I try to get at that information in a Graphic Legend or Data Tag (which in turn means using "Define Tag Field" or "Define Graphic Legend Field" to link text to a record) I can't directly get any data from a Wall?!?!?

 

Interestingly, there are some ways to get information about a wall - I can get the wall style name with Object Function -> Object Style Name #OSTYLE# (There is also a way to get the overall thickness of a wall type.)

 

Alternatively, I can get the #Tag# info from an IFC record, but that is per instance of a bit of wall, not the Mark that I set in the Wall style definition.

 

It looks like there has been a decision to not expose wall data. In contrast, it looks like comparable data has been exposed for doors and windows.

 

Am I missing something because I have very little idea what I'm doing here?  At very least, I thought that in the past I had been able to use Data Tag and have it display the "Mark" information set in the wall definition.

 

(The Graphic Legend has some wall specific options such as individually dimensioning the components of a wall style - I'd love to expand on that to also label the components along side the dimensions.  The dimensioning seems to be similar to or drawing on the same function as the pre-made "Wall Schedule with Components" worksheet, which uses "=IFNA(OBJECTDATA('component name'), ' ')" to break out the individual component names, thickness etc. )

Link to comment

Fantastic! Worked on both!  One small step forward! (Though in both, the leading "=" character wasn't needed.)

 

Am I misremembering that I used to be able to get at this when setting up a data tag?  (The problem with pulling something from the IFC records is that they are unique to the object, not the wall style, so that risks the value not being set on a particular instance of wall and thus the tag being empty.  Also, it's then hard to update throughout the project.)

 

If I understand correctly, these systems like Data Tag and Graphic Legends function differently than Worksheets, but you can take something that works on a Worksheet and try plugging it in on these other things with the #WS_ prepended (and # at the end)?  Is there some documentation that explains this?

 

It's definitely annoying that I can't find a reference that lists out the information that is available for an object like walls.  This is exposed in drop downs for objects like windows and doors.  One of my problems is, of course, that I know enough to be dangerous, but not nearly enough to know the correct terms to search for to do stuff like this, so the documentation might be readily available and I just don't know how to pull it up!

 

So: Is there documentation somewhere that lists all the fields of wall objects, or is there a way to get something to "barf" that up?

 

((Unfortunately, #WS_IFNA(OBJECTDATA('component name'), ' ')# doesn't cause the components of the wall type to be listed out. In the Worksheet I copied it from, it "subdivides"(?) the rows for each component, but the first line appears to be null or similar.  I have no idea how to get a text object to be multiple lines inside a Graphic Legend cell, or if it is even possible.)

Link to comment

The post linked at the bottom of this  message is a thread about a script I wrote a long time ago to extract all of the parameter record fields of a PIO into a worksheet. If gives you the field name and even a field with the record.field setup that you can copy and paste into a worksheet.

 

One way to think of a Data Tag is as a formatted version of one subrow in a worksheet database. In a database you specify the objects to be placed in subrows by using criteria. In Data Tags you specify it by making an Association. In either case, you end up specifying exactly one object that is then passed to the formulas.

 

The reference for the worksheet functions is at:  https://developer.vectorworks.net/index.php?title=Worksheet_Functions

 

I am surprised that IFNA(OBJECTDATA('component name'), ' ') works in a worksheet. It should only work if passed a specific component not a wall object.

 

IFNA(OBJECTDATA('Component', 'Name', 1) should return the name of the first component. Coupled with IFNA, you could guess the maximum number of components you need to display and put them all into the Tag.  Not explained very well. Ask again if you need more help.

 

 

Link to comment
1 hour ago, Thomas H Donalek AIA said:

The problem with pulling something from the IFC records is that they are unique to the object, not the wall style, so that risks the value not being set on a particular instance of wall and thus the tag being empty.  Also, it's then hard to update throughout the project.

 

As far as I can see #WS_OBJECTDATA('MARK')# and #IfcWallStandardCase#.#Pset_WallCommon#.#Reference# are both doing exactly the same thing. Whatever you enter in the 'Mark' field of a Wall style will appear in the 'Reference' field of the IFC data for each Wall instance. If you edit the 'Mark' entry for the Wall style the IFC entry for each Wall instance will update accordingly as long as 'Replace Data' is checked in the Wall Replacement dialog (+ in VW2023 the IFC entry for each Wall instance is set to By Style).

 

But I know nothing about IFC so could be missing something!

 

1 hour ago, Thomas H Donalek AIA said:

Am I misremembering that I used to be able to get at this when setting up a data tag?

 

#IfcWallStandardCase#.#Pset_WallCommon#.#Reference# is available from the definition builder in the data tag.

Link to comment

Pat - thanks again!  This is really helpful for starting to understand what is possible (been using VW since v2008? I've known this stuff was possible, but haven't really dug in to get at it.)

 

I muddled my way through and, using the .zip file text indicating that it is the May 2017 version, got the script to run to create a worksheet with a list of field names, etc.

 

On some PIOs it generates the information about the fields of PIO itself, which is what I was hoping for. Window in wall? IFC.  Window copied from in-wall instance, pasted not in wall? Bingo! Actual PIO info.

 

But for every wall I've tried, it only displays fields from an IFC record, rather than for the PIO itself.  I tried using the wall tool to make a new, non-connected wall, but still got IFC info, not PIO info.

 

I don't know if this is an issue with the current version (Windows 11/2023 SP3) or something else?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...