Jump to content

Search the Community

Showing results for tags 'script'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

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

Calendars

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

Categories

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

Categories

  • 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

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Occupation


Homepage


Hobbies


Location


Skype

  1. Hello All, I'm in the process of refining (cleaning up) the names of resources in a template file. I'd like to generate a list of all the resources in the file for export to Excel. Ideally the list should have two columns: name of resource, type of resource (e.g., symbol, hatch, hardscape style, material). But just of list of the resource names would also be a good start. I don't have any programming skills/experience. I'm wondering if someone has developed a script that has this sort of functionality. Thanks, Dave
  2. To reduce file sizes with graphical elements I often export an image of a viewport (or a group of elements), and then reimport that image file. As VW’s image file export dialogue is idiosyncratic at best I normally place two locus points (at top left and bottom right in enclosed graphic). I set them out a mm or so (from the corners) to produce a slight oversize image (with a mm or so of white space) and avoid a pixelated edge, and then use the loci to snap to a precise window via the image export dialogue. The loci also provide a way to accurately measure viewport width, again to be able to produce a quality file via the image export dialogue. I’d be quite happy with a script that drew locus points, one at each corner. Has anyone written or is there already a script to place locus points to define the bounding box of an object in this case a view port? In my screenshot of the viewport I have left the view port crop on as a visual guide as this defines the viewport bounding box.
  3. Version 2025.0

    21 downloads

    How to Use the Marionette Script: Step 1: Install the Pillow Library The script requires the Python library Pillow for image processing. If you’re unsure whether you’ve installed it before, you can safely install it again. To install: 1. Select the Install Pillow node in the script. 2. Click Run in the Object Info Palette (OIP), or 3. Right-click the node and select Run Marionette Script. Step 2: Add Commands to Your Marionette Command Library To make the script easily accessible: 1. Right-click on each wrapper. 2. Select Convert to Menu Command…. 3. Name the command as you want it to appear in the Tools > Marionette Commands menu. Step 3: Use the Commands 1. Select an image (bitmap) on your drawing area. 2. Navigate to Tools > Marionette Commands > [Your Command Name]. 3. Test with sample bitmaps provided in the file’s Sample Images design layer. Special Notes: • Running Commands: Important: These Marionette Wrappers cannot be run directly from the drawing area because they act on selected objects. You must run them from the Tools > Marionette Commands menu. • Installing Pillow: The Pillow library will be installed to your User Folder. If needed, reinstall it using the provided Install Pillow node. • Image Import Settings: For the AI to Prop commands, always import images as JPEG. Importing as PNG will cause display issues. Use the AI to Prop with Dialog command to manually adjust import settings if needed. Once configured, the non-dialog version will reuse the last settings automatically. • Temporary Files: The script creates temporary images in your User Folder. These files can be deleted at any time.
  4. I use VW for my own graphics, marketing and typographic work. One thing I do often is bring in a block of text and then manually break it up into single pieces of text so I can treat each piece of text differently. Has anyone worked out how to automate this? so I can bring in for instance a twenty line block of text, run a script, and it produces 20 individual text objects – one text object for each line of text in the original text block For instance right now I'm looking at assembling a pseudo wordcloud from about 20 words (so I don't have a text corpus, I'm making it purely on a graphic art basis). I am on VW2018, Windows.
  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. 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. 😄
  7. 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?
  8. 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
  9. 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.
  10. 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.
  11. 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
  12. 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.
  13. 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
  14. 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);
  15. 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)
  16. 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
  17. 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!
  18. 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
  19. 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
  20. 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.
  21. 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
  22. 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.
  23. 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?
  24. 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
  25. 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.
×
×
  • Create New...