Jump to content


Vectorworks, Inc Employee
  • Content Count

  • Joined

  • Last visited

Everything posted by sbarrett

  1. sbarrett

    Controlled Drop Down Menu

    Yes, @Dishav Vasudev there is now a node in the default library that allows you to do this. Its called the Popup Dialog node and its in the User Interaction folder. the way it works is that it takes a list input generated by the script and when you run the script, a dialog pops up and allows you to choose from a dropdown of that list.
  2. sbarrett

    Barn Door

    Version 2.0.0


    Here is a Marionette object that functions as a schematic Barn Door. It opens and closes with a slider and has separate 2D and 3D geometry. The wheel and hanger are a symbol, so if you wish to change their look you can edit the current symbol or create a new one. The insertion point of the symbol must be where the wheel touches the track.
  3. sbarrett

    Barn Door

    No this is not possible with Marionette as it is not possible to attach/associate the parametric record of a Vectorworks Door to an object that is not a door. However, in Vectorworks 2020, we have added a Barn Door configuration to the Door tool so in Vectorworks 2020 this Marionette object is no longer necessary.
  4. sbarrett

    Pop up list question

    You are on the right track and very close. If you want the output value to be a symbol name, it needs to be a string. In order to create a string in your script, you must use quotation marks. Assuming that HR4 is the symbol name, you simply have to put quotation marks around it to make it a string. if input == 0: self.Params.output.value = 'HR4' if input == 1: self.Params.output.value = 'HR5' if input == 2: self.Params.output.value = 'K4' if input == 3: self.Params.output.value = 'K5'
  5. sbarrett

    Temperature Chart

    Version 2.0.0


    This is a Marionette Object that downloads weather data from the internet based on the address/location you enter into the OIP. The data this graphic shows is the max, average, and min temperatures per month at a specific location. You must have a valid internet connection to use this MO.
  6. sbarrett

    Precipitation Chart

    Version 2.0.0


    This is a Marionette Object that downloads weather data from the internet based on the address/location you enter into the OIP. The data this graphic shows the peak one hour rainfall and the total monthly rainfall per month. You must have a valid internet connection to use this MO.
  7. sbarrett

    Get z at xy for NURBS curve?

    Unfortunately, the Get Z at XY probably won't work because a NURBS curve likely doesn't have an actual thickness. I created a work around that might work - I created a loft based on the curve, used the Get Z at XY node and then deleted the loft. Battle dots marionette create loft.vwx
  8. sbarrett

    Lists in lists

    If your NURBS surfaces always follow the same curvature and change only in the length that they lay on the floor, you can create a bunch of surfaces that are the same size, then use the Extend NURBS node to extend each in a random manner. The Extend NURBS node only takes a single length value as the extension, so inputting a random list of lengths to extend a list of surfaces should work.
  9. sbarrett

    Panel Arrays

    Version 1.0.0


    In Vectorworks, there is a command that allows the user to build a surface array, i.e. to array a symbol across a NURBS surface. This is a powerful tool, but creating patterns with multiple symbols is currently missing as an option in the software. With this in mind, these two Marionette scripts are meant to help create panel patterns on a wall with existing 3D symbols: · The wrapper “Panelization with Rotation” arrays a single symbol across a surface, but can apply a rotation to that symbol in either a user-defined pattern or randomly. · The wrapper “Panelization with Multiple Panels” arrays multiple symbols across a surface in either a user-defined pattern or randomly. For both scripts, the horizontal and vertical reveals between panels can be set separately, allowing for quick visualization of multiple paneling design options. These scripts only work when the NURBS surface is flat and the face is rectangular — the symbols will not follow a curved surface. This is meant to be used for panelized walls, which are much more likely to be flat. (The surface however does not have to be vertical; it can be slanted or horizontal.) The panels are distributed from left to right, top to bottom across the surface — if the pattern does not fit exactly across the surface, there will be extra room left at the right and/or bottom edge of the surface. When paneling a wall, it is more likely that the full surface or the reveals will be resized to fit the appropriate number of panels versus trimming the panels along one side.
  10. sbarrett

    Sun Path Diagram

    Version 1.0.0


    This is a Marionette Object that downloads weather data from the internet based on the address/location you enter into the OIP. The data this graphic shows is the angle of the sun path at different times of the year. You must have a valid internet connection to use this MO.
  11. sbarrett

    Intersection points between curves

    Here is an option for the issue of the bounding box. I found points along the edges of the surface and created a 2D poly from those points. gridshell test_SBarrett.vwx
  12. sbarrett

    Temperature Chart

    This should work anywhere in the world. To look up a location outside the US, you can write "[City], [Country]" or even a more specific address in the Location field in the OIP. What that field does is it takes a location and converts it to latitude and longitude. It then searches the Iowa State University's database of weather stations (https://mesonet.agron.iastate.edu/request/download.phtml?network=AWOS) and downloads data from the three closest stations to that latitude and longitude. You can change the number of weather stations that it queries if you want. The most accurate data is usually found at airport weather stations, so if you want to type in the location of the nearest airport, change the Num of Stns to 1 and you will get only that weather data.
  13. sbarrett

    Wind Rose

    Version 4.0.0


    This is a Marionette Object that downloads weather data from the internet based on the address/location you enter into the OIP. You must have a valid internet connection to use this MO. There will be more weather analysis graphs to come! Here is a video that shows how the Wind Rose works: Wind Rose Video.mp4
  14. sbarrett

    Wind Rose

    I updated the geopy library download link - perhaps this new version will work for you.
  15. sbarrett

    Weather Analysis Tools

    @Ash I have updated the Temperature Chart and it is located here: The other charts I haven't updated yet.
  16. Hello All - I have been working on some weather analysis graphs in Marionette and here is the first - a Wind Rose. This Wind Rose downloads weather data from the internet and builds a graph (it saves the data to your User Folder). Once it downloads the data, the information is available offline, but every time you run it, it must go to the internet to find the latitude and longitude of the location you type in. So when using this, always make sure you have a valid internet connection! Here is a quick video to show you how it works. (File will be in the next post)
  17. sbarrett

    Wind Rose

    @jeff prince are you using the latest wind rose file posted here? Also, are you using the latest build of 2019? There were problems with geopy not being installed in 2018 I believe, but it should work in the current version of the software.
  18. sbarrett

    NanaWall WA67

    Version 2.0.0


    This is a Marionette Object that can be used to simulate the WA67 Aluminum Clad Wood Folding NanaWall door. It allows you to set the panel width and height as well as the configuration and system. Based on these parameters, it calculates the overall frame width and height and creates a record format for the door that can be called in a worksheet. The insertion point of the door is the center left of the door, so if you choose a configuration with a different number of panels or you change the panel width, the PIO will extend or contract from the left (instead of from the center like regular door PIOs in Vectorworks). I would welcome feedback on the usefulness of this - is there something you would like it to do that it doesn't do? What does it do that you don't need it to do? As far as other types of NanaWalls (such as sliding panels), I am trying to figure out a way to script those as well.
  19. sbarrett

    Weather Analysis Tools

    @jeff prince I periodically update these graphs and post them in the Marionette objects section of the Marionette forum. You can check there to see if there are newer versions than the ones you have. I updated the Wind Rose pretty recently.
  20. Version 1.0.0


    This file is most useful for Landmark users but could be adapted to other plugin objects (PIOs). The purpose of these scripts are to take surveys of existing trees that consist of "dumb" data - pieces of geometry and text to label trees on a survey - and convert it into Existing Trees with the relevant text data associated. The first network, "Test Proximity," runs a check to make sure that each piece of text is closest to its associated piece of geometry. This is necessary to make sure that the second script will work properly. The second network takes the center of each piece of geometry and places an Existing Tree there. It will use the saved red symbol in the Resource Manager as a template, so if you use particular default settings for your Existing Trees, you can edit the red symbol. (Some day maybe there will be an Existing Tree Style!) The network will also transfer the text data to your chosen field of the Existing Tree PIO. In this network, it is set to transfer to the Tree No data field. This network could be adapted to other PIOs if needed.
  21. sbarrett

    NanaWall WA67

    @nealjane1 I uploaded a new version of the file with the date _190228 and it appears to be working fine in 2019. Please let me know if this solves the problem.
  22. sbarrett

    output drawing order

    @VvierA Can you send us the file?
  23. sbarrett

    Data Tag - Room Finishes - Space Tool

    Hi @cberg- Oh, the Space tool. There is a way to do this but its hidden. The parameters of each finish "key" are there in the space but they don't show up in the dropdown menu of the space's object parameters. I am not sure why this is true. I have built a data tag that is set up like the image you provided. I don't believe there is a separate trim finish in the space, only a base finish, so that parameter isn't included, but all the others are. Let me know how this works! Finish Data Tag.vwx
  24. sbarrett

    Planar Boolean from two lists of objects

    From a scripting standpoint, I think you could easily put these objects in separate classes. Putting them in separate layers can be a little trickier, because the created geometry is always placed in a group and that group will be placed on the active layer, no matter what layer the objects INSIDE the group are on. The way around this would be to place your starting objects on the layers that you want them on, and then run your script with the active layer set to the layer that you want those objects placed on. You can do this within the script with classes using the Set Class node from the attributes folder, or with layers using the Set Layer node from the Layers folder.
  25. sbarrett

    Rename Classes

    Version 1.0.0


    In Vectorworks 2018 menu commands can now be created with Marionette. To create a menu command, right-click on a wrapper and select Convert to Menu Command, and give the menu command a name exactly as you would like it to appear in the menu. After it is created, it will be available under Tools > Marionette Commands > [Command Name]. This command works as a simple find and replace command for class names. It makes use of a User Interaction node which allows you to enter text while the command is running. Once you run the command, in the first dialog box that pops up, enter the text of class names that you want to replace. In the second dialog box, enter the text that you want to replace it with. If there is more than one instance of the text in the class name, it will only replace the first instance. To change more than one instance, simply run the command again. If you make an error, you can simply use the Undo command.


7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114


© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.