Linux Deep Dive Part 4: 3D Printer Workflow Online

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am printing myself a bookmark as a “Hello Again, World” project. Let’s get started!

I have a Monoprice Maker Select Plus 3D printer. It’s a rebrand of a product made by Wanhao. For those keeping score, I am running Debian 10 (Buster) on my laptop, and I’m migrating different tasks over to Linux that I can.

My problem: My printer shipped with a version of the Cura slicer specifically tailored to work with it — on Windows. By default, the version of Cura I found on the Debian 10 repositories does not come packaged with presets for my printer or its original branding. Furthermore, the software has had several more years of development since the kiddie pool fork of the software I was used to playing with.

Since last week, I’ve realized that as far as someone at my skill level is concerned, all the specializations are are just a few numbers a sufficiently resourceful individual, such as myself, can look up, punch in, and fine tune as necessary. With the right numbers, I can see where a printer can safely print multiple small jobs on the same bed without waiting on the head to move to each one every layer.

A slicer is only any good if I’m going to print something, so I modeled up a bookmark in Blender. That interface is a new sight for my eyes to behold. I eeked out something for a first prototype using my fragmented knowledge from when I last put printing away.

Over in Cura, I used a slider to set 100% infill; I don’t want this thing breaking on me. I told it to go with structural support and saved it to my SD card. I really like this version of Cura over the dinosaur animal cracker I used to work with.

I went through about half a thing of canned air on my printer and leveled it with an assortment of junk mail and a bubble level. Fortunately I didn’t need to reapply grease. I did have to reassemble my MacGyvered filament holder atop the printer. Somehow, I found the same piece of PVC pipe from before in another part of the house, but I used a rag instead of a strip of cardboard to secure it.

When material started getting laid down, I noticed another old problem. Filament wasn’t quite sticking at the very beginning of extrusion. As the printer continued laying down material around where my bookmark was soon to take shape, I recognized it as a brim. The malformed plastic was relatively isolated, and the print continued without further incident.

Lacking my proper spatula, I peeled the fresh bookmark off the buildplate by the deformity from the beginning, but I quickly learned how easily freshly printed plastic can deform. It twisted and left a minor, permanent warp if one were to look closely enough. Next time, I will let it cool.

The brim was a lot harder to get everything. Between the prototype being too thick for a hardback and me not liking the pointy bits I designed into the sides, I took the design back to Blender, where I had to refresh my memory again on proper modeling methodologies and that’s were I stand now.

Final Question: How frequent do you come across a 3D printer operator using Linux?

Planning a Semi-Sealed Night Light Part 7

Good morning from my Robotics Lab! This is Shadow_8472, and today, I am inching forward to a stop on my current long-term project. Let’s get started!

I finally added a hole for the lamp base in my model. The pegs for the screws still aren’t in there, but I have made accommodation for their addition. I started with an cylinder object and scaled to the correct sizes. I positioned it in the optimal spot to get a visual proof of concept, but I eventually remodeled it to have a better number of vertices. My model is still on a 4 way symmetry, so I needed it to be divisible by 4; and the screw posts need to be on a symmetry of 3, so it needs to be divisible by 3 as well. I already had 40 points to merge, so it needed to be at least 40. Therefore: I gave it 48 points around the approximated circle and made some loop cuts accordingly.

I made a plan to start prototyping, but I noticed something. Sometime during the week, I arranged my Blender window to cover both my screens and set up my small screen to display different wire frame views of my project. I noticed on one of these views that something I did caused some of the loop cuts used for keeping edges sharp even with the subdivision modifier to go slightly out of alignment, and a face normal appeared facing inward along such an edge. I think it was a rounding error or something. Annoyed, I told Blender to remove doubles and I resharpened the edges.

Another incident while modeling happened in the way I added the hole in the bottom of my “house.” Before, it was a simple grid. I just scaled it down, then stretched the corresponding edges to meet the corresponding point on the model cylinder-cone. (I think I may have modeled that a little incorrectly as well, scaling the Z axis alone when I should have just scaled along the edges themselves. Good thing I kept the progress in an old layer.) I ended up with a squished grid and ugly quad geometry… and eventually some unacceptable triangles. By the time I noticed, it was too late in terms of actions to undo my remove doubles command, so I ended up removing bits of the squished grid and replacing it with some much simpler geometry.

I approved my own mesh for prototyping and pulled in a new cylinder and applied a Boolean modifier so I’d only print the ring for a test fit. (Another stay thought: the power cord would have also had issues with the ring I was making.) After catching myself from accidentally sending the .stl file directly to the printer, I went to the slicer and had to go around a few times to figure out the scale. I ended up making a unit cube and figuring the correct scale is about 5BU (Blender Units) to 1 cm, and I am working on a centimeter scale.

Finally, I got the test print to the printer, and I had the drippy white filament again. It didn’t start extruding again, and the raft started separating on the first set of passes when it was supposed to stick to the (absent part of the) outline. It curled on me. I reduced the extrusion temperature by ten degrees and tried again, only to have stuff curl on me on the next, tighter layer.

At this point, I’m thinking I will need to put this project on hold until I can properly fix my printer. It’s not working as intended, and I don’t know what to do with it.

Final Question: What in the world is going on with my printer not starting extrusion right away for the initial outline?

Planning a Semi-Sealed Night Light Part 6

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am once again picking up the night light project. It’s been a rough week progress wise, so there isn’t much progress. Let’s get started!

The next task is modeling up the print and executing it. It took me a while, but I finally broke off the first piece: actually modeling the lamp base. The lamp I took apart is a sphere with a flattened base. I used a flattened cylinder and scaled up the proportions to the size of the base. The greater radius and height were spot on accurate on the metric system, so when it came to the curved edge of the smaller circle, I rounded to the closest millimeter.

The next challenge is refining the base model and integrating it into my house structure. The base has three screw holes I intend to use to fasten it to the cover as it prints. At some point, I’ll need to model the screw holes in. I’m just glad I managed to get it in at all. However, realized that stock Blender is not the right tool for the job.

Before my next printing project, or sooner if I really need it before then, I will want to find a plugin for Blender that adds some missing CAD functionality. Already, I have been missing the ability to measure between two points of a model, and I had to scale the models using a known size and modifier factors instead of just making something x cm tall. I will say Blender did treat me nicely when I pulled it across my second screen and set it up with multiple angles of my work. It felt good to finally have a visual of how big the base/lamp will be relative to one another.

The next major chunk of work should be modeling up pins I can attach the lamp base. I’ll likely need to underestimate a little and won’t get as tight as a fit as I did with the Pi camera because I won’t have the luxury of sanding. On the other hand, a little cleanup isn’t out of the question.

Final Question: Do you know of any good CAD plugins for Blender?

Planning a Semi-Sealed Night Light Part 1

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I’m starting a new project where I install some electronics while a project is still printing. Let’s get started!

This will be a much larger print than I’ve ever done before. I know that already. I’ll be laying out the pieces of the project and ordering them as I write, just to play with the writing style.

Different parts include: Blender modeling, Laptop repair, White filament, and Assembling a circuit. If I think of more, I’ll insert them where appropriate.

Project Concept: the final product will be a gift for a friend I’ve known for a long time. It will be roughly cube shaped light printed from white PLA with relief pictures of either Angels or Cats on the sides. For extra style and practicality, I want the top sculpted to look sort of like a curved roof. A long lasting light bulb will illuminate the whole thing from the inside from atop a custom circuit board, but anything inside won’t be accessible after the print is finished.

Laptop Repair: the other week, my laptop refused to accept my power chord. It looked like a bent power pin, but it was a large piece of plastic from the port missing. That will easily take up a post when the part comes in and I cover its repair.

White Filament: I have two colors of plastic right now, black and red, neither of which would look good for a light. The plastic needs to let light through, but also go with pretty much anything.

Assembling a Circuit: this is a topic that could easily take two or three weeks and will challenge and grow my abilities the most. Simply put, I have no idea what I’m doing here, except that I need it to move power from the power chord to the light bulb, and maybe some colored LED’s around the outside. I’ll want to thoroughly test it before final installation.

Blender Modeling: this one will happen in tandem with the previous one. I’ll need to establish a maximum size for the circuit board based on how big I can make the case with the printer. But I’ll need the final measurements of the final board before I start the final print. Unless I want to toy around with an induction based power chord, I’ll need a place to plug in a power chord. It might also help if I was able to screw down the board itself.

So far, I have a fairly good idea for the overall shape modeled in Blender; I don’t think I have a good mesh yet, the boolean operator didn’t exactly like two half-cylinders intersecting like I had them doing.

Final Question: How have you aimed for something out of reach, but not so far as to (hopefully) be unobtainable?

A New Tool Part 5

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I bring part 5 of the construction of my Raspberry Pi prototyping platform with a camera. Let’s get started.

I am behind where I wanted to be. It’s the classic game of Hurry Up and Wait, only I waited too long. Things have to be done in order, and all the stuff where 2.5 hands were required feels like it was at the beginning.

It turns out whatever my intended way to measure the Pi Camera was overly complicated, as I was starting to figure. While I was looking to draw some kind of grid and view it at an angle and get help with the whole bunch of mathematical nonsense that produced, all I needed was the distance out and to either side as if following an upper case T. I didn’t even need to calculate the angle proper, because I could just add a cone with the proper dimensions.

The unforeseen challenge in stock for me this week was and in a way still is getting the model to comply. Long story short, Blender wants me to make quality meshes, otherwise it will crash. At least the stress test looks good for the auto recovery feature.

I made several prototype eyes for my camera to peek through. The first one based on the custom model of the Pi Cam had some gunk in there, but when my father was done introducing the razor to it, the piece fit perfectly and when I held it up to the camera, it could see through it perfectly. However, unlike the Blender model, the printed version had a hole where there was supposed to be a thin spot.

I printed up another version, this time on a higher quality and the circuit board bumped back a bit, so far, an extra bit on the camera didn’t need an extra hole I made for it. And that’s where I am now, modifying the hole model, with limited success. At the moment, I’m thinking I can drop some detail I no longer need, rather than keep at coaxing Blender into doing my will for it.

Final Question: Have you ever known exactly what needed to happen and not known what the controls were to make it happen?

A New Tool Part 4

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am recounting my slow adventures in altering a Raspberry Pi case. Let’s get Started.

First off, I did not reach my intended checkpoint of getting a model ready to print, but I am far enough along, I can cover the specifics in next week’s post.

For this week, I finished Blenderguru’s Beginner’s tutorial and the modeling tutorials where he makes an anvil. I did not follow along, but I picked up a bunch of little, refined tips, like how you usually want to always use four vertices per face unless you intend to use it in a game engine that likes triangles. (Before, I had only heard you want to use three or four, but be consistent.)

While trying to organize, I visited this local, informal technology workshop where my father, the guy running it, and I basically repeated the same things to each other until someone drew a picture. From my point of view, I was hearing “You need to make a cone as part of your cutaway,” meanwhile I had already made a cone to accommodate the camera body. It was only after a while that i figured out I needed to make a cone for the light coming in. I did have a major milestone there though, I measured the bottom part of the case with the caliper in millimeters, and the model for it in Blender Units, and it was just off of a 1:1 ratio. I chalked it up to instrumentation failure and disregarded the two extra millimeters.

My project, as of this writing, has a crude model of the Pi camera loaded along with the Pacman ghost’s head by Darren Furniss on myminifactory.com. LINK When building the model, my father and I overestimated the dimensions each time, rounding up to the next millimeter. I want as little of the camera exposed while still having the whole picture clear of the case. I’m still missing information. I have no idea how wide to make the cone. My proposed method of study is to lay the camera flat on a table and somehow plot out the cutoff between visible and invisible.

Final Question: Plotting out the light cone a camera sounds tedious. How would you calculate it?

A New Tool Part 3

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am continuing on the path to building an anti feline century. Let’s get started.

Last week, I talked about boat port stuff, this week because I had Tango over to review that project. This last week, I actually made a contact with what I hope will be a regular, new resource for help on projects. My long term goals include getting a comments section where people can crowd solve the problem, but as of this writing, I don’t think I’ve had a comment in the first whole year. Maybe I don’t have that set up, but for now, I’m mapping the project up.

So far, I’ve gotten most of the electronics I’ll need, barring the highly specialized speaker/transducer and supporting circuitry; I’ve printed the bottom half of the case and figured on about the orientation everything will be; and I’ve started on the tutorials. Apparently, I forgot Shift-Middle-click moves the camera’s focus point around the scene.

The next step is still to finish learning Blender well enough to model the upper half of the case. Putting the hardware all together will follow after I have something to make the sound. After that, I have software development. I’ll need to research how to use OpenCV and figure out how to make it identify a cat. Once that’s reliable, I can hook up the sound and set it up for operation. Once the prototype is proving effective, I can figure out just how little power in a machine I need and I can build a final version to free up my prototype. The Pi and its camera will stay with the prototype. Any sound setup will be moved to the more permanent unit.

Potential problems include the need to reprint the case with ABS plastic for its higher temperature tolerance. After the prototype has proven itself, the cat in question will likely be scared of the case if he doesn’t challenge it.

Final Question: What possible problems am I missing that I should anticipate?

A New Tool Part 2

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am continuing coverage of my new prototyping tool. Let’s get started.

I didn’t get as far as I thought I would this week. The mission this week was to get the top all printed, but that didn’t happen. The problem was that I didn’t already have all the skills to accomplish the task already, mainly proficiency in Blender. That’s my goal for next week, learn Blender well enough to finish modifying the upper half of the case.

As for what did get done, I managed to start developing the camera mount. The case I’m printing for my Raspberry Pi is based off a PacMan Ghost, printed in red. The first print, I used Blender to isolate the target eye from the rest of the 3D model, and printed it on fast. It took about 20 minutes, as opposed to a full day plus if I were doing the regular top on a respectable quality level. I drilled a hole in the printed piece and held it over the camera, using larger and larger drill bits until I didn’t see a red plastic border anymore.

For my second draft, I added a cylinder mesh in Blender and scaled one end down, forming a truncated cone. I used a Boolean filter on difference mode to cut out a hole for the lens. It didn’t fit well enough, so I printed another one with a more embellished cone.

My father taught me how to properly use a Vernier caliper. I already knew about the outside and inside edge measurement spots, but the the depth on the end of the ruler was new to me. Also new to me was the use of the Vernier scale; I never before got the idea that the extra marks on the slider were offset just a little bit. I think I had heard about the extra digit of precision, but only now did I get that only one was supposed to line up at once.

I used the caliper to measure up the camera. The plan from there is to model up a crude representation of it in Blender and use that to design the hole before I try printing up another pass. Giving some new thought to it, I want to angle the camera such that the ghost is looking at you, instead of “using peripheral vision.”

The next step may be boring, but it’s something I need to do. This week, I need to actually watch a few video tutorials on Blender. I already want to go through the videos by Blender Guru, Link to his channel. I’ve already tried going through his videos on the basics of Blender before, but I kept getting distracted. And no wonder! I just added the length of the videos I think I’ll need, the core Blender basics and the modeling basics, and it came out to almost six and a half hours! And most of that is in 45 minute chunks. The basic tutorial includes lighting and rendering tutorials, so in theory I could skip them for now, but I really should know how to use them.

Final Question: I’m at least somewhat likely to get more than one Pi computer in the foreseeable future. What kind of case should I search for to print up for the next one?