Wednesday, 21 September 2016

Looking for better design options and better slicers... and then, stop

I've had a lot of fun designing things in OpenSCAD, but I'm also running up against its inherent limitations. Doing anything organic-looking is difficult, because the little tweaks that make it look "right" have to be done via changing the program and recompiling.

I used to be the maintainer of Dia back when I needed diagrams for various papers. One of the things I liked in Dia was its approach to Bezier curves. For either loops or open curves, you could control each point finely, and switch between symmetric, smooth, and sharp corner for each. I pretty quickly got a feel for how to create the curve I wanted.

Now that OpenSCAD is my tool and physical items my eventual outcome, I find making equivalent figures a royal pain. For instance, I wanted to design something similar to this sketch:

Trying at first with simple polygons and the offset() function, I found it too blocky, unless I spent a lot of time interpolating points by hand. Next, I found a splines library on Thingiverse, and got fairly far with that. However, splines tend to "push" their neighbors a lot, so I ended up with unpleasant overshoots making the parts not exactly the same thickness:

This is three spline loops overlaying each other: One from the top point over the middle to the lower-left corner and back, one around the two right-hand points, and one across all three points and the lower-left corner. You can see the problems around the middle point, where the two smaller loops poke out a bit, and in the lower right part, where the bigger loop shoots out more.

There's also a Bezier library, which creates one Bezier segment at a time, again from programmed points.

In Dia, it would have been easy to get the corners and endpoints right by controlling each corner accurately. Unfortunately, 1) Dia doesn't run on Mac except through XQuartz, which is an unpleasant experience (same with Inkscape), and 2) Dia doesn't export to OpenSCAD points. The latter could be fixed, though with more coding than I want to do today. The former is more tricky, and in either case it's not the greatest way of working either: You can get the base structure right in Dia, then you'd export as an OpenSCAD set of Bezier definitions, take that into OpenSCAD and try it there. Any further modification you'd have to either do by fiddling constants (in which case your Dia diagram becomes outdated) or going back to Dia and rework it from there, then exporting again.

What I would like would be something that can edit parts of an OpenSCAD program interactively. It'd be OK if they were limited to a few kinds of things, like beziers and polygons, and obviously the parts would have to be "simple", not involved in minkowskis and hulls and such while editing. Maybe something that just lets you interactively edit points in a section of an OpenSCAD program text.

I've also started trying out other slicers and printer controllers, since Slic3r doesn't do the supports for a new extruder holder at all well.

Cura: I know several people who use and like this. It has a nicer interface than Pronterface/Slic3r, very few options compared to Slic3r (which is good if those are the right options), but hangs at "Preparing to slice..." (no a MacBook Air). This might be a security blockage if Cura tries to call out to a separate binary. Or just a bug. They claim it's fixed in release 2.2.

CraftWare: Hadn't heard of this one before. Can't run this on my work laptop (yet) for security reasons.

NetFabb: The professional choice. And by "professional" I mean bloody expensive, €1000/year subscription. Hahahano.

Repetier: Can't run this on my work laptop (yet) for security reasons. Also, the Mac version is quite a bit behind the Windows/Linux versions. It allows remote control, though with limited features for the free version.

Simplify3D: Like Cura, I keep hearing mentions of this. It's not free, but at €149 isn't not outrageous. And at least it's not a subscription system. I paid that much for Lightroom and never regretted it. The Mendel90 is supposedly supported, but it won't run on a Raspberry Pi. Unfortunately, they don't have a trial period, so I'm going to try other approaches first before handing over money.

KISSlicer: Supposedly going to be available for Raspberry, which is nice. Can't run this on my work laptop (yet) for security reasons.

MatterControl: Won't install in a specified subdirectory on a Mac (in any way I have found). Since I use a work laptop, I have all my apps in an Applications folder under a separate non-privileged user, and refuse to give root access to installers (like Adobe's CloudCrap installer which is required for Lightroom 6).

Slic3r: At least I know this, and it integrates with OctoPrint, which I am looking at switching to for running print control on a Raspberry Pi.

At this point, printing grinds to a halt as my work laptop gets beefed up security and can't print or upload firmware unless I get a security exception. Pronterface on my iMac doesn't yet like to connect, nor is Arduino set up to understand a Melzi. I shall have to see my earlier notes if I wrote down what actually worked.

Sunday, 4 September 2016

Voronoi diagrams and printer error art

I've been busy doing various prints. I did yet another phone cover, this time at 1.3mm thickness, which seems like a good compromise. I changed the voronoi pattern, too, not just to make it unique, but also because there happened to be a hole almost like the one I made for the fingerprint scanner but at the wrong end of the phone. So confusing.

The new print came out nice, except the right-side holes were a little too low, so pressing the side could turn the phone on and off. Interesting note: The print behaves differently when printing small parts of a piece and the whole piece, presumably due to differences in temperature.

I got myself a tiny adjustable soldering station, of a make that goes below 150C. I'm trying to use it to remove some of the little pieces of filament sticking out here and there, and smoothen the occasional rough edge. I would like a larger heated surface for that purpose, though. Like the ones you can get for wood burning, except at low temperature.

I did my wife's workshop/bedroom furniture as 1:50 models for easier playing around with. A couple of the pieces case off during printing, leading to this tiny Godzilla scenario:

They were easily re-printed, though, and now merely away a room to be put into.

I made some rounded tips to put on sword cores. Unfortunately, when I printed 3 of them, two of them didn't hold on to the bed (should have used a raft for such a small print surface, I guess), and came loose. I removed them, but the filament being printed into the area then created this piece of print-art:

Switched to the new red filament from DasFilament. Here's a test piece (accidentally printed with support, which somewhat defeats the point) on top of a lid that has been painted with the supposedly same RAL shade, 3003:

It's not exactly the same color, the print is a slightly brighter red. Bummer. You need a pretty good eye for color to realize this when they're not next to each other, though.

Next, a Dustbuster attachment for getting into very tiny places. Took a while to get the outline right, since all I had to work from was a printer scan. And I don't think it's perfectly tight, but finding gaps is tricky. What an oddly-shaped mouthpiece. What's wrong with a circle, anyway?

Finally right now I'm printing a new mount for the extruder motor, the design that actually is for the Mendel90. The entire heating part is loose, which causes misprints with some regularity, and I believe nophead's version can be fastened much better. Alas, ironically, this print is suffering from those exact misprints. But this red filament is quite nice to print with, sticks easily, doesn't curl that much.