Raph Posted December 1 Share Posted December 1 Hello everyone, I am facing a problem that many people have probably already encountered. With the help of Marionette, I draw a rectangle and some text. Unfortunately, the text is placed below the rectangle. How can I instruct Marionette to place/create the elements so that they appear in the correct order? I tried adding a node after creating the text with the code: vs.HMoveForward(h, True) But without success. Thanks in advance. Translated with DeepL.com (free version) Quote Link to comment
Marionette Maven Marissa Farrell Posted December 1 Marionette Maven Share Posted December 1 Can you share your file so I can take a look? Marionette networks are difficult when it comes to stacking because the order the traversal up and down the network isn't really straightforward, it often works better when you create a Marionette Object to make sure what you want is on top, but once I have an idea of what you've done, we may be able to work around that if a Marionette Object won't work for you. Quote Link to comment
HebHeb Posted December 1 Share Posted December 1 I always use the list ordered and group > ungroup afterwards - works well for all 2D objects Quote Link to comment
Raph Posted December 1 Author Share Posted December 1 1 hour ago, Marissa Farrell said: Can you share your file so I can take a look? Marionette networks are difficult when it comes to stacking because the order the traversal up and down the network isn't really straightforward, it often works better when you create a Marionette Object to make sure what you want is on top, but once I have an idea of what you've done, we may be able to work around that if a Marionette Object won't work for you. X-Wall_cadreForum.vwx Quote Link to comment
Raph Posted December 1 Author Share Posted December 1 1 hour ago, HebHeb said: I always use the list ordered and group > ungroup afterwards - works well for all 2D objects Hello, thank you for your reply. Yes, I can try that. I had heard that this was a possible solution. But I was wondering if there had been any developments since then. Best regards, Raph Quote Link to comment
Pat Stanford Posted December 1 Share Posted December 1 I understand that this is the Marionette forum, but maybe we need to also share a little bit about how VW works. When you draw objects that are placed in what is referred to as the Stacking Order. So the first object you draw is at the bottom of the stack and objects placed later are higher in the stack. If the objects don't overlap, then the stacking order does not make much difference. Similarly if you don't use Filled objects. But if you create a filled object that overlaps an object lower in the stacking order then you can have a problem with not being able to see the lower object. In basic VW (not Marionette) you would use the Send Forward/Send Front and Send Backwards/Send Back commands to adjust the stacking order. I usually use the Send Front command on the hidden object. And Marissa and HebHeb will help you out with the Marionette version(s) of how to do this. There do not seem to be Nodes for the send commands in Marionette. 2 Quote Link to comment
Marionette Maven Marissa Farrell Posted December 2 Marionette Maven Share Posted December 2 21 hours ago, Pat Stanford said: There do not seem to be Nodes for the send commands in Marionette. I think the primary reason we haven't included them is because they universally won't work, they'll only work in Marionette Objects, and we don't want users to be confused by their accessibility. There are a couple of other nodes that are restricted to use outside of running straight from the Design Layer, and those are Control Geometry, Control Point nodes (2D and 3D), and Set Selection, the 3 first are for use only in Marionette Objects, and the last only works in Menu Commands. (I may be forgetting one/some, but I don't think so?) When a network is run on the Design Layer, it does a fun traversal up and down the network to build the script out, and it's not really predictable. I have yet to figure out exactly how to make it generate in the same way every time. (I would guess it has to do with which node you had selected when choosing to run as well as the stacking order of the nodes attached to the selected node, but I honestly have no clue, I just know it's complicated and fussy.) The suggestion to group and ungroup is still a good one; the only other thing I can think is to make the network more linear with less branches, but the way a lot of our nodes are created won't really help you there, and I can't see a good way to rewrite the nodes to accommodate that, either. 1 Quote Link to comment
Raph Posted yesterday at 01:57 PM Author Share Posted yesterday at 01:57 PM (edited) Thank you very much for your responses, Although there are no miracle solutions, I am delighted to hear that this is an amusing problem and that the execution order of a Marionette script is unclear. In fact, strangely enough, when creating the parametric symbol, the text is placed above it. So in the end, I didn't need to create ungrouped groups. What came to mind when reading your responses is the following: Does creating “network envelopes” also affect the execution order of the script? I will test this soon. Thank you again to everyone for your interesting feedback. Edited yesterday at 02:00 PM by Raph Quote Link to comment
Recommended Posts
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.