Jump to content

"Panellised" prints


ascended

Recommended Posts

Posted · "Panellised" prints

Is there a way to easily "panellise" GCode? for example: I have a 15mm x 20mm part, and I need a lot of them, is there a program that I can load my gcode into to print say 8 columns of 8 rows of this part? This would print out 64 parts at a time.

Alternatively, if this could be set-up through the ulticontroller that would be amazing.

  • Link to post
    Share on other sites

    Posted · "Panellised" prints

    In Skeinforge there's a module called "Multiply" for this purpose. I don't know if cura gives you access to it but you might try Daid's own version of it that builds an object at a time instead of all at once.

    Or you could duplicate the object in your favourite 3d-editor.

    Or you could use Netfabb.

    I'm sure there are other ways but those are the ones that spring to mind at 9AM after 5 hours of sleep.

  • Link to post
    Share on other sites

    Posted · "Panellised" prints

    Cura's project planner can do this, which will print 1 object at a time. The next release will include a feature to print all the objects at once, in the same way the multiply feature works.

    In Cura RC2 or lower you can also use the multiply feature from Skeinforge, however this was removed in RC3 due to a number of reasons.

  • Link to post
    Share on other sites

    Posted · "Panellised" prints

    So if you don't print one object at time, how do the others work? Printing all of the parts on one layer then going to the next layer for all parts? Or am I misunderstanding you?

    Printing each part completely before moving onto the next would definitely be preferably to throwing away 60 half finished parts in the event of something going wrong!

  • Link to post
    Share on other sites

    Posted · "Panellised" prints
    So if you don't print one object at time, how do the others work? Printing all of the parts on one layer then going to the next layer for all parts? Or am I misunderstanding you?

    Printing each part completely before moving onto the next would definitely be preferably to throwing away 60 half finished parts in the event of something going wrong!

    You are exactly right. Cura's project planner will print 1 object completely, and then move to the next. Due to the size of the printer head this will take up a bit more room on the printer bed.

    All other tools (Slic3r, Skeinforge multiply) print 1 layer of all the objects at a time. Which indeed can cause a failure to have lots of half finished objects.

    Here is an example of Cura:

    http://daid.eu/~daid/IMG_20120424 ... .small.jpg

    each object was printed separately there, shown by the skirt around each object.

  • Link to post
    Share on other sites

    Posted · "Panellised" prints

    Ah, thats excellent. I didnt even think of printing one layer of each, i thought printing each part separately would be stronger too.

    The part i'm immediately thinking of this for is quite low profile so i shouldn't need too much extra clearance around each part.

  • Link to post
    Share on other sites

    Posted · "Panellised" prints

    We have had some succes using the print head to push a finished print off off the bed and then starting a new one. We use a different tape than the standard blue one for this: Sigma ProGold. It sticks a lot less, but still enough when printing the first layer at moderate speed and with the fan off. When cooled it just pops off. We use a switching routine and copy/paste the 'main' g-code + switch a couple of times. See

    Our switch code: (printer just printed our part, is on top layer height of 34 mm)

    G1 F4200; set rapid speed for travel move
    G0 Z44 ;go up (actually just final print height + 10mm)
    G0 X136.9 Y150 ; go to x-y spot, x is chosen to have the head push with the bolt on which the fan is attached
    G0 Z4 ;move down
    G1 Y0 F3000 ; push print off with movement speed 3000 mm/min

    The code then looks like this:


    • [*:14hr3q3m]printer start code
      [*:14hr3q3m]main gcode
      [*:14hr3q3m]switch
      [*:14hr3q3m]main gcode
      [*:14hr3q3m]switch
      [*:14hr3q3m]... repeat
      [*:14hr3q3m]end gcode

    We are still working on this (not a priority atm though). Some points:

    • [*:14hr3q3m]We use manual gcode editing at this point
      [*:14hr3q3m]We made an error with applying our tape, so the print got stuck at an edge and sprang away
      [*:14hr3q3m]We haven't got a good first layer (even with skirt), possibly because of a retract move at the end of print or oozing (Z-height is no problem, you correct this for the first print anyway)
      [*:14hr3q3m]Not sure about relative/absolute positioning and how we can use it best

  • Link to post
    Share on other sites

    Posted · "Panellised" prints

    Interesting test to push off the printed object. I always assumed it was possible with some types of objects. I currently cannot test it as my tape sticks better to the object then the platform.

    You could change the Z lift with a small piece of relative code:

    G1 F4200; set rapid speed for travel move
    G91 ;Relative mode
    G0 Z10 ;go up
    G90 ;Absolute mode
    G0 X136.9 Y150 ; go to x-y spot, x is chosen to have the head push with the bolt on which the fan is attached
    G0 Z4 ;move down
    G1 Y0 F3000 ; push print off with movement speed 3000 mm/min
    

    This way you don't need to know the height of your print.

  • Link to post
    Share on other sites

    Posted · "Panellised" prints

    Haha, knocking the prints off is an awesome idea. We'll be printing with ABS on a heated bed though, a part about 20mm long, 17mm wide and 10mm high. I think we'll have too much surface adhesion, as awesome as spitting the parts out would be.

    I wonder about buying a metre of kapton 200mm wide though, and making a cycling bed that would cool the parts down as it goes off to one side, and then as it gets to the roller it would fall off whether it wants to or not. Assuming you had no technical issues you could basically set it up and forget about it for a week.

  • Link to post
    Share on other sites

    Posted · "Panellised" prints
    Haha, knocking the prints off is an awesome idea. We'll be printing with ABS on a heated bed though, a part about 20mm long, 17mm wide and 10mm high. I think we'll have too much surface adhesion, as awesome as spitting the parts out would be.

    the script could control the HBP temp. print the plate with all your parts, when finished, turn off the HBP, wait until it dropped to 50C, and come up with a path to push all the parts off the platform. then heat up again, and start printing again. sounds possible to me.

     

    I wonder about buying a metre of kapton 200mm wide though, and making a cycling bed that would cool the parts down as it goes off to one side, and then as it gets to the roller it would fall off whether it wants to or not. Assuming you had no technical issues you could basically set it up and forget about it for a week.

    something like this: http://www.makerbot.com/blog/2010/09/13/makerbot-automated-build-platform/ ?

    a simple sweeper (like the ones used in bowling alleys to remove the pins) would work as well.

  • Link to post
    Share on other sites

    Posted · "Panellised" prints

    I think an heated bed would make it easier to push off parts, not harder. You can use M190 to cool down and wait for the heated bed.

    Some kind of wiper would be pretty cool, and I think easier and more reliable then the ABP from Makerbot. However, it would make it hard to shove off thin parts.

  • Link to post
    Share on other sites

    Posted · "Panellised" prints

    Cooling the bed down and then heating it gain sounds like it would take quite awhile, if that was the best route to take then printing multiple pieces before clearing them off would be a real time saver.

  • Link to post
    Share on other sites

    Posted · "Panellised" prints
    I think an heated bed would make it easier to push off parts, not harder. You can use M190 to cool down and wait for the heated bed.

    I've been working on a push off routine for my HBP. Within a month or so I expect to be making a lot of the same model, so I really need to get this working. The push off routine looks like this after the print is ready:

     

    G1 F4500		; set feedrate 4500G28 X0 Y0 Z0		; home all axisG0 Z4			; lower platform by 4mmM104 S120		; keep extruder warmM190 S35		; wait for HBP temp to reach 35CM107			; turn off fanG0 Y200			; go to Y 200 				G0 X150			; go to X 150					G0 Z2 F180		; raise platform 2mmG1 F4500		; set push-off feedrateG0 YO			; push off moveG28 X0 Y0 Z0		; home all axisG92 X0 Y0 Z0 E0		; reset software position to front/left/z=0.0G0 Z15 F180		; lower platform 15mmM190 S55		; wait for HBP temp to reach 55CM109 S210		; wait for extruder temp to reach 210G92 E0			; zero extruded lengthG1 F200 E5		; extrude 5mmG92 E0			; zero extruded length

     

    When testing this I noticed that the M190 S35 does not work when the current HBP temp is 55 C, it continues immediately with the next command. However when the HBP temp is lower then 35 C it does work and waits until the temperature is reached.

    Is it true I can't use a M190 to wait for the temperature to drop below a certain value?

    Is there a work around?

  • Link to post
    Share on other sites

    Posted · "Panellised" prints
    Is it true I can't use a M190 to wait for the temperature to drop below a certain value?

    Is there a work around?

    Look into the marlin source code, in one of the configuration files is a line with WAIT_FOR_COOLDOWN false, and change that to true, this should help

  • Link to post
    Share on other sites

    Posted · "Panellised" prints

    Look into the marlin source code, in one of the configuration files is a line with WAIT_FOR_COOLDOWN false, and change that to true, this should help

    Hi Joergen,

    I was able to find the following pieces of code:

    In the configuration_adv.h file

     

    // Wait for Cooldown// This defines if the M109 call should not block if it is cooling down.// example: From a current temp of 220, you set M109 S200. // if CooldownNoWait is defined M109 will not wait for the cooldown to finish#define CooldownNoWait true

     

    In the Marlin_main.cpp file

     

    case 190: // M190 - Wait for bed heater to reach target.   #if TEMP_BED_PIN > -1       LCD_MESSAGEPGM(MSG_BED_HEATING);       if (code_seen('S')) setTargetBed(code_value());       codenum = millis();        while(isHeatingBed())        {         if(( millis() - codenum) > 1000 ) //Print Temp Reading every 1 second while heating up.         {           float tt=degHotend(active_extruder);           SERIAL_PROTOCOLPGM("T:");           SERIAL_PROTOCOL(tt);           SERIAL_PROTOCOLPGM(" E:");           SERIAL_PROTOCOL((int)active_extruder);            SERIAL_PROTOCOLPGM(" B:");           SERIAL_PROTOCOL_F(degBed(),1);            SERIAL_PROTOCOLLN("");            codenum = millis();          }         manage_heater();         manage_inactivity();         lcd_update();       }       LCD_MESSAGEPGM(MSG_BED_DONE);       previous_millis_cmd = millis();   #endif       break;

     

    I dit not find an exact 'WAIT_FOR_COOLDOWN false' line. I'm not sure if I have been looking at the correct version of marlin, github is new for me. I looked at this version of Daid:

    https://github.com/daid/Marlin/tree/Marlin_v1/Marlin

    The "#define CooldownNoWait true" seems a bit similar to what you were suggesting accept that it is used for M109 and nog M190.

  • Link to post
    Share on other sites

    Posted · "Panellised" prints

    Oke, so I wasn't patient enough and tried the push off routine with the not working 'M190 S35' command, and it worked! At least for this particular print it will work. Still I would like to make a push off routine with a working M190 command. Any help is appreciated!

    Here's a video of the routine:

     

  • Link to post
    Share on other sites

    Posted · "Panellised" prints

    Yes, that as the correct line... In the config_adv.h, sorry, i was on my ipad and had no access to the source.

    David might know if the M190 has the same wait routine as the M109.

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 18 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...