Enzo Posted January 24 Share Posted January 24 I'm trying to create a worksheet with the symbols's width and height parameters. Simple, or one would think, right?! The Function>Objects-General>Width (and Height) criteria, return the width and height dimensions relative to their placement in the drawing, rather than of the symbol itself. See screenshot. I'm sure there's an easy way to address this, I just can't seem to figure it out. Any pointers? Quote Link to comment
markdd Posted January 24 Share Posted January 24 The simple way to address this is to add a Record Format to this Symbol with the Height and width entered there. Then, just report on the two fields of the record. It looks like you are using a Record to register the ID; just add the two fields there as well. I wish I knew a cleverer way... Quote Link to comment
Enzo Posted January 24 Author Share Posted January 24 (edited) 22 minutes ago, markdd said: The simple way to address this is to add a Record Format to this Symbol with the Height and width entered there. Then, just report on the two fields of the record. It looks like you are using a Record to register the ID; just add the two fields there as well. I wish I knew a cleverer way... That indeed is a simple solution, however, I don't want the end user (not me) to be able to freely input dims in case there's a discrepancy between the actual measurements. The workaround I found is to add a data tag to the symbol and feed the data to the Record. This works well, however, it relies again on the end user to remember to manually add the data tag to every symbol... Edited January 24 by Skakki Quote Link to comment
shorter Posted January 24 Share Posted January 24 Tip... Add the size parameters to the name of the symbol. You can then schedule using part of the name... 1 Quote Link to comment
Enzo Posted January 24 Author Share Posted January 24 14 minutes ago, shorter said: Tip... Add the size parameters to the name of the symbol. You can then schedule using part of the name... Can you walk me through it? How do I report part of a name? Quote Link to comment
shorter Posted January 24 Share Posted January 24 If a Symbol is called 'SSL-Something-Anything-2000x1000' for example, in a worksheet you can extract the '2000x1000' bit by using the now ubiquitous formula... =substring(S,'-',4) This extracts the '2000x1000' part of the symbol only, since it is the the 4th part of the symbol name, separated by the - character. This would be the easiest way, since the dimension's character length may change, and that makes using =right() tricky. The only downside is that you have to be quite disciplined and ensure the dimension is always in the same position in the symbol name. You can use the symbol name in the same way to schedule the group, sub-group, and even a description, e.g. SSL-Door-Internal-SingleLeaf-910x2100 SSL-Group-SubGroup-Description-Dimension Alternatively, using a record format and a worksheet would allow you to check and change the size of all symbols simultaneously in the schedule along with any other value in the record format. 1 Quote Link to comment
Enzo Posted January 24 Author Share Posted January 24 Follow up question. Embedding a Data Tag inside the symbol itself, it shows up with the correct dimensions in the symbol, however there doesn't seem to be a way to reference a Data Tag from a Worksheet inside the symbol. The function 'DataTagField' returns a 0 or N/A value The DataTag doesn't stop from enering any value in the corresponding Record when ticking the 'Link to data source' checkbox. Quote Link to comment
shorter Posted January 24 Share Posted January 24 Why not get the worksheet to look for the information in the symbol directly? Quote Link to comment
Enzo Posted January 24 Author Share Posted January 24 2 minutes ago, shorter said: Why not get the worksheet to look for the information in the symbol directly? Yes, that works, but that's the problem I'm having. See the screenshot at the top, the width and height functions return the overall width and height that the symbol takes up in the drawing, rather than relative to just the symbol itself. Or is there another way to pull the symbols dims? Quote Link to comment
markdd Posted January 24 Share Posted January 24 1 hour ago, shorter said: ip... Add the size parameters to the name of the symbol. You can then schedule using part of the name... Good idea. You could also use the TrimLeft function to remove all letters from the left side of a string. This example is a bit brutal, but it works! 1 Quote Link to comment
Enzo Posted January 24 Author Share Posted January 24 3 minutes ago, markdd said: Good idea. You could also use the TrimLeft function to remove all letters from the left side of a string. This example is a bit brutal, but it works! As clever as these alternatives are, they don't really work for me, as they don't give me actual measurements, and they rely on the discipline of entering the data correctly. I might as well just add a record field in... Should the actual dimensions of the symbols change, and should the user forget to update the symbol name, the domino falls. Quote Link to comment
markdd Posted January 24 Share Posted January 24 How about using a Graphic Legend? - They will put the actual dimensions of the objects into each cell. Quote Link to comment
Enzo Posted January 24 Author Share Posted January 24 25 minutes ago, markdd said: How about using a Graphic Legend? - They will put the actual dimensions of the objects into each cell. Love the creative thinking! Alas, again, no good. I need the data to be in a Worksheet that I can send to an Excel, preferably without passing through another hoop with Sheet Layers Quote Link to comment
shorter Posted January 24 Share Posted January 24 If you have symbol 'X' rotated 0° in a layer containing only the 'component' symbol you want to schedule, and then place symbol X in the other design layers and rotate as necessary, you can use the 'component' layer to report the dimensions, which would be true dimensions of the unrotated symbol, and the schedule would count how many symbols there are and where they are. Quote Link to comment
Enzo Posted January 25 Author Share Posted January 25 15 hours ago, shorter said: If you have symbol 'X' rotated 0° in a layer containing only the 'component' symbol you want to schedule, and then place symbol X in the other design layers and rotate as necessary, you can use the 'component' layer to report the dimensions, which would be true dimensions of the unrotated symbol, and the schedule would count how many symbols there are and where they are. That's a pretty clever idea! In essence, using a Design Layer as a 'Library' of symbols to use as ref, if I'm understanding correctly? Still, it seems absurd that VW doesn't offer the option to pull the symbols data directly related to its own measurements rather than the absolute space it occupies in the World's X/Y coordinates. Surely not! Quote Link to comment
BartH Posted January 25 Share Posted January 25 I've encountered this problem too. I often want to extract the size of an object that represents a graphic panel in an exhibition. I have not found a way to do this with stock tools so I started down the path of a custom PIO instead of a symbol. ( We also experimented with a generic symbol made at 1 unit WxH and then used asymmetric scaling to fit the symbol to our size. Then the worksheet would pull the scaling factor as the actual size. This was too messy for me. ) Now, I can drag out a rectangle and/or plug the size parameters into the PIO and use it to draw my object. I can place or rotate the object as needed. For the worksheet, I can extract the size from the PIO parameters, not the geometry. It's a work in progress but that is how I got to a similar solution. 1 Quote Link to comment
Tom W. Posted January 25 Share Posted January 25 What did going down the path of a custom PIO involve, if you dont mind elaborating? Quote Link to comment
shorter Posted January 26 Share Posted January 26 On 1/25/2025 at 11:23 AM, Enzo said: That's a pretty clever idea! In essence, using a Design Layer as a 'Library' of symbols to use as ref, if I'm understanding correctly? Still, it seems absurd that VW doesn't offer the option to pull the symbols data directly related to its own measurements rather than the absolute space it occupies in the World's X/Y coordinates. Surely not! Correct. The 'library' is giving the 'Type' information, whereas the model schedules the number of Types, the location, and the unique ID (which can itself be a concatenation of values elsewhere found else where in the file, like floor, and room. Common assumption is that the model must generate all headings in a schedule. Why? It's all there. It's up to you to decide how to use it. The schedules in Vectiorworks are far too basic. In fact, unless you have to issue data in a model, why bother trying to enter data into objects in a model at all, other than other values that are unique to the instance? If you are trying to standardise things, then a symbol is your best friend, but the symbol itself simply does not need to contain all the data you need to schedule. We schedule a partial output of quantity, types, and location from the model in 2D or 3D, and then use VLookup in Excel, linked to the Vectorworks output. It allows two or more people work on the schedule. Quote Link to comment
BartH Posted January 26 Share Posted January 26 23 hours ago, Tom W. said: What did going down the path of a custom PIO involve, if you don't mind elaborating? For a PIO there is a little bit of code involved. I am sure others can help with details. For my plugin I used the Tools>Plugins>Plugin Manger command and created a new Plugin with a Type of: Rectangle Object In the Plugin Definition dialog, on the Parameters tab, add field for width and heigh as well as any other field you want to include ( ID, Name, Manufacturer, etc) Then there is some coding I use to format the geometry, set attributes, and drop in a label, etc. You also can create an custom Icon, then, add the PIO to your tools/menu. I'll include my PIO from the graphic panel here (no warranties!) GraphicPIOv0.2.vso 1 1 Quote Link to comment
Recommended Posts
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.