Jump to content

Marionette Object interaction with geometry OUTSIDE the control geometry

Recommended Posts

Hello! I want to reference my marionette object to a geometry which is outside my control geometry, naming it in the menu of the marionette object I create (as shown in the object info panel). I made a simple example to explain better this issue.

I created a rectangle (the only control geometry placed in 0, 0, 0) and in my script first I extrude it, and then I intersect it with another object that I call in a second moment.




After naming the object in the menu, the result is shown (pics 1-2).

If I move the surface, the script is still working (pics 3-4)

But if I move my marionette object (pic 5), the result (pic 6) is wrong: actually is the same of pic 4.

From what I’ve understand, the intersection is considered as if my marionette object stays in 0, 0, 0. I think it’s a reference problem, but I’m not sure. How can I solve this?

Share this post

Link to post

A few notes:


1) In the example you attached, it looks like you edited the Solid Boolean node to only do intersections as well as extrude your rectangle object. That's fine, but unnecessary and made it more difficult to debug.

2) It looks like instead of using Control Geometry the way it's intended, you've referenced an object in the control geometry using the Name node. This is also fine, but I would advise looking into the Control Geometry node and seeing how that works, it could simplify some things for you.

3) The issue that you and I are running into is that these objects don't share a coordinate space. Since you've stored your rectangle in the Control Geometry, it doesn't know where it is in relation to the surface on your design layer. I'm trying to find the best way to get this to work, but it's likely going to take a bit of time.


What I've tried so far - I replaced your nodes with the stock Extrude and Solid Boolean, set the Solid Boolean node to intersect (since that's what you had left in the node when you edited it), I used the Control Geometry node instead of the Name node to reference your rectangle and extrude it, the issue that remains is getting the two coordinate spaces to line up.

The reason I'm running into problems is because I'm trying to preserve the surface object, which you were correctly doing by leaving the checkbox checked in the Name node to duplicate the object. What happens in that case is that the duplicated surface ends up sucked into the Marionette Object coordinate space which does not line up with the surface on your design layer, that's why we're running into issues. 


I'll see if I can figure out a solution.

Share this post

Link to post

Thanks for the reply Marissa!

This is only a small example that I made to make my script easier to understand.

The full script is in this topic of few days ago ..


Referring to your notes:

1. I used customised nodes using python due to the complexity of my object.

2. I don't use control geometry because I have more then 20 elements in the control geometry: I tried to group them and make them into a symbol in order to use control geometry but in the end I had issues (instead of displaying the symbol, I only saw a polyline)

3. To avoid this problem, I tried to place a 3d locus in the zero of my control geometry and in the node involved I extract the location of the locus to use it for movement, but it doesn't work

4. To be honest, I can also don't duplicate the surface.. it's not crucial to my script.. but I try to not duplicate it and the result is still the same..


The funny thing is that my script works perfectly but, when I wrap it to make the marionette object, I had a lot of problems, most of them solved in a way or another..

However thanks for your reply! I hope you can figure out a nice solution!

Thanks again Marissa!


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