Hi all!  I am looking for some good theoretical (and/or algorithms) articles related to

Hi all!
I am looking for some good theoretical (and/or algorithms) articles related to “crosshatching” /tesselation (closest I found to what slicer programs actually do )
Also looking for similar articles about CSG based slicing (the “best” article I found is actually the “Detailed description of geometry processing” section in the reprap wiki : http://reprap.org/wiki/Reprap_host_software).

I also recall that someone mentioned CSG based slicing should be faster than the standard stl->slicing method , is there any concrete information on this (not sure, but I think it was @Whosa_whatsis that talked about this once?)

Any recommendations for all of this?

Thanks in advance !

Hi @Mark_Moissette_ckaos , seeing as you linked to the reprap host page you are probably already aware of Adrian’s direct CSG->print implemetation? http://blog.reprap.org/2011/10/say-goodbye-to-unsightly-stl-triangle.html

When I was (still am!) looking for how the fill algorithms work I tried looking at the skeinforge code, but I couldn’t get my head around it (it’s still on my todo list), and the thought of trying to relearn perl, in order to learn from the Slic3r implementation, gives me the hhebie-jeebies :slight_smile:

let me know if you find a “dummies guide” to infill algorithms!

@Gary_Hodgson Nice catch, thanks a lot ! That was the original article I remembered but did not find again (doh !)

That is pretty much what I am going through right now : looking at the existing implementations to find things out : and just like you “ouch” Perl usually give me headaches just looking at the code …:), and skeinforge code is well hahum, “big old bag of mixed ui and functional stuff” …

It might be a bit abstract but this article could be a good starting point :

@Mark_Moissette_ckaos I don’t know if this helps or hinders, but when I was trying to decipher skeinforge I ended up attempting to extract the core functionality from the UI (actually replaced it with wxPython) I never got around to fully refactoring the fill algorithms, but perhaps the simplified files are easier to get to grips with (although you still have to jump through lots of function calls): https://github.com/garyhodgson/SkeinforgeEngine

I refactored the linefill algorithm into a strategy here: http://goo.gl/AGKoF, and an overview of the design is here: http://goo.gl/chejY

Ohh that is great, definetly more “helps” than hinders !
A slimmed down , refactored skeinforge will help :slight_smile:

Just for the record , I am not afraid of lots of function calls after ever since I tried to understand, and split the monolithic 5000+ lines of code of csg.js :smiley:

Lovely graphics too ! Thanks a lot ! :slight_smile:
I’ll keep you informed of my attempts at understanding all this :slight_smile:

The closest thing to that that I can you think of that I’ve talked about is my idea for using partial shells to make an infill algorithm that never had to stop extruding within an island. It would force the infill to be done in a logical order (without the need for a traveling salesman problem except for moving between islands), which should speed up fill.