The new NodeBox forum is live! Everything from support.nodebox.net moved here: sign in with the same email to pick up your old posts. Something not working? Write to forum-support@nodebox.net.

NodeBox 3From the old forum

how to change view to script mode?

1 reply Last reply

  1. Hello,
    I tested both nodebox2 and 3, but I am not sure how to change my view from node to script in nodebox3.
    Please let me know how to solve this!
    Thank you :)

    Copy link
  2. NodeBox team

    We did have a code editor in the previous edition of NodeBox, but because the internal workings have changed quite a bit since we started developing NodeBox 3 we decided to leave it out for the time being. We do agree that an integrated code editing tool is a valuable thing to have though, so it will definitely return one day.

    That said, it's totally possible to integrate your own code into
    NodeBox, even without having a dedicated editor. The procedure as it stands right now is as follows:

    • Create a folder to store your python file.

    • In NodeBox, create a new document and store it inside this folder. This step is important because NodeBox won't allow you to import outside code when the document has not yet been stored. Also, because code dependencies are stored inside the .ndbx file in a relative way it's wise to have the ndbx file and python code files close to each other (e.g. in the same folder).

    • Write some code and put it inside a python file (mycode.py). NodeBox relates every node to a specific function and it calls its parameters one on one. The names of the parameters are not important but their order is. For example adding 3 numbers:

      def add(a, b, c): return a + b + c

    • Import the code inside NodeBox:

      • Go to File > Code Libraries (a new dialog will show up).
      • Press the + button and choose Python.
      • In the file dialog select mycode.py.
      • Close the dialog.
    • You can now create a node based on this code:

      • Inside NodeBox, open the node selection dialog and add a new
        "root" node (the first one to show up in the dialog).
      • When added, this node is named _root1, but feel free to rename it.
      • With this node selected, press the Metadata button on top of the ports panel. A new editor window will show up.
      • In the left panel, click on "settings". This will bring up the node metadata.
      • In the field "Function" write down "mycode/add".
        • "mycode" is the name of the python file we created (here,
          we'll also call it the function's namespace).
        • "add" is the name of the function we wrote.
      • We have a new node but we still have to map the function's
        parameters to node ports (parameters):
      • Press the + button in the bottom left part of the metadata panel.
      • An "Add new port" dialog shows up. Give your port a name "a"
        and a type "float".
      • Optionally, more parameter tweaking can be done at this point.
      • Repeat this process for the "b" and "c" parameters.
      • Press "Ok" to apply your changes.
      • That's it, the node is ready to use!

    You can make changes to the code in an external editor, then press Command-R to reload the code instantly in NodeBox.

    Hope this helps. We'll put this information on our website in the near future as well. If you have more questions please do feel free to ask!

    Copy link

Know something that helps?

Sign in with your email address to reply. No password needed.

Sign in to reply