Tuesday, 8 January 2019

Blender 2.8 - Laser Slicer

I've updated the Laser Slicer script for 2.8. The Laser Slicer cuts up a Blender mesh object into slices and exports them to SVG for subsequent cutting on a laser cutting or other post-processing. This version is quite a bit quicker when doing an accurate polygon based SVG export, and offers a quick pre-view export too. There are now options for cut line colour and line thickness.

Code is now hosted on github and an install-able zip file can be downloaded directly from:


Bug reports can be filed on the github issues page:


I've finally got round to making a video tutorial too.

For older versions that work on Blender 2.7 see the scripts page.

Blender 2.8 - Math Mesh

I have just made available a new add-on for Blender 2.8 called Math Mesh. A recent build of Blender 2.8 is required (post 7th Jan 2019). This add-on creates a mathematical curve comprising of vertices and edges between two selected vertices, and may be useful for repeating curved geometry like corrugated roofs. Sine curve and circular curves are currently supported.
The code is on github https://github.com/rgsouthall/math_mesh and bug reports can be made on the issues page there  https://github.com/rgsouthall/math_mesh/issues. The zip file of the github master branch https://github.com/rgsouthall/math_mesh/archive/master.zip can be installed directly in Blender by using the 'Install' button in the add-on preferences window. Otherwise move the folder within the zip file to the directory where your system keeps Blender add-ons. Bear in mind that the Blender 2.8 Python API is still evolving and may break this add-on in future.

Once the add-on is activated, and you have exactly two vertices selected in edit mode, the Math Mesh operation can be started with the alt-shift-m keyboard shortcut. Brief tutorial video is linked below. One thing I forgot to mention in the video is that there is the option to align the curve plane with the viewport view direction. Otherwise I think it covers just about everything.

Wednesday, 5 September 2018

Blender 2.8 - Rotation Constrained

I have just uploaded a new version of the Rotation Constrained script for Blender 2.8 as of the build revision available today, and it's available on the scripts page or from here. As the Blender 2.8 Python API is still ongoing changes this script may well break in the near future. If so post in the comments below or at the github page https://github.com/rgsouthall/rotation_constrained/issues.
This version also features improved handling of rotations in Global, Local and Normal space, which are selected from the the top of the 3D view. Please note that in Normal space 'Z' is always normal to the face, but the Rotation Constrained 'X' and 'Y' directions are calculated on the fly and may not match up with the 'X' and 'Y' directions shown in the 3D view. You may therefore need to select 'X' in the Rotation Constrained operator interface when you mean 'Y' and vice versa.
Lastly the keyboard shortcut for the add-on is now 'alt-shift-R' to avoid conflict with another shortcut.
I'll post a video when I can demonstrating the basic operation.

Tuesday, 25 April 2017

Laser Slicer v0.8

I just put a very long overdue update to the Laser Slicer script in the 'Scripts' section. Changes in this update include:

  • Laser Slicer now sits in the 'Laser' tab for recent Blender versions. 
  • New options can place each slice in a separate file with the following positions:
    • Top left - slices are in the top left of each sheet
    • Staggered - slices are positioned on each sheet as if they were positioned on one sheet.
    • Centre - each slice appears at the centre of each sheet.
  • A cut thickness option to specify a gap between slices.
  • The number of slices that will be cut are now estimated so you can see if you have a long wait in front of you.
This is an initial version so bug reports are welcome and probably inevitable.

Below is an example of the svg output from slicing our Reverend Mother, Suzanne.

Sunday, 2 March 2014

Laser Slicer v0.7

Update: I've uploaded a slightly updated script that now has a 'Separate files' option which will write out a separate SVG file for each slice.

I've updated my laser slicer script to version 0.7 with a number of changes. Main changes are:

  • The use of the Blender's bisect tool for quicker slicing. 
  • The script calculates whether each section of a slice is a loop or a line and writes out an SVG polygon or polyline accordingly.
  • Automatic removal of any non-manifold edges.
I have tested it on Suzanne (below), which is actually a very difficult mesh to slice perfectly, and it seems robust. File can be downloaded from the scripts page.

Saturday, 4 May 2013

Rotate Constraint Script

I could find no easy way to extrude a complex shape in right-angle directions whilst maintaining the shape profile, so I've written a little add-on to do it, available on the scripts page. The Constrain Rotate add-on has no operator button, although it can be enabled in the python file, and is instead run with the ctrl-shift-R key combo. Basically the script allows a face in edit mode to be rotated whilst contstraining all vertices of the face to movement on only one axis. You can for example rotate around the y-axis whilst keeping the vertex movement constrained to the z-axis.
When using this key combo in edit mode with a face selected the following options are presented in the mesh tools panel or by pressing F6:

  • Rotation axis. The axis around which the face is to be rotated.
  • Constraint axis. The axis the vertices are allowed to move in.
  • Rotation point. The point of the face to rotate around.
  • Degrees. The degrees of rotation.
A video would tell a thousand words, but takes 57 times longer to put together than this blog post. I'll do one when I can though. Operation is, however, pretty self-explanatory.
Hope it's useful.
Star Shape Extrusion 

Sunday, 4 November 2012

Laser Slicer (v0.5)

I've uploaded a new version of the Laser Slicer script to the 'scripts' page. This new version writes out SVG polygons instead of lines. I've done this as a first step to modifying the script to make architectural model sections. As SVG polygons positions can only be written as pixel positions I have included a DPI selection dialogue  If the DPI is set to the DPI of the machine controlling the laser cutting than the scale should be correct. I have not heavily tested this so comments welcome on that front.
Another thing to be aware of is that this version of the script will absolutely not take non-manifold geometry, whereas the old version would; an example of this is Suzanne's head which, surprisingly, is non-manifold. So check geometry first. I'll add a warning flag for this at some point, but that is for another day.
If you are using the script purely for laser cutting you can keep using the old script with its non-manifold forgiveness.