This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tamiwiki:projects:drawbot [2025/10/19 23:17] – yair | tamiwiki:projects:drawbot [2025/12/16 10:11] (current) – yair | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | < | + | ====== DRAWBOT ====== |
| + | |||
| + | there are three repos needed to get this going | ||
| + | * GRBL [[https:// | ||
| + | * drawbot_LY [[https:// | ||
| + | * Universal gcode sender- this [[https:// | ||
| + | |||
| + | the above fork of GRBL has been adapted to make servo handling easier (check commits). \\ | ||
| + | there are also EEPROM kept states that need to be adapted to our machine. \\ | ||
| + | - enabling of homing sequence (the [[https:// | ||
| + | - adapting the number of steps per millimeter for x/y | ||
| + | - keeping steppers motorized '' | ||
| + | |||
| + | the drawbot Inkscape extension also got some love, with a few fixes. notably, disregarding hidden layers, addition of x/y offset control. | ||
| + | |||
| + | {{tamiwiki: | ||
| + | |||
| + | {{tamiwiki: | ||
| + | ==== links and more info ==== | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | ==== llm lols ==== | ||
| + | {{tamiwiki: | ||
| cat drawbot_skeleton.gcode | llm -m openrouter/ | cat drawbot_skeleton.gcode | llm -m openrouter/ | ||
| </ | </ | ||
| + | {{: | ||
| + | |||
| + | {{tamiwiki: | ||
| < | < | ||
| + | ; drawbot_skeleton.gcode | ||
| ;extend the following gcode to draw an orthographic view of a rubic cube | ;extend the following gcode to draw an orthographic view of a rubic cube | ||
| ; speed is F2200 | ; speed is F2200 | ||
| Line 40: | Line 70: | ||
| </ | </ | ||
| - | old | ||
| - | < | ||
| - | cat drawbot_skeleton.gcode | llm -s " | ||
| - | > " - | ||
| - | To draw a Rubik' | ||
| - | This code assumes that you'll be using a pen plotter or similar device and will draw on a 2D plane that represents the cube in isometric perspective. | ||
| - | |||
| - | ```gcode | ||
| - | G21 ; Set units to millimeters | ||
| - | G90 ; Set to absolute positioning | ||
| - | |||
| - | M5 ; Pen up | ||
| - | G4 P1 ; Wait 1 second after pen up | ||
| - | M3 S1000 ; Pen down | ||
| - | G0 F2200 ; Set movement speed | ||
| - | |||
| - | ; Move to start position for the isometric view | ||
| - | G0 X40 Y40 ; Move to the starting point | ||
| - | |||
| - | ; Draw the front face of the Rubik' | ||
| - | G1 X60 Y60 ; Move to front right corner | ||
| - | G1 X40 Y80 ; Move to top left corner | ||
| - | G1 X20 Y60 ; Move to front left corner | ||
| - | G1 X20 Y40 ; Move to bottom left corner | ||
| - | G1 X40 Y20 ; Move to bottom right corner | ||
| - | G1 X60 Y40 ; Move to front right corner | ||
| - | G1 X40 Y40 ; Move to starting point | ||
| - | |||
| - | ; Draw the middle layer of the Rubik' | ||
| - | G0 X50 Y50 ; Move to the middle layer starting point | ||
| - | G1 X70 Y70 ; Move to front right corner | ||
| - | G1 X50 Y90 ; Move to top left corner | ||
| - | G1 X30 Y70 ; Move to front left corner | ||
| - | G1 X30 Y50 ; Move to bottom left corner | ||
| - | G1 X50 Y30 ; Move to bottom right corner | ||
| - | G1 X70 Y50 ; Move to front right corner | ||
| - | G1 X50 Y50 ; Move to starting point | ||
| - | |||
| - | ; Draw the back face of the Rubik' | ||
| - | G0 X60 Y60 ; Move to the back face starting position | ||
| - | G1 X80 Y80 ; Move to back right corner | ||
| - | G1 X60 Y100 ; Move to top right corner | ||
| - | G1 X40 Y80 ; Move to back left corner | ||
| - | G1 X40 Y60 ; Move to bottom left corner | ||
| - | G1 X60 Y40 ; Move to bottom right corner | ||
| - | G1 X80 Y60 ; Move to back right corner | ||
| - | G1 X60 Y60 ; Move to starting point | ||
| - | |||
| - | ; Draw the edges connecting layers (create depth effect) | ||
| - | G1 X50 Y50 ; Move to middle layer starting point | ||
| - | G1 X40 Y40 ; Draw edge to bottom layer | ||
| - | G1 X40 Y80 ; Draw edge to top layer | ||
| - | G1 X30 Y50 ; Draw edge to furthest left layer | ||
| - | |||
| - | G1 X50 Y50 ; Return to middle layer starting point | ||
| - | G1 X60 Y60 ; Draw edge to back layer | ||
| - | G1 X45 Y55 ; Draw slightly towards the bottom right to create depth | ||
| - | |||
| - | M5 ; Pen up again to end drawing | ||
| - | G4 P1 ; Wait 1 second after pen up | ||
| - | ``` | ||
| - | |||
| - | ### Notes: | ||
| - | 1. The coordinates (`X`, `Y`) should be adjusted based on the actual size of your drawing area and the desired size of the Rubik' | ||
| - | 2. This code assumes a basic movement sequence and will plot an isometric view of the cube, but it may require further refinement or more details depending on your exact plotting capabilities and requirements. | ||
| - | 3. Adjust the `G0` and `G1` speeds according to your plotter' | ||
| - | 4. The colors of different squares cannot be represented in G-code directly; thus, this drawing is simplified. Additional coding would be needed if you were using different pen colors to represent different cube colors. | ||
| - | </ | ||