Jump to content

Joined fields in device label (e.g. "<make> - <model>")


elc

Recommended Posts

As I would like to have Make and Model of a device in one line, ...


1.) I was looking for a way to join Linked Text arguments in one text field.

But I guess I can't?

 

2.) Then I just used Data Tags, where I can do just that. (e.g. #Device#.#make# - #Device#.#model#) But ran into problems with scale (some schematics are larger then others, but I couldn't find a way to have data tags scale with the layout. (e.g. 1:2 instead of 1:1) (Goal: have larger schematics on one Design Layer but different Layout layers... or is there a more elegant solution)

 

grafik.png.29b4b1cd1c7846cdd58b47602dd5491a.png

 

3.) And my last attempt was with tables, where I thought I could fill in the attribute fields with table functions, as I would in Excel. Am struggeling with the functions as "TextVerketten" won't work (but thats for the EU forum, I guess. 😉 ), but the main issue is that I can't fill attribute fields with functions, right? (as a column is either a "Database" or a "function" column?)

grafik.png.7431b220daa4545e28a9bb1b6e49aeae.png

 

 

 

As always, thank you for any hints in the right direction.

 

Best,

George

Link to comment
  • Vectorworks, Inc Employee

Hello @elc,

 

15 minutes ago, elc said:

1.) I was looking for a way to join Linked Text arguments in one text field.

But I guess I can't?

- You can have custom linked text formulas using the ConnectCAD Text Link Data in the device layout (not in symbols).

 

17 minutes ago, elc said:

2.) Then I just used Data Tags, where I can do just that. (e.g. #Device#.#make# - #Device#.#model#) But ran into problems with scale (some schematics are larger then others, but I couldn't find a way to have data tags scale with the layout. (e.g. 1:2 instead of 1:1) (Goal: have larger schematics on one Design Layer but different Layout layers... or is there a more elegant solution)

- At the moment data tags are page based objects. so they should look the same no matter of the layer scale, but their size is actually scaled.

 

18 minutes ago, elc said:

3.) And my last attempt was with tables, where I thought I could fill in the attribute fields with table functions, as I would in Excel. Am struggeling with the functions as "TextVerketten" won't work (but thats for the EU forum, I guess. 😉 ), but the main issue is that I can't fill attribute fields with functions, right? (as a column is either a "Database" or a "function" column?)

- You can combine attributes with functions in database rows. Instead of using TextVerketten(C2, D2) you should use TextVerketten('Device'.'make'; 'Device'.'model')

 

Best Regards,

Nikolay Zhelyazkov

  • Like 1
Link to comment
14 minutes ago, Nikolay Zhelyazkov said:

- You can have custom linked text formulas using the ConnectCAD Text Link Data in the device layout (not in symbols).

reg. 1.) Fantastic. That's almost exactly what I was looking for.  Unfortunatelly with ConnectCAD linked text in my PIO instead of in the symbol device_label I run into the same problem as in my first question on custom device labels: when I want to make change later in the project, I will have to use the pickup tool on every single device type to update. which might be around 200 to 300. 😕
 

24 minutes ago, Nikolay Zhelyazkov said:

- You can combine attributes with functions in database rows. Instead of using TextVerketten(C2, D2) you should use TextVerketten('Device'.'make'; 'Device'.'model')

reg. 3.) Fantastic 2. works like a charm for my additional column. And is it possible to write to an attribute (overwrite 'Device'.'make' with TextVerketten(' - ';'Device'.'make'; 'Device'.'model'))? but I guess I end up with some sort of circular reference.

Link to comment
  • Vectorworks, Inc Employee
5 minutes ago, elc said:

And is it possible to write to an attribute (overwrite 'Device'.'make' with TextVerketten(' - ';'Device'.'make'; 'Device'.'model'))? but I guess I end up with some sort of circular reference.

- Not really sure what you mean here. You can display only your additional column if you do not want to see the other 2 for the separate make and model fields.

Link to comment

each device has the following fields:

  • name
  • tag
  • make
  • model
  • ...
  • user1
  • ...
  • user8

my idea was to combine "make" and "model" inside my worksheet (column B above). but use this column as the entry of user8.

...if that makes more sense. 😄 but within worksheets I can only pull attribute info *from* objects and not write attribute data *to* objects?

 

Edit:

For now I used copy-paste, but having the fields populating automatically would be way more handy... and safer.

Edited by elc
added info
Link to comment
  • Vectorworks, Inc Employee

Well you can also write to objects but you cannot use functions to do so. If you have a column with a formula ='Device'.'make' then in this column you can manually enter new make value for devices.

 

What you are looking for in order to set such relation between object fields is the data manager. You can define custom data mapping for let say the user1 field to be always equal to make + model. I suggest you check out how the data manager mappings work and explore this as a solution for your request here.

  • Like 1
Link to comment

Hi @Nikolay Zhelyazkov

 

had another look at the data manager, but from what I can see, I can not change the mappings for the PIO "Device"?!


(All I can do is add another record (Datenbank in the german version) e.g. CustomDevices and adjust the mapping there. But that data associated with the PIO Device will not show up in the device_label symbol inside the PIO. Maybe I just still don't understand, where the info shown for the PIO Device is stored and how I can access it. Sorry.)

Edit:
the mapping is greyed out. 🤷‍♂️

grafik.png.fe97ad1dc8fc60d5e9295128209e869b.png

 

Edited by elc
added screenshot
Link to comment

thanks @Nikolay Zhelyazkov,

17 hours ago, Nikolay Zhelyazkov said:

you can do the mapping for the device label symbols using the dev_rec record and map its fields.

I tried that too, but what I described with a custom DB also is what's happening with the dev_rec. 😕
that's what I meant by "I just still don't understand, where the info shown for the PIO Device is stored and how I can access it". 🙂


here's a little screencast of what I was doing. (obviously, I don't know what I am doing.) where is the device_label symbol inside the PIO "device" pulling it's info from?

 

 

 

 

Link to comment
  • Vectorworks, Inc Employee

Hello @elc,

 

9 minutes ago, elc said:

where is the device_label symbol inside the PIO "device" pulling it's info from?

- The dev_rec data attached to the device label symbol gets automatically transferred from the device parameters. This is special logic in the device PIO only for the dev_rec record attached to the device label symbol. This makes it possible to display the device data in the device label symbol using the dev_rec record (since the device records itself cannot be attached to symbols).

 

From what I saw in your video you are almost there. The thing that you did wrong was that you did the mapping for the device object. You have to do the same mapping but for the device label symbol itself (you can select it from the left list. Its name is the symbol name in the device OIP). After that everything should be working fine. Let me know if you still have troubles making this happen.

 

Best Regards,

Nikolay Zhelyazkov

  • Like 1
Link to comment

hi @Nikolay Zhelyazkov,

 

of course! thanks. kool. i think it's almost there. 🙂

(of course there's a "but".)

40 minutes ago, Nikolay Zhelyazkov said:

The dev_rec data attached to the device label symbol gets automatically transferred from the device parameters. This is special logic in the device PIO only for the dev_rec record attached to the device label symbol.

 

1.) but if that is the case, why isn't the PIO info in the OIP changed accordingly? you can see what I am talking about in my screencast starting 1:04. I am changing the dev_rec of the device_label inside the device. but once I am leaving the device edit the data is gone. 🤷‍♂️

 

2.) the other issue is with the field update. I have set the mapping in the data manger to "by mapping" (with the little arrow sign), but I still have to manually enter the device, select the device_label and click on the little 4square symbol for my mapping to show up. why isn't this set by default (happens for both "by mapping" options)
...1min after writing this...

never mind. I just have to change the base symbol of my PIO in the resource manager. of course. 🙈
(leaving it in for anybody how might run into the same problem and is crazy enough to read all this.)
 

Link to comment
  • Vectorworks, Inc Employee
1 minute ago, elc said:

1.) but if that is the case, why isn't the PIO info in the OIP changed accordingly? you can see what I am talking about in my screencast starting 1:04. I am changing the dev_rec of the device_label inside the device. but once I am leaving the device edit the data is gone. 🤷‍♂️

- Because this is a one way connection from device to dev_rec. Not really sure if there is any point in adding the other direction too. Why would you manually enter the device, change the value and want it to change in the device, when you can directly change it in the device? If you would like to have fields that are not automatically overwritten by this logic, you can always edit the dev_rec symbol and add new fields there that you will have to manually edit.

 

 

Link to comment

grafik.thumb.png.2773e3f609b30cf4ca93f021597bb819.png

 

grafik.thumb.png.af188dc0326fe6a2c9a4288f456ec197.png

 

to me it is somehow irritating, that my user2 field in the OIP of the device is filled and editable ("usr2data"), although the user2 field in the dev_rec of the device_label is showing the correct make and model. which is also correctly shown in the LinkedText Field in the schematic... if that makes sense.

Link to comment
  • Vectorworks, Inc Employee

Well, that is how it is now. If you would like this to be changed you can create a thread in the wishlist section and see if you get any support from other users too.

 

Since this is not the regular usage of the user fields, why don't you just create a new field in the dev_rec record and make the mapping work for it? This field should be always automatically filled by the mapping and it will not be visible in the device OIP, so I think that all should be good that way. And you will still have the user field free for other purposes if needed.

 

I do not think that there is anything more that could be done at this time. Thanks for the feedback! 🙂

 

  • Like 1
Link to comment
2 minutes ago, Nikolay Zhelyazkov said:

Well, that is how it is now.

Yep, that always works, I guess. 😉
(But it's still good to know/understand)

 

But you're absolutely right! Why not use a different field, that is not visible. As I don't want anybody to change the "Make - Model" field anyway.

Thanks as always for your help!

  • Like 1
Link to comment

note to self or anybody interested:

40 minutes ago, elc said:

2.) the other issue is with the field update. I have set the mapping in the data manger to "by mapping" (with the little arrow sign), but I still have to manually enter the device, select the device_label and click on the little 4square symbol for my mapping to show up. why isn't this set by default (happens for both "by mapping" options)
...1min after writing this...

never mind. I just have to change the base symbol of my PIO in the resource manager. of course. 🙈
(leaving it in for anybody how might run into the same problem and is crazy enough to read all this.)


this is only a update-issue. since the mapping is in the device_label symbol, switching all symbols to e.g. (e.g. TP_label) and then back to the actual device_label will update the entry. ✌️
 

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