CraftWare's LayerScript can be very useful.

CraftWare’s LayerScript can be very useful. On first use of the new slicer, I skipped the 20cm x 20cm x 1cm cube because I was too curious about this temperature calibration cuboid. And this is a very efficient way to implement David Cushing’s method.

To see how spot-on @Michael_Coley 's Ares profile for CraftWare (66国产精品视频_亚洲色高清在线观看_97久久精品人人槡人妻人…_我想爱爱网) is, quality in this print is extremely uniform despite a 50ºC temperature range. (I’m posting a miniseries in this study.)

Originally shared by Yuan LIU

(2/4) In addition to be the first complete build using CraftWare slicer, this first 10cm cuboid also broke some other grounds for me.

This was my first attempt to change temperature during printing. The essence of David Cushing’s method (https://plus.google.com/+YuanLiuTheDoc/posts/5NcnW9frTfL) is to change temperature at select height of a tall cuboid so after printing, wall quality at various temperatures can be evaluated because height indicates temperature. In the tutorial, he manually inserted M104 or M109 into slicer output.

Thanks to CraftWare, I didn’t have to edit sliced file nor did I need to write a script to process slicer output. Instead, I can insert controls programmatically by layer or by height in the “LayerScript” box in the slicer’s G-code tab: “an ECMAScript that is evaluated on every layer.” (Expert mode only) I found this while still struggling with sunken tower. (https://plus.google.com/+YuanLiuTheDoc/posts/Fu7vXAt4J6j) Now that I can get all 10cm to slice, I have to save some sanity by using this feature.

Frankly I had no idea what ECMAScript was. But I knew enough programming languages to “just wing it.” In some languages, / signifies integer division if both operands are integers. When that failed, I tried many variants, even (z/10 - z%10). When all of these did not produce the desired result, I knew I had to look up what the heck is ECMAscript. Aha! It is really just JavaScript by a formidable name. Of course I had never bothered with JavaScript, so I still had to look up how to do integer division. Seriously, why would round(z/10) not work? Eventually I got it: (Curse of object-oriented programming language?)

setHeadTemp(230-5*Math.round(z/10))

This sets the temperature to drop from 230ºC to 180ºC in 5ºC steps along the 100mm path.

Even more helpfully, CraftWare’s G-code viewer not only visualises G-code like most other viewers do (you can even load G-code produced from another slicer for viewing), but it actually allows you to, surprise, view the G-code! So I do not have to go to an editor to verify if temperature is set correctly at the right layer.

This was also the first time I took advantage of OctoPrint’s Web on the Internet. For security reasons, I do not allow Internet browsing into my network. But that morning, I knew that I would be on my shuttle by the time this cuboid finishes printing. So I set up my firewall to allow Ares 3D printer to be viewed from the Internet. On the shuttle, I watched the last few layers finish, took screenshots, even downloaded the time lapse video. How glorious is that!

On the flip side, it is evident that Ares’ open chamber had not reached 230ºC before extrusion started. Upon examining G-code, I see that the waiting temperature set (M109) only goes to 215ºC - which is the default setting in the “Basic” tab. In Layer #0, the inserted M104 S230 is present, but that’s a non-wait command. So we see temperature rise after extrusion begins, but not quite up to 230ºC before the next step (225ºC) begins.

; GCode generated by CraftWare

M109 S215 ;set head temp (wait)
; ------------------------
; Layer #0
; ------------------------

M104 S230 ;set head temp, noWait

Using M104 in LayerScript is a sensible design. But if you are setting temperature in LayerScript, make sure the basic temperature matches the temperature in Layer #0.

After I came back home, I couldn’t wait to examine wall quality. Unlike what the tutorial shows, however, there is no visible defects even at the highest temperature. Is Ares so good that it handles all temperatures equally well or GP3D insensitive to hot end temperature? (Part two of four parts - I know that I said three parts. But three simply won’t cut it. Stay tuned.)

7becd8464241939ebe2fa91bfbb097ca.gif

6531f2653d2257247c9cc11317296c0b.jpeg

Very interesting read! Can’t wait for more…