The Hell Ya Beller Fun with hot, pointy, sharp, and caustic stuff.


Progress Update

FreeCAD Path can now visualize 4th axis gcode.  That is gcode that has A and B axis moves in it.

Very cool.

Also, this blog has now been live for 10 years.  Happy Cake Day to me!

Filed under: Uncategorized No Comments

Lenny the big dumb bot.

A couple years ago I bought an old IBM 7575 scara robot at a surplus auction. The mechanicals are really nice but the control was completely absent.  I started a conversion using a Mesa card and Machinekit.  I have no serious plans for this but wanted to learn ROS and maybe more about the FreeCAD robot workbench.

The first part of the conversion went well but then I hit a snag and the project sat idle for almost two years.

I got frustrated when I couldn't make the machine move in cartesian coordinates without errors.  Machinekit/linuxcnc has two different movement modes. 'joint mode' allows you to jog individual motors and this worked perfectly. I could move any joint very fast and smooth without errors.  I could also do the homing sequence.  Once the individual joints are homed, you can then switch into 'world mode' and jog in cartesian space or execute gcode. The kinematics are calculated automatically and everything should work.

But for me, not so much.  Jogging gave following errors. I verified and re-verified the configuration and everything was perfect but just didn't work.  I posted in lots of places but never found any help. I don't think people use these scara bots very much and, it turns out, mine is a little bit different.

I started out calling this thing 'Gypsy' after the robot in Mystery Science Theater 3000 but somewhere along the line it changed it's name to Lenny after the character in 'Of Mice and Men'  He's big, strong, and dumb.

I finally dug into it again a couple weeks ago and had a breakthrough. Next step is to start learning something about ROS.


Tagged as: , , No Comments

FreeCAD version 0.17 Released!

It's been just over two years since version 0.16 released and work on 0.17 started. This new release has many great new features.

For me, of course, the most important is the completely overhauled Path (CAM) workbench.  I've had the privilege of working on this with some outstanding developers (who also happen to be really nice people).  Here's a feature reel full of eye-candy.

Tagged as: , No Comments

New video tutorial series for FreeCAD Path workbench

FreeCAD version 17 is almost ready to be released.  It will have a thoroughly overhauled CAM workbench called 'Path'.  I've done some videos and posts about this workbench over the last year or so and it has come a long way.

I'm starting a new video tutorial series which will be more thorough and give more context to many aspects of Path.  The first three episodes are up now.  Please check it out and subscribe to get new videos as  I publish them.

Tagged as: , , , , , No Comments

Using FreeCAD to engrave on a rotary axis.

FreeCAD Path doesn't have a 4th Axis operation (yet) but certain kinds of things should still be possible. For example, engraving or pocketing on a cylindrical surface.

I've seen other software, both open-source and commercial, that allow the user to map a linear axis to a rotary axis. I decided to try writing a 'Dressup' for FreeCAD Path to do this.

The workflow looks like this:

  • First the user models shape and sets up the CAM operations as though it was a 2.5D job
  • Next, the user selects the operation and applies the dressup. The dressup currently has only two properties. First select the axis mapping. For example, to map the X axis to the A rotary choose (x->a). Configure the radius of the cylinder we're mapping onto.
  • The dressup executes and re-processes the base gcode.
  • It removes all G2 and G3 arcs and substitutes them with straight lines. The accuracy or 'deflection' will be another property soon.
  • The dressup then substitutes the axis parameter for each G1 move. It calculates the rotational distance corresponding to the linear distance in the original move.
    If the move is a pure rotary move, it also recalculates the feed rate and inserts a rotational velocity. If the move is a coordinated move of linear and rotoray, no change is made. The controller (at least linuxcnc) will handle the conversion internally and process the move as a coordinated move naturally.

FreeCAD can't render rotary moves in the A or B axis so the gcode backplot just looks like lines in XZ (or YZ) Otherwise, it's handled the same. Postprocessing spits out the final gcode for linuxcnc and it's ready to run. Here's a little video I did cutting the FreeCAD logo in PVC.


First steps toward simulation in Path

User Shaise has been doing some very cool stuff simulating Path operations. Check out the video to see an example


A little bit about Path Start Points.

Tagged as: , No Comments

Adding support for Arch Panels in FreeCAD Path.

A lot of projects include multiple parts made from a single sheet of uniform material - like a sheet of plywood. This causes some trouble in a CAD/CAM application

  • You want to keep your overall model/assembly intact, but the build assembly isn't the same as the cutting layout.
  • You need to translate and rotate parts to maximize material usage
  • You want to group operations to minimize tool changes on the machine.

For a while, I've been promising that we would include a solution to this in FreeCAD Path and now we're finally getting to it thanks to facilities in the Arch workbench - Panels!

Arch Panels are designed for exactly this purpose - designing parts from uniform sheet stock. In Arch, you can define a panel object and then create a 'Panel Cut' to represent the 2D cut pattern for that part. These 2D cuts can then be aggregated into a 'Panel Sheet' for cutting.

Is that confusing? Then just watch the video. It'll make sense, trust me. And for good measure, we now have a post-processor for smoothieboard, an exporter for linuxcnc tooltables, and improved tool handling. So there ya go.

Tagged as: , , , No Comments

Introduction to Creating FreeCAD Paths with Python

This is a multi-part series that demonstrates how custom paths can be created using a python macro in FreeCAD

Part 1

Part 2

Part 3

Part 4

Part 5

final macro:

Filed under: FreeCAD, Path No Comments

Introduction to the DogBone Dressup

Dogbone dressup modifies inside-corner cuts to remove material missed by a cylindrical cutter.