Jump to content

Are marionette object nodes resource hogs?

Recommended Posts

I am getting ready to start a new project that could have up to 400-500 object nodes in it. Before I get started, I would like to know if anyone has had any issues with

multiple object nodes slowing down their process! 

Share this post

Link to post

Depending on how many nodes make up your Marionette objects, it can increase the file size, which could also impact performance.


There are a few ways to get past this, though.


1) If you aren't concerned about changing the objects any further, you can "ungroup" them from the contained Marionette network. This should reduce the file size, however the objects will no longer be parametric/editable. This is only suggested if you're certain you will not be making any further changes to the Marionette objects.


2) If you have many Marionette objects that contain the same script, but may have different parameters defined, you can actually store the script as a symbol within your Marionette object. This should reduce the overall number of nodes in your file which will reduce the overall file size. The objects themselves will still be independent of each other - you could have the same script defining a cabinet, but also have the ability to make all of the cabinets defined by this script have different dimensions. If you're interested in learning more about this, please let me know.


3) The most unlikely thing you would like to do, though you can do it, is to store the Marionette object itself as a symbol. This functionality has been a little slippery lately, at least when inserting the symbols, but it is still a potential solution.


A note on Marionette objects in general: Once they are generated, they do not usually slow down any processes, however any time you make a change to a parameter, the entire contained script will run again, which depending on the complexity of the object could take some time.

Share this post

Link to post

I have found that the slowness comes from the resulting actions your script is performing on the program. In my generate office or house from a polygon script you will get a lag while its doing the work and it will depend on your computer power as to the time.

Share this post

Link to post

I think it's not primarly a question, how many nodes you use. I think, there are some operations, which need more time than others. If you just use math to calculate things it will be faster. If you Draw things at the Beginning of the script and work with them (Make the script in the way, you would draw it -> Move them, Add them, delete them etc.) it will be slower. So I suggest you should try to work with numbers instead of objects and draw objects at the end of the script. That will speed it up.


I Attached one of my first marionette script (incredible, i really had the patience for that). In which I pushed it to the limit I think In 2016 SP0 it needed about 45 Seconds to regenerate I dugged out it now again . But now  it just needs 1 Sec to regenerate ... Wow??!!!. Seems that there was some optimization since the first versions.


There are over 1000 Nodes, in that object (Do not know exactly, I did not unwrapped it completely, but took a screenshot while it was hanging up 9_9). 


Attached A file, which contains a node-version and a coded version. Duplication of the noded version, needs several seconds. Maybe this could be speeded up dramatically, by saving the network as as symbol instance (That was something i did not knew at this time).


The coded Version has more options and is very much faster ... 


The Problem with this example is, that there are a lot of "if then". As Example: If Value "Front is true" then draw front, if not then do not draw front. That is something I was not able to do (I think, that's not possible with marionette Standard Nodes) So I had to draw all the possible stuff and then delete it if boolean is "draw not" at the end of script. This must be time-consuming I think. Connected nodes will always be executed, that's the problem.


The code-scripted Marionette, has some KBytes, the Node-Scripted Version, has 15 MB.










Share this post

Link to post

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.


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.

  • Create New...