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

Marionette Monday Webinar Questions

Recommended Posts

Thank you VW team, great video!

Question, is it just me or is the video aspect ratio off?

(example; @ timestamp 12.33 the 4" circle appears as an oval)

Not a major issue but it may be confusing for some...

Share this post


Link to post

Question regarding Marionette.

I switch between meters and Ft/Inches units often and would love to have a script for this. Is it possible for marionette to do this?

Share this post


Link to post

Yes, really easy to create a node that does this. It's a good example of how to create custom "commands" using Marionette. I went ahead and threw one together.

Share this post


Link to post

Thanks Mark

That's very nice of you...I'm not sure what to do with this now as I'm new to Marionette. I guess that will get sorted out.

Thank you again.

Share this post


Link to post

Select the node, in the Object Info Palette, select the units you want the document to use from the dropdown, then click "Run"

Share this post


Link to post

@J. Wallace, could you post the full "error1.png" message that you get? I'm not seeing an error when I run this node.

That's usually the best place to troubleshoot, but I need to see everything in that window.

Share this post


Link to post
Hi Marissa

Here's a screen shot of the full error.

Jamie, could it be that you installed the Extensio module ?

Version 2016.02 broke Marionette because of an UID collision with one of our tools.

If so, remove it or upgrade to the latest release to fix it.

Share this post


Link to post

Thanks Hippocode...

The node now functions which is great.

How is it best to share this with different files I work on? I don't see anything in the resource pallet which would make this easy to access...Thanks

Edited by J. Wallace

Share this post


Link to post

A question about nodes...how does one share a nodes made in one file with other files. Doesn't look like it shows up in the resource browser?

Share this post


Link to post

Take a look at this previous thread for info on how to add custom Marionette nodes so that they can be accessed from the Marionette pull-down menu.

Very helpful tip from Pat Stanford quoted from that thread:

And those nodes MUST be saved as a symbol. That is the part I was missing.

It is probably best to check the "Convert to Plugin Object" box on the create dialog otherwise you will have to manually ungroup the node before you can use it as part of a network.

Your nodes will be saved in a separate sub category than the default nodes. So if you create a file 01. Basic Math with some nodes (as symbols) in it, it will not just add them into the Basic Math sub-category, but will give you two Basic Math sub categories. The first with the info from the User Folder, the second with the data from the Application folder.

The good news is that you don't have to restart VW for it to recognize that new nodes (or files/folders) have been added. They just appear.

Share this post


Link to post

Hello everyone! Thanks to those of you who attended today's Webinar. If you were not able to catch it, it will be available one YouTube soon.

For now, I am attaching the file I used in the webinar - I didn't get a chance to show what all of the definitions can do, so feel free to play around with them.

Share this post


Link to post

Thank you Sarah.

Great webinar today.

I have so many questions but I really need to take the time to write them in a sensible manner.

Share this post


Link to post

Demo File

How does one put a custom curve, i.e. taken from a site plan, for example, into Marionette as an input?

She will cover this at some point, if not in this session then in the next. There are a few ways to do this. You can use the "Name" node from the input node category to get a named object from the document. You can also package a curve or any other object into a standalone PIO as control geometry.

If you have no start input for a series object, does it start at zero?

Yes

Can you change the wrapper class without unwrapping and rewrapping?

Yes, you can change any of the attributes in the attributes pallet also.

Just like redefining the class for any VW object?

Yes

How long did it take Sarah to be that proficient with Marionette?

Good question. Sarah came to Vectorworks already having experience with Grasshopper in school, so the answer to this question probably needs to be qualified, as they are very similar in concept and approach.

will you share that appendix page please?

http://developer.vectorworks.net/index.php/VS:Function_Reference_Appendix#objects

What is the best approach to start implementing algorithmic design in to your daily practice?

I think to look for places in your practice that would benefit from automation. Repetitive tasks. Save your energy for design.

Does the C convention mapping true/ false to 1/0 apply to Marionette booleans?

Marionette uses Python convention. True and False are values of a proper Boolean type.

Your list of object type is all CAPS- significant, or not?

Not.

How do we know the default values in a function?

If you open the node they are listed in the script and also in the description.

What is the output of "Ungroup" - does it name each rectangle?

The output of the "Ungroup" node is a list of object handles -- in this case, handles to a bunch of rectangles.

You only have to select one node in a network to create a wrapper for the whole thing?

Yes, it will find the rest

Can wrappers with the same name that are not symbols actually be different?

The name of a wrapper is just a title. So, yes there would be no naming conflict.

Can a wrapper be made from multiple wrappers?

Yes, they can nest to any depth.

Share this post


Link to post

This is great Jim. Thanks for getting it up so quickly. I had to miss this one on Monday.

Share this post


Link to post

Very informative!

One small comment. Wasted screen space is a pet peeve of mine as it prevents me from having the work area at maximum zoom. This time Sarah had significant unused space: top, bottom, left and right.

Edited by RickR

Share this post


Link to post

All video, demo file and QA have been appended to the original post in this thread for convenience. I will also be maintaining the registration link in that post for whichever session is next up until the series completes.

Share this post


Link to post

A few users asked during the webinars live:

US AIA Members Can Earn 1 AIA LU.

Those who viewed the webinars live can submit their AIA numbers for us to process:

Submit for Webinar 2

Submit for Webinar 3

Those viewing a recorded webinar can take this test to receive credit:

Test for Webinar 2

Test for Webinar 3

And we’ll of course provide updated info for Webinar 4.

Share this post


Link to post

When placing a Google map in the file this way, does it place the image in the correct geographic location?

Yes, It obtains the lat and long from the Heliodon. If the Heliodon is rotated, the map comes in similarly rotated.

Is the Marionette.py file automatically created and updated?

It's copied into the user folder when Marionette runs. But, It's not changed in any way.

Can you please repeat the context/definition of the python paragraph called "def RunNode(self):"

The RunNode function defines the functional behavior of the node. It "maps" input values to variables and performs operations on the variables, then maps the results to output values.

How does the scripting language know where a block of code ends? i.e. Java has { }...

White space is significant in Python. It uses indentation to specify scope.

In your Filter example you left the Else alone. Shouldn't that have been reversed or deleted?

Not necessary because the logic in front of the Else() was inverted.

Missed a couple minutes because of internet failure - but do all VW commands have a corresponding Marionette or Python function?

Many commands in VW have a function call in the API. http://developer.vectorworks.net/index.php/VS:Function_Reference

Can i use a smaller/ nearer area in google maps?

You can change the “Zoom value” setting in the Marionette definition. However, Google does impose some limits.

Will you post the Marionette resource page again? Thanks

www.vectorworks.net/marionette (marionette resource page)

www.vectorworks.net/sciencefair (info. on science fair competition)

After you've repurposed a node (SetName for example), where does it live? i.e. how do you access it for future projects?

It's in the file you are working in as an instance of a plugin object. You can put it in a symbol and put the file in your default library user folder to make it available to the tool popup.

You're calling the variable string - I would call it name, can you do that?

You can call it whatever you like

"rectangle" has double quotes the next SetDescription is in single quotes. does it make a difference if you use double or single quotation marks?

There are 3 ways to specify strings in Python! ' ', " ", """ """. Just remember that the quotes have to match at the beginning and end of the string value.

http://www.tutorialspoint.com/python/python_strings.htm

How would we know that h = object and name = string? Is this defined somewhere else?

These are defined in the “Params” class (the upper, first indented section) of the Python script of the Marionette node.

Where are the best places to learn the basics of Python? Or would doing that be a bit of overkill for the purposes of using Python with Marionette?

Not overkill at all! Marionette can use any code that others have written in Python. There are tons of tutorials for free online. Go to www.python.org

Naming convention is that functions start with a capital letter for the first word but variables lower case?

You can define your own naming conventions, just remember that Python is case-sensitive, so a variable called “Height” is not the same as a variable called “height”.

You are calling vs. functions - does that mean that the whole thing is dependent on vector script macros? (also: What is the relationship between Python, VS, and the core of VW?)

VectorScript was the first scripting language for Vectorworks. Python was added a few years ago and calls into the core of VW using the same functions. Another way of saying this is that the Vectorworks Python interface uses the same API as the Vectorscript interface. We had hundreds of functions that had been exposed over the years to allow VectorScript to control Vectorworks. When we created the Python system, we made these all available. The good news here is that if you already know Vectorscript, you’re already familiar with a great deal of what you need to be successful in Python.

Where do you find the list of definitions, i.e. T=type, PON=pluginobject name, etc? (also: To identify the parameters within Vectorworks, how do you find out that PON means plugin object name, for example?)

These are VectorScript criteria. It’s probably a good idea to become familiar with the VectorScript / Python developer page at http://developer.vectorworks.net/index.php/VectorScript . The “function reference” available at that page gives you a listing of all the function calls available in VectorScript/Python interface to Vectorworks (its “API”). There’s also an “appendix” which lists a lot of constant values (in this case criteria values). See also http://developer.vectorworks.net/index.php/VS:Search_Criteria

How, in general, do you identify the APIs available out there on the internet? VERY general question, I know!

Python is popular among thousands of developers in various industries. There is an incredible amount of free code out there. I would just do a google search, and also go to www.python.org .

What is a "namespace"?

It is a "chunk" of definitions (functions, types, ect,). It's a way to stop confusion resulting from duplication of names. Here is general overview: https://en.wikipedia.org/wiki/Namespace

Is there a way to specify WHICH Heliodon to use, if there is more than one present in a file (for the purposes of shadow studies/renderings)?

There are several ways to do this. Name the heliodons, for example, and get a handle to the heliodon of interest based on its name.

Demo files and video links added to original post.

Edited by JimW

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.

×