Version 04.00 of PUPPI now available for download to registered users.

Lots of bug fixes and new features available. This is a big one! Thanks everyone who volunteered feedback!

Most important addition is the client-server interface , about which there will more material posted on the website in the coming weeks. Basically, you can now control and render a PUPPI visual programming canvas canvas from anywhere, be it another program on another computer, or even a web page. Server commands are issued via text statements, and the text command interface is available to control from  the canvas API or even from inside module processing functions. We will be showing off some pretty meta stuff in the near future :)

We added lots of CAD modules and CAD utility functions. The most fun is the model slicer, which can split a large 3D object into smaller chunks for 3D printing.

Various graphical and usability  improvements were added, such as immediate feedback functions that can override a node's graphical response to user dragging over. You can see that in the new behavior of sliders in the latest version of PUPPICAD, 0.70.

visual programming slider

If you haven't already, please register and request a trial licence. We want everyone to test out these new features, so you can request a new license if your current trial is about to expire or already expired.

 Full list of improvements below:

- Font can be set for node captions and menu buttons

- New optional node / input / output large semitransparent hover info display

- New collections modules: get first item and get last item

- Smoother connections

- Faster paste

- Node menu option to clone stack to make things faster

- New collection module: get item index

-New CAD module: get bounding box list of points

- New CAD module: get Model normal based on specifying point - early version just using positions, no interpolation

-  New CAD module: get nearest point on Model -early version just using positions, no interpolation

-  New CAD module:wireframe display of mesh-based models

- Added new utility function: offset sketch

- Added new utility function: rotate sketch

- Added new utility function: translate sketch

- Added new utility function: convert spline to polyline

- Added new utility functions: polyline trim start and end, get point ratio on polyline by index

- Added new utility functions: rotate vector3d, point3d and polyline3d

- Added new utility functions: translate Polyline3D and offset Polyline3d

- Added new utility functions: convert Sketch2D to Polyline3D

- Added new utility functions:get normal of three points in 3D

- New menu command: change tooltip of an item already in the menu, so that modules generated from functions can get custom tooltips

- Open and save canvas configurable keyboard shortcuts added

- New PUPPIPolyline functions: find nearest point on polyline, trim polyline by point

- New CAD module: create surface cap based on polyline and direction vector

- New CAD module: reset transform 

- New CAD module: align object to vectors and position using transforms

- New Polyline function: project polyline on plane

- Canvas GUI controller now accessible from within module processing function, allowing for a lot of program self generation using script commands

- New CAD module: display Plane on CAD Window as rectangle

- New CAD module: project polyline on 3D model

- New CAD module: slice model

- New data input module: list of strings based on counter and optional prefix and suffix

- New custom renderer element: rounded box

- New module: connect to canvas server and issue command, retrieve result.

- New module: connect to canvas server and retrieve node output.

- Set culture to en_US for now

- New CAD model: calculate 3D model area

-New client-server module: run program on server

- New logic module: join two program branches

- New logic module: halt execution of program for specified milliseconds

- New drag over node overridable module function allows for realtime update of node appearance as gestures are performed over node.

- New module: set node output on remote canvas