Jump to content
Developer Wiki and Function Reference Links ×

Question with regard to layer heights of marionette objects

Art V

Recommended Posts

Last week I went to the Vectorworks user day over here and got a presentation on Marionette.

It seems it will be able to do what I want for not (relatively simple stuff) but I do have a question regarding layer height use.

For example, I have a structure of multiple levels with a floor on each level supported by beams.

The beams are visually residing on the layer underneath but I would like them to be on the layer of the floor it is supporting, so it should have a negative extrude all the way down to the floor level of the layer underneath. That way when I switch a layer off the supporting beams will not show up on the layer underneath.

Is marionette capable of "reading" the height difference between two layers and calculate the required negative extrusion?

Link to comment
  • Marionette Maven

In short, yes.

I'm attaching a simple file to hopefully demonstrate.

How this works, it takes Slab1 and Slab2 (by name) and returns which layer they reside on, it then takes the Elevation of each respective layer and uses those as the inputs for the extrude. It then moves the extrude to the layer of the slab above (in this case, Design Layer-2, where Slab2 lives)

There are many other ways to do this, I'm sure, and now that it's been brought to my attention, I want to create a better set of nodes for this operation (such as taking into account a negative thickness of slab, etc.). I'll post back here if/when I make progress on them.

This also has enlightened me to the issue where if you move an object between layers it loses its connection to the network... meaning you can find yourself with many duplicates and not even know. I'll try to look into that further since the steps I usually take to fix that didn't work.

Let me know if this helps or if you need any more guidance.

Edited by MarissaF
Link to comment
  • Marionette Maven

We've encountered this error a few times because of a custom plugin having a UUID collision.

Do you have any custom plugins installed?

I can't remember which one has been the problem exactly, but this post also mentions the exact issue.


If I find the information I'm missing currently I'll post it here, otherwise maybe someone else can lead you in the right direction. I'm 99% sure this is the same issue.

Link to comment


The marionette script worked after updating the plugin.

Based on your comments and after looking at the nodes I get the impression the script is using two predefined named objects (lenght/height) and then creates the composed object based on the layers they are residing on. Moving the object to a different layers breaks the object?

Because I would need multiple variants of this item, with different sized on either the same layer or different layers this might be an issue or is there a way to work around that?

The case that caused the question for which you created this marionette script is using 50 design layer of which approx. 35-40 would use multiple versions of this object. So I would like to have an idea of the potential pitfalls if possible.

At least I have now an idea how to get started and will do some experimenting later this week to see if I can get something that is close to what I would like it to be.

Link to comment
  • Marionette Maven

Art V,

The named objects are the slabs, which in this case allows the script to query which layer each slab exists. This was just for demonstration purposes, there's absolutely a way to avoid having to use named objects, as long as we take the correct logic into account.

As for moving the object, I'm not sure why it breaks because how the node is supposed to work is it makes a duplicate of the object you're moving, essentially "pastes" a copy to the layer you want it to be on, and deletes the original. Again, there are ways around this method that should work (and the breaking that takes place only means that if you were to rerun the network, you may end up with more objects than intended - in most cases when you rerun a network the objects get redrawn each time which leaves no duplicate).

You can absolutely create as many variants of objects as you want. It's really all about the logic with creation. For my example, I just created a rectangle at one of the corners to extrude it, but you could do anything, really.

I'm more than happy to guide you in the right direction when/if you get stuck, if you want to continue exploring this.

Link to comment

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...