Jump to content
Developer Wiki and Function Reference Links Read more... ×
D.E.

Misplaced control geometry

Recommended Posts

Hello! I’ve been working with marionette for a month, so I’m not an expert in the field and it would be nice if any of you can help. I created a quite complex network with customised nodes. I use both 2d and 3d control geometries (in total more then 20 objects), calling them with the “Name” node. The geometry is placed in space with a certain precision. The network is working properly. My intention is to create a Marionette object, so:

 

  1. I wrap my network
  2. I convert to a Marionette object
  3. I paste in place my geometry in the control geometry

 

After step 2, I see that the disposition of my geometry in space is changed, and this is no good for my script because I need those geometry in a specific place. So I try to move inside the control geometry but nothing changes.

In the first place i thought maybe the control geometry is not designed properly, so I redraw it in the proper position but the position is still not the right one.

Any suggestions?

Thanks in advance

Share this post


Link to post

Hello DE,

 

Whenever you convert control geometry and a network to a Marionette object, the geometry will most likely move. What is happening is the geometry is centered over the wrapper, and that becomes the insertion point/center of the Marionette object. You can think of a Marionette object as a symbol or plug-in object - it lives as a resource to be placed in the drawing - it doesn't remember its original location. Having multiple pieces of control geometry can also be tricky. Are the separate pieces of control geometry keeping the correct spatial relationship between each other?

 

Share this post


Link to post

Hello Sarah,

 

Thanks for reply. After many tries,  I start to understand what you mean.

However the separate pieces are NOT keeping the correct spatial relationship. Maybe because those pieces are built in different file with different origins? 

So what I'm trying to do now is to rebuilt all the geometry inside the control geometry. Maybe it works. I will let you know if I succeded.

Of course any suggestions are welcome!

Thanks again Sarah!

 

Domenico

Share this post


Link to post

It can be difficult to use multiple control geometries - the best way I have found is to group them all together and make the group your control geometry. Then you can use a Contents node to access them. Once you have the list of control geometries from the Contents node, you can filter them by name or type, etc.

Share this post


Link to post

It sounds like a good idea! I will give a try!

By the way I have another issue: some elements of my control geometry are 2d and they are drawn on the layer plane (not the screen one), but when I insert them in the control geometry, their plane is changed to "screen" instead of "working plane".. and if I change them from the Object info palette, this change is only temporary: if I open the control geometry again, their plane is still "screen", even if I changed before.

I think I do something wrong but I cannot figure it out what. Any suggestions?

Share this post


Link to post

I believe this will always happen because of the nature of Marionette objects. In this way they are also similar to hybrid symbols - the 2D geometry get treated differently than the 3D geometry. If it becomes problematic for the script, you can use the Set PRefID To Ground node in the Object Info folder to set the object to the layer plane while your script is acting on it. However I do not know if the object will stay on the layer plane if you ungroup the Marionette network from the control geometry.

Share this post


Link to post

Thanks again Sarah!

So, I've tried everything that you suggested me and the only thing that works is the Set PRefID To Ground. Thanks for your advice.

However I have another issue..

In my network there is an empty Name Node that is going to appear in the menus in the Object Info Palette, because I want my network to interact with an external geometry. (pic 1)

This is the result after running the script and it works fine. (pic 2)

If I move the external geometry (the white one), the script is still working. (pic 3)

But, if I move my Marionette node object (and this is the case that I'm going to apply!), the script is not running properly. (check the nonalignment in the red circle in pic 4)

It seems that the external geometry is in the control geometry (and it is not!).

What I want to do is to move my panel in the space and relate it to an external geometry that I name in the Object info panel menu.

Any suggestions?

1.jpg

2.png

3.png

4.jpg

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

 

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.

×