Jump to content

merge mappings / data manager


Recommended Posts

maybe I completely misunderstand the workflow, but here is my problem:

 

I have a library file, lets call it 'chairs'. This file has (as expected 😉) chairs as symbols, each symbol has a data set attached in the data manager. The complete mapping set is saved as 'mapping_chairs'.

Also, there is a second library file, lets call it 'tables'. Same procedure with table symbols and a resulting mappig set called 'mapping_tables'

 

Next I have a drawing that has exactly these chair and table symbols, but no mapping.

 

Loading the 'mapping_tables' set leads to a correct mapping of all tables in the data manager and loads the correct data to the instances in the drawing.

Loading the 'mapping_chairs' set afterwards will kill all mappings for the table symbols in the data manager, while correct data for the tables will remain in the drawing for the already drawn instances. But new instances wil get no data since there is no mapping available.

 

or the other way around:

 

I want to create a merged mapping called 'mapping_chairs_and_tables' in an empty drawing.

I can either load 'mapping_chairs' or 'mapping_tables' but not both mappings.

The only way to create a merged mapping is to import both library files with their respective symbols completely and save the mapping of this file as merged mapping.

 

Does that make sense ????

 

Background: People send me files with symbols from the VWX Libraries. I have some dataset mappings for VWX libraries according to my workflow. So my wish is simply to map my datasets to these files and proceed working without exchanging symbols or even re-draw everything. The idea behind this is to work with the data in the VWX files, unregarded what the shape of the symbol/object/plugin looks like, as long as the correct data is attached to it.

So as an extreme example, I have a circle in a drawing that is mapped to data that may describe the components of complete bathroom, and I can match this complete bathroom to another drawing where this bathrom symbol is not a circle, but a rectangle. In the end the VWX file in this way becomes a kind of DBMS (database management system).

 

Or in other words: One drawing shows a Ford, another drawing shows a BMW, the third shows a VW, but for me as a tire-dealer, I am only interested in the mappings for the tire sizes.

Edited by halfcoupler
Link to comment
1 hour ago, halfcoupler said:

I want to create a merged mapping called 'mapping_chairs_and_tables' in an empty drawing.

I can either load 'mapping_chairs' or 'mapping_tables' but not both mappings.

The only way to create a merged mapping is to import both library files with their respective symbols completely and save the mapping of this file as merged mapping.

 

I think that if you want to combine mappings you need to save them as 'Selected Object Only' in the Save Mapping Scheme dialog (as opposed to 'Entire Mapping Scheme'). Or is this what you're doing already?

 

I haven't tried this, I just assumed that's how it's meant to work... I've only ever saved the entire mapping scheme.

Link to comment
18 minutes ago, Tom W. said:

save them as 'Selected Object Only' in the Save Mapping Scheme

 

This only saves a selected object as mapping scheme, loading this scheme to a file that already has a scheme will kill all other mappings exept the mapping for the one object.

Link to comment
10 minutes ago, halfcoupler said:

loading this scheme to a file that already has a scheme will kill all other mappings exept the mapping for the one object.

 

Ah ok sorry. In that case I don't really understand what the point of 'Selected Object Only' is... What you are trying to do seems perfectly reasonable!

Link to comment

Oh, you are right @Tom W., thank You for the hint, but the problem is not solved yet:

 

Saving 'Selected Objects only' produces an .xml file named 'IFC_DM3_MYSETNAME.xml in the user folder and/or the workgroup folder. If this file is loaded via the [Open...] dialogue, other settings are not overwritten.

So my mistake was not to see that loading a complete setting via the 'settings dialogue'  always leads to overwrite the current settings, while loading a single .xml file via the 'Open dialogue' merges the settings as I intended, but only in case this file was saved under the 'selected objects only' conditions, which is not obvious to identify.

 

This is quite confusing, since it is not possible to see under which condition the files were saved, unless you note it in the file name.

Whats more, when I want the settings of a complete library to be saved in this way I need to select all objects and then save this as 'selected objects only'.

 

So the workkflow of saving a 'mergeable' setting for a library file is like this ?

 

- do changes in the Data Manger as needed

- mark all objects

- save it under a name that identifies it as 'select objects only file'

- repeat this again and again for any changes that were made

 

- since the save dialogue does not show the already available files, it is advisable to fix a post it on the the monitor with the names of the files you already have... 😁

 

Really a big 'clicking orgy', especailly with save 'Entire Mapping Scheme' is unchangeable set as default.

 

What a way to work with a software in the 21st century... *sigh*

 

 

 

  • Like 1
Link to comment

ok, I did some more testing, only to find out that even the workaround described above does not work.

 

Reason:

It is NOT possible to save more than one object as 'selected objects only'. If a bunch of objects is marked only the last one of this bunch is exported.

So to complete the descrition of the workflow above:

 

- do changes in the Data Manger as needed

- mark ONE Object

- save it under a name that identifies it as 'select objects only file'

 

- since the save dialogue does not show the already available files, it is advisable to fix a post it on the the monitor with the names of the files you already have... 😁

 

- repeat this   100 times for a file with 100 objects.

 

 

My frustration is complete. 😒😒😒

 

Can someone from Vectorworks please join this thread, tell me that it is possible what I am trying to do, and tell me that I am completely wrong ???

Edited by halfcoupler
  • Like 1
Link to comment
  • Vectorworks, Inc Employee

Hi @halfcoupler,

 

In the new drawing you can use the Resource Manager and Import all of the symbols from the other drawings.

Importing the Symbols also imports their mappings.

  1. Open the "chairs" document, open the document with tables, then open the Drawing where you want all of the symbols mappings and keep it the active document.
  2. Go to the Resource Manager -> under the "Open Files" you will see the "chairs" and "tables" documents.
  3. Click first on the "chairs" -> select all of the desired symbols which you want -> click right mouse button -> choose the "Import" option.
  4. Do the same for the "tables"
  5. Check if the mappings were transferred successfully

Regards,

Nick 

  • Like 1
Link to comment

Hi @Nikolay Beshevliev,

 

thank you for Your answer, I know that importing one or more symbols into a new file via the Resource Manager will import their mapping too, and I can save this mapping as 'merged_mapping'.

But that is not what I want:

 

Lets say I have a drawing with a nice ensemble of 4 chairs and one table. No mapping and no data attached. Now I will load to load the 'mapping_chairs' in the Data Manager. Result: The four chairs will get their correct mapping.

Now I will load the 'mapping_tables' into the same document. Result: The one table gets its correct mapping and the four chair instances maintain their Data, but will loose their mapping. New chair instances will get no data.

 

It is not possible to load more than one mapping to a file.

 

What you describe is what I am already doing as a workaround: I am loading all my symbols into one big library file and use the resulting mapping of this file.

Result: I get a blown up Library file and a blown up mapping .xml file with hundreds of symbols and their mapping, when finally I only need the mapping of 4 chairs and one table...

 

Any Idea ?

 

Edited by halfcoupler
Link to comment
  • Vectorworks, Inc Employee

Hi @halfcoupler,

 

Unfortunately, exporting more than one object's mapping is not supported yet. Currently, you can export the whole mapping or a mapping for just one object.

The only way to merge two mappings with more than one object is by hand. You can open the two XMLs and copy the part that you are interested in into the other XML. Save it, and when imported to Vectorworks, it will load all of the included objects from that file.

 

You can send me the two XMLs and write me which objects you want to be in the mapping, and I can do it for you. 

 

You can also create an Enhancement request for your case. 

 

Kind Regards,

Nick

 

Link to comment

Hi @Nikolay Beshevliev,

 

thank you again for the answer.

 

On 2/13/2024 at 8:56 AM, Nikolay Beshevliev said:

Unfortunately, exporting more than one object's mapping is not supported yet.

 

Ok, that is what I feared, but good to know now, so for me the tapping in the dark has an end here.

 

On 2/13/2024 at 8:56 AM, Nikolay Beshevliev said:

You can send me the two XMLs and write me which objects you want to be in the mapping, and I can do it for you.

 

I am shure you don't want to do this, 'chairs and tables' is an example. I'm using Vectorworks for more than 20 years, adding far more than 100 symbols per year, so I suppose you don't want to spend a whole week or more in organizing my library files.. 😁

Thats the reason why I want to merge the mappings: I wanted to do this organizazion on the fly with each new project.

 

Ok, I will start working with the .xml files now, since this seems to be the most promising way to find a workaround. But one more question on this:

The .xml file have entries like

 

<Type/>
<DataSource>
8wBbBgAAAABBAGMAbwByAG4AIABOAHUAdAAgACgAaQBuAGMAaAApACAALQAg AAAAnQIAAAAAQQBjAG8AcgBuACAATgB1AHQAIAAoAGkAbgBjAGgAKQAtADMA RAAAAJ8CAAAAAHMAdAB5AGwAZQAAAKUCkAY=

 

What do they mean and how are they generated ?

 

Kind Regards,

Georg

 

Link to comment
  • Vectorworks, Inc Employee

Hi @halfcoupler,

I found you a workaround!

  1. Start Vectorworks -> Go to Tools -> Data Manager... -> Select the 'chairs' mapping from the Settings popup
  2. Now go to your User Folder and find the 'tables' mapping
  3. Open the 'tables' mapping with text editor 
  4. You will find a text in the beginning similar to 
    <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
    <IFC_DataMapping IfcScheme="2x3" fileName="Tables" mappingFor="File" version="5">

    You must change the "mappingFor="File"" to "mappingFor="Object"" and save the file.

  5. Return to Vectorworks -> Data Manager... -> Click on the "Open..." button and select the edited 'tables' mapping.

  6. The mapping should be merged to the 'chairs' mapping.

 

6 hours ago, halfcoupler said:

<Type/>
<DataSource>
8wBbBgAAAABBAGMAbwByAG4AIABOAHUAdAAgACgAaQBuAGMAaAApACAALQAg AAAAnQIAAAAAQQBjAG8AcgBuACAATgB1AHQAIAAoAGkAbgBjAGgAKQAtADMA RAAAAJ8CAAAAAHMAdAB5AGwAZQAAAKUCkAY=

This is a Base64 Encoded Mapping for a field which is set from the "Define Mapping" button on the Data Manager.

 

Regards,

Nick

  • Like 2
Link to comment
  • 1 month later...

@Nikolay Beshevliev perhaps you can answer this: when I open a data mapping in a file + that mapping involves Record Formats, where is the Data Manager bringing those Record Formats into the file from? So I open a new blank file: it contains no resources. I open the Data Manager + select one of my saved mappings: now the file contains (for example) two Record Formats associated with that mapping. Where is the DM getting them from? I only ask because I notice that the Record Formats it brings into the file don't contain the tags that my original versions had (the text you can enter when you right-click on a resource + select 'Edit Tags...').

Thanks!

Link to comment
  • Vectorworks, Inc Employee

Hi @Tom W.,

The Records are stored in the Data Manager's settings XML file. You can find those files in your user folder in Settings. If you open the settings file with text editor software you can find "Record" tag in it. There is stored a simple version of the Record which is later defined in Vectorworks if a Record with that name is missing.

 

Regards,

Nick

Link to comment
11 minutes ago, Nikolay Beshevliev said:

Hi @Tom W.,

The Records are stored in the Data Manager's settings XML file. You can find those files in your user folder in Settings. If you open the settings file with text editor software you can find "Record" tag in it. There is stored a simple version of the Record which is later defined in Vectorworks if a Record with that name is missing.

 

Regards,

Nick

 

Ok many thanks Nick that's very helpful. Mystery solved!

 

On the discussion earlier in this thread about combing object-based mappings, would it be possible in future to 1) command-select multiple objects + create an object-based mapping from them? + 2) have an interface a bit like Data Visualisation where you have a list of object-based mappings with check-boxes + can select which ones you want to apply + more easily see what's currently active? I am not a 'power user' of the Data Manager by any stretch so am probably missing something but I find it hard to know 1) if a mapping is applied at all in a file + 2) what that mapping is. If I apply a mapping it just says '<Document's Settings>' in the 'Settings' drop-down with no indication of what the settings are. I have to click through the objects to see what the mappings are. 

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

@Nikolay Beshevliev you've been so helpful I wonder if I can ask another question...

 

I am using a data mapping that uses Class-based Objects to attach a Record Format to objects in these classes. If I make one of the classes active + create an object the record is automatically attached. Alternatively, if I have an existing object + I place it in one of the classes using the 'Class' drop-down in the OIP for that object the record is attached. However, if I change the object's class by right-clicking on the new class in the Navigation Palette + selecting 'Assign to Selection' the record is not attached. Is there a reason for this or is it a bug?

 

I ask because I use 'Assign to Selection' to change an object's class more than any other method + I was confused as to why the objects weren't taking on the record format in the process. In order to make the data mapping 'stick' I have to move the object to a different class then reassign it to the right class but do it via the OIP this time.

 

Hope that all makes sense. Thanks.

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...