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

Updating Node

Recommended Posts

Hi

 

I have nodes, with the following headline:

#COMMAND;REFFILE;[VWLibDef]/DomC\Script.py;

This is great, because instead of copy/paste an updated code into every node of that type I used in a project it is up-to-date, whenever I edit A node. Also editing a node, will update the resource on my disk and will make up-to-date other nodes which I edit. Also I am able to edit the node in an external editor,  whithout copy/paste the result code.

 

Anyone has an Idea, how to update hundreds of nodes in a document, which are all linked to the same file instance but are not up to date. Edit and exit every node after update steals time from making new fantastic marionette projects. 

 

 

Besides:

How about tagging the nodes with the year, they are released first time? We have to manually compare (or making a marionette script for resource comparing :-) -> another great Idea) the two versions to see, which nodes are new. How many time I created a custom node, which was already there in a new version but I did not realized. 

 

Share this post


Link to post

Um

Have to correct this. Seems like updating the nodes to 2018 deletes (Even if I copy the python Scripts in the library folder) the first line with the #COMMAND;REFFILE; ......  link ... a case for a Bug Report?

 

Either way, Great Version!

Particular Multi-View is incredible cool for Marionette Scripters

Share this post


Link to post

The removal of the preprocessor when moving files from 2017 to 2018 is intentional because we changed how some of the nodes worked (specifically swapping out input ports for OIP controls) which could introduce broken networks in the newer version. All nodes placed from the Marionette tool in 2018 will still have the preprocessor code. 

  • Like 1

Share this post


Link to post

Hi Marissa

Thanks for quick reply! That's OK.

In a special case I used a Beta-Node(Which frequently has to be updated) 100 times in a Drawing (to test different usecases and objects) and used the "Preprocessor" to speed up that process. Maybe for making this, it was a better choice to directly import the code as an external module directly into the node execution next time.

 

Besides, my fairly efficient workflow to edit nodes in the Drawing.

It pops up a Script-Edit-Dialoge for every node which matchs to the criteria

vs.DSelectAll()
criteria = "(('MarionetteNode'.'NodeLocalizedType'='The Node Name'))"
def DoIt(h):
    vs.SetSelect(h)
    vs.EditObjectSpecial(h, 4)#The edit mode: 0-Default; 2-Properties; 3-Reshape; 4-Edit group like;
    vs.SetDSelect(h)
vs.ForEachObject(DoIt,criteria)

 

Share this post


Link to post

hello

Should I be afraid to switch to 2018 when it's release in France? Some nodes where not changed in the french last sp version. Being, I think, one of the only one using (i try) Marionette in France should I start " flippin' like flag on a pole" or let the good times roll?

  • Like 1

Share this post


Link to post

@the frog

I don't think you should be "afraid" of 2018 :) 

I'm not sure how your distributor handles content, but if you find that you don't have the same Marionette content that we have over here, I can help you out and get you the nodes you need from our version. That's the best part about Marionette - it's easy to transfer nodes from computer to computer :) 

Share this post


Link to post

when the 2018 is released I will try my "old" scripts and see how they convert. Then if I have broken network I'll post again :)

Share this post


Link to post

none of your scripts should break moving from 2017 to 2018. Everything will stay the same with them because we will no longer be referencing the external python file that controls the script.

You shouldn't see any difference between 2017 and 2018 with regards to that.

Share this post


Link to post

hmm this only seems to work for me if I put the py file in a root directory; C:\, D:\, L:\; etc

#COMMAND;REFFILE;D:\stair_elevation_maker.py;

 

once i put it in a folder it doesnt work:

#COMMAND;REFFILE;D:\test_branch\stair_elevation_maker.py;

 

error pops up saying:

- the referenced file not found

The specified file was found but could not be written to.
Click Ok and made the file writable to save your changee 
If you choose Cancel you scipt will be saved locally in the node 
but these changes maybe lost when the scipt editor is opened next time 

any thoughts on fixes?

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.

×