Jump to content

Kodak Portrait 3D printer


Go to solution Solved by guyzly,

Recommended Posts

Posted · Kodak Portrait 3D printer

I have the Kodak printer and am on Mac OS 13,  looking to get it to work with Cura (5.2.1).

I was able to put the definition, extruder, mesh files in to the configuration folder and I am able to print BUT...

-The .stl file for the mesh does not align with the build plate presented by Cura.

-More importantly, files sliced on the right crash the print head off the build plate when printing.

 

I was able to move the .stl presented from mesh to align with the Cura platform via mods in the kodak definition file in VSC

"platform_offset": [-6, -7, 17], to [33, -7, 17] But the print still crashes.

I tried to change "false" to "true" in overrides as below and default  value to "0" and back again with no change.

"machine_use_extruder_offset_to_offset_coords": { "default_value": true },

"machine_origin_offset_x": { "default_value": -40 }

 

I also don't know why the values for "material diameter" line 29 are not updated to the machine settings.  I corrected them from 2.85 in Cura app

{
"version": 2,
"name": "KODAK Portrait2",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "KODAK",
"manufacturer": "KODAK",
"category": "KODAK",
"file_formats": "text/x-gcode",
"platform": "kodak_portrait_platform.stl",
"has_materials": true,
"preferred_material": "kodak_pla",
"has_machine_quality": true,
"preferred_quality_type": "normal",
"platform_offset": [-6, -7, 17],
"machine_extruder_trains":
{
"0": "kodak_portrait_1st",
"1": "kodak_portrait_2nd"
},
"supports_usb_connection": true
},
 
"overrides": {
"machine_start_gcode": { "default_value": ";kodak begin\nG21\nG90\nM82\nM107\nG28\nT0\nG92 E0.0\nG1 X100 Y100 F3000\n;kodak begin" },
"machine_end_gcode": { "default_value": ";kodak end\nG91\nG1 E-4 F300\nG28\nG90\nM140 S0\nM104 T1 S0\nM104 T0 S0\n;kodak end" },
"machine_name": { "default_value": "KODAK Portrait2" },
"material_diameter": {"default_value": 1.75 },
"machine_extruder_count": { "default_value": 2 },
"machine_heated_bed": { "default_value": true },
"machine_height": { "default_value": 235 },
"machine_depth": { "default_value": 210 },
"machine_width": { "default_value": 255 },
"layer_height": { "default_value": 0.2 },
"speed_print": { "default_value": 75 },
"machine_use_extruder_offset_to_offset_coords": { "default_value": true },
"machine_origin_offset_x": { "default_value": -40 }
}
}

 

I'm new to coding and not brand new to 3d printing but have no idea how to proceed.

Thx

 

Screenshot 2023-01-17 at 12.36.40 PM.png

Screenshot 2023-01-17 at 12.51.57 PM.png

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    This comes up a lot.  We should have a sticky note here.

    The "platform" is just a cartoon and doesn't affect anything.  You can adjust the location later.  You need to match the midpoint of the virtual build plate in Cura to the real build plate on your printer.  The printer will put the 0,0,0 origin of a gcode file at the printer's Home Offset 0,0,0 and so those points need to match up.

     

    Carefully measure your printer's actual "X Bed Width" and it's actual "Y Bed Depth".

    Subtract 5mm from each number and insert those new numbers into Cura in the Machine Settings as "X (width)" and "Y (depth)".

    Auto-Home the printer and move the Z up a couple of mm's.

    Use the LCD controls and send the nozzle to a point 2.5mm from the left edge of the build surface and 2.5mm from the front edge of the build surface.  Move the Z back down to "0".

    On the LCD there should be a command for "Set Home Offset".  Select it and then find "Save Settings" and select it.

     

    If any of that doesn't work, make sense, or the commands don't exist in the printer, then some trickery will need to be done.

  • Link to post
    Share on other sites

    Posted (edited) · Kodak Portrait 3D printer

    Thanx for the quick reply.  I apologize that I did not research enough to see previous queries on this topic.

    I went to try the suggestions but these controls are unavailable.  I tried to connect do the printer via usb to control manually but noooooooo.   

    I attempted to operate the printer directly with Chrome Gcode sender but also no.

     

    Cura built the Kodak slicer and I am able to operate with it on an older mac but it is painful to go between stations to design, slice and print.

     

    I wonder why Cura does not load the values in the definitions file for "overrides" like line 29  "

    "material_diameter": {"default_value": 1.75 }.
    Perhaps it is not also using the offset in line 38.
     
    Can I simply print an "X" at center of a mesh, center it in the Cura slicer, print it, measure distance of print to center of actual built plate, and enter those offset values in the machine setting extruder x,y values within Cura app?

    Thanx

    Edited by guyzly
  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    When you Auto-Home the printer your LCD should indicate an X Y Z position.  Those numbers are the current Home Offset numbers.  If they are X0 Y0 Z0 and the nozzle is somewhere off the build plate then the Home Offset was never entered and so the printer puts the origin of a gcode at that Auto-Home Position.

     

    If that is the case then you can try this...

    After Auto-Homing, raise the Z a bit and move the nozzle to a point 2.5mm in from the left edge of the bed and 2.5mm in from the front edge of the bed.

    Whatever that location is defined as on your LCD will be the basis for your Home Offset.  Like other things in 3d Printing the numbers are positive when they need to be negative.  So multiply the X and Y values by "-1".

    Example:  After moving the print head to that point 2.5mm in from the edges, the LCD reads X2.11 Y11.444 Z5.  The Home Offset would then be X-2.11 Y-11.44 Z0 (the Z is always 0).

     

    Open a text editor and create a new text file.  Type in the following using the numbers you came up with.

     

    M206 X-2.11 Y-11.44 Z0 ;set the home offset

    M500  ;save settings

    G28 ;auto-home

    G0 F600 Z5 ;move the Z up

    G0 F6000 X127.5 Y105 ;move to the mid point of the bed

     

    Save the file as "Test.gcode" or something equally snazzy.  Stick it on an SD card and print the file.  At the end the print head should be near the center of your bed.  If it isn't then the "printable area of the bed" isn't really 255 x 210.  More adjustments would need to be made in the Cura settings.

     

    Let us know how you make out.  

     

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    The Kodak Printer has no such xyz readouts or controls to move x,y. (core xy machine)  The Z starts at the bottom and you can bump it up by preset increments (like 50mm) until you get close to the heads (20mm or so) and then no more.

    It is not an open source, user interactive machine at all.

     

    I was able to print an X in a square outline and print it out on extruder 1. (there are 2)

    I measured the distance to center of X to center of build plate at 40mm on the x axis.  In Cura, I took the 40mm and changed the Machine/extruder "Nozzle offset x" from 0 to 40 for extruder1 and from -40 to 0 on extruder2 and that worked perfectly,

    I then changed the value of the "platform_offset": [-6, -7, 17] to 33,-7,17 to line up the stl of the kodak build plate mesh and that worked as well.  Prints centered via cura's center option print in the center now so that is done.

    I went to print extruder2 to check but.....after auto-home from start gcode printer switches to extruder2 and preheats extruder2 and bed.  Then the printer changes heads and tries to print with the unheated extruder1

     

    I opened up the "fdmprinter" json from the kodak software pkg and compared it to the cura fdmprinter json looking for the differences and there are many.

     

    Any Idea why the extruder confusion?  It seemed to know that the file was for ext2 and then switched back after heat up.

     

    Still would like to know why "overrides" in the kodak json definitions file are not used by cura.

    If you know, please share.

     

    I appreciate the help (luv the bike!)

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    Kodak, DaVinci, Bamboo, and a couple of others appear to want users to stick with their slicers.   They are very proprietary and for the most part only their slicers communicate correctly with their firmware.  There are work-arounds but they need to be "discovered" and that can take a lot of trial and error.

    If you have StartUp Gcode defined in the Cura Machine settings what does it look like?  Is there a T0 line in it that might be causing the switch?

     

    The fdmprinter.def.json file (and the associated fdmextruder.def.json) are the base definitions for just about every printer in Cura.  It has everything in it.  There is a hierarchy and as an example my "ender3_Pro.def.json" file "inherits" the "creality_base.def.json" file which in turn inherits the "fdmprinter.def.json" file.  There are overrides in the creality base file that simply apply best to all their printers.  In the Ender 3 Pro definition there are additional overrides that are specific to that model printer (bed size, startup gcode, number of extruders...things like that).  My printer has a single extruder but I've added my own over-rides so that I can configure any Creality printer with up to 4 extruders.  I did that just to play around so I would have at least a passing knowledge about multi-extruder printing.

     

    For multi-extruder printing, Cura puts the initial extruder call in front of the StartUp gcode.  Cura doesn't actually "read" the StartUp Gcode and so if you have a T0 line in there the original T1 line that was inserted gets over-ridden.  A fix could be as simple as adding

    T{initial_extruder_nr}

    at the end of your StartUp Gcode, or if you have a T0 line in the startup then replace the 0 with the Cura keyword.  Cura does read things that are in curly brackets and will put the correct number in when the gcode is created.

    • Laugh 1
    Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    Starting gcode:

    ;kodak begin

    G21

    G90

    M82

    M107

    G28

    T0

    G92 E0.0

    G1 X100 Y100 F3000

    ;kodak begin

     

    Could you expound on:

     A fix could be as simple as adding T{initial_extruder_nr}

    at the end of your StartUp Gcode, or if you have a T0 line in the startup then replace the 0 with the Cura keyword.  Cura does read things that are in curly brackets and will put the correct number in when the gcode is created.

     

    I had a '76 wing. Great highway bike but short trips had me cleaning the carb needles a bunch.  I now ride a triumph sprint and suffer from a similar old-man bar fatigue.  Short trips are a joy tho : )

     

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    AHoeben has put together a list of the Cura keywords HERE.  They are essentially the variable names used within Cura.

    Certain ones you can put into your StartUp and Ending Gcodes and when the gcode is created Cura will replace the keywords with the actual setting value.

    M104 S{material_print_temperature_layer_0} would be replaced by your "Initial Layer Print Temperature".

    M140 S{material_bed_temperature_layer_0} would be the bed temperature.

     

    In the ending gcode a line like G0 F7200 X0 Y{machine_depth} would bring the build plate forward (or nozzle back depending on the printer).  That makes it easier to get a print off the plate.

     

    There are some speed words like {speed_travel} but they are in mm/sec and gcode is in mm/min so they end up being really slow.

    Cura would replace {initial_extruder_nr} with the extruder that was first up for the print.  If it's the last line in your gcode then even if your startup had switched extruders for heating that would get straightened out before the print actually started.  It's a picky situation though.  You don't want to heat an unused extruder, but it's hard to configure the StartUp gcode for that.  You may want to install another printer that you use for "extruder 2 only" prints.  That way you could configure the StartUp gcode specific to that situation.  I have a separate defined printer I use for TPU because the PLA purge lines are way too fast.

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    A Little Progress!  

    I put  {initial_extruder_nr}  as you suggested and it allowed extruder2 to print. YAY!

    Worse case I can struggle forward from here.

     

    I hope it's not too much trouble to look at the gcode I last generated in text to see what was going on.  My printer home's when turned on (firmware I'm sure) 

    -Then changes to Extruder2 (as this file is on extruder2)

    -slowly creeps to center (maybe the mm/min vs mm/sec you spoke of)

    -heats bed/nozzle (i turned bed off for this test)

    -changes back to nozzle1

    -homes again

    -then back to center

    -bed raises and bumps extruder1 to check Z offset

    -switch back to extruder2

    -creeps again to center

    -prints gcode

    Also offsets are not right.  prints off center unless i move the stl on the bed as I did here.

     

    ;FLAVOR:Marlin
    ;TIME:79
    ;Filament used: 0m, 0.0567741m
    ;Layer height: 0.2
    ;MINX:58.9
    ;MINY:76.4
    ;MINZ:0.3
    ;MAXX:116.1
    ;MAXY:133.6
    ;MAXZ:0.5
    ;Generated with Cura_SteamEngine 5.2.1
    T1
    M104 S220
    M105
    M109 S220
    M82 ;absolute extrusion mode
    ;kodak begin
    G21
    G90
    M82
    M107
    G28
    T0
    G92 E0.0
    G1 X100 Y100 F3000
    T1 
    ;kodak begin
    G92 E0
    G92 E0
    G1 F2400 E-5
    ;LAYER_COUNT:2
    ;LAYER:0
    M107
    M204 S3000
    G0 X60.294 Y77.171 Z0.3
    M204 S2250
    ;TYPE:SKIRT

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    In Cura, load a calibration cube or benchy and set up a slice.  Use the "File | Save Project" command to create a 3mf project file.  Post that file here and I'll take a look.  Those "kodak begin" lines in your StartUp gcode appear to mark the beginning and end of the startup section.  That's a pretty sparse section.  The startup itself does show that "G1 X100 Y100" line that moves to near the center at 50mm/sec.  I don't see a reason for that in there.  That G0 travel line is inserted by Cura after the startup and that G0 speed is undefined and so it is likely traveling at the homing speed which is pretty slow.

    Your startup can also be affected by extruder change code.  That will show up in the project file.

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer
    On 1/25/2023 at 7:33 PM, guyzly said:

    G1 X100 Y100 F3000

    The Kodak uses that to center (ish) the head, brings z axis up fast to @ 10mm then slow til it pushes nozzle1 up slightly to confirm z offset.  The head(s) are cylindrically constrained and signal as soon as plate pushes it up.  Only Extruder1 is used for this so when using ext2 it switches for Zoffset on every print.

    Thanx again!

     

     

    Cal gcode 1.3mf

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    Hey Greg,

    3mf attached above.  Are you still there?

    Thanx

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    Sorry, I didn't get notified.  (That was my bad.  I've fixed it.)

    That 3mf only has the model in it.  There are two types of 3mf - one type is created when you use the "File | Export" command.  That is a regular 3mf model file and that appears to be what you posted.

     

    The other type is generated when you use the "File | Save Project" command.  It will contain the model, your printer, and all your Cura settings.  That's the one I need.

     

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    Thanx Greg!

     

    KodakCalCube.3mf

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    Nuts.  I got the "Unknown machine so the models will be imported instead" message.  That means I can't directly check what's going on.

     

    I'm not quite ready to give up though.  If you have the Kodak slicer installed then maybe a comparison will turn up some clues.

    Post a Cura gcode file for sure, and if possible, also post a Kodak sliced gcode file.  

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer
    Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    This is making my head hurt.

    The Kodak version of Cura has a post-processor running (ChangeAtZ) and at layer 82 the temperature jumps up to 255.  This is a very high temperature for a lot of materials.  To the left of the "Slice" button should be an icon with a "<|>" icon.  If it has a red circle with a number in it then you have a post-processor active.  You can click on the button and next to the post processor will be an "X" button.  That's the close button for the post-processor.

     

    You mentioned movement to the mid-point of the bed and as you have seen -  that is in the Gcode in both versions as it is part of the StartUp G-code.

    What isn't in the StartUp is that other movement you mentioned with the Z movement of the build plate.  That appears to be something that is being handled either by the firmware, or there is an "Extruder StartUp G-code" defined in Cura.  I'm guessing it's in the firmware or it would do it at every tool change.

     

    The StartUp gcode is pretty sparse.  Because you don't have any temperature callouts in the main StartUp G-code, Cura is putting them in at the very beginning prior to that line ";Kodak Begin".  That means on the one hand you aren't really controlling the heating sequence but Cura does heat the "Initial extruder".

    One of the problems with dual extrusion is what do you do when you have a single extruder print?  I'm not sure.  If you plan the startup gcode for dual extrusion and run a single extruder print then an unused extruder will be drooling across your print.  If you don't heat both extruders then a dual extruder print will start out with one of the extruders cold.  One of my workarounds for that was to install additional instances of the printer.  One for extruder1, another for extruder2, and a third for dual extrusion.  Each has it's own startup gcode so the printer starts correctly for the particular print.  For example I print TPU at 12mm/sec so the purge lines that were designed for PLA are way to fast.  No problem.  I use my Ender 3 Pro TPU printer and everything goes smoothly.  I just found it easier than fiddling with settings all the time.

     

     

  • Link to post
    Share on other sites

    • Solution
    Posted (edited) · Kodak Portrait 3D printer

    I just read this and, dang, I forgot that I printed a temp cal tower.

    I have a new file without it here.

    I will try to re-read this today but I already started the 2nd instance of the printer in Cura.

    -Also, u r right.. there is no start ugcode for either nozzle.

    -Also, either extruder (but not both) can be disabled in cura in the "Prepare" stage.  Only the enabled extruder is heated with Kodak ( and now Cure with your {initial_extruder_nr} fix.

     

    Thanx so much!

    KP_Cal gcode 2.gcode

    Edited by guyzly
  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    hi there,

    You could share the profile of the KODAK printer to be able to use it in cure. I can't find the original kodak software anywhere

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    Hola soy nuevo en el tema, acabo de comprar una impresora kodak portrait agredeceria mucho si me ayudaran a configurar la misma

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    In the post by @guyzly he posted a 3mf project file.  Download that and try opening it in Cura.  It may help you get started.

    This is the Ultimaker Forum.  You might do better over on Reddit or somewhere else where there is a Kodak printer group.  

  • Link to post
    Share on other sites

    Posted · Kodak Portrait 3D printer

    Muchas gracias Greg Valiant muy amable. Voy a probar saludos

  • Link to post
    Share on other sites

    Posted (edited) · Kodak Portrait 3D printer

    So sorry, I have not been checking this thread.  Did you get software?

    https://support.smart3d.tech/hc/en-us/articles/360021232131-KODAK-Portrait-Reflashing-the-Smoothie

    There is a link there for flashing the raspberry pi.

    It's a project.  Micro SD cards are accessed by removing bottom panel etc.

     

    Edited by guyzly
    spelling
  • Link to post
    Share on other sites

    Posted (edited) · Kodak Portrait 3D printer

    Zip of def files.zip

    Instructions for adding these files to cura are available online. Open Cura: Help/Show Configuration Folder.  I changed the platform offset in vscode to 

    33, -7, 17 to align in cura.
    Edited by guyzly
  • 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...