Jump to content
Developer Wiki and Function Reference Links ×

duplicate along path

Bas Vellekoop

Recommended Posts

I don't think there's a stand alone node that does this. You might be able to create a network of nodes. I was looking for this and one to do circular arrays. It would be nice if it was this simple (Grasshopper example) -

I've been experimenting with trying to build a circular array one. I've attached where I've gotten to if you're curious. It contains a couple of custom nodes I made. I'm not a programmer so I've cobbled them together by starting with existing nodes. There's more scripting involved than I had hoped.


Edited by Kevin McAllister
Link to comment
  • Vectorworks, Inc Employee

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!

Link to comment


Your radial array generates the same extra geometry as mine originally did (the circle generated initially by the circle node). See this thread https://techboard.vectorworks.net/ubbthreads.php?ubb=showflat&Number=215801#Post215801

While its working as designed I can see an issue with extra geometry polluting things down the line. Say for example the next step was to extrude the array into a group of columns. When you render, the overlapping geometry will cause unwanted affects.

I think a solution to "duplicate along path" is a big wishlist item. With curved paths there's some complex math involved. I would like something as simple yet powerful as the equivalent in Rhino (



Link to comment

Thanks Sarah. That's an interesting line of code - vs.Marionette_DisposeObj(obj)

I am assuming it disposes of the initial input object which makes it very useful. Is there documentation for these types of commands somewhere? I searched the VW Developer website but came up empty.

Another question about the Radial Array node. When you run it with the Marionette Debug Mode the exit port says it output 0 objects. Why is this? (See attached image.)

This is all very helpful.



Link to comment
  • Vectorworks, Inc Employee

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!

Edited by sbarrett
Link to comment

vs.Marionette_DisposeObj() flags an object to be deleted...after the entire network has run. This is a really important difference from vs.DelObject() which immedatly deletes the object. If you use vs.DelObject(obj) in a node, and then have another node that operates on the same object after it has been deleted, you can say goodbye to VW.....crash! Once you are in the script and working with object handles, you are no longer protected. You have to be careful and abide by the same rules as we do. ;-)

Link to comment
  • 3 weeks later...
  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...