Jump to content

Search the Community

Showing results for tags 'script'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Announcements
    • Announcements
    • News You Need
    • Job Board
  • Feedback
    • Roadmap
    • Wishlist - Feature and Content Requests
    • Known Issues
    • Wishes Granted / Issues Resolved
    • Forum Feedback
  • General
    • Troubleshooting
    • General Discussion
    • Architecture
    • Site Design
    • Entertainment
    • Vision and Previsualization
    • Braceworks
    • ConnectCAD
    • Energos
    • Rendering
    • Workflows
    • Buying and Selling Vectorworks Licenses
    • Hardware
  • Customization
    • AI Visualizer
    • Marionette
    • Vectorscript
    • Python Scripting
    • SDK
    • 3rd Party Services, Products and Events
    • Data Tags
  • Solids Modeling and 3D Printing
    • Subdivision
    • Solids Modeling
    • 3D Printing
  • Vectorworks in Action
  • Archive
    • Resource Sharing
    • Machine Design


  • In-Person Training - US
  • In-Person Training - UK
  • Coffee Breaks
  • Essentials Seminars
  • Webinars
  • Community Groups


  • Knowledgebase
    • Tech Bulletins
    • Troubleshooting
    • Workflows
    • How To
    • FAQs


  • Marionette - Objects
  • Marionette - Networks
  • Marionette - Nodes
  • Marionette - Menu Commands

Product Groups

There are no results to display.

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start








  1. This is such a powerfull function when creating .vso objects but there seems to be one big issue. When you try to set the value of a dropdown parameter this doesn't work. It would be nice to implement this or to create another function for this purpose. Now there is no way to change the active value of this dropdown wich seems kinda weird to me. Maybe i'm missing something but i've posted it to the forum before and nobody seems to know. Hope this feauture gets included soon. 😄
  2. To get my .pdf file size down I’ve always set out my images for a given sheet and then exported as a single image, then adjust size externally & reimport – as in this example using a plant palette. But how can I automate this more? I’d like to hit a button and export everything within the coordinate space of the two highlit locus points (in encl. image) (ie using the export as image function). I almost always export .jpg, 300dpi (but sometimes I adjust that), at maximum quality setting. I’m not a script writer but is this something that already exists, or could someone here write such a thing? I always get width dimension of my sheetspace objects before entering dialog. I don’t use loci for anything else in sheetspace. Mouse: File > Export > Image file; Export Image File dialog {Alt f x i} - Export area, defaults to random setting. { m } - Dimensions, remembers its setting. {TAB is only access} - Quality, remembers its setting. {TAB is only access} - Format, remembers its settings. {TAB is only access} - Print size, height & width always some random number. Units defaults to inches, so always have to reset to cm ). {TAB is only access} Then press Draw Marquee Draw marquee in sheetspace Dialog returns with Save and one navigates to path and saves it A lot of steps – 13 or so, some of it forcing mousing, and I do it at least twice a day. A button would be amazing, and save a lot of time and fiddling. My musing - ignore for now A script would probably start with checking that locus points existed in current sheet. So can a script read/parse locus point positions as part of a process? Or do they need to be in a record? Or will a name suffice?
  3. Hi, I need help to make an operation I think could be quite common. I’m working on a big project with an existing building. We received a really big IFC model of the building. I would like to classify the elements in different classes following the IFC - material - component 1 field, so I can defined attributes by classes and have a coherent representation of the IFC file in plan and sections. Is there a way of doing that by script ? - select objects - for each object (Object) : · get the class (ObjectClass) · get the IFC-material-component 1(ObjectIfcMaterial) - create class named ObjectClass-ObjectIfcMaterial - assign the class ObjectClass-ObjectIfcMaterial to Object For example in the attached file : There is a beam IfcEntity object. Its class is 3D.S-POUTRES and the IFC material component 1 is Acier structurel - S235 The goal would be the automatically assign a new class named 3D.S-POUTRES-Acier structurel - S235. Does someone can help me with that ? (maybe @PatStanford?) Thanks ! Vectorworks Script.vwx
  4. Routinely I import (level 1) a py module (level 2) that, in turn, imports another module (level 3). I've been making changes for weeks to the level 3 module and those were reflected in VW until now. Suddenly VW2023 stopped to detect changes to the level 3 module; I tried to fix resetting script's paths with no success. The solution was to use the importlib module in the level 2 script to force the reloading of the level 3 module: import utilerias import importlib import utilerias importlib.reload(utilerias) Hope it helps.
  5. I normally write my labels as a single text file (each label as a single paragraph), drag it into VW and then copy and paste out of it into single labels [I have no need or use for the call out system as it's not fit for my purpose]. Then I just drag them into position and I'm done. Is there a script (or Marionette) that will break a single text block into multiple text blocks based on eg carriage returns or space between paragraphs?
  6. Is it possible to make new classes using a list (as a .txt, or .csv etc.) like this: 6 plant_Type_-01 6 plant_Type_-02 6 plant_Type_-03 6 plant_Type_-04 6 plant_Type_-05 I imagine tis would be a script, so additionally would it be possible for that script to define class settings?; fill, line, opacity... For the way I work it would often save time.
  7. Long time VW user / script writer, and very novice Twinmotion user. Curious question that I hope isn’t to much of a bother. I’m curious if I have the ability to write a script/program in Twinmotion to substitute imported Vectorworks symbols with Twinmotion symbols from its internal library or user library. My current VW symbol library doesn’t have any materials attached to its 3D components so using the functionality to substitute materials during the import process within Twinmotion isn’t very helpful. I’m hoping I can write a simple script to substitute symbols but don’t know if I have that kind of access or functionality within Twinmotion to do that. Hoping someone might be able to offer some clarification to help guide my search in working Twinmotion into my workflow. Dave
  8. I'm definitely starting from square one here when using textures. Any suggestions for or against embedding a texture into a plugin object? Any examples of the technique? Are there any improvements in memory use or rendering speed by using a texture in lieu of actually carving out surface details such as threads? How does one prevent parts of a solid from being textured? Like the circular end of this solid modeled to look like a bolt.
  9. Hello Every Body, I am wondering if there can be any way to draw such an object with marrionette. just the guidlines would be also enough, maybe we can do a brainstorming. 3d - körper -.vwx
  10. Hello, Recently I came across this useful script (made by @Pat Stanford) and I would really like to use it as a way to replace outdated layer name in criteria for many my spreadsheet cells within one worksheet. Can this script work with multiple cells selected, or it only function with one cell at the time? And is there around maybe updated version of script to more recent software versions? Thanks. Here is a script: Var S1,S2,S3 :String; N1 ,N2,N3,N4,N5,N6,N7 :Integer; H1 :Handle; Begin S1:=StrDialog('Enter Substring to Find','Loc1'); S2:=StrDialog('Enter Substring to Replace With', 'Loc2'); H1:=GetTopVisibleWS; GetWSSelection(H1,N5,N5,N1,N2,N5,N3,N4,N5); For N5:=N1 to N3 do Begin For N6:=N2 to N4 do Begin GetWSCellFormula(H1,N5,N6,S3); N7:=Pos(S1,S3); If N7 <> 0 then Begin Delete(S3,N7,Len(S1)); Insert(S2,S3,N7); SetWSCellFormula(H1,N5,N6,N5,N6,S3); end; end; end; ClrMessage; END; Run(FindandReplaceInWorksheet);
  11. Had trouble setting singular constraints.. Discovered the correct settings for vertically constrained objects are as follows: vs.MoveTo(0,0) vs.LineTo(0,100) h = vs.LNewObj() vs.SetSingularConstraint(4, h, 1, 2)
  12. Hi all, Is there a way to vectorscript an automatic update of dates in the titleblock fields prior to publishing? I understand there is the data stamp tool available but it just seems more direct if there was a plugin to execute that targets the date field. Gabriel VW2017 Spotlight user MacOS
  13. I'd like to use my Stream Deck XL to run some scripts. Some single, some multiple. Does anyone know how to do this? Cheers!
  14. Hello, I have been working on a few Python Scripts that use third party libraries - for example BeautifulSoup4. I intend to Encryption this script into a vsm plugin so that the external libraries are bound to it and can be used on other installations of Vectorworks. I realised that the Encryption/Obfuscation method through Vectorworks is not able to bind the external packages into the vsm file: I've included the path to these libraries in the Script Options and I am using the steps indicated by Vlado in this post for the related xml file. <?xml version="1.0" encoding="UTF-8" standalone="no"?><!-- This file defines how the corresponding script plug-in should be packaged--><Plugin> <Package> <File>code/__init__.py</File> <File>bS4/</File> <File>bS4/__init__.py</File> <File>bS4/.py</File> <File>bS4/diagnose.py</File> <File>bS4/element.py</File> <File>bS4/testing.py</File> <File>bS4/builder/__init__.py</File> <File>bS4/builder/_html5lib.py</File> <File>bS4/builder/_htmlparser.py</File> <File>bS4/builder/_lxml.py</File> </Package> </Plugin> Can any one advise on how to resolve this? Thank you in advance. Giovanni
  15. I've created a PIO that selects all the lines from the visible layer on the drawing. Now I simple want to increase each line's length by 2" (user defined), from it's center. How do I make sure it's length changes from it's center? Dave
  16. I'm trying to explore scripted Python plugins, but I'm having trouble finding any basic information on how scripts function within a plugin and interact with specified parameters. For example, I've created a tool plugin and put in what I thought was the most basic script: vs.Message('Test Tool') When I click on the tool I get an error message: Identifier Not Declared. What does this mean? I tried declaring a function and then running the function, but I get the same error, always on the first line; even /import vs/ will give me this error. Just looking for a place to begin experimenting.
  17. Hello I'm trying to create a worksheet with a database row that looks for a certain record and then displays each field in it's own column. The issue i'm running into is actually making the row into a database row. Below is the code I am using at the moment. My understanding (which I suspect is wrong) is that I need to set the a formula for row 2 column 0. dynCharArray = '=DATABASE(INVIEWPORT & INSYMBOL & (R IN [Loom Note]))' vs.SetWSCellFormulaN(tempHandle,2,0,2,0,dynCharArray); When I run the code I get a popup box saying "Right Bracket Expected", no error messages from the script, just that popup box, and the script will have failed to turn the row into a database row. From my googling I'm struggling to find much documentation for building worksheets with Python Script/ Worksheet Formulas. (I'm sure it's out there I'm probably just not looking in the right places.) Would anyone be able to point me in the direction of some handy info on worksheet formulas, or give me a hint as to what i'm doing wrong here? Running VW 2020 Sp3.1
  18. Can any of you scripting gurus out there help me out with a script to uncheck Follow Top Wall Peaks in all wall instances on all layers (or a layer at a time)? I'm experiencing a bug that stops wall heights from being updated when changing Story Level heights. I've found that I can avoid this if all wall components in each wall instance have the Follow Top Wall Peaks option unchecked before making the Story Level change. But I have a load of walls of many different Styles and many of them are Grouped, making it a huge task.
  19. Hello, i use a script with just the function "vs.CallToolByIndex(-210)" (for Dimension). The tool starts and i can create the dim. After the Dim is createt VW start stocking and than crashing. Is this a bug?
  20. Hello, I have been working on a few Python Scripts that use third party libraries - for example BeautifulSoup4. I intend to Encryption this script into a vsm plugin so that the external libraries are bound to it and can be used on other installations of Vectorworks. I realised that the Encryption/Obfuscation method through Vectorworks is not able to bind the external packages into the vsm file: I've included the path to these libraries in the Script Options and I am using the steps indicated by Vlado in this post for the related xml file. <?xml version="1.0" encoding="UTF-8" standalone="no"?><!-- This file defines how the corresponding script plug-in should be packaged--><Plugin> <Package> <File>code/__init__.py</File> <File>bS4/</File> <File>bS4/__init__.py</File> <File>bS4/.py</File> <File>bS4/diagnose.py</File> <File>bS4/element.py</File> <File>bS4/testing.py</File> <File>bS4/builder/__init__.py</File> <File>bS4/builder/_html5lib.py</File> <File>bS4/builder/_htmlparser.py</File> <File>bS4/builder/_lxml.py</File> </Package> </Plugin> Can any one advise on how to resolve this? Thank you in advance. Giovanni
  21. There are many ways to customize Vectorworks to better fit your needs. You can script in VectorScript or in PythonScript. You can create a Marionette network. You can create a custom worksheet. What you have not been able to do until now is find an in-person place to interact with others also interested in customizing VW. Michael Klaers and Pat Stanford (all around Good Dudes™ and frequent posters on the forum) would like to change that. But we need to judge if there is sufficient interest to make it worth our time to do the organizing. We have posted a short survey. 10 questions. You can answer them all in less than 2 minutes. Give us 10 minutes and you can have massive input into the event. We are truly interested in your responses, regardless of if you like the idea or not, we would like to get your feedback so we can see a broad cross section of users. The survey is posted at https://www.supersimplesurvey.com/survey/20404/conference-interest No personal information is required. We won't spam you. We just have this idea and want to see if others are with us. Thanks in advance. We hope the interest exists and we will see you at the first annual Customization Conference.
  22. I've got over 60 different SketchUp models I need to import and due to resource conflicts, I have learned that it is best to import them all into one file, all at once. That said, the SketchUp import only processes one file at a time, needing the user to accept each import manually. It's at the pace of about one import every 2 minutes or so. I was wondering if there was a way to script this import process so that Vectorworks would just use and import the same settings for all the files, without the need to have a user accept each import every 2 minutes for 2 hours of time? Any help or suggestions are welcome, thanks.
  23. Hi there, I've seen a few topics around screen plane, layer plane and 2d drawings however I wanted to ask a different question. Is there a script anyone knows of that allows every line/polyline etc in the drawing to be selected and changed to screen plane? I know in the settings this can be set to screen plane only - the problem arises when something is pasted from a previous drawing this setting becomes overridden. If anyone knows how to quickly change this without having to go through each item and change to screen plane please let me know! Thanks.
  24. Does anybody have any advice for the following problem? 1. We received an Autocad template (.dwt) containing a layer system used by the client (we have to use the same system) 2. When we import the .dwg (saved from the .dwt) in Vectorworks it only brings in the layers (VW classes) which contain objects. The .dwt template doesn't contain any objects so no classes in Vectorworks 3. Possible solutions would be: - manually draw an object in each of the +300 layers in autocad and then import in VW - some kind of autocad script that does the above - a magic VW trick or script? thanks
  25. I am wondering if there is a way to use a script to populate a worksheet with all of the Plant Plug-in objects that are located within a file's Resource Manager, but not necessarily placed in the drawing. Could this also be refined to populate the list with Plug-in Objects placed within a specific folder in the resource manager? Can the script mine the data of the plug-in object to list the latin name, common name, schedule size, etc. similar to a database worksheet does for objects placed in the drawing. Thanks.
  • Create New...