rebecca_d_h Posted April 25, 2022 Share Posted April 25, 2022 Hi I am new to Marionette so still learning. Currently I am trying to create a plinth with parametric data to become part of a set of components that will eventually create a showcase. I have created the plinth with a single foot but I can't work out how to create the other 3 feet in the other plinth corners - ideally the feet would reposition in the same offset position no matter how big the plinth is. Here is a screenshot of the workflow I have so far (which is probably far more complicated than it needs to be). I have managed to duplicate 1 foot opposite the original but it is offset from the original XYZ point which is bringing it in too far. Can anyone help, with the feet and / or tips to simplify the workflow? Thank you B Quote Link to comment
DomC Posted April 30, 2022 Share Posted April 30, 2022 Hello Welcome to the Marionette Forum. I think your script looks quite good. My workflow is often to first calculate all necessary points and data. After That I create the Objects. Also I use a lot of custom nodes to save number of nodes (Enhanced Rectangle, Function 2, BBox Enhanced) but this is not necessary per se. Creating Rectangle to find the corner point is something I would not do generally. Also Mirroring is not necessary, if your feeds are circles or squares. To Mirror correctly you need one horizontal and one vertical axis. In your Script there is only one Axis. Also you need to mirror one Feed over a Diagonal Axis and if the shape is not a square, this had to be calculated. Or you Mirror at the Vertical Axis, then you mirror the resulting object along the horizontal axis. The Get Item in the Screenshot, gets the first second duplicate (top left) and mirror again along the vertical axis. By the way, mirroring should work like this: Mirror Example.vwx Quote Link to comment
rebecca_d_h Posted May 3, 2022 Author Share Posted May 3, 2022 Hi Dom, Thank you for your response. Perhaps mirroring the feet is not the way to go about creating them? What I am looking to create is a plinth that can be sized to suit any exhibit size. So it could be 1m x 2m or 3m x 1.5m and the position of the feet would move to suit the overall plinth size without having to recalculate the offset each time. Does that make sense? I thought if I could find the centre of the plinth itself I could mirror (or similar) the original foot around it to the other 3 corners.... Thank you for your help Quote Link to comment
Popular Post DomC Posted May 4, 2022 Popular Post Share Posted May 4, 2022 (edited) Depending of the Skills and what the End-Result should be. Even a Script with less parametric (width, depth, height) but with a lot of Graphical Details (rounded edges different materials, Fittings etc.) will give you a lot of Nodes by create every object by script. So when you start your script is pretty compact. At the end you want to add record formats, different surfaces, textures, colors, switching on of objects, replace handles etc. etc. So it can be your script if you start looks very different from what you really use at the End. I think we could group some of different strategies. I show you here 4 different approaches for writing a Script with Marionette: 1. Geometric Strategy. Like you would draw it manually maybe. While in Marionette this means if you need a middle Point you have to draw an object or if you need a parallel contour you have to create it. Also geometrical could be we had a Node that calculates as example a parallel shape but do not draw an object. Here an example which do the job of ground-plate and foots Example: Here are Rectangle is created and then a parallel contour to this rectangle the edge points of the contour are taken for the foot Objects. The Advantages of this would be, if you have a non rectangular shape it would still do the job. 2. Calculation Strategy with native-Node-Math-Calculation. This Means you would calculate the points first and then create the Objects at the resulting pre-calculated points. With "native-Node-Calculation" I mean, that every simple math calculation is created by nodes. This generally results in a lot of nodes but everything is directly visible. So for small stuff this is OK. 3. Hybrid technique by using function Nodes: The technique from my example 2 can topple the Advantages of graphical Scripting to code-Scripting. Because a simple math like (a+b-c*2-25+1-2+a*4+a-5+a/2) is fast written by keyboard and need very much time to scripting node by node. Function Nodes can help a lot to optimize Marionette Workflows. While Standard-node-Library have one function node, I often use function2 or function4 (4 input). Look next, that example which does the same as Example 2 but without the math and Point nodes. The More calculations you need the more time you save with that workflow. I wrote the formula over the Node. It need the same reflections (not really more brain) like example 2 but is more compact. The only special here is, that I create the points with the brackets instead with the nodes. 4. Using existing Geometry. If you have a simple parametric (width, depth, height as Example) and a high grade of Details of your geometry the workflow of scripting every object is getting not the best Option. There are Custom Nodes, which allows to handle existing Geometry instead of creating Geometry. Here an Example, which takes "prototype" Geometry of your Object and "reshape it" in x, y, and z direction. The big advantages is, that graphical Details you draw in your Object will not blow ob your network and also you can input different but similar types of your object (one with frame, one with plate backside, one with rectangular foots etc. etc.) without doing a new script. Just a short picture of example #4. I just made some holes and profiles to the case. But the script is the same, no matter if more details are added. On the negative side, just half of the nodes are content of the standard-Library (It is not on me to change that). If I have to create a quite simple parametric (like a showcase). I combine Strategy 3 and 4 for myself. So one part like the hull is maybe just x y z parametric. The other part are maybe panels and data or part list informations I script additionally. You can also combine something like in Strategy Example 4 with several x y z reshape operations and two different symbols. I think maybe too much informations for a beginner but that example is pretty perfect to study the different scripting workflow. At the end it is matter of taste and what I like most on Vectorworks we have always the freedom to have our own taste. I also learn always something new, If I see scripts from others. Even from beginners maybe think of something new which also old rabbits can absorb in their workflows. Plint Example.vwx Edited May 4, 2022 by DomC 7 1 Quote Link to comment
Pat Stanford Posted May 4, 2022 Share Posted May 4, 2022 @DomCThank you for this. Your explanations almost make it possible for me to consider using Marionette instead of Vectorscript. Or at least a lot less painful when I choose to try and learn more about Mario. 1 Quote Link to comment
rebecca_d_h Posted May 5, 2022 Author Share Posted May 5, 2022 @DomC Thank you, this is all very helpful for answering my question but also giving me options to learn different techniques to achieve an end goal. 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.