Jump to content
Developer Wiki and Function Reference Links ×

Where's a marionette network supposed to "live"?


line-weight

Recommended Posts

Pretty much complete marionette beginner here.

 

I want to use a marionette network to carry out an operation on various objects in an already existing drawing.

 

(It's the one linked to in @Marissa Farrell' s post here   https://forum.vectorworks.net/index.php?/topic/45566-divide-polyline-into-segments/&do=findComment&comment=232266

 

As I understand it, I have to copy&paste the network into my drawing file. But where do I put it? For example does it have to be on the same design layer as the object I want it to act upon?

 

It seems I can paste it into the screen plane in which case it is kind of floating there in front of the objects I want to alter. Then I can use it, and delete it, and then re-paste it next time I want to use it (potentially somewhere else in the same file). I'm guessing this is not how it is intended to work though?

 

Watching the video below I see that I can convert it into a menu command. I've managed to do that. It doesn't appear where the video says it will (Tools menu) - it appears in the 'New' menu. But anyway - now it's a menu command, am I unable to edit it, or get into it to change the inputs?

 

https://youtu.be/VCdxp2eRCmc

 

 

Link to comment

It is a Holiday weekend (Thanksgiving) here in the US so we may not hear back from VW. until next week.

 

I am also pretty much a Marionette newbie, but here are some ideas.

 

1. If you Wrap (Right click and choose wrap) your network it will only have a single node icon rather than  the mass of wires. It can then almost act as a "button" on the drawing.

2. In VW2019 and 2020 you can convert a Marionette to a Marionette Command that will live in the Tools menu. I have not yet done this so I can't give you any help on making it happen.

3. If you convert a network or a wrapped network to a Blue Symbol (Convert to Group) you can store it in a Favorites of Library file and import as needed rather than having to Copy/Paste from an open file every time.

 

I hope this helps as a starting point.

  • Like 1
Link to comment

Thanks @Pat Stanford

 

Since my initial post I worked out how to alter the inputs to the network so that it would act on a selected object when used as a command from the menu. Which does the job for now. Would still like to hear what the official advice is though.

 

Also, now that it is in my menu, I'm not quite sure where that command actually 'lives', or how to get rid of a couple of test ones that are now in there too.

Link to comment

Not sure this helps but might be relevant:

The result of running a marionette network is often (always?) a group. Ungroup to break the link to the network. Regroup. Now the group can be moved to a different layer. So, at least for some Mnets, the nodes can live on a hidden layer and the result can be moved to a visible layer. Run this network again to create a new group. The previous unlinked group is no longer affected by network updates or runs. 

 

There is a node for changing layer of the result group, but, depending on purpose and complexity of the network and the result, that auto layer change can drastically increase run time of the network.

 

If the collection of nodes comprising the Mnet is converted to wrapper>Mobject, the nodes are not visible except by dbl click the result group to enter the edit pane. Ungrouping the Mobject may destroy the network, (I’m away from keyboard so can’t test)

 

-B

  • Like 1
Link to comment
  • Vectorworks, Inc Employee

hello @line-weight - the Marionette menu commands that you create live in a file in your user library. 

Screen Shot 2019-12-02 at 8.56.10 AM.png

 

You can see in the image that I have a single menu command: Rotate X 90. If I wish to remove that menu command, I can open that file, go to the resource manager and delete that wrapper. If I wish to edit a menu command, its a little trickier. I can open that file, place the wrapper in the drawing space, edit the wrapper then RESAVE it as a menu command. If you give it the same name as the old menu command, the new one will replace the old.

 

If you wish to save a network to use in multiple files but NOT turn it into a menu command, you can simply wrap that network and save that wrapper as a symbol. If you have "Convert to Plug-In Object" checked when you convert it into a symbol, it will be a wrapper when you place it in a new drawing. You can transfer it to other files just like you would transfer a symbol. You can also see in the image of my Resource Manager that I have a favorite file called My Custom Nodes. That is where I keep custom Marionette nodes as well as wrappers in the form of networks that I may wish to use in multiple files. It's easy for me to import from that Favorites file into any open file.

I hope that helps.

 

Link to comment

Hi @sbarrett and thanks for your reply.

 

Following your instructions I've managed to remove a menu command, and also re-name it by re-saving it as a new menu command with the name I want.

 

I note that it seems to be necessary to quit & reopen VW for these changes to take effect.

 

Regarding using a network without making it a menu command... whether it's in the form of a symbol or not, the idea is that you place it into the drawing space of whatever you're wanting to use it to work on, and then delete it from there once it's no longer needed?

 

Once it's in the drawing space, what does and doesn't it act on - does it act on anything in that file, or just on that design layer?

Link to comment
  • Vectorworks, Inc Employee
17 minutes ago, line-weight said:

Regarding using a network without making it a menu command... whether it's in the form of a symbol or not, the idea is that you place it into the drawing space of whatever you're wanting to use it to work on, and then delete it from there once it's no longer needed?

Yes this is correct. 

 

18 minutes ago, line-weight said:

Once it's in the drawing space, what does and doesn't it act on - does it act on anything in that file, or just on that design layer?

It depends on the network/wrapper. Whatever the criteria of the network is, that is what it will act on. Most menu commands are created to work on selected objects, which is not possible with regular networks (because the network and the network alone must be selected in order to run),  but if for example your network is set to look for every rectangle and change the attributes of them, it will do that, no matter what layer each rectangle is on. I have attached an example file doing this - each rectangle is on a different layer, and no matter whether the layers are visible or not, modifiable or not, the rectangles are changed by the script. If you want to specify layers or perhaps visibility, you can do that with the criteria node. To test this out, go to the criteria node in this script and add the criteria of visibility.

 

Marionette Criteria Test.vwx

  • Like 2
Link to comment

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.

×
×
  • Create New...