Home › Forums › 3DP printing › G-Code for powder bed printing
- This topic has 3 replies, 2 voices, and was last updated 9 years, 11 months ago by ezrec.
-
AuthorPosts
-
January 4, 2015 at 6:40 am #2093ezrecParticipant
I think I almost have a working model for multi-color resolution-independent G-Code for my BrundleFab, and though it might be useful for others.
The basic principle is to use T1..T16 as individual ‘spray tools’, and use the P Q R parameter variables to define up to 72 bits of nozzle control bitmap, and the S parameter to control the ‘spray rate’ (in pulses per minute).
Currently I only have one printhead, but this technique should allow me to control all 8 colors on my i9900 independently, and in a more compact GCode format than the current ‘N’ nozzle control method.
‘Soak’ of the binder can be controlled both by the Tool’s ‘S’ parameter (ink pulses per minute) and the ‘F’ feed rate of the move. In my system, the ink sprayer is only enabled when in G1 motion.
Example (comments added for clarity, printing a cylinder):
; Print /home/jmcmullan/Desktop/slices to the BrundleFab G28 ; Home all axes G91 ; Absolute positioning M226 ; Wait for manual fill operation G92 ; Reset zeros after fill operation ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000001FFFFFFFFFFFFFFE000000 ; 00000000FFFFFFFFFFFFFFFFC00000 ; 00000003FFFFFFFFFFFFFFFFF00000 ; 0000000FFFFFFFFFFFFFFFFFFC0000 G1 X3.150000 Y7.350000 ; Line 23 T1 P2048 S6000.000000 ; Pattern 800, 60000 pulses/minute G1 Y14.962501 F30000.000000 ; Spray pattern T1 P3072 ; Pattern C00 G1 Y16.012501 F30000.000000 ; Spray pattern T1 P3584 ; Pattern E00 G1 Y17.325001 F30000.000000 ; Spray pattern T1 P3840 ; Pattern F00 G1 Y33.862503 F30000.000000 ; Spray pattern T1 P3584 ; Pattern E00 G1 Y50.400002 F30000.000000 ; Spray pattern T1 P3072 ; Pattern C00 G1 Y51.712505 F30000.000000 ; Spray pattern T1 P2048 ; Pattern 800 G1 Y52.762505 F30000.000000 ; Spray pattern T1 P0 ; Pattern 0 G1 Y57.750004 F30000.000000 ; Spray pattern ; 0000001FFFFFFFFFFFFFFFFFFE0000 ; 0000003FFFFFFFFFFFFFFFFFFF0000 ; 0000007FFFFFFFFFFFFFFFFFFF8000 ; 000000FFFFFFFFFFFFFFFFFFFFC000 ; 000001FFFFFFFF80007FFFFFFFE000 ; 000001FFFFFFF0000003FFFFFFE000 ; 000003FFFFFFC0000000FFFFFFF000 ; 000003FFFFFF000000003FFFFFF000 ; 000007FFFFFC000000000FFFFFF800 ; 000007FFFFF00000000003FFFFF800 ; 000007FFFFE00000000001FFFFF800 ; 00000FFFFFC00000000000FFFFFC00 G1 X6.300000 Y5.250000 ; Line 35 T1 P2048 ; Pattern 800 G1 Y10.500001 F30000.000000 ; Spray pattern T1 P3840 ; Pattern F00 G1 Y11.025001 F30000.000000 ; Spray pattern T1 P4032 ; Pattern FC0 G1 Y11.550001 F30000.000000 ; Spray pattern T1 P4080 ; Pattern FF0 G1 Y12.075001 F30000.000000 ; Spray pattern T1 P4088 ; Pattern FF8 G1 Y12.600000 F30000.000000 ; Spray pattern T1 P4092 ; Pattern FFC G1 Y13.125001 F30000.000000 ; Spray pattern T1 P4094 ; Pattern FFE G1 Y13.650001 F30000.000000 ; Spray pattern T1 P4095 ; Pattern FFF G1 Y17.850000 F30000.000000 ; Spray pattern T1 P2047 ; Pattern 7FF G1 Y22.050001 F30000.000000 ; Spray pattern T1 P1023 ; Pattern 3FF G1 Y22.575001 F30000.000000 ; Spray pattern T1 P511 ; Pattern 1FF G1 Y23.362501 F30000.000000 ; Spray pattern T1 P255 ; Pattern FF G1 Y24.412502 F30000.000000 ; Spray pattern T1 P127 ; Pattern 7F G1 Y25.462502 F30000.000000 ; Spray pattern T1 P63 ; Pattern 3F G1 Y26.512503 F30000.000000 ; Spray pattern T1 P31 ; Pattern 1F G1 Y28.350002 F30000.000000 ; Spray pattern T1 P15 ; Pattern F .... SNIP SNIP SNIP.... ; 00000000FFFFFFFFFFFFFFFFC00000 ; 000000001FFFFFFFFFFFFFFE000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 G1 X28.350000 Y8.400001 ; Line 119 T1 P1 ; Pattern 1 G1 Y17.325001 F30000.000000 ; Spray pattern T1 P3 ; Pattern 3 G1 Y33.862503 F30000.000000 ; Spray pattern T1 P1 ; Pattern 1 G1 Y50.400002 F30000.000000 ; Spray pattern T1 P0 ; Pattern 0 G1 Y56.700005 F30000.000000 ; Spray pattern ; Perform layer operations T0 ; Select no tool G0 Y0 ; Reset ink head G0 X180 ; Finish the layer deposition G0 Z.50 ; Drop the build layer T20 ; Select heat lamp tool G1 X0 Y0 ; Dry the layer T0 ; Select no tool G1 X-195 Y0 ; Move to feed start G1 E.50 ; Extrude a feed layer G1 X0 Y0 ; Move to print start ; Print as we feed powder ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000 ; 000000000000000000000000000000
January 4, 2015 at 6:48 am #2094ezrecParticipantObligatory github link to my firmware and post-processor for repsnapper’s “Slice to SVG (multiple file)…” output.
January 4, 2015 at 8:18 pm #2096dragonatorKeymasterJust so I fully understand,
Tn is the printhead that is being called.
Pn is a predefined pattern of some sorts?There are 0’s and F’s that define the shape, but they are commented, so I guess that they are there to show what the thing is that you are printing.
January 5, 2015 at 4:52 pm #2097ezrecParticipantYes, Tn is the printhead, Pn..Qn..Rn.. is the nozzle pattern (up to 72 nozzles, given the limits of accuracy with parsing P/Q/R as floats, only about 24 bits are reliable).
And yes, the ; 00000FFFF0000 lines are just debugging comments.
-
AuthorPosts
- You must be logged in to reply to this topic.