Jump to content

Change Material Profile from Ultimaker 3 Extended


eKoh

Recommended Posts

Posted (edited) · Change Material Profile from Ultimaker 3 Extended

Hello community! This is my first post and I am facing to a problem I have been trying to solve for 2 days from now.

 

I need to manage the materials profiles from Ultimaker 3 machines, because we are having a problem with the default print core temperature for some materials, they are not being heated enough and when we load the material it (most of the times) takes too long to finally extrude and also, the print core is being covered by the material, and not extrude anymore.

 

That's why I need to raise a bit the print core default temperature for some material, like TPU 95A. This was possible in Ultimaker 2+ machines, but on Ultimakers 3, I am not able to do so.

 

I've tried by looking for different options in the machine with no success.

I have also tried by turning on the "Developer Mode" and working with the APIs, I had success with the following APIs:
POST /auth/request
GET /auth/check/{id}
GET/auth/verify
 

But by adding manually the --digest --user id:password, I've got no success with the following request:
POST /materials
PUT /system/name


Which is what I believe the post instruction I need to do. When trying to change the name then this appears:
ultimaker-message-ok.thumb.PNG.4ec736a0c2d5d673f9f5e18f4861d723.PNG

 

"message": "400: Bad Request" for the change name API

"message": "ok" for the /auth/verify API


Specifications:
Firmware revision: 4.07.... (I've updated it 1 week ago)
Printer: Ultimaker 3 Extended

 

Threads I've read for support:

 

 

I have also tried "Postman" but with no success

ultimaker-message-not.PNG

Edited by eKoh
  • Link to post
    Share on other sites

    Posted · Change Material Profile from Ultimaker 3 Extended

    First of all, during printing, the temperatures are all set via Cura.  On the UM2 the temperatures were set on the printer but with the UM3 they are set in Cura.

     

    And when changing materials you don't really need to heat up the core - well I don't anyway - I just lift the lever on the feeder, pull out the old material and insert the new one.  Then if I switch from say PLA to CPE i tell the printer on the front panel.

  • Link to post
    Share on other sites

    Posted · Change Material Profile from Ultimaker 3 Extended

    Note that gr5s suggestion works best after a successful print, etc., where one of the last end.gcode actions is to withdraw the filament a bit, enough that you can use the lever to pull away the tensioner and do exactly what he says! As a result, my machines when cold can work great for swapping material quickly even when I don't have time to load it officially. You miss out from recognizing the precise filament if you are using the Ultimaker filament, though.

  • Link to post
    Share on other sites

    Posted (edited) · Change Material Profile from Ultimaker 3 Extended
    2 hours ago, gr5 said:

    First of all, during printing, the temperatures are all set via Cura.  On the UM2 the temperatures were set on the printer but with the UM3 they are set in Cura.

     

    And when changing materials you don't really need to heat up the core - well I don't anyway - I just lift the lever on the feeder, pull out the old material and insert the new one.  Then if I switch from say PLA to CPE i tell the printer on the front panel.

     

    Thank you for your reply gr5!

    I do change the printer filaments as the instructions say. The problem is for example, when I load TPU 95A material, the procedure is this:

    1. Go to Material 1 > Load > TPU 95A. The print core heats up and after it is hot the material is loaded
    2. UM3 says: "Confirm when the material is being extruded", and then I wait for that, but actually very little material is extruded, thus, the print core is not clean yet.
    3. It "auto confirms" (sometimes) and the printer goes back as the material was correctly extruded but it actually still has some of the last material.

    What I had success with is to extrude it manually, by raising the temperature from the UM3 panel, and pushing the material from the feeder. So that's why I want to raise the temperature.
     


     

    I got updates about the APIs stuff, I tried the Hotspot connection (like for when you setup your WiFi connection) and some APIs works without the need of an id/key:


    um3_1.thumb.PNG.97b2165a9ac54c346e3edc0e96aacb4b.PNG
    um3_3.thumb.PNG.7a8732b2974f556ad891f94550cf71da.PNG

     

    But when I try to change the printer name I got this awful message: "message": "400 Bad request"

    um3_2.thumb.PNG.8d39a2645f8c266690ba4d35ecb49579.PNG

     

    So I can conclude that this is not an Authorization Issue, this is something else, but What could it be?

    Edited by eKoh
  • Link to post
    Share on other sites

    Posted · Change Material Profile from Ultimaker 3 Extended

    No, 401 would indicate authentication required. 400 means the parameters to the call are not as expected, most likely our documentation is slightly wrong then.

     

    For setting the printer name, the data needs to be proper "json", so it is missing quotes inside the data.

    -d '"Ultimaker"'

     

  • Link to post
    Share on other sites

    Posted · Change Material Profile from Ultimaker 3 Extended
    8 hours ago, Daid said:

    No, 401 would indicate authentication required. 400 means the parameters to the call are not as expected, most likely our documentation is slightly wrong then.

     

    For setting the printer name, the data needs to be proper "json", so it is missing quotes inside the data.

    
    -d '"Ultimaker"'

     

     

    It worked :D!

     

    um3_4.thumb.PNG.6c0196b76c21b8f632b045aa843286ee.PNG

     

    The only downside is that I can only use these APIs through the Hotspot technique (the no security credentials needed), the other way is to do it with credentials through ssh connection, but this is less practical than the APIs.




    Anyway, so I am making progress here, but what I need to do is to change the materials profile, I used the GET /materials API to get the materials my UM3 currently has, and saved it to a MaterialsFile.xml, and made a minor change, from 223 to 224 from all the temperatures available, just to check if it works:

     

    um3_5.PNG.ea27a262ea483892e6b0ee0880752c59.PNG

     

    And when I try to post materials, I use "materials" as the name of the file (I also tried only materials without the "") and I get the following:

     

    "message": "profile not stored"

    "result": false

     

    5a8c4419531bb_Screenshot2018-02-2008_35_49.thumb.png.d2ef25ea4b0c67d645aa741da765f0e2.png

     

    And then I uploaded a signature_file from the Firmware downloads, and I get the following message:

     

    "message": "expected bytes with no null"

     

    5a8c450a39690_Screenshot2018-02-2008_36_12.thumb.png.fade14e5638b7f0825f469ec62100345.png

     

    I was wondering if the UM2 and the UM3 share the same source code (or atleast the messages errors) for these APIs, since the UM3 source code has not been released, and where are they located at? I wanted to see by myself the cause of these messages but I was unable to find the messages.

  • Link to post
    Share on other sites

    Posted · Change Material Profile from Ultimaker 3 Extended

    For material upload errors, most things actually end up in the logs instead of in the API output (due to some shortcuts taken in the code)

     

    The UM2 and UM3 share almost no code.

     

    The code is actually readable on the UM3 itself, as it's all python. Logging in with ssh in /usr/share/griffin/griffin/interface/http you can find the API implementation.

  • 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
        • 26 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...