Wallacoloo / printipi

3d printing directly through the Raspberry Pi's GPIO pins
MIT License
141 stars 43 forks source link

Allow for differently shaped beds when clamping coordinates? #73

Open Wallacoloo opened 9 years ago

Wallacoloo commented 9 years ago

Right now, if you're using the delta geometry, the LinearDeltaCoordMap will assume a circular build platform of the same radius as the distance from the center of the plate to the tower. And if you try to move beyond this, it will clamp the coordinate back onto the bed.

First off, the actual printable area using a circular bed is less than this, because it will not reach the tower. Secondly, some delta users choose square or hexagonal build platforms instead. We need to acknowledge this in some way.

The issue is confounded when people legitimately print objects that have a narrow base and widen from there (think of a fancy vase), where the base may fit on the platform, but the shape expands beyond the platform further up, and yet is still perfectly printable so long as the effector can physically reach all the points.

Furthermore, some deltas have to move outside the build plate to deploy their bed probe or swap tools. So there are cases where one should legitimately be able to leave the build platform. But it's also nice to have a certain amount of added protection to prevent you from depositing plastic onto other parts of your printer.

Therefore, on top of limiting physical motor coordinates, I think we should have configurable - and disable-able - settings for clamping coordinates onto the build platform. It would be automatically and temporarily disabled during tool-swapping and parts of certain bed-probing routines, and could be manually disabled when printing objects larger than the build platform.