Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by Sebastiaan

  1. Make sure the unified view is on. It is in the view menu
  2. What helped for me in some cases, not al unfortunately. was to go into the edit 3d components of the truss symbol. And to move the geometry there for instance 1mm in 3D. This would force the geometry to appear again in OpenGL. Then I edited 3D again and moved the geometry back 1mm again. hopefully this helps a little bit as a temporary workaround.
  3. the function already exists in Data Tags. It’s called a dynamic text field and I would really want to be able to use a dynamic text field in Label Legends!
  4. there is a new workflow for multicell fixtures in VW 2021. You can find explanation about the new function here. https://app-help.vectorworks.net/2021/eng/index.htm#t=VW2021_Guide%2FLightingDesign1%2FConcept__Multi-cell_lighting_devices.htm&rhsearch=Multi cell&rhhlterm=Multi cell&rhsyns=
  5. Hi All, I am trying to get my head around manipulating accessories through Python scripts. Ultimately I would like to be able to position an accessory by a criteria such as the accessory name. I wonder if that is even possible as the function reference only seems to give handles to accessory index and not the name, but that is for a later step. As a novice on scripting I am getting stuck on getting the GetAccPos3D & SetAccPos3D to do anything at all at this moment. First I tried GetAccCount which worked instantly: crit = "((R IN ['Lighting Device']))" def callback(h): NumAcc = vs.LDevice_GetAccCount(h, 0) vs.AlrtDialog(NumAcc) vs.ForEachObject(callback, crit) Then I tried GetAccPos3D, and the script seems to run but does not do anything. I tested the ForEachObject with a test string in an Alert dialog in the Callback, so I am sure that this does step through the lighting devices. Also I tried various combinations of the Accessory index and Cell index, but to no avail. My assumption is that a single cell lighting device would have cell index 0, and in the OIP I can see that the Accessory I am trying to manipulate has #2 as prefix before it's name in the dropdown. So I assumed that the accessory index is 2. Nonetheless I tried many other combinations as well. Also I am uncertain on how to handle the fact that this function returns multiple values. crit = "((R IN ['Lighting Device']))" def callback(h): outRotation3D, outPosition3D = vs.LDevice_GetAccPos3D(h, 0, 2) vs.AlrtDialog(outRotation3D) vs.AlrtDialog(outPosition3D) vs.ForEachObject(callback, crit) Would anyone be able to push me in the right direction?
  6. For Universe and address field since VW 2020 there is the ‘Universe/Address’ Field that Automatically combines the two fields together with a separator. You can change the separator if you like in the spotlight preferences. for other fields I recommend the AutoplotVW plugins. It has a menu command called ‘copy field to field’ that will do what you want.
  7. I do agree with this! Please give the option back to us. This has saved many hours of work getting viewports from one file to another. You do not have to advertise it as a recommended function. Just let us use it as the workaround that it was please?
  8. There is no dropdown there. You need to click on the word none in the row of the field that you want to add the container to. Click until it reads the desired container name. when you open the Label legend Manager for the first time 4 default containers are automatically added to your document ( circle, triangle, Rectangle and hexagon). They are placed as 2D symbols in a folder named Containers in the recourse manager. if that is not the case in your file you could try to open a new file and open the LL manager and then import the created container folder with it’s contents to the file you are working in. Also you can create containers yourself. If you crate a 2D symbol and place it in the folder named Containers, it will then become available to use in the label legend manager. The insertion point of the containers 2D symbol will be placed at the center point of the text field that you apply it to.
  9. Really interesting Pat! Thank you! I will now spend my time trying to actually understand what the code does.
  10. Interesting! Although as I’ve only just plunged into the the world of scripting in VW, I might need some more practice until I attempt that!
  11. Good idea to use the wildcards. That might make it shorter indeed. I will look into that. I do want 100 to belong to the 1 -> 100 range, but that shouldn't be too hard to fit in. I was trying to find some information on the database by script function and did not see much information about in. But I am curious what it is.
  12. Yes I was guessing that too. It also kinda makes sense when you think of it. There is no cell to represent as value. The function does not change the original database and would have to create a new list of the fields as number values which obviously it doesn’t. I already have the workaround so it is what it is. At least I now know it’s not just me. thank you!
  13. Hi Raymond, The issue is that I think that the value function does not work as expected when used in a DB formula. So your proposed formula does not do the trick either. Thanks!
  14. Hi Pat, Of course, attached is a file with 40 lighting devices. 20 of them have the channel field filled with numbers from 1 to 20. the other 20 have numbers in the channel field from 101 to 121. Very curious if this will work in a DB formula. DB Formula Value Fun.vwx
  15. I tried the formula below and this does not work either: =DATABASE((NOTINREFDLVP & NOTINDLVP & (PON='Lighting Device') & (VALUE('Lighting Device'.'Channel')>=1) & (VALUE('Lighting Device'.'Channel')<=100))) When lighting devices do not yet have a channel number assigned then the field will be an empty string (''). Would that cause a value function to fail too? That would be the only exception to a number in the text field. I was already able to use the lengthy version in a script (with a variable in each of the 100 criteria and about 600 backslashes to escape the apostrophes ;-). So it works, but was curious if it could be shorter.
  16. unfortunately it is not possible to change the channel field in lighting device record to number. This is somehow restricted.
  17. Hi all, I am trying to make a database row based on Lighting devices and I want to set a criteria on the Channel field. In the lighting device record this is a text field. I want to set a filter to show only the lighting devices with a channel number between 1 and 100. But since it is a text field, the criteria field value '<=' and '>=' do not work. I tried to use a value function in the database formula but this does not work when I try it. Is it possible? Or am I doing it wrong? This is how I tried to use the value function in the formula: =DATABASE((NOTINDLVP & NOTINREFDLVP & (PON='Lighting Device') & (VALUE('Lighting Device'.'Channel')>='1') & (VALUE('Lighting Device'.'Channel')<='100'))) This way gives the desired result, but is a very long formula to edit: =DATABASE((NOTINREFDLVP & NOTINDLVP & (PON='Lighting Device') & (R IN ['Lighting Device']) & (('Lighting Device'.'Channel'='1') | ('Lighting Device'.'Channel'='2') | ('Lighting Device'.'Channel'='3') | ('Lighting Device'.'Channel'='4') | ('Lighting Device'.'Channel'='5') | ('Lighting Device'.'Channel'='6') | ('Lighting Device'.'Channel'='7') | ('Lighting Device'.'Channel'='8') | ('Lighting Device'.'Channel'='9') | ('Lighting Device'.'Channel'='10') | ('Lighting Device'.'Channel'='11') | ('Lighting Device'.'Channel'='12') | ('Lighting Device'.'Channel'='13') | ('Lighting Device'.'Channel'='14') | ('Lighting Device'.'Channel'='15') | ('Lighting Device'.'Channel'='16') | ('Lighting Device'.'Channel'='17') | ('Lighting Device'.'Channel'='18') | ('Lighting Device'.'Channel'='19') | ('Lighting Device'.'Channel'='20') | ('Lighting Device'.'Channel'='21') | ('Lighting Device'.'Channel'='22') | ('Lighting Device'.'Channel'='23') | ('Lighting Device'.'Channel'='24') | ('Lighting Device'.'Channel'='25') | ('Lighting Device'.'Channel'='26') | ('Lighting Device'.'Channel'='27') | ('Lighting Device'.'Channel'='28') | ('Lighting Device'.'Channel'='29') | ('Lighting Device'.'Channel'='30') | ('Lighting Device'.'Channel'='31') | ('Lighting Device'.'Channel'='32') | ('Lighting Device'.'Channel'='33') | ('Lighting Device'.'Channel'='34') | ('Lighting Device'.'Channel'='35') | ('Lighting Device'.'Channel'='36') | ('Lighting Device'.'Channel'='37') | ('Lighting Device'.'Channel'='38') | ('Lighting Device'.'Channel'='39') | ('Lighting Device'.'Channel'='40') | ('Lighting Device'.'Channel'='41') | ('Lighting Device'.'Channel'='42') | ('Lighting Device'.'Channel'='43') | ('Lighting Device'.'Channel'='44') | ('Lighting Device'.'Channel'='45') | ('Lighting Device'.'Channel'='46') | ('Lighting Device'.'Channel'='47') | ('Lighting Device'.'Channel'='48') | ('Lighting Device'.'Channel'='49') | ('Lighting Device'.'Channel'='50') | ('Lighting Device'.'Channel'='51') | ('Lighting Device'.'Channel'='52') | ('Lighting Device'.'Channel'='53') | ('Lighting Device'.'Channel'='54') | ('Lighting Device'.'Channel'='55') | ('Lighting Device'.'Channel'='56') | ('Lighting Device'.'Channel'='57') | ('Lighting Device'.'Channel'='58') | ('Lighting Device'.'Channel'='59') | ('Lighting Device'.'Channel'='60') | ('Lighting Device'.'Channel'='61') | ('Lighting Device'.'Channel'='62') | ('Lighting Device'.'Channel'='63') | ('Lighting Device'.'Channel'='64') | ('Lighting Device'.'Channel'='65') | ('Lighting Device'.'Channel'='66') | ('Lighting Device'.'Channel'='67') | ('Lighting Device'.'Channel'='68') | ('Lighting Device'.'Channel'='69') | ('Lighting Device'.'Channel'='70') | ('Lighting Device'.'Channel'='71') | ('Lighting Device'.'Channel'='72') | ('Lighting Device'.'Channel'='73') | ('Lighting Device'.'Channel'='74') | ('Lighting Device'.'Channel'='75') | ('Lighting Device'.'Channel'='76') | ('Lighting Device'.'Channel'='77') | ('Lighting Device'.'Channel'='78') | ('Lighting Device'.'Channel'='79') | ('Lighting Device'.'Channel'='80') | ('Lighting Device'.'Channel'='81') | ('Lighting Device'.'Channel'='82') | ('Lighting Device'.'Channel'='83') | ('Lighting Device'.'Channel'='84') | ('Lighting Device'.'Channel'='85') | ('Lighting Device'.'Channel'='86') | ('Lighting Device'.'Channel'='87') | ('Lighting Device'.'Channel'='88') | ('Lighting Device'.'Channel'='89') | ('Lighting Device'.'Channel'='90') | ('Lighting Device'.'Channel'='91') | ('Lighting Device'.'Channel'='92') | ('Lighting Device'.'Channel'='93') | ('Lighting Device'.'Channel'='94') | ('Lighting Device'.'Channel'='95') | ('Lighting Device'.'Channel'='96') | ('Lighting Device'.'Channel'='97') | ('Lighting Device'.'Channel'='98') | ('Lighting Device'.'Channel'='99') | ('Lighting Device'.'Channel'='100')))) Any thoughts?
  18. I am very happy that all of you are here! All of you have inspired me to follow an online Python course, and now I am trying to use that basic knowledge to make my own magic and it's going quite well! But I would never be able to, without all the helpful users, information and example code in this forum!
  19. Sorry for the late reply, but thank you! This works well. No wonder I could not find it, not only is the naming convention different than the other functions, but also the sum values operatortype 2 is not explained in the developer page? https://developer.vectorworks.net/index.php/VS:AddWSColumnOperator
  20. Hi all, I'm taking my first steps in to Python scripting in Vectorworks. My first project is a worksheet script to create some database rows in a worksheet. What i could not find in the function reference is how to set the 'sum values' option for a column in a database row. Is there a script function for that? I found 'SetSprdSortSumColumns' to set summarize and sort, but could not see how to set 'sum values'. Thank you, Sebastiaan
  21. Some Icons are also hidden in individual plugin files in the plugin folder within the application folder. for instance many spotlight tool icons are hidden in spotlight.vwlibrary (richt mouse click 'show package contents' on a mac). Any .vwlibrary file could have some images in it, many don't but some do. A lot of work to check them all I know 😉 Also there are a couple of icons that I couldn't find anywhere that where hidden somewhere deeper. In that case I made a screenshot of those.
  22. You’re welcome. Individual tool icons can be found in the VW installation. Jim Wilson explained in this topic were they can be found. I have not extracted the new 2020/2021 tool icons yet. So you would have to get them yourself. Also in the topic below you can learn how to get the toolset icons from a workspace file. hope that helps you!
  23. BTW for maintenance of old files I could imagine the need to edit you could try to edit the field in The recourse manager. If you right click the lighting device in the recourse manager and click ‘attach record’, look up the Light info record, and then edit values. There you can edit the field.
  24. It is a field containing a string value that acts as a filter for VW to find a fixture mode. Simply said it contains the fixture name it used to be visible in the OIP, but was placed in the background in vw2020. there is no need to edit it, it does it’s work in the background. The name fixture ID is often mistaken as channel number or fixture numnber as these terms are often used in the field. But that is not what it is in VW.
  • Create New...