Jump to content
Developer Wiki and Function Reference Links ×

control marionette via external object

Chris Brough

Recommended Posts

is it possible to drive a marionette with geometry not created within the marionette network?

for instance;

i'd have a rectangle in 2d i could manipulate with the corner grips or object shape pallet, then once the rectangle is changed, the marionette adjusts based on the change to the rectangle.

i hope this makes sense...

if this is easily achievable, this would open up infinite possibilities :)

Thanks in advance!

Link to comment

Short Answer is: Yes

Longer answer is that you can either use a Named object and have Marionette look for that specific name. The other and better way is to use a Control Group. The easiest way to think of this is that it is like the Path or Profile Group in an extrude along path. You can right click and edit the object, but it is contained inside a Marionette Object (effectively a "Double Wrapped" Marionette network that acts like a PIO.

Link to comment

I think you would do this with "Control Geometry" and the "Control Geometry Node". It only works with a Marionette Object (not a node or a wrapper). Its sort of like a "annotations" type layer containing geometry associated with the script.

You can also reference an existing object by name using the "Name Node" but each time you changed the object you would need to re-run the network. Using the method above the node would re-run automatically each time you changed the control object.


(I've added an experiment I did using control geometry. If you double click on the node the geometry becomes editable with the Reshape tool. If you right click, you can choose Edit Control Geometry and change/edit the Control Geometry directly.)


Link to comment
  • Vectorworks, Inc Employee

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.

Link to comment

So i've had some down time to dive in to marionette and i feel like i have yet to scratch the surface...


- Creating object nodes; seems to force me to use separate marionette networks within the object node (not very accessible for large assemblies if i have to double click on each object to change it...

- Using the Name node; this seems the most efficient way to make quick assemblies and unless convinced otherwise i'll continue with this method.

I have 4 rectangles representing the outline of a frame. Each rectangle is named; ff_ls, ff_rs, ff_tr, ff_br (left stile, right stile, top rail and bottom rail). So the name node references the "ff_ls" etc. I'll mainly utilize this method to create a face frame for a kitchen cabinet. (see attached screen caps & vwx file)

attached captures also show an issue i'm having with the working plane... using the name node seems to create the extrusion from the *current* working plane rather than locating the extrusion based on the "profile" placement.

is there a simple way to always tie the extruded geometry to the base geometry location/orientation?

Thanks so much for your help and enthusiasm guys!

Link to comment

hmmm I'll try to make this a bit more simple...

Attached is a 5 piece (frame & panel door) used quite often in our millwork drawings. I'd like to be able to dynamically move this marionette object onto any plane (cabinet face, side, etc) at varying angles.

It works like a charm until....

1. The control geometry grips are stretched while not in top view or top/plan view. this results in unpredictable sizing of the marionette objects

2. Cannot rotate off of layer plane... you can see in the screen caps i'm trying to rotate the object in 3d (off of the layer plane) and it tells me hybrid objects cannot be removed from the layer plane...

Anyone have a logical explanation of why we have this restriction? Or method of moving/rotating this object type in 3d space?

[edit] heres a video of the above... https://www.dropbox.com/s/ve3osmedg06ry8a/Screen%20Capture%202015-10-02%2008.18.31.mov?dl=0

Edited by Chris Brough
Link to comment

Chris, It is a limitation in VW that hybrid objects (objects that contain screen plane objects for 2D plan representation in addition to 3D objects) can not be rotated so they would end up non coplanar with the layer plane. I added a couple node to your network as shown in the attached image. This solves the 3D rotation problem. There still is a problem with the dimensions. I think this is related to some of the old VS calls that Marionette wraps that only work in screen plane coordinates. Specifically HWidth() & HHeight(). I'm looking into this. I am confident this object could be made to work as you like even with these restrictions. We might just have to model it using a slightly different technique. Maybe you could copy the control poly and use its geometry more directly for the extrusions. And possibly use some linear extrudes for the frames. That way you could even add more complex shapes for the stiles, etc..

Link to comment

AHHH thank you Mark! makes sense.

Just added the nodes you show and works perfectly :)

Loving the new Marionette :) So many possibilities...

I'll revisit the face frame one at some point and post my findings back here.

Also hoping to get into complex cabinetry assemblies too. Exciting!

Edited by Chris Brough
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...