Jump to content
Developer Wiki and Function Reference Links Read more... ×
Robert Anderson

Marionette Resources for Beginners

Recommended Posts

Hi all, I thought that I'd try and put in one place some diverse Marionette resources for you who are new to Vectorworks' algorithmic / parametric modeling tool:

 

Basic Tutorial in Vectorworks documentation

More Advanced Tutorial in Vectorworks documentation

Marionette on YouTube (thank you Jim)

Marionette Developer Wiki (for Pythonistas)

  • Like 4

Share this post


Link to post

Hi Robert,

 

I have a question regarding results I'm getting when recreating tutorial scripts with VW Architect 2019.

I'm attempting to meticulously recreate these scripts that originated in 2015, but my results (basic rectangle range/series/rotation) differ from the earlier versions.

I've compared input variables between my version's nodes and the originals, and they're the same. The earlier nodes however, differ in their port labels. Also their codes differ from the 2017 updated code. 

 

I've attached code samples and images showing the difference in output that I've gotten.

 

My question: Does the code from 2015 differ enough to get the kind of differences I'm getting, or am I simply not being thorough enough debugging my own work?

 

Thanks very much.

Chuck

 

Rotate Node Code ORIGINAL.rtf

Rotate Node Code MINE.rtf

> My Script vs Original Tutorial.png

> My Script Output vs Original Script Output.png

CD Marionette Experiments copy.vwx

Share this post


Link to post

@Chuck Davidson

Most of the nodes will have no difference for code behavior between 2016 and 2019; the port naming is just a cosmetic change. My best guess prior to debugging this is the Rotate node, that node had a bug at one point that we fixed between these versions.

I'll take a deeper look and get back to you.

  • Like 1

Share this post


Link to post

Thank you Marissa!

I really appreciate your reply.

I'm the only one here interested in Marionette, so there's really no one to discuss it with.

 

CD

 

 

Share this post


Link to post

Well I took a look at this - and here is my finding 🙂

It is indeed related to our fix for the Rotate node.

The description has always read that the objects will be rotated around their center point if there was no point attached to "cent" (or what is now called "pCent")

As you can tell, the old node from your top network is not following that requirement, it is still rotating about the point (0,0).

Our fixed node correctly rotates the objects around their individual center points, as you can see in your lower network.

The fix is to add a Point3 node with the coordinates (0,0,0). (Unfortunately, it looks like a bug remains when using a Point2 node, so I'll file a bug and try to get that fixed.)

Screen Shot 2019-03-06 at 1.08.33 PM.png

  • Like 1

Share this post


Link to post

Hello, I am new to marionette scripting. I am slowly getting the logic of how different nodes act and are used. I got a question regarding getting intersection points from objects. You have infinite intersection node that only does line to line intersection and extracts coordinates . Is there a node to get intersection coordinates between a line (2point) and a polyline (3point or more)? In the image, just a quick example I am trying to achieve: 2 objects were created from list of points (in this case just from existing  objects by name). The node seems not to understand the intersection point correctly, because I am using a poly line object and the result is a funny coordinates for a red locus. Could somebody help to rewrite the intersection node, to be able to pick up a poly line objects from input? If somebody already written one I could use? The marionette library contains infinite segment intersection but it doesn't make any difference, although you would think that in this example, the intersection is on a segment of a poly line...😕 Thank you253962669_Lineintersection.thumb.jpg.84fdf23014f1eed4b7f71756de62851e.jpg

Share this post


Link to post

Unfortunately at this time, the Intersecting Line nodes only work with Line objects, not Polys.

I've attached a network that will do what you want, and I'll make a note to look into creating a node (or possible updating the existing node) to work with polys as well.

 

The attached network breaks a polyline into individual segments and checks each segment to see if they intersect with the line.

I haven't tested it extensively, but it seems to work okay. Please let me know if you find any issues.

 

 

FindIntersectLinePoly_MFarrell.vwx

Share this post


Link to post
On 5/2/2019 at 12:14 AM, Marissa Farrell said:

Unfortunately at this time, the Intersecting Line nodes only work with Line objects, not Polys.

I've attached a network that will do what you want, and I'll make a note to look into creating a node (or possible updating the existing node) to work with polys as well.

 

The attached network breaks a polyline into individual segments and checks each segment to see if they intersect with the line.

I haven't tested it extensively, but it seems to work okay. Please let me know if you find any issues.

 

 

FindIntersectLinePoly_MFarrell.vwx

 Thank you Marissa, that what I was after. I will try to implement that node sequence into my test network and see if I encounter any issues or find more questions.

Share this post


Link to post

Hi all,

 

What is the easiest way to install numpy for python in Vectoworks 2019? I found this thread that discusses it but I get an error message when I try to do as instructed with the file provided.

 

 

 

Thank you!

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.

×