4 ms·
I wouldn't mind long print times. I am not sure, but "fuzzy skin" seems to intentionally sacrifice some adherence to the object's exact shape? "folded outline"
by mg 11mo ago
I wouldn't mind long print times.
I am not sure, but "fuzzy skin" seems to intentionally sacrifice some adherence to the object's exact shape? "folded outline" would not do that. If the printer prints it exactly, the print would match the object just as precisely as a normal outline.
The IdeaMaker repo on GitHub says it is abandoned. Maybe there are other options? An open source slicer written in Python without dependencies that works on the command line would be my favorite starting point. If there is none, writing a new one might also be feasible?
- VorpalWay 11mo agoYes, fuzzy skin does that, in order to create a rough texture. But your idea won't be perfectly conforming to the original shape either, the physics of molten plastic means you will likely get unevenness still. You could consider writing a post processing script, or perhaps experimenting with https://github.com/FullControlXYZ/fullcontrol https://github.com/FullControlXYZ/fullcontrol (not a slicer but a toolkit for generating gcode from python). I suspect that a full on slicer in pure python would be rather slow though. I don't think IdeaMaker is abandoned, but it is closed source freeware.
- mg 11mo agoFullcontrol looks interesting, thanks! I just started 3D printing a few weeks ago. I already realized that I need to write my own CAD software. None of the existing ones are the way I want to design objects. That will probably take a few months. Then I will probably want to control the prints down to the gcode level and look into the situation then.
- VorpalWay 11mo agoThat is rather ambitious. I don't know how you prefer CAD, but if you don't like parametric CAD (Fusion, Onshape, FreeCAD, etc), nor sculpting (Blender, and various other artistic things) there is also code based CAD such as OpenSCAD and iirc some others. For me, parametric CAD is what clicked. I suspect making your own CAD engine is going to be quite a lot of work though, as unlike most 3D modelling for games etc, proper CAD works with mathematically perfect shapes, rather than tesselated approximations. (I believe OpenSCAD doesn't, it tesselates but let's you define the resolution dynamically as the script is executed.) For 3D prints, this is something that you can live with: the imperfections of the technology will hide the triangles mostly if you use a high enough resolution. But for subtractive CNC, this is a problem: If you mill from metal you will see the imperfections.
- mg 11mo agoFrom what I have seen so far, OpenScad is the closest to how I would like to build my objects. The two main differences to how I want to work are: 1: I want to use a web-based solution. I don't like to install software. I just want to open a website. No matter if I am on Linux, Android or iOS - it should just work. 2: Instead of the SCAD language, I want to use Python.
- VorpalWay 11mo agoI saw a programatic Web cad tool before, took a moment to find it (and along the way I found a few others). Caveat: of these I have only used Onshape, and I tend to use it via the graphical interface. - First up Onshape is web based, but is actually programmable behind the scenes (and all documents are scripts under the hood). This is used to let you write plugins it for it. - The one I was thinking of used to be called KittyCAD but has since been renamed: https://zoo.dev/ https://zoo.dev/ (looked at it briefly but it was in very early stages then). - https://www.fornjot.app/ https://www.fornjot.app/ is a work in progress CAD engine that can compile to WASM. Written in Rust (so big plus for me there, I have switched from C++ to Rust for most things). There are a few python cad things already as well: SolidPython, PythonSCAD and CadQuery. FreeCAD is also scriptable in python. Due to the large size, python really isn't suitable for embedding in wasm though.
- mg 11mo agoFor the core of my engine, I just need to build some basic mesh tools like mesh(), combine(), intersect(), difference(). Everything else, common objects like cube(), sphere(), disk() and common operations like move() and rotate() is then simple. SolidPython: This seems to rely on OpenScad. I think a solution without dependencies will fare better in the long run. PythonSCAD: This also seems to be heavily interwoven with OpenScad. CadQuery: This might be interesting. I will probably start with some code for mesh(), combine(), intersect(), difference() that I write myself and then look into libraries like this one and evaluate if it makes sense to swap out my own for one of them. But I have the feeling they will not match my preferred architecture closely enough. What do you mean by "Due to the large size, python really isn't suitable for embedding in wasm"? In what regard is Python "big"?
- iwontberude 11mo agoI love the ambition! Good luck!
- exasperaited 11mo agoThere’s an expensive but interesting package, Rhinoceros 3D, which has an add-on called Grasshopper that is used for quite unconventional GCODE generators; people in the textiles and furniture industry are using this with 3D printing.
- dgroshev 11mo agoAnother alternative is Rhino+Grasshopper with direct g-code generation, which allows for some wild tricks, including full colour printing: https://www.instagram.com/medium_things/ https://www.instagram.com/medium_things/ You can read more here: https://controlmad.com/en/training/10h-grasshopper-g-code-for-3d-printing/ https://controlmad.com/en/training/10h-grasshopper-g-code-fo... https://interactivetextbooks.tudelft.nl/rhino-grasshopper/Grasshopper_Rhino_course/2_Knowledge_base/Digital_fabrication/3D_Printing/!index.html https://interactivetextbooks.tudelft.nl/rhino-grasshopper/Gr...
- mg 11mo agoI think it shouldn't be too hard to just output g-code via a Python program? That is the direction I will probably first look into when I get to the g-code level of my 3d-journey.