Jump to content
Ultimaker Community of 3D Printing Experts
eKoh

Change Material Profile from Ultimaker 3 Extended

Recommended Posts

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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"'

 

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


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

    • Introducing Ultimaker Cura 3.6 | Beta
      Ultimaker Cura 3.6 | Beta is available. It comes with new features, bug fixes, and UX improvements. We would really like to have your feedback on it to make our stable release as good as it can be. As always, you can download the beta for free from our website, for Windows, MacOS, and Linux.
        • Like
      • 92 replies
    • Print Core CC | Red for Ruby
      Q: For some users, abrasive materials may be a new subject matter. Can you explain what it is that makes a material abrasive when you are not sure which print core to use?
      A: Materials which are hard in a solid piece (like metals, ceramics and carbon fibers) will generally also wear down the nozzle. In general one should assume...
        • Like
      • 30 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!