cat drawbot_skeleton.gcode | llm -m openrouter/anthropic/claude-3.7-sonnet -x - | tee drawbot_claude37.gcode
; drawbot_skeleton.gcode ;extend the following gcode to draw an orthographic view of a rubic cube ; speed is F2200 ; limits are y:60 x:200 ; only one color ; do not draw occlude lines G21 ; Set units to millimeters G90 ; Set to absolute positioning M5 ; Pen up G4 P1 ; always Wait 1 second after pen up M3 S1000 ; Pen down
we came a long way
cat drawbot_skeleton.gcode | llm -m 3.5 -x - | tee drawbot_gpt35-turbo.gcode G1 X0 Y0 F2200 ; Move to starting position G1 X60 Y0 ; Draw first square of the rubic cube G1 X0 Y60 ; Draw second square of the rubic cube G1 X60 Y60 ; Draw third square of the rubic cube G1 X60 Y20 ; Draw fourth square of the rubic cube G1 X60 Y40 ; Draw fifth square of the rubic cube G1 X20 Y60 ; Draw sixth square of the rubic cube G1 X40 Y60 ; Draw seventh square of the rubic cube G1 X20 Y0 ; Draw eighth square of the rubic cube G1 X40 Y0 ; Draw ninth square of the rubic cube M5 ; Pen up G4 P1 ; Wait 1 second M2 ; End of program
old
cat drawbot_skeleton.gcode | llm -s "extend this gcode to draw a rubic cube in esometric view , top left. > " - To draw a Rubik's Cube in an isometric view, you will need a series of G-code commands that move the pen in a specific pattern to represent the cube's edges and faces. The Rubik's Cube consists of 27 smaller cubes arranged in a 3x3x3 grid. Here is an extended G-code example to create an isometric view of a Rubik's Cube, starting in the upper left. 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's Cube 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's Cube (slightly above the first face) 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's Cube (further back) 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's Cube. 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's performance and necessary drawing speed for better clarity. 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.