Jump to content


Vectorworks, Inc Employee
  • Posts

  • Joined

  • Last visited

Everything posted by sbarrett

  1. Hey Luis - These look great! I am so glad that you enjoy Marionette as much as I do. Here is a suggestion for using lists to streamline your definitions...
  2. Tim - I would start with one of the aspect of the wall - a definition can get complex and overwhelming very quickly - but if you break down the problem into smaller projects you can combine them later. With the wall for example, don't try to build a parametric brick wall, try creating a series of locus points in 3D. Then try distributing rectangles along a line, etc. If you think of a project in much smaller, simpler steps it will be easier to build in Marionette. Also, those individual parts can be used over again in different definitions.
  3. Yes I definitely think it would be possible, although you would go about it differently in Marionette than you would in Grasshopper. In Marionette, I would suggest you create the bricks first and distribute them (Move) to points along a sine wave line at each brick z level. You might need to do a little clever maneuvering to get the tangent vectors for each point (because there isn't a tangent node that I am aware of), but once you do, all you need is to translate those vectors into a rotation and use the rotation node along with the move node. There are several nodes that work similarly to Grasshopper's Dispatch component, and they are in the Data Flow menu. For example, Filter, If, and Unzip are all nodes that parse lists. I hope that helps - If you get stuck, I will be happy to offer suggestions!
  4. Here are a couple wrappers that output sine and cosine waves. I thought the math enthusiasts might find these useful. Sine Wave.vwx
  5. Control geometry is definitely great when creating marionette objects, but if your goal is not necessarily to create an object but a system, the name node works well too. Named geometry can also be tucked away within a wrapper. All you need to do is give the Name Node a name and wrap it. Then double click to edit the script and paste the named geometry inside. That way your geometry isn't visible but still always available. You can edit the geometry any way you like from inside the Name wrapper. To name an object, go to the data tab in the OIP and type in the name at the top.
  6. Here is the node with the proper output - it gives the memory location of the object instead of the handle type, but it works properly if you try to parse it or manipulate it later. The vs.Marionette_DisposeObj() is code I snagged from another node - this entire node is a Frankenstein of other node parts - it is one of the earlier ones I made. It may not be pretty, but it works!
  7. Hi Kevin - my node was missing one line of code. Here is an updated version. Now it should create the right amount of objects.
  8. Hi guys, we are happy to take suggestions on new nodes. We definitely have more in the pipeline. When I started using Marionette I was very well versed in Grasshopper but not necessarily in coding. I have really liked being able to access the code behind the node and I have been experimenting with some of my own nodes. I have attached a file with some of the nodes I have created so far. Granted I am still an amateur at coding but this file does include some array nodes. If you have any suggestions on how to improve these nodes it would be greatly appreciated!
  9. Mark I am also getting a crash with this file - however if I convert the marionette object to a wrapper, it works without crashing.
  10. Hello Kevin and Michael, the best way to move an object is to use the Move Node in the Operations category. for the offset input, you can use a "point2" node, "point3" node, "vector2" node or "vector3" node. all of these are in the Input category. You can also use "Point3D" or "Point2D" from the Points category. For each of these nodes, you can set the x- y- and z- values the DISTANCE you want to move the object in each of the three directions. It works just like the move command in VW. The Rotate node works in a similar way. You can use any of the 3D point or vector nodes as your input, and if you want to rotate an object within the xy plane (as you would a 2D object in plan view) you make the z value of your 3D point node the angle that you want to rotate the object by. Each x- y- and z-value represents the axis around which you will rotate the object. I hope that answers your questions! Sarah
  11. Here is a file with some Platonic Solids as nodes and Marionette objects. The faces of the solids are in the form of 3D polygons.
  12. Attached is a file that can be used as an exercise to practice Marionette. Going though the saved views, you can follow step by step instructions to build geometry. There are also files with the solutions to the exercises. Tutorial_01_Exercises.vwx Tutorial_01_Solutions_1-5.vwx Tutorial_01_Solutions_6-7.vwx Tutorial_01_Solutions_8-9.vwx
  • Create New...