# sbarrett

Vectorworks, Inc Employee

266

Thanks all!
2. ## Find out object properties

Hello all, is there an easy way to find out if an object is a 2D or 3D object? I feel like there has to be some sort or properties call but I am not aware of it. I need a way to filter objects in a script by whether they are 2D or 3D, but all I can think to do is filter by object type, and that seems way too involved. Thanks!
3. ## Calculations node to stack panels

Here is a custom node that might come in handy: Compound List. I use this all the time. CompoundList.vwx
4. ## Create Classes

If it helps, Here is a color input node that allows you to get rob values based on the fill of the node. I have attached it in Vectorworks 2017 and 2018. 2018: ColorInputNode.vwx 2017: ColorInputNode2017.vwx
5. ## Curved Ramp

Hello @ericjhbergI thought I responded to your comments earlier but I can't seem to find what I posted. 1. Is there any way to make the horizontal curvature more regular? I know this is using nurbs, so the answer may very well be no, but we often are trying to design ramps on a radius which is difficult to do accurately with nurbs or bezier curves. - In order to make this path based (allow it to have control geometry that was editable with the reshape tool), I found the easiest way to accomplish it was using a Bezier curve. To write it using a poly with arc vertices would be a very different script. How would you draw the 2D profile of a ramp? 2. The cross slope profile created by the loft surface can create some pretty extreme cross slopes. Is there a way to better control this? - I built the ramp by dividing each edge length equally and stepping it that way, I didn't know how to best calculate slopes for ramps. for stairs it is a matter of finding a tangent to the curve but with a ramp I imagine you want you slope to be shallower going around curves and steeper on straightaways. Any pointers on how you would model this would be greatly appreciated. Maybe even starting with how NOT to do it is helpful.
6. ## 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.
7. ## Curved Ramp

Version 2.0.0

This Marionette object is a path-based ramp. The path is a bezier curve and can be reshaped by double-clicking on the object. The 3D ramp is built by lofting NURBS curves and the 2D text can be turned on or off in the Object Info palette. This ramp uses the new Valve node in Vectorworks 2018 which means it can't be exported back to 2017.
8. ## Tube along arrayed objects -Marionette

Hello, Its hard to know exactly what is happening based on images. If you could share the file that would be much more helpful. The things I notice in the image of the script are 1) I am not sure why there is a Mix2 node - it seems like you are just trying to create three curves based on an original and two offset vectors but I am not sure without seeing the curves and the values in the script. 2) Your circle is not connected to the network so I don't really know how you want to use it.
9. ## Prefix & Suffix for Marionette Text

It looks like the first time you selected the network, a few of the string nodes didn't get selected with it, and the inputs that SHOULD have been connected to are the ones that showed up on the outside of the wrapper. I haven't been able to replicate that however. Your next step could be to start experimenting with the Set Text Properties and Set Character Properties nodes to position and format the text within the box.
10. ## Prefix & Suffix for Marionette Text

With Marissa's example, I believe you would have to attach a Delete node as well as the Get String node to the Text node. The reason is that both the Text node and the Print List node are create Text Objects and you only need the one being created by the Print List node.
11. ## Panelization

Version 1.0.0

This file was created by Proving Ground to analyze the panelization of NURBS surfaces. Based on 3 NURBS curves, it creates a lofted surface, then converts it to a series of 3D polys. It then compares the 3D polys to the curvature of the surface at that point and states how out of plane each panel is. It also uses a color gradient to indicate where it is out of plane. It then makes a copy of the panels and lays them flat in a grid.
12. ## Prefix & Suffix for Marionette Text

To explain what is happening in the video, when you use the Text node, you are converting the number and strings of the prefix and suffix to a Vectorworks text object. If you debug the network, you would see that the info going from that list would consist of a Vectorworks handle, and two numbers. What is being printed by the Print List node is the unique name of the handle, not the strings that make up the text object. For this example, I would use a list node to list your prefix, number value, and suffix, then send that through a Str node to create a single string, then add it to the list that you send to the print list node. I hope that helps!
13. ## Psychometric Chart

I'm sorry but this file uses capabilities that are not available in Vectorworks 2016, namely importing a Python library. This Marionette object and the other Weather Analysis MOs use an external Python library that gives you latitude and longitude based on an address/location.
14. ## node example for filling an area with symbols

Hello @Jab_be, If you want to save a Marionette script to use in another file, the easiest way is to wrap the network, select the wrapper and go to Modify -> Create Symbol... and make sure that "Convert to Plug-In Object" is checked. Now your network is a Plug-In Object in your document and you can import it into another document just like any other Plug-In Object.
15. ## Create Site Model from Mesh

Version 1.0.0

This is a Marionette network that converts a mesh to 3D locus points. This is very useful for converting meshes of terrains imported into SketchUp from Google Earth into Vectorworks Site Models. Once you have a SketchUp mesh, import it into Vectorworks and give the mesh a name. Take the wrapper in this file and place it in the same drawing. Change the name of the mesh in the OIP of the wrapper to the name you gave the SketchUp mesh. Raising the number of the grid density will make your site model more accurate, but it might take the wrapper up to a minute or two run. When you run the script, you will get a group of 3D loci. Ungroup the loci, and keeping them selected, go to AEC -> Terrain -> Create Site Model... (in the Architect Workspace). Choose your settings and click ok
16. ## Psychometric 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 psychometric data for a specific location. You must have a valid internet connection to use this MO.
17. ## 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.
18. ## 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.
19. ## 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.
20. ## Marionette object as resource & other questions

@Mandolomo I don't know if changing the text's justification will help much because the network is set up so that the text box is only as big as the text inside. Changing the horizontal alignment will change the position of the entire text box - if you make the text box bigger then the justification will change the way you want it to.
21. ## Marionette object as resource & other questions

I reworked your network a bit - instead of creating the rectangles and arcs and then moving them based on the position of the text, I used Get Rectangle nodes to get the different control points of the text box and had those points be the starting points of the rectangles and arcs. I wrote a custom node that draws a rectangle from a width and height and center point. I then added the pop up node - basically whatever list you give it, the output is the index value of that list. So if its the first item in the list, the output is 0, the second item, the output is 1, etc. You can then use the Get Item node with a list of values (corresponding to the list in the Popup node) and then feed the Popup node to the Index input of the Get Item node. I set up the network so you can use the popup to choose left, top, right, or bottom for the arrow positions. If you want to make it a resource, all you have to do is select the Marionette object, go to Modify - Create Symbol... and make sure that Convert to Plug-In Object is checked. Then it will be available in your resource browser just like any other object. Position_Label_Combined.vwx
22. ## Marionette object as resource & other questions

Hello @Mandolomo- I see that you are using an educational version of Vectorworks but it is v 2016. I would recommend upgrading to 2017, because Marionette is much easier to use - mainly because there is now a search function in the Resource Manager which allows you to search for nodes by name, as well as the nodes are in page units, so you can scale your drawing and the nodes will remain page size. I would recommend using the Get Rectangle Node in the Objects-Rectangles category to get you a position on your object. Even if you object is not a rectangle, it will give you the bounding box of the object so it will still work I have attached a doc that has a Popup node that you can edit. Just double click on the node and read the grayed out lines inside for instructions. Popup.vwx
23. ## Duplicate Object Along 3D Poly Node

The way I would do this is to used a Divide Curve node which is in the NURBS folder. This will give you a series of 3D points, then you duplicate your object and move those duplicates to the points. This will give you a path array based on number of divisions of the path, but if you want to do it by distance, you would have to do some math where you figure out the length of the curve/3D poly, then get your number of divisions that way.
24. ## Empty group created with convert to 3d polys

There was a little line of code missing to ungroup the 3D polys - I have included an edited version of the node in a new file. I will file a bug for this to get changed in the node library as well. Also, the ungroup nodes are unnecessary in your network - the geometry outputs of nodes are automatically placed in Marionette containers/groups for versioning purposes, but this actually has no effect on how the geometry travels through the network. Marionette Proj Playground_edited.vwx
25. ## Dashboard Scripts for data in WSs

hello - if you are asking for (somewhat) interactive graphs, you can take a look at my weather analysis tools - they download data from the internet and create graphics. You will probably have to do a lot of adapting though.