Smooth Slow Sloping Surfaces: Test by Rotating Slice Direction from Z to Y

242 views
Skip to first unread message

funBart

unread,
Jul 26, 2014, 6:33:44 PM7/26/14
to
Hi all,
I was somewhat triggered by some initiatives as topolabs, and some other initiatives by Joris in this post

So I wondered how difficult it was to print a skin for slow sloping surfaces with a dynamical Z and X axis, and the Y ax behaving as "stacked slices". It turned out surprisingly simple, even printing ok at first try. Never happened to me...
I made a simple model in ArchiCad with two meshes: one as base to be sliced in Z direction and one as skin, offsetted curved slab of 0.5mm.

skin mesh of 0.5mm



I sliced the two meshes seperately. The skin is generated in KS with 30mm/s for all axis, and both 0.3mm pathwidth as 0.3mm layer height, as a normal 0.4mm pathwidth would result in a layer height of 0.4mm, what is to much for my printer. The Gcode output of the skin is edited to exchange Y by Z, and Z by Y.

After that I simply combined the Gcodes by adding the curved Gcode behind the base Gcode. Of course the startpoints of the 3D Gcodes didn't match, but after some editing of the bed center they matched. I checked the combined Gcode in Repetier Host:
base Gcode sliced in Z direction

the skin sliced in Y direction



To my surprise it worked at first try. (however I had one finger at the power button of the printer, in case it went wrong...)



It's a tiny object, but the result for slow slopes is smoother than a normal sliced 0.1mm Z resolution.
I have put a video on youtube to see the dynamic Z axis working 

I realize that -as sequential printing- there are limits in Z direction to do this, depending how small your extruder / space around it is, but I can imagine that an option to slice specific meshes in Y direction for the (one or two) top surfaces will result in a smoother 3Dprint.

Bart

lonesock (Jonathan)

unread,
Jul 26, 2014, 8:13:46 PM7/26/14
to kisslicer-r...@googlegroups.com
Awesome!

I was just talking about a this concept with a friend about 2 hours ago!  There would be angle limitations, of course, unless somebody makes a 5-axis 3D printer head?

Jonathan

PenskeGuy

unread,
Jul 27, 2014, 6:07:48 AM7/27/14
to kisslicer-r...@googlegroups.com
On Saturday, July 26, 2014 3:33:44 PM UTC-7, funBart wrote:
So I wondered how difficult it was to print a skin for slow sloping surfaces with a dynamical Z and X axis, and the Y ax behaving as "staged slices". It turned out surprisingly simple, even printing ok at first try.

OK, I gotta try this, as we have a project that this would benefit from. Any process details that we should look out for? How'd you swap the axes in the skin g-code? What was the method of lining up the two sections?

funBart

unread,
Jul 27, 2014, 4:30:10 PM7/27/14
to
@ Jonathan: so, lets get this thingy into Kisslicer! You only have to make an option to slice in X or Y direction for specific meshes. How hard can it be? Can I expect that Beta tomorrow?

@ PenskeGuy: 
  • about swapping the axis in the Gcode: generate the Gcode of the skin-mesh, open it in a texteditor, chop-off the start and endGcode, do a search and replace of all Z by Q, then all Y by Z, finally Q by Y.resulting in swapping Y and Z (of course the same can be done when wanting the X swapped with Z).
  • The resulting skin-Gcode can be copy pasted after the "base gcode" , but before the endGcode. I have put between the two Gcodes an extra G1 Z50 F900 command, to be sure that the head will be lifted before it's starting to print the "Y slices" as one can't predict it will traveling through already printed (base) parts.
  • the most fuzzy part is to make the skin-Gcode fitting the base-Gcode regarding it's position. As Y will be the future Z, you have to be sure only positive values are generated for Y values for the skin-Gcode. You even have to be sure the minimum Y value equals the future starting Z value. So, for my example: the lowest part of the skin has to be known (you get that value out your modeler). I knew that was 2mm for my example. As I printed the skin with 0.3mm layer height and 0.3mm pathwidth (as this values will be Y-Z swapped as well) the height I wanted the skin to begin to print was about 2.3mm. I placed the model on the KS build plate a little shifted upwards (as my bed center is defined as 0,0, and not a corner) generated Gcode and checked it: the lowest Y value was something like 10mm, and I adjusted that by changing the Y value of the Bed center on the Printer//hardware tab, with -7.5mm. Generated Gcode again and checked it was indeed about 2.3mm as lowest Y value. The Gcode of the skin layer is ready after this, as it's at the correct height. (after swapping Y-Z as mentioned above)
  • To fit the base Gcode 'under' the now ready skin-Gcode you repeat about the same generating of Gcode. As it's for this simple test I adjusted that XY position by trial and error and checking the position by loading the two (or already combined) Gcodes into Repetier Host. I simply counted in Repetier how many extrusions were misaligned and adjusted that values with the Bed center values of the base model to generate a correct XY position.
A bit fuzzy, I know, but it was for a test to see if it even had a remote possibility to work. The problem is that KS hasn't the possibility to exact position the stl's on the plate, that would make the position of the reference points of the two slices much more easy. I tried it briefly in Craftware (cheating on Jonathan...) as that has additional fields to move a stl over the build plate.

The above sounds complex maybe, but it would have been dead simple when showing the workflow to you live on a monitor...

Let it hear if you want more info.

Bart

Matej Rozman

unread,
Jul 27, 2014, 5:53:32 PM7/27/14
to kisslicer-r...@googlegroups.com

Jonathan, 5-axis head is not big problem at least not mechanically, post processing and collision detecting is bigger one. Conclusions derived from working with multiaxis CAM for milling.

Great find Bart, will be keeping my eye into this one.

Dne 27. jul. 2014 02:13 je oseba "lonesock (Jonathan)" <lone...@gmail.com> napisala:


>
> Awesome!
>
> I was just talking about a this concept with a friend about 2 hours ago!  There would be angle limitations, of course, unless somebody makes a 5-axis 3D printer head?
>
> Jonathan
>

> --
> You received this message because you are subscribed to the Google Groups "Kisslicer Refugee Camp" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to kisslicer-refugee...@googlegroups.com.
> To post to this group, send email to kisslicer-r...@googlegroups.com.
> Visit this group at http://groups.google.com/group/kisslicer-refugee-camp.
> To view this discussion on the web visit https://groups.google.com/d/msgid/kisslicer-refugee-camp/067cd93d-e95d-47b4-a61d-30ea9eb255b5%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.

funBart

unread,
Jul 27, 2014, 6:59:56 PM7/27/14
to kisslicer-r...@googlegroups.com
BTW: for that skin I simply ofsetted the shape in Z direction. That's not resulting in a slab of 0.5mm thick everywhere. (only on the flat parts).
My modeler isn't capable to do a offset perpendicular on each part of the surface, that would result in a skin of 0.5mm everywhere. This should be convenient as Kisslicer would generate a more perfect path.
Is someone aware of a modeler that can do create a skin, equal thick measured on each perpendicular face? 
Scaling an object and do a Boolean subtraction or so is not giving that result as well.
Bart


PenskeGuy

unread,
Jul 27, 2014, 8:18:06 PM7/27/14
to kisslicer-r...@googlegroups.com
On Sunday, July 27, 2014 3:59:56 PM UTC-7, funBart wrote:
BTW: for that skin I simply ofsetted the shape in Z direction. That's not resulting in a slab of 0.5mm thick everywhere. (only on the flat parts).
My modeler isn't capable to do a offset perpendicular on each part of the surface, that would result in a skin of 0.5mm everywhere. This should be convenient as Kisslicer would generate a more perfect path.
Is someone aware of a modeler that can do create a skin, equal thick measured on each perpendicular face?

Yes. LightWave does that easily by using a number of methods. Depending upon how the cutter was derived, boolean subtraction would result in non-uniform wall, but there are multiple paths to generate a uniform expansion; at lest three that come immediately to mind.

PenskeGuy

unread,
Jul 27, 2014, 8:47:36 PM7/27/14
to kisslicer-r...@googlegroups.com
On Sunday, July 27, 2014 1:30:10 PM UTC-7, funBart wrote:
@ Jonathan: so, lets get this thingy into Kisslicer! You only have to make an option to slice in X or Y direction for specific meshes. How hard can it be? Can I expect that Beta tomorrow?

At least as easy as the other "should be simple" addition requests. :)

@ PenskeGuy: 
The above sounds complex maybe, but it would have been dead simple when showing the workflow to you live on a monitor...

Got it. Just have to edit the above in my text editor to be certain that I have original X, Y, Z and fX, fY, fZ straight, so I don't get messed up. That's a bit of flipping around. Makes sense when I read it in sequence but, when I come back to it for a reality check, it'll save time if they're separated from each other with new labels.

We do a number of low angle top surfaces and the terracing is an issue sometimes. Forcing the entire model to be printed at a thin layer value gobbles up time in the lower layers. One glass mold we just produced had this issue and I circumvented it by printing the layers below the top as a separate part; low rez. The top surface still had terracing, obviously, as the angle was so low in places. Using this Z/X method; gone. That which saves the situation is that the glass has such a high surface tension that it doesn't conform to the steps if they're small enough; instead performing its own smoothing algorithm.

A different approach, that wouldn't be quite as smooth but could solve a lot of mainstream issues, would be to be able to specify an overall thin layer thickness for a part and impose a Z limit on a thicker layer section that is below it. Above the Z limit, the thin layers would take over. This would have the potential for flow problems, as one usually has different material settings for high and low flow conditions. Switching in mid stream might raise an issue, unless the material could be switched at the time of layer thickness change; preferably on the fly, as it would be the same stock, just different temperature and speeds.

If the Z/X method can be implemented, the above is moot.

Davide Ardizzoia

unread,
Jul 29, 2014, 10:31:08 AM7/29/14
to kisslicer-r...@googlegroups.com
Bart,
my nose is bleeding... great code hack!

BUT I believe there are plenty of things Jonathan should polish before looking at this matter (that is useful for a small portion of the audience).

My 0.02E, anyway.

Best Regards from the (extremely) rainy Italy,
Davide Ardizzoia

funBart

unread,
Jul 29, 2014, 11:01:26 AM7/29/14
to kisslicer-r...@googlegroups.com
Davide, I was only kidding with that 'get it tomorrow in' of course. It's much more important to get a stable final release out I suppose. Like PenskeGuy suggested, it's only a reference to those who want features right away in KS.
This 'feature' would be nice, but indeed only will be marginal used. I'm searching by myself to get a more simple workflow to do this. No need to get it into Kisslicer.
Bart

Davide Ardizzoia

unread,
Jul 30, 2014, 3:09:02 AM7/30/14
to kisslicer-r...@googlegroups.com
I am sure you will find a post-processor hack to do that.
:-)

Chapeau...
Davide Ardizzoia

lucas...@hotmail.com

unread,
Jul 30, 2014, 5:37:39 AM7/30/14
to kisslicer-r...@googlegroups.com
Congratulations!

How did you do that? When I have gpx working, that is the next step!

Lawrence LaRocque

unread,
Aug 1, 2014, 12:07:41 AM8/1/14
to kisslicer-r...@googlegroups.com
Very ingenious. Looks like a headache to me to manually do that but it is nice to know it is possible. :)

Joris

unread,
Aug 23, 2014, 7:22:17 PM8/23/14
to kisslicer-r...@googlegroups.com
Small mobile note:
Just chimed in because funBart made a post on the umgooglegroup.

You don't need an extra axis. When the angle is more, then the steps are less visible with the regular way of slicing. ..

Btw I could use this very well for the names on top of the elephant. (See www.stapvandeolifantaf.nl)

Cheers \ Joris

Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
0 new messages