Jump to content
Sign in to follow this  
zoomer

I tried Marionette for the first time

Recommended Posts

And to be honest, for me it is a total user interface disaster.

It is the first node based system where I have problems in wiring nodes.

Sometimes I needed more than 3 attempts and heavy zooming to get the

special cursor to not move the node while trying to connect.

Unjointing seems even worse to me.

Marionette congests my Class List and my drawings.

Others use to have a special Node View so that nodes don't appear in

drawing or content.

I started in a 1:100 drawing/Layer at a typical architecture zoom level.

When placing the first node I realized nodes are in world units (some cm)

and I have to heavily zoom in to see it.

I was used to drag related elements into the node view to get my nodes

in an easy way. Here I have to scroll through the list, which always jumps

back/away when you have more entries than list space.

I had more entries in the list, double the entries to be precise, as I had a copy

of the Marionette folder in my workspace.

(As I have all resources copied so that I am able to empty resource files that

I don't want to see in tool settings. So if a resource file is in my workspace

folder, VW will ignore the original file in program folder)

Unfortunately that standard doesn't apply to Marionette.

When I want to switch between headlines (called files), the whole window

disappears for a second instead of just updating the content.

The most frightening experience was my first debug message when I tried

to wrap my nodes : SyntaxError: invalid syntax

Because I used an Umlaut in a "node name".

I want to be able to spell height in german "Höhe" and not "Hoehe" in the final

Marionette object input fields.

EDIT : No special characters allowed in names at all (I had additional "-")

Edited by zoomer

Share this post


Link to post
And to be honest, for me it is a total user interface disaster.

It is the first node based system where I have problems in wiring nodes.

Sometimes I needed more than 3 attempts and heavy zooming to get the

special cursor to not move the node while trying to connect.

Unjointing seems even worse to me.

I'm sorry to hear your first experience with Marionette wasn't so fun. I've found whenever I've had trouble connecting nodes it was because I wasn't in Top/Plan view.

Others use to have a special Node View so that nodes don't appear in

drawing or content.

Its implementation is definitely different from visual scripting in C4D or Grasshopper. A separate node window would be a great wishlist item. I think multiple drawing windows for one file are on the horizon (I vaguely remember a comment that it was in early Alpha testing) so that might also solve this.

The most frightening experience was my first debug message when I tried

to wrap my nodes : SyntaxError: invalid syntax

Because I used an Umlaut in a "node name".

I want to be able to spell height in german "Höhe" and not "Hoehe" in the final

Marionette object input fields.

EDIT : No special characters allowed in names at all (I had additional "-")

I had this same experience when I first started making networks. I often use special characters and I hope this is addressed in VW2017. It makes it hard to name nodes in a logical way.

Hopefully this doesn't dissuade you from working with Marionette. I'm surprised how quickly I can create simple tools.

Kevin

  • Like 1

Share this post


Link to post

Thanks Kevin for answering my rant in such a constructive way.

I was in Top Plan.

I changed from perspective and stayed in Top Plan as I selected a note type by

click and was surprised that I none appeared in my drawing.

(without an additive active placement by mouse click in the drawing)

Therefore I thought that may work in Top Plan only.

And there is my next issue.

VW managed to choose the longest cursor journeys on screen available to use

Marionette.

Start at the left end of screen to activate the tool, travel to the top left of the

screen to choose nodes. Go back to your drawing area to place it, go back top

left to choose another node, ..., finally press X to move and edit wiring.

If more nodes needed, go back to start.

And now when you edit your nodes, you have to travel each time between your

drawing area and the most top right OIP area.

Why can't I just double click on the node's text to edit the names and values.

Another thing I don't like. Do I really have to care about Dim/String/Real/... for

inputs ? That may be natural workflow for programmers. But shouldn't do

VW that for me as a user automatically ?

Hopefully this doesn't dissuade you from working with Marionette. I'm surprised how quickly I can create simple tools.

Kevin

Beside that I am missing some real tasks for parametric modeling beside rewriting

BIM Tools and that you won't come that far without having a programmer's brain

and fun with math and abstraction, the interface indeed kills any ambitions.

Share this post


Link to post

While wiring in my other App is a one click action,

Click - Drag - Release,

VW is a 3 Click Action,

Click to Select Node - Click to Select Wire Start - Click to End Wire

and I have to be quite precise about the cursor position.

Share this post


Link to post
Another thing I don't like. Do I really have to care about Dim/String/Real/... for

inputs ? That may be natural workflow for programmers. But shouldn't do

VW that for me as a user automatically ?

I think this is a very valid criticism. Ultimate all of the inputs could be dealt with by one more sophisticated input node that had a drop down of types that also included an option for "automatic".

It goes to the argument I've been making in a couple of other threads that Marionette should be a bridge between any designer and scripting, rather than a direct port of an underlying scripting language. Marionette is definitely in its infancy and now is the time for users to give feedback and shape its development.

Kevin

https://techboard.vectorworks.net/ubbthreads.php?ubb=showflat&Number=230955#Post230955

  • Like 1

Share this post


Link to post

You can use the "Any" node which will evaluate the input you give it and assign it to a variable type chosen by Python.

It's USUALLY pretty good at determining the best type to give something, however there may be some mistakes occasionally when using numbers that you want to be strings.

  • Like 1

Share this post


Link to post

Thanks Marissa.

I read that "any" description.

I finally found all input type for my "rectangle", except for the "orientation".

I think I tried all input nodes:) but even the "any" didn't work for me so far.

Maybe I missed one ?

I think the rectangles orientation input should be something like 0.000°,

so degree ?

It does neitehr add the unit type by itself nor did I find any input type that

lets me type the "°" degree without error message.

Couldn't the nodes Descriptions show the Input Type needed ?

Couldn't the Descriptions be availabe by right mouse click or hovering ?

Also the error messages point to the rectangle node,

which I think is not the problem. Why doesn't it point to the wrong input node.

And it always shows an error at a special line.

Where is the whole piece of code where I can see that line ?

But will try to see how far I come with using the always the "Any" node.

Share this post


Link to post

Currently the orientation for Rectangle is in vector form, I know, it's not ideal. It just hasn't been updated yet.

You'll want to use the Vec2 node for orientation.

We're working on a better naming convention for the ports to show right on the node what type of variable needs to be wired there/is being wired from the port.

Unfortunately, because of the way descriptions are stored/queried from the object, I don't think we can do a contextual menu item with the description. I know many changes are coming with resources in general, and I'm working with some of the people on the platforms team to come up with a better way to display descriptions.

The reason the error points to the rectangle is because that's where the script is failing. The rectangle node houses the script to create the rectangle, and because it's receiving an incorrect variable type, it's the one kicking back saying "Hey, you wired something wrong to me."

If you want to see the code for the node, just double click on the node. It will bring you to the "guts" of the script. Unfortunately, currently the line numbers returned in an error are misleading. How Marionette works in the end is that it compiles the entire network into a singular script and runs that instead, so those line errors could be pointing to something there OR they could be pointing to functions in Marionette.py which exists in your Application folder, if I remember correctly.

If you're interested in seeing what the Marionette script compiles into, if you right click on your network you can select "Save Marionette Script as Python Script" and that has the script the network uses at the end.

  • Like 1

Share this post


Link to post
Currently the orientation for Rectangle is in vector form, I know, it's not ideal. It just hasn't been updated yet.

You'll want to use the Vec2 node for orientation.

I tried that - will do again.

Thanks

EDIT : Now it works

Unfortunately, because of the way descriptions are stored/queried from the object, I don't think we can do a contextual menu item with the description.

The reason the error points to the rectangle is because that's where the script is failing. The rectangle node houses the script to create the rectangle, and because it's receiving an incorrect variable type, it's the one kicking back saying "Hey, you wired something wrong to me."

Unfortunately, currently the line numbers returned in an error are misleading. How Marionette works in the end is that it compiles the entire network into a singular script and runs that instead, so those line errors could be pointing to something there OR they could be pointing to functions in Marionette.py which exists in your Application folder, if I remember correctly.

I understand that there are always reasons why things are as they are.

Looking forward what VW 2017 will bring.

it's the one kicking back saying "Hey, you wired something wrong to me."

But currently it does not allow me to see"which" input node was wrong ?

If you're interested in seeing what the Marionette script compiles into, if you right click on your network you can select "Save Marionette Script as Python Script" and that has the script the network uses at the end.

I think that's what I was looking for.

Thanks. I will try.

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.

Guest
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.

Sign in to follow this  

 

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...