PistonPusher 5.1.3

Pistonpusher 3.4.3 is available:

  • Added: Help button with link to docs in the pop up panel.

  • Changed: Creation mode warnings now show and hide when the pop up menu is opened/closed. If you did not close the panel/menu with the ok button, moving the camera/view will update the viewport properly and remove the warnings. You can also open the menu again and press ok to stop warnings from a previous menu call. The size of this panel can be adjusted, note that it is also automatically adjusted by the system ui scale.

  • Changed/added: Track to operator, inherit rotations was replaced with a better system. Which I will introduce as WAT. Weird Align Tool.

WAT comes as a mode of the track to operator. So, the track to operator still offers its old functionality. To use WAT, you simply select a third object. This third object should be the active object for it to work properly.

WAT, simply put, makes the track to operator useful in situations where the pre-defined UP axis is not desired. It’s probably only useful to place pistons for pistonpusher because it can only rotate objects around their local y axis. It uses vector math to calculate the angle between two axes, one axis of the tracked objects and another of the active object. This works because the (local) X and Z axis of the tracked objects already have the correct orientation after they’ve been aimed at each other.

Multiple combinations of match ‘axis’ with ’ axis’ can work for a given situation. I recommend using the combination with the smallest difference.

WAT doc page

How to use the WAT mode:

Pistonpusher 3.4.4 is available!

  • Fixed: Zero user/unlinked objects are now automatically removed when a piston is saved.

  • Fixed: Camera will be re-linked to the scene collection when a piston or part is saved. Hold ALT key to prevent this behavior.

  • Fixed: Correct m_snap empty will now be selected in template mode after a mount was added.

  • Fixed: Check scales/rotations warning now ignore zero user/unlinked objects.

  • Fixed: Save piston/part operator will scan the file for a camera instead of looking for an object named ‘Camera’. The active camera will be used for thumbnail extraction.

  • Fixed: prod_cutter adjusts properly when a rod is placed.

  • Changed: N panel and its relevant add-on preferences have been removed.

  • Changed: ‘Confirm’ rod button polls for a piston rod.

  • Changed: Prepare piston will save an unprepared copy of your file in a new assets library directory, called ‘Unprepared’. It will then save it again as a ‘temp.blend’ file, in that same directory, so that you don’t touch it accidentally.

This ensures template mode piston are saved in a flexible state still, for custom mode this has no real effect other than it being a nice back up.

  • Added: Edit opt-in in the pop up menu. If you check this, whatever you select will be opened in a new blender instance so that you can edit its source file.
  • Added: WAT mode/track to operator has been improved. The track to operator can place empties now and even inherit parent relationships. Additionally, an on/off button for WAT mode and the ability to deselect the active object have been added.

Everything I’ve tested so far works as intended on blender 3.1 beta. I expect a smooth transition.

Be sure to update your assets library for this update and save preferences, even if your preferences do not show the save asterisk!

Pistonpusher version 4.0, which is planned to release once blender 3.1 is released as stable, will feature HAPS. Hose Attachment Points.

These are a geometry node solution to well… Hose attachment points. It allows users to instance extrusions and fittings. It can project/shrinkwrap its cylinder part. Its resolution/geometry density can be changed at will. Elements of the instance can be replaced with mesh objects. It can be kept non destructive, or the geonode can be applied and you can edit it further, add a data transfer and so on.

Pistonpusher 4.0 is available!

  • Fixed: Notifications transparency

  • Changed: Creation mode warnings now only check objects that are part of piston(o) collection.

  • Changed: Rod parts are not available anymore in custom creation mode.(This applies to rotaries as well)

  • Changed: Pop up menu was changed, now making use of popover panels for the tools, save and create sections. The old menu is still available by toggling the ‘old menu’ add-on preference.

  • Added: Support for rotational to linear motion actuators.

  • Added: HAP’s, geometry nodes Hose Attachment Points. Select an object, hit the HAP button in the pop up menu and place a vertex. Once done and in object mode, pistonpusher can apply its modifiers, make a vertex group and set a data transfer modifier up. Works with curved surfaces! See video and/or documentation for moar.

  • Added: Short pipes geometry nodes connector parts. These are a simple way to add pipes and fittings. One version comes with cylinders that you could boolean at a later time. Best used on horizontal/vertically oriented faces.

  • Added: D-mount, geometry nodes version.

Video’s about HAP’s and the new types of actuators that pistonpusher can rig:

PistonPusher 4.0.1 is available!

Fixed: Switch type and cycle subdir (snap modal) issues fixed.

Added: Railgun example file and its piston(with different materials and no decals/assets that are not mine)

Pistonpusher 4.0.2 is available!

A video about HAPS in 4.0.2:

PistonPusher 5.0.0 is available!


  • Fixed/improved: Linked duplicate radial arrays now have a start and end angle property. The array will now also properly reflect the set angles, this means that the operator increases array count by 1 if the difference between the start and end angle is smaller than 360.0.
  • Fixed: Custom rotary template appearing in template dropdown menu.
  • Fixed: Warnings are updated while the pistonpusher pop up menu is open. Additionally warnings are automatically offset based on HEADER, TOOL HEADER height and viewport gizmo width(I could not find information about the viewport gizmo in the API so an approximation is used, it adjusts if the os UI scale is changed, assuming that this also affects the viewport gizmo as changing monitor resolution does not change the viewport gizmo by itself).
  • Fixed: Warnings and modal info area padding.
  • Fixed: Track to and apply/wat operator, WAT now correctly accounts for negative angles.


  • Changed: Remove constraints now also works with meta and surface objects and will remove animation data and vertex groups.
  • Changed: ‘Old’ menu and its option in add-on preferences have been removed.
  • Changed: Warnings, messages and modal operator info area’s have rounded corners, use a custom font and text shadow has been enabled. Additionally, certain words are highlighted with a configurable color(warnings/modal info area’s only).
  • Changed: Warnings only warn about length anchor location after piston is prepared and only when the ‘no length anchor’ option is false.
  • Changed: Add-on preferences color settings lay-out.
  • Changed: A camera is added when you prepare a piston.
  • Changed: Certain data is now saved in the blendfile when a piston is prepared, this means that you can now save template pistons and finish them at a later time, even after it’s prepared. Additionally, the pop up menu now has a length anchor y location property while in custom mode. You can still set it with the 3d cursor as well. These values are reset each time the creation mode is started.
  • Changed: Piston related tools now only show if a part/object of a piston instance is selected, in the pop up menu itself instead of the tools section.
  • Changed: Other minor changes and fixes.


  • Added: Warning for parent relationships or constraints once a piston is prepared.
  • Added: Warning system will display information about the current configuration if no issues were found.
  • Added: Apply scale/rotation operator for all objects in a piston or actuator original collection(creation mode only). It can also convert objects to mesh and remove relationships like parents, constraints, animation data and vertex groups.
  • Added: Visual indicator of the length anchor y location when the pop up menu is open(prepared pistons in custom mode only).
  • Added: Weird Align tool Modal. Has an add-on preference setting which is set to modal by default.
  • Added: Simple cardan/universal joint rig and a combine joint operator.
  • Added: Reset new instance opt-in(disable when adding instances of pistons with universal joints).
  • Added: Add-on checks for updates again. Result is cached for an hour. Data is retrieved from github this time.
  • Added: New piston(various2 directory).

Where applicable, these changes affect the free version too. Additionally, the track to and apply/WAT operator has been added to the free version.

Lastly, blender has a bug since version 3.1 which messes with vertex locations. This in turn messes with the add armature operator. The bug has been reported but until then you may have to remove some vertices from the vertex groups on objects that stretch.

This update changed the lay-out of the add-on files. Simply replacing the files will leave files behind, as such I recommend using blender to remove the add-on first for this update.

How to model and rig a hexapod:

Fixed: Addon preferences color pickers now have min/max values and use the ‘COLOR_GAMMA’ subtype.

Added: Option to disable update check at blender start up. (Add-on preferences).
Added: Quick Rigs

Changed: Modal operators support industry keymap(alt key passthrough).
Changed: Cardan joint rig and combine operator are now part of the Quick Rig system. The combine joint operator also works with Quick Rig pistons.
Changed: Layout of pop up menu changed slightly.

The free version was updated as well where applicable.

Pistonpusher 5.1.1 is available:

Fixed: Blender 3.2.0 issue with cable/hose quick rigs and its curve resample feature.

Changed: bevel resolution of curves used with cable/hose quick rigs are set to 6(but only if it was higher than 6) as really dense geometry proved to cause issues. Curve resolution can be changed but it’s probably better to use a subd modifier later on.

The documentation was changed to better describe how to use additional objects with Cable/Hoses Quick Rig

1 Like

PistonPusher 5.1.2 is available!


  • Cable/Hose Quick Rigs:
    • Error when Itasc bone ID was set to a number larger than the amount of bones in the chain.
    • Operator will fail and properly warn the user when additional objects were selected whose origins matched the curve endpoints.
    • Added ‘Correct bone roll’ option, will adjust ik target bone roll so that the rig does not twist. Enabled by default.
  • Piston Quick Rigs:
    • Anchors(armature and b empty) maintain equal size when bone scale is changed.
    • Bone scale is automatically adjusted based on distance between cylinder and rod origin. This can be overriden by changing the bone scale value to any other value than 1.0.
  • Set bone as parent modal operator:
    • Hidden bones can be (un)hidden at will.
    • Data layer visibility data was not properly saved per armature.
  • HAPS:
    • Default values have been set lower(Smaller default HAP size).
    • Bevel/Chamfer modifier settings are exposed in and linked with the geometry node modifier(Under Global Scale). Allowing easier edits in general.

Free version:
- Forgot to propagate changes for industry standard keymap support (modal operators) to the free version.
- Set bone as parent modal operator updated.

PistonPusher 5.1.3 is available!


  • HAPS:

    • Improved ‘Set up HAP data transfer’. Scale does not matter anymore, instead of a distance, users can specify the amount of mesh rows(per instance) that should be added to the data transfer vertex group. The mesh rows are weighted based on the amount of rows.
    • Added ‘Instance offset’ parameter/attribute that can be used to prevent clipping.
    • Added ability to override face normal align. Allowing for preciser placement when used in combination with edge snap.
  • Set child of constraint:

    • Fixed an issue that caused an error in console during mouse over on operator button.