Welcome! Log In Create A New Profile

Advanced

Success: Dremel IdeaBuilder 3D20 with slic3r under Linux

Posted by fhwedel-hoe 
Success: Dremel IdeaBuilder 3D20 with slic3r under Linux
August 30, 2017 09:46AM
Hi Everyone

I am taking care of a "Dremel IdeaBuilder 3D20" 3D Printer. I use it in an environment which prefers Linux. The original "Dremel 3D Printer Control Software" is available for Linux, but the configuration options are rather limited. Also, it often crashes on me. So I took the task of feeding code generated by slic3r to this particular printer. In order to find the right settings, you need to know that the Dremel 3D20 is actually a re-branded FlashForge Dreamer. I found these slic3r options to produce prints of good quality:

Printer Settings
MakerWare (MakerBot) dialect
228x150 size
114,75 position
0.4 nozzle (from drucktipps3d.de)
1.75 filament (taken from the filament packaging)
0mm Z offset

Print Settings
0.2 layer height (matches Dremel default)

Filament Settings
1.0 extrusion multiplier

Print Start Code
M104 S[first_layer_temperature] ; switch on temperature (slic3r)
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle
M6 T0 ; auto-feed? (dremel)
M106 ; switch on fan (dremel)
M108 T0 ; set extruder speed (dremel)
M109 S[first_layer_temperature] ; wait for temperature
M116 ; wait for all temperatures (unused, but just to be sure)

Print End Code
M107 ; switch off fan
M104 S0 ; turn off temperature
G1 Z140 F3300 ; lower table
G28 X0 Y0 ; home X and Y
M18 ; disable steppers
M84 ; disable motors (slic3r)

slic3r produces standard G-code. The Dremel 3D20 understands but only if wrapped in a proprietary file format, which is abbreviated with g3drem. Dr. Peter Falkingham found out you can "transplant" the binary header of an existing g3drem file onto arbitrary G-code. I wrote a script "gcode2g3drem" that can post-process slic3r output (needs to be invoked manually). I have been unable to determine what settings are stored in the header, though. That's why the printer always estimates the print process to take 6 minutes.

I hope you may find this useful, too.
Re: Success: Dremel IdeaBuilder 3D20 with slic3r under Linux
September 03, 2017 05:28PM
Quote

I hope you may find this useful
Not just useful, I think it's awesome!!!

I'm helping out the library with it's 3D20 printer, being used to open source printers, I wasn't really enjoying it's limited software, and want unable to take into consideration adjustments for third party filaments.

So I will put into practice your discoverings ASAP, even looking into add slic3r support.

Thanks
ts
Re: Success: Dremel IdeaBuilder 3D20 with slic3r under Linux
October 09, 2017 06:00PM
Thanks for the script - I think that the time in seconds may be stored at byte 29 (assuming the first byte is 1). I haven't had a chance to validate this yet, but in my limited sample size (two files) the numbers seem to correlate.

I pasted the header data (below) in your script into hexplorer: [sourceforge.net] and started poking around the header data.



The first line is ASCII for "g3rem 1.0" The second line had a number stored in it at byte 29 that equaled 382 (highlighted in red). Three hundred eighty two seconds is six minutes twenty-two seconds...

67 33 64 72 65 6d 20 31 2e 30 20 20 20 20 20 20
3a 00 00 00 b0 38 00 00 b0 38 00 00 7e 01 00 00
be 01 00 00 00 00 00 00 01 00 00 00 19 00 03 00
64 00 00 00 dc 00 00 00 01 ff

To validate I then went and downloaded this file from instructables:
[cdn.instructables.com]

which came from this instructable [www.instructables.com]

In it, there's this picture that shows that the part should take 1 hour 8 minutes to print.

below are the first two lines of the file in hex -
67 33 64 72 65 6D 20 31 2E 30 20 20 20 20 20 20
3A 00 00 00 B0 38 00 00 B0 38 00 00 F3 0F 00 00

Looking at the word stored at byte 29 (again, first byte is byte 1) the value stored in that file is 4083, which is 68.05 minutes, or one hour eight minutes - so they match here as well.

I haven't had a chance to modify a file and put it into the dremel to validate this, but If I had to make a semi-educated guess, I'd imagine that the time in seconds is a 4 byte (probably unsigned) integer that I highlighted above.

Edit: I validated this by taking a benchy file that had been converted to .g3drem format and loading it into the Dremel 3D software. By default the print time was estimated at 1h 55min and the estimated filament was 5.36 meters.



I then set about editing the bytes of the .g3drem file and then loading the edited file into the Dremel 3D software - after editing the 4 bytes around byte 29, the estimated time shown to print changed. It seems that the maximum time that the software can handle is 4660 hours and 20 minutes (which would show up in the file as FF FF FF 00, or as normal hex 0x00FFFFFF, or as decimal 16,777,215 minutes), so it would seem that the fourth byte is not used



Then - poking around the file a bit more, it seems that the estimated amount of filament in millimeters is stored in the next four bytes (highlighted in blue above). It seems that that this number uses all four bytes, for a maximum value of 4,294,967,295 millimeters, or as the dremel software reports (after some rounding): 4,294,967.5 meters (hex 0xFFFFFFFF)


Edited 4 time(s). Last edit at 10/10/2017 12:44AM by ts.
ts
Re: Success: Dremel IdeaBuilder 3D20 with slic3r under Linux
November 05, 2017 07:55PM
I know this is a bit off the topic of slic3r and linux, but I've created a cura plugin to export .g3drem files directly from cura based on the information above. Many thanks to fhwedel-hoe for the script - the information contained therein was super helpful. I haven't tested under linux, but since cura is python based, it's likely that it can be modified very easily to work under linux as well (and may just work out of the box)

you can find the plugin and installation instructions here: [github.com]

Edited 1 time(s). Last edit at 11/05/2017 09:24PM by ts.
Re: Success: Dremel IdeaBuilder 3D20 with slic3r under Linux
November 06, 2017 08:16AM
You are awesome. thumbs up

My job demands me to focus on other things, but with a bit of luck I can adapt your script for work with slic3r.

In the meantime, I'll probably switch to cura myself.
Re: Success: Dremel IdeaBuilder 3D20 with slic3r under Linux
September 29, 2018 05:31PM
Does anyone have the script? It goes to a 404 error! I'd really love to use slic3r instead of Cura! I've found that many times when I can't get something to print or adhere to the bed after slicing in Cura using slic3r instead almost always solves the issue!
ts
Re: Success: Dremel IdeaBuilder 3D20 with slic3r under Linux
October 10, 2018 07:17PM
Quote
strelock
Does anyone have the script? It goes to a 404 error! I'd really love to use slic3r instead of Cura! I've found that many times when I can't get something to print or adhere to the bed after slicing in Cura using slic3r instead almost always solves the issue!

Sadly I don't seem to have a copy of that batch file anymore, however you should be able to use any .g3drem file and follow the instructions on Peter Falkingham's page and paste over the gcode in the g3drem file with the gcode that slic3r produces.

If you are a bit more technical, you can always read up on the Technical Details of the .g3drem file format that I've published, and either create a slic3r plugin or modify the binary headers for your own prints to suit your needs. All the code for my cura plugin is open source, so feel free to look through it and use it as the basis for a slic3r plugin.

I haven't had any issues with my prints not sticking to the Dremel bed using the Cura plugin that I've created - I've found that between strips of painters tape over the print bed and setting the build plate adhesion settings I've had pretty good luck for getting the prints to stick.

If you use the plugin and have issues I happily accept feedback. Feel free to create an issue if there's something that the plugin could do better. Some things, I can not control (i.e. what gcode is produced by Cura) but I can change the default settings that the plugin uses with Cura for the 3D20 (Recently some of the default settings were changed due to user feedback), so if you do use the plugin and find a better setting than the defaults feel free to provide the information back to me and I'll happily take a look.
Re: Success: Dremel IdeaBuilder 3D20 with slic3r under Linux
October 11, 2018 12:23AM
Thanks for your reply, I have been looking at the code for the Cura plugin and am going to see if I can get something to work but I am not a coder at all. I have some understanding of it from school but I took the networking track so all I had was an intro course. I have fixed the adhesion issues by using a piece of paper to level the bed instead of that plastic card that came with the printer, so all is mostly good. I also figured out that the build plate that came with the printer was warped (bought it used) I still have issues with warping even with blue painters tape but that is to be expected on a non heated build plate in my experience. Thank you for your work on creating the plugin it has definitely improved things over the default dremel software!
ts
Re: Success: Dremel IdeaBuilder 3D20 with slic3r under Linux
October 12, 2018 12:10AM
I had trouble with warping when I first got the printer as well (also used) - changing the temperatures and cooling fan options helped getting the builds to stick way better. I also use a paper to level the print bed (on mine the plastic piece that comes with the printer originally was lost far before I ever got the printer)

For what it's worth the settings in the cura plugin leave the fan off for the first layer to ensure that it has a better chance of cooling slowly and sticking to the print bed.

Finally - Giving people another option for the Dremel would be awesome! There's no better way to learn coding than to have a project with a goal that you want to accomplish. I'd encourage you to give writing a plugin a try - I'm certainly no expert in 3D printing, nor in Python, but having this project helped me learn some new things. I'd also encourage you to open source your work - even if you're not 100% successful at first if you put your code out there then you might be surprised at the number of people out there willing to chip in to help you out when you get stuck - an engineer at Dremel and some of the engineers at Cura have made contributions to my plugin to make it better, and I'm sure they wouldn't have done so had the project not been open source.

If you do create a plugin, or even start the process, feel free to post a link here - if I get some time I'd be happy to take a look.

Cheers!

Edited 1 time(s). Last edit at 10/12/2018 12:42AM by ts.
Sorry, only registered users may post in this forum.

Click here to login