Edit gcode for Sequential Printing?

219 views
Skip to first unread message

Rick Zehr

unread,
May 3, 2014, 8:11:19 PM5/3/14
to kisslicer-r...@googlegroups.com
Because of its unique feature of setting the Jitter angle for seams, I use KS for making a small part. Unfortunately, if I print more than one at a time, KS does them all interlaced at the same time, and this seriously reduces print quality, as well as slowing the print. Still worse, these pieces only take about 45 minutes each, so I have to tend to the printer every 3/4 of an hour.

What I'm wondering is whether it is feasible to edit multiple gcode files together to implement sequential printing? 

My printer uses Absolute coordinates, so it seems like a fairly simple matter to graft the gcode from more than one KS output file on the plate together into a print that might do four of the parts and last three hours.

KS appears to document the sections of the gcode well in comments, so it can't be too tough. Anything I should know before I start, or tricks involved?


PenskeGuy

unread,
May 3, 2014, 8:32:49 PM5/3/14
to kisslicer-r...@googlegroups.com
This should be doable. You'd have to ensure that the individual sections are placed in the combined file in such order that there would be lesser chance of the head traversing the bed and run into an already finished part. So, place the first part as far from the start position as possible and work back to it. Probably could edit out the start and end sequences between parts, so that it would move directly to the next. The Big Thing to worry about is that you'd have to ensure that the transport mechanism doesn't crush an already printed part when the Z changes. Depeding upon the hardware layout, placing them in a line, front to back may take care of this. A Delta machine wouldn't have this issue, I'd figure, as long as the parts are dispersed widely enough.

Sequence printing would be a good checkbox to have. I often just print one at a time, due to the stringing and stalks that grow when the head moves off to the next part at the same level. All that going back and forth is a waste of time and running four individual prints takes less overall time than running four ganged.

Rick Zehr

unread,
May 3, 2014, 9:15:10 PM5/3/14
to kisslicer-r...@googlegroups.com

I pasted a couple of them together - printing now - we'll see.

To avoid the collision issue when the head would move from the top of one piece to the base of the next, I inserted a G1 move to get the head and fans over in the X direction before it slants down to start the next piece. 

Editing the gcode is kind of a PIA workaround, but I shouldn't have to do it very often.  

Rick Zehr

unread,
May 3, 2014, 9:49:20 PM5/3/14
to kisslicer-r...@googlegroups.com
Excellent - it worked perfectly. Now I can can put several of them together to get the Sequential Printing feature so I don't have to babysit the printer.

toranarod

unread,
May 3, 2014, 11:06:42 PM5/3/14
to kisslicer-r...@googlegroups.com
Just so I understand this correctly. you are printing them one after the other.   not all at the same time? 

Rick Zehr

unread,
May 3, 2014, 11:33:08 PM5/3/14
to kisslicer-r...@googlegroups.com
Exactly. You get better print quality, faster, and if one piece fails to print, it does not destroy all those that had already completed. This is a feature of Cura and Simplify3D. I have no idea why it is not the standard method, vs. interleaved layer-by-layer.

PenskeGuy

unread,
May 4, 2014, 12:58:08 AM5/4/14
to kisslicer-r...@googlegroups.com
Yes, a Borked print on only one object, that almost inevitably would screw up all of the rest because layers would be missing, is another reason why I don't gang print. I have a number of models upon which to do this interleaving and sequential gang print. Cool.

toranarod

unread,
May 4, 2014, 4:05:01 AM5/4/14
to kisslicer-r...@googlegroups.com
I had often thought that would be a good idea if it was possible.   I would like  to see a 3D printer do That?  
Is there a video on you tube of a 3d printer doing this.  

good work..

cheers

PenskeGuy

unread,
May 4, 2014, 4:54:36 AM5/4/14
to kisslicer-r...@googlegroups.com
Just try it. You can watch it in person. Not really difficult to edit two or more slice files together. Just be aware of what I cited in the earlier post about collisions with previously printed parts. Space them far enough away from each other on the bed and slice each one separately. Then string the files together, optionally removing unnecessary header/footer stuff that only needs to be in the file once at the beginning and once at the end. You could actually leave all of each file in there, but recognizing redundant sections that can be cut out will lessen the time and increase the efficiency.

toranarod

unread,
May 4, 2014, 9:26:59 AM5/4/14
to kisslicer-r...@googlegroups.com
Thanks. I always thought the head would collide with the first object, no matter what at some point, I will give it a try i have a few objects that will do just the trick.
been following the testing  things are moving quick. good work from every one.  

Tim Hester

unread,
May 4, 2014, 9:38:16 AM5/4/14
to kisslicer-r...@googlegroups.com
Slic3r also has this functionality;

Sequential printing options:
--complete-objects  
When printing multiple objects and/or copies, complete each one before starting the next one; watch out for extruder collisions 
(default: no)

--extruder-clearance-radius 
Radius in mm above which extruder won't collide with anything
(default: 20)

--extruder-clearance-height 
Maximum vertical extruder depth; i.e. vertical distance from extruder tip and carriage bottom 
(default: 20)


--
You received this message because you are subscribed to the Google Groups "Kisslicer Refugee Camp" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kisslicer-refugee...@googlegroups.com.
To post to this group, send email to kisslicer-r...@googlegroups.com.
Visit this group at http://groups.google.com/group/kisslicer-refugee-camp.
To view this discussion on the web visit https://groups.google.com/d/msgid/kisslicer-refugee-camp/14b9ea60-1f03-4006-aed6-c7bc684a3dfc%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Rick Zehr

unread,
May 4, 2014, 11:05:48 AM5/4/14
to kisslicer-r...@googlegroups.com
On Sunday, May 4, 2014 6:38:16 AM UTC-7, Tim Hester wrote:
Slic3r also has this functionality;
 
So all three of the other RepRap slicers support sequential printing, but no plans for the feature in KS? Personally I'd prioritize this over multi-extruder support for the 37 people who have multiple extruders.

"I would like  to see a 3D printer do That?"

Try Cura, Slic3r, or Simplify3D... 

PenskeGuy

unread,
May 4, 2014, 7:56:45 PM5/4/14
to kisslicer-r...@googlegroups.com
I don't see anywhere where sequential printing has been deemed to be on the "not going to do it" list, which is what your statement/question implies. It's just recently been raised as a question, here. Geez, Jonathan, himself, has just recently been "raised". He's always been open and enthusiastic about features. He'll get to it.

PenskeGuy

unread,
May 4, 2014, 8:04:08 PM5/4/14
to kisslicer-r...@googlegroups.com
The safest way to approach this is to create a two or three layer thick small cube or cylinder and turn on Skirt with a decent amount of Inflate. Individually slice two, three or four of them, placing them far enough apart. Combine the files, with the farthest from the wipe box being first and working back towards it. Watch the fun, with your finger near the pause button just in case, until you're confident that you've found all of the dangers and optimizations to allow it to print unattended. This will allow a test to be performed that won't have any chance of the transport mechanism hitting anything.

Rick Zehr

unread,
May 4, 2014, 8:10:21 PM5/4/14
to kisslicer-r...@googlegroups.com
It was on the request list from way way back on the old forum. I've never seen it mentioned as being on the to-do list. 

PenskeGuy

unread,
May 4, 2014, 8:30:23 PM5/4/14
to kisslicer-r...@googlegroups.com
I've never seen it mentioned. Not that is wasn't, but I was in there a LOT. Especially toward the end.

Davide Ardizzoia

unread,
May 5, 2014, 4:53:29 AM5/5/14
to kisslicer-r...@googlegroups.com
I've sold more than 37 printers with two extruders. And I'm small fry...  :-)

KS already is the reference for multiple extruder support, it just misses a few small things to be really perfect.
Sequential printing is one of them, as well as flat interface surfaces, better bridging and the possibility to use speed inside style tab.

Best Regards
Davide Ardizzoia
3ntr

lonesock (Jonathan)

unread,
May 5, 2014, 11:52:44 AM5/5/14
to kisslicer-r...@googlegroups.com
Is it bad that I prefer the word "Series" over "Sequential"?  Mostly because my immediate thought for the opposites are "Parallel" vs. "Non-sequential".  [8^)

Regardless, it is on the list.  In fact, I have already done some work on it, and for the most part it's pretty trivial.  The simple incarnation would simply have an extra buffer space fed to the packer (basically an 'extruder radius') to space out the parts, then generate the G-code paths, per model.

But, there are some trickier aspects, including:
  • output sort order possibilities
    • tallest to shortest (and if so the packer needs to take this into account)
    • nearest some point first, then spread out from there
    • some combination of both of the above
  • per-model G-code prefix and post-fix
    • hopefully not necessary, but I could see some being useful.
  • per-model Prime Pillar (if enabled)
    • will need to be near each object, so I would probably need to weld a prime pillar to each model, _before_ feeding them to the packer.
thanks,
Jonathan

Robert Wagner

unread,
May 5, 2014, 3:17:48 PM5/5/14
to kisslicer-r...@googlegroups.com
@Jonathan: For sorting order, I'd lean towards shortest-to-tallest, as the taller an object is, the more likely it is to run into whatever mechanism is moving the print head when the next model starts.  I'd definitely like getting some form of sequential/series printing in KISSlicer sooner rather than later, as I often need to print multiple objects, but don't have an exceptionally reliable printer, and don't entirely trust my own solution (below).

--------

I ran into a need to do this a while back (I needed to print a bunch of tiny models, didn't want stringing, and wanted to be able to use the file to run out the end of my filament), so I made a python script that duplicates a single object into a grid of objects printed sequentially.  The parts are spaced with a ~1cm buffer between them, and are printed from front-to-back, then left-to-right.

Some disclaimers:
- DO NOT TRUST THE OUTPUT FOR A GIVEN MODEL UNTIL YOU HAVE WATCHED IT PRINT ALL THE WAY THROUGH.
- I do not recommend using this script if you are not comfortable editing it.
- This was designed specifically for my printer (3DTouch) and KISSlicer settings.  Your results may vary.
- I have only tested it on very small models (15mm x 15mm x 4mm).  I think it will work for larger objects, but have not tested it.
- It expects a .bfb extension, an will either overwrite the input file or crash horribly if it gets a different extension.

- This was designed assuming that the part is being printed with extruder 1 on a 2-head 3DTouch.  If you use a different extruder, or a printer where extruder 1 is not the left-most, you will almost certainly have a head crash.
- It does not recenter the print.  It assumes that the initial model is in the back right corner of the bed, and places the duplicates in a grid to the left and front of that location.  There are no checks to make sure that the models remain within the printable volume.

Usage:
make_sequential_duplicates.py x_count y_count /path/to/gcode_file.bfb
Outputs a file in the same directory as the input, called "input_filename_[total count]_seq.bfb".

Once again, preview the gcode before you let it anywhere near your printer, and keep a close eye on it the first time you try printing a given file.
make_sequential_duplicates.py

PenskeGuy

unread,
May 6, 2014, 12:48:07 PM5/6/14
to kisslicer-r...@googlegroups.com
My first thought was short to tall, too.

"Sequential" is more precise, as it describes a progression. Longer, so not good on the UI front. "Sequence" would be a good compromise.

Per-model G-code pre/postfix would be good. There are a few sets of parts that have different shapes but go together and require different settings. Being able to grab a file and print the set without stopping would be huge.

Pre-model Prime Pillars is a must if it is going to be used at all. No other way to have them, but it would be good if they could be turned on/off per-model. Otherwise, that's going to be a big increase in material use.

That script is a perfect fit here. I'll give it a shot. Thanks!


On Monday, May 5, 2014 12:17:48 PM UTC-7, Rob W wrote:
@Jonathan: For sorting order, I'd lean towards shortest-to-tallest, as the taller an object is, the more likely it is to run into whatever mechanism is moving the print head when the next model starts.

Rick Zehr

unread,
May 6, 2014, 1:46:09 PM5/6/14
to kisslicer-r...@googlegroups.com
Consider either allowing the user to arrange the pieces on the plate (Slic3r approach - meets minimum requirements) and perhaps rearranging the sequence of parts to be printed in the sidebar list, and/or allowing the buffer zone around the nozzle to be defined in four directions in the Machine settings (Cura approach).


Reply all
Reply to author
Forward
0 new messages