Jump to content

Symbol Record Format Update?


Recommended Posts

I am hoping someone has a better way of doing what I am looking to do.  I have a bunch of symbols.  I made them semi quick for a project.  I attached a basic record to them with about 4 fields and made a quick worksheet.  I made a resource file from them just showing them all in space with labels next to them for easy reference.  I have since added 4/5 fields to my record to get a bit more detailed.  I updated the symbols in the resource manager.

 

Here is my question.  Is there some better way to get existing instances of a symbol already in a drawing to "update" with updated record format information?  Right now my process is to select a symbol (any with the name) and replace with something, then replace back to what they were.  But in my resource file I have just one of every one laid out on my workspace and I just wish there was a easier/better way for this.

 

Anyone have any thoughts?

 

Thanks,

Matt

  • Like 1
Link to comment

That's not exactly what I'm trying to do.

 

That worksheet works for objects inserted in the document.  I am using this file as a resource file.  i.e. the symbols I'm wanting to update are in the resource manager, not the symbol instance that is on the document. This file is just a referenced file in my resource manager after I hit save.  

 

So one of the things is that I want to be able to open the file, edit the symbol in the resource manager and have the instances that are in the drawing reflect the updates.  Main thing is we are doing some custom build stuff right now but using known pieces.  The known pieces, nuts, bolts, etc all have known costs.  A good example is I am entering the costs today.  However in a week the costs may be different.  I want to be able to open a new document and have all the symbols I grab from that referenced file have the right cost.  However if I were to open the file and click on an inserted symbol its cost would not actually be updated.  Does that make sense?  

 

I can make a video if that is helpful.

 

Matt

Link to comment

Ok I understand now. Yes I have this issue occasionally also.

 

The issue is that you can set default values for record field info attached to a symbol definition in the RM however once inserted in a drawing the field info becomes particular to that instance of the symbol. If you change the default record field data for the symbol definition, field data for existing instances of the symbol won't change. New inserted instances of the symbol will take on the new default however.

 

1 hour ago, MattG said:

I have since added 4/5 fields to my record to get a bit more detailed. 

Additional record fields should update to symbol instances with whatever the default value for the record is. It's when the field data changes - this won't update.

 

My process is to first update the record fields of the symbol definitions in the RM. Then insert one instance of each revised symbol into the document then use a worksheet to do global edits of the record fields of all instances of the symbols in the document so they match the newly inserted instance. (You can you the "summarise" function in the worksheet to great effect here). Then delete the just inserted symbol instances.

 

This process assumes you want record field data to be the same for all instances of a symbol. This is not always the case so be careful doing global edits in this way.

 

Maybe someone else has a better way, I'd be interested to know.

 

A side issue, and a slightly trickier one, is is how to quickly update the default values of a whole bunch of symbol definitions in the RM at the same time. You can do it for all the symbol that are in the same folder in the RM but that isn't usually how a symbol library is structured...

Link to comment

This is kind of the jist, basically I have this x100's.  So say I change the value for any of it but specifically the cost value.  It will change in the resource manager and be good for putting into new document.  However in my actual file I made a few sheets that show all the symbols laid out for reference.  None of the ones in that file are updated unless I either manually insert again 1 by 1 or replace and replace 1 by 1.  Super frustrating.

 

 

Link to comment

VW does not have a great database for this type of interaction, especially across multiple files.

 

The proper long term solution is to spend the time to learn the ODBC connections and connect the files to an external database. Then when you update that external database the objects in the VW files will also (or can be set to, or I think can be set to manually) update based on the external databases.

 

There have been multiple threads about ODBC over the years. The general consensus I think is that it can be difficult to get set up, but once it is set up and working it works relatively well.

 

And my understanding is that it works better on Win than on Mac.

Link to comment

That was what I saw just looking through this forum, looks like ODBC would be the way to go, but right now I'm not sure I have the want or need to tackle that. 

 

I was hoping there was maybe some sort of a great script or something that could basically replace all instances of an existing symbol with their self.  That would solve my issue.  

 

Matt

Link to comment

You could probably script a replace with self script, but that would either mean you would have to have EVERY symbol referenced into the file so you only have to change the values in a single file or that you would have to update the symbols in every reference file.

 

Perhaps this is one case where you would be better off doing it outside of VW.

 

Generate the parts worksheet in VW. Export to Excel. In Excel use a Lookup (whichever version works best for you) to look up the price for the "part number" that way you only have to keep the prices up to date in a single Excel file.

 

 

  • Like 1
Link to comment

I have been querying about this sort of ability to 'lock' fields in a record so that they can be centrally controlled form a project library for years - as Pat says it is currently not possible.

 

There are many use cases where we want to have some data fields fixed per symbol instance and some adjustable (and that the data can all be listed in the same worksheet database). I imagine it would be implemented similarily to the way styles (Space or Window styles etc) allow you to have certain aspects locked ot the style and others adjustable per instance.

I have had limited success by embedding an additonal 'data' symbol with the record attached to it inside my symbols - that allows the updated information to be 'pushed' to referenced files, but limits how you can access the information in worksheets.

Link to comment
  • 2 weeks later...

Based on past experience I agree with Pat entirely, ODBC is definitely the way to work for a large number of objects. 

 

However ODBC only works on symbol instances placed in a drawing. There has not been a regular method (yet) to update multiple Resource Manager symbol definitions except via the Tools>Records>Change one field/Change all fields options.

 

Also unfortunately ODBC (on a Mac at least) seems currently to be in a pretty shaky state. So I am rather excited by Pat's inferred hint that some of this may be resolved in the upcoming Excel data connection to Vectorworks 2021c.f. Teaser Tuesday. (Or am I reading way too much into this).

Link to comment

You may already know this but probably worth mentioning to access and amend record data in worksheets is to use the criteria “record is present” instead of “Type is Symbol”. That way you can change records for all items including (Blue) Symbol to Group type or any other non-symbol objects which have records attached.

  • Like 1
Link to comment

I don't think the "record is present" criteria is necessary to edit data in records from a worksheet.

 

Any column in a worksheet that has the form of =Record.Field is editable and if you edit the data in the worksheet the data in the record will change.

 

If you have a bunch of objects you want to change the data in, you can edit one of them and COPY that data. Then select the range of cells you want to change and PASTE. This is different than Excel (or at least how Excel used to be).

 

But worksheets can only access objects that are inserted in the drawing. There is no (easy/semi-automatic) way to edit the records attached to symbol definitions.

 

@DaviesTheChair am I misreading your post above?

  • Like 1
Link to comment

I agree Pat.

I was merely suggesting an optional method that if you want to see more than only Symbols in your criteria you can choose “Record is Present” to show all items. Some built-in Vectorworks reports use this approach including a Boolean “on schedule” checkbox for fine control of what you want to show on worksheets, which is most useful. 

 

Copying and pasting data for records is certainly a much easier way to manipulate data across many record fields (for items in the drawing).

 

Being able to similarly manipulate Symbol Definitions would be very useful e.g. for BIM Master Libraries. I am sooo looking forward to this being available in V2021 ...?? 🤔

Link to comment
  • 1 year later...

As Pat alluded previously, one can attach data to Symbols using an external data source i.e. a CSV file, where a code for each object can lookup the external data for other fields. This works for both Symbol INSTANCES and for DEFINITIONS.

 

For INSTANCES multiple symbols can be found in the drawing in one hit, whereas for DEFINITIONS it is a one-to-one connection to build the first link. After that however, any changes in the external data are reflected on both Instances and Definitions within a file. 

 

This is achieved by either ODBC connection e.g via FileMaker Pro or via SQLite connection, the latter of which does not require ODBC and is consequently more stable especially on a Mac at the moment. SQLite is built in to every Mac and free front-end software is available to load up the CSV file such as "DB Browser for SQLite". The linking look-up code needs to be unique and set to be a Primary Key in DB Browser.

  • Like 2
Link to comment
  • 4 weeks later...

Hi I think with SP3 there is a workaround for this I just found out. I doesn't work optimally but it still works. I attached records to my material 2d sybmol then I created a symbol of that symbol (MASTER) you are able to change the value in the worksheet of the instance and when you copy/paste the master in another file of drag it out of your recourse manager the assigned data stays the same.

On 8/20/2020 at 5:15 PM, Pat Stanford said:

How urgent is this? There might be something coming that would make this easier.

 

Hope this helps

DATABASE TEST.vwx

Edited by tumtum
Link to comment
  • 5 months later...

I have the same issue. I have a structural plan of a fairly complex roof, where for manufacturing purposes I have each repeating structural member encapsulated in a symbol. There is a record format attached to that symbol so that things like dimensions, material, cost, etc. are saved at symbol definition level. The problem which I have is that data from the symbol definition isn't accessible in tables, so the only workaround I found is to attach two different record formats: one to the symbol definition, with instance-specific data (e.g. unique ID, finish, timber grade, etc.), and another one to the 3D object within the symbol definition, this time with definition-specific data such as dimensions, which don't change as the symbol is a static resource in this case.

 

A related issue is that tags don't work in symbols within symbols: i.e. in Layoutebenen (should be something like layout layers, i.e. 2D working drawings), in viewports, I can only attach a tag to the "parent" symbol, whereas I would like to be able to attach it to the child instance, and for the tag to access the data stored in the child instance symbol definition.

Link to comment
  • 1 year later...

Has there been any update to this in Vectorworks 2025? 

 

Similar to what has been mentioned above, I have a symbol with various records attached to it. There are numerous instances of this symbol in my document. Is there a way that I can add record data to this symbol and all instances update without having to copy and replace the symbols in the document?

Link to comment

I have a couple of videos on SQLite database linking on Planet Vectorworks blog, the second of which provides details of how to link data to Symbol Definitions here...

 

https://www.vectorworks.net/en-US/newsroom/video-managing-symbol-data-library-records

 

This worked in VKs 2024 so no reason to doubt it would work in 2025 (sorry I have no copy of '25)

Edited by Marc Davies
Update
Link to comment

Yes, you can update all instances which are linked to an external SQLite file via lookup ID code PLUS you can link symbol definitions (one by one, say at creation) so that all future instances will have up to date information pre-attached. Your data can then be kept up to date separately from Vectworks and updated as required within your drawing files. The first video will show you how to link INSTANCES and the second shows DEFINITIONS linking process. 

Link to comment
1 minute ago, twhitwell6 said:

My apologies, I meant to add "in vectorworks"? From your answer, I understand that its a No, I have to use an external database. Is this correct?

 

You can use a Worksheet to edit the record field values for symbol instances as mentioned earlier in this thread.

  • Like 1
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...