Jump to content

Best Approach to Learning Visual Scripting?

Recommended Posts

 I was following along with yesterday's Benefits of Algorithmic Modeling presentation until there started to be technical difficulties.  It was truly interesting and powerful.  Thank you Sarah @sbarrett !


When watching one of the example scripts, everything made sense once it was explained.  That said, I don't think I could build any kind of script (visual or otherwise) from scratch. So I was wondering what approach would you recommend to a newbie learning visual scripting?


I've gone through all the online tutorials that @PVA - Jim assembled. I've also looked at the resources that @Robert Anderson has posted, but I feel like I need something else to help me put it all together.  Does anybody have thoughts as to how to get started?


I've thought that monthly design challenges or puzzles might help.  Or periodic topics about the various functions.  Or maybe a virtual meetup group.  Is anybody else in the same boat?




Edited by cberg

Share this post

Link to post

I think the best way to get started is to script something you already know how to make WITHOUT scripting.

Write out a list of the steps you take when drawing something, and then look for nodes/functions that would help accomplish that for you. For Marionette, if you aren't able to find a node to do something, ask in the forums; sometimes it's been created but not added to default content, and other times it can be made for you quickly.

Start small and build from there. If you want to do something complicated, try doing the smaller parts of it first and then expand on it.

  • Like 1

Share this post

Link to post

That makes sense if you have a sense of how to put the language together, and what the words mean.  I've been wondering whether I need to go through each constraint or module and think about what it does, and how I can put it to use, or build on it to do something interesting. 

Share this post

Link to post

I think the best way to learn any programming language, graphical or otherwise, is to start very small and then build on that base.


The traditional way to learn traditional languages is called "Hello World!".  Write a program that will just display "Hello World!" on the screen. Then you can build on that. Move it to a different location, change the color or font, etc.


If you try to wrap your head around all of the nodes at once, you will never get anywhere. Pick a small, limited problem and see what it takes to do that and then add on additional functionality. Don't start with trying to create a stair tool that will draw 100s of different configurations with 27 different rail styles. Start with wanting to draw a 3 step concrete step. Once you get that working you can start thinking about how to add additional capability.


Personal Opinion Follows:


I think that Marionette is a far better solution for creating objects than for modifying existing objects. In its original implementation, it was very limited in getting access to existing objects. It has gotten much better, but for an original learning exercise, you are better off creating new objects in the drawing to learn how things work. You need to know too much about how objects interacts to do modifications with Marionette.  Conversely, I think that VectorScript/PythonScript are far better at modifying objects as a learning objective. You have to know too much about how drawing objects works to be able to easily learn how to make high level, modifiable objects that are easy with Marionette.


In the end, either Marionette or scripts can accomplish just about anything. It is just a question of what the best way to learn which language.


End Personal Opinion

  • Like 1

Share this post

Link to post

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.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


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.

  • Create New...