Monday, November 17, 2014

Release Notes: FlexMesh 2.1 Snap Together Flexible Chainmail Mesh

FlexMesh Dodecahedron – Bob Krause

FlexMesh is a set of compact 3D shapes that can snap together to create colorful, flexible and possibly very large 3D printed objects. FlexMesh 1.0 was released on Thingiverse this past August. This initial version was an exercise Cole, an instructor at a3D modeling camp I ran last summer, and I worked on to demonstrate ways we might overcome some of the limits of 3D printing today. The flexibility of FlexMesh 1.0 objects came from the use of pins. But I found that these pins and the slots they slide into are somewhat cumbersome to design and build with.
FlexMesh 2.0 was released last month and immediately became a featured design on the Thingiverse home page. FlexMesh 2.0 is much easier to work with and offers greater versatility. The pins have given way to nubs that snap into holes to form hinge-like joints that connected pieces can pivot around. Many interesting, colorful and large objects have already been built using FlexMesh 2.0 -- with more designs on the way.

This post contains the release notes for FlexMesh 2.1. If what you've read so far about FlexMesh doesn't interest you, then you might want to turn your attention elsewhere. But if you're interested in learning details about FlexMesh 2.1, then please read on.

If you have any experience playing with the 2.0 kit then you've likely noticed that it can sometimes be hard to snap pieces together, while other times you find that the fit of connectors to be so loose that some pieces come apart too readily. This becomes a real problem when you drop a bucket of FlexMesh in the center of a group of kids because they either can't snap the pieces together or become frustrated that their Minecraft creature keeps falling apart.

Octahedron – Bob Krause 
Getting The Best Connection

Experienced has shown that there's so much variability of printed pieces using different printer/material/slicer combinations that there's no single connector design that prints well in all situations. So the 2.1 release includes no fewer than 10 slightly different variations of connectors. The difference in each is the space between the nubs. The nubs of the shape named FlexMesh2.1Sub0.stl are the closest together, while the shape with the nubs furthest apart is FlexMesh2.1Sub9.stl. For reference, the shape named FlexMesh2.1Sub5.stl is pretty equivalent to FlexMesh2Sub.stl, and FlexMesh2.1Sub9 is the same as FlexMesh2SubWide.stl.

If you were happy with FlexMesh 2.0 connectors? Then just use the #5 sub shape in version 2.1. Otherwise do some test prints of various Sub shapes to find the one that works best for you.

Note: Here's how to distinguish which printed connector variation you're holding... The SubWide shape has a subtle 'W' on top. Each of the Sub's released in the 2.1 release has a number embossed on one side between nubs. If you don't see either of these markings then you probably have an original Sub.

Important: For best results, be aware of the printer, filament and slicer combination you use for fabricating each batch of Subs and Mains. Take written notes if you think that'll help. Which spool of filament you use seems to be the greatest factor. PLA produces pieces that are ever so slightly smaller than ABS. "Chewy" ABS filaments are less predictable than that of higher quality spools.

Grand Monopoly – Bob Krause 
A Consistent Length For Each Side
Perhaps the greatest flaw in the 2.0 design is that the length of 3-sided shapes, Tri's, and 4-sided Quads is different. This creates a noticeable bulge in objects built using both shapes because the Tri pieces stick out further than Quads.

This inconsistency has been corrected in FlexMesh 2.1. But doing so requires that the side length of 2.1 Tri's and Quad's be different than their 2.0 counterparts. Quads are 1mm wider, while Tri's are about 0.5mm thinner. Not to worry, FlexMesh 2.0 and 2.1 are still fairly compatible for most simple projects. That's why the version 2.1 is being released as an update to what was the original FlexMesh 2.0 Thingiverse design.

Cuboctahedron – Bob Krause
Filleted Inner Edges Of Main's
Some people have had problems with "blooming" of the first layer of printed FlexMesh pieces. As any 3D printing tutorial points out, the first layer of a print is the most important determinant of the success or failure of the print job. It's important that the filament laid down for the first layer be pressed down firmly on the build platform so that the piece adheres through to job completion. Bloom is the effect that occurs when the outer bead of material is pushed so far outwardly so as to deform the overall shape of that initial layer of the piece. This was identified as an issue for the inner edge of Main shapes because it can cause the full rotational range of connected Sub's to be reduced to the point that two adjacent Main pieces can't rotate the full 180 degrees.

This problem has been addressed in FlexMesh 2.1 by adding a fillet to this inner edge. Of course, the fillet was added to both top and bottom edges.

New Shapes
FlexMesh 2.1 includes new 5-sided Penta and 6-sided Hexa Main shapes, which have the same side lengths and filleted inner edges as the updated Tri and Quad shapes.

Cuboctahedron – Bob Krause
A New Shape Family
An entirely new family of FlexMesh Main shapes have been added as part of FlexMesh 2.1. These shapes, which can accept as few as 2 to as many as 6 connectors, are more rounded than those in the original family. Unlike the original family of Mains, the diameter of each rounded shape increases with the number of connectors it accepts. This lack of a standard side length makes sense as the new round shapes don't have sides. The profiles of rounded shapes are very different than the originals when both are viewed from above. Because of these differences, objects built using rounded shapes also have a different appearance. Some connection patterns result in a wide gap between pieces align in one direction. Other patterns result in fairly tight fits between Mains.

Print a batch of rounded pieces to play with. Early users of these shapes have found the 2-sided Duo to be a particularly interesting and useful element to build off of.

Note: People who've printed the rounded family of shapes report that platform adhesion of Duo pieces is more of a challenge than is the case with other FlexMesh shapes. To optimize success for printing Duo's be sure that the build platform is "fresh" and level, and that nozzle clearance is properly calibrated.

Duo Band – Bob Krause
Comments & Questions
The best place to submit FlexMesh 2.x comments or questions is here on Thingiverse.

Saturday, November 15, 2014

Tinkercad Alternatives?

Rascal The Dog – Lucie

A question was recently raised about whether there are any alternatives to Tinkercad as a classroom 3D modeling tool. This is a very good question.

The reality is that Tinkercad currently occupies a “footprint” in the market for 3D modeling software that addresses a significant piece of the requirements of makers, teachers and students. If Tinkercad weren’t available, didn’t occupy this footprint, then I’m quite certain that there would be some other product in the market today. Mind you, I don’t believe that Tinkercad’s presence entirely precludes competitive products, but the space that Tinkercad takes up incrementally reduces the size of the opportunity left for others in the market.

In my view, the key traits that make Tinkercad stand out as a uniquely well suited solution for makers and educators are:
  • Shapes add volume, holes subtract volume
  • The ability to group and ungroup shapes, holes and groups
  • An approachable stylesheet with minimal noise (Translated: a good look without too much information that confuses users)
  • A means to programmatically design and configure shapes (Though the current Shape Generator tool is fatally flawed in so many ways.)
The biggest hole in Tinkercad's current feature set is the inability to parametrically define and relate shapes.

I’m always on the lookout for applications to bring into classrooms as full or even partial replacements for Tinkercad. I’ve yet to find a viable alternative. All the other “mainstream” modeling applications are too noisy, don't support "ungrouping" or offer metaphors inappropriate for young students new to 3D modeling.

I’m sure Autodesk doesn’t want to hear this, but I think everyone would benefit from some real competition in these maker and educational markets. — Tinkercad included.

Wednesday, November 12, 2014

#FixTinkercad


Tinkercad Is Down – Autodesk


This morning the following letter was sent to Autodesk CEO Carl Bass, CTO Jeff Kowalski and several leaders of the 123D applications teams who are responsible for the Tinkercad product and engineering efforts. Tinkercad is a central component in the toolchain of schools' 3D modeling and printing curriculum. I encourage everybody with an opinion about the state of the site to constructively discuss your requirements and expectations and the impact the disruptions have had on your classrooms and your long-term planning for 3D curriculum.

Voice your support for Autodesk improving Tinkercad reliability, responsiveness and feature set by using the #FixTinkercad Twitter hashtag.

I was a Tinkercad user a year or so before Autodesk picked up stewardship of the site in the spring of 2013. I’ve been an active user in my own work and as a 3D modeling instructor at various schools in the East Bay. Guillermo (Melantoni, 123D project Line Manager), I’ve brought you into my classrooms and into my lab early on to show you how my students are using the tool. I’ve been to your offices several times to meet with both product and engineering teams to discuss the product’s many strength and crippling weaknesses. 

It was around this time last year that the state of the site had deteriorated to such an extent that I publicly called out the Autodesk team proclaiming, Tinkercad is Dead, because the site was at that point for all intents and purposes completely unusable. I was a lone voice in that discussion because few teachers were using the site as centrally in their curriculum as I was. Sure enough, fully 2/3 of my students who were affected by those failures chose alternative activities and never returned to 3D modeling. It’s been relayed to me that however opinionated I was, this frank online discussion contributed to Autodesk committing some additional resources and to the decision to make some changes in the development team. This eventually led to the migration of the application stack over to a large public cloud. Responsiveness improved markedly in the spring as a result, though many significant usability issues have still never been addressed.

Now, 10 months later and smack in the middle of another academic semester in which 100’s, if not 1,000's, of classrooms are now reliant on the site as a central tool of their current curriculum, the site has once again been left completely unreliable for going on 3 weeks with no end of the troubles in sight. The students, teachers and districts now left to cobbler together replacement curriculum in real time are the same stakeholders Autodesk has actively pitched Tinkercad to during the past year as an ideal tool for classroom use. Many are us are Tinkercad users because Autodesk encouraged us to do so. 

If one were to not read user complaints and only focus on the hype and spin emanating from the 123D team that Tinkercad is managed by, it might sound like the site is virtually flawless and that users are all but dancing in the streets. Yet it’s my sense and the sense of other teachers and administrators I’ve talked to, that Autodesk doesn’t fully appreciate the full extent of people’s frustration with Autodesk’s stewardship of the site. Stating the obvious, a web application is a fundamentally different animal than a native application. Autodesk may not fully appreciate the significance of these differences or the reasonable expectations and requirements schools have for the site even though they don’t currently pay for students' use of the tool. 

I also don’t think Autodesk realizes the negative impact users' Tinkercad experiences are having on the company’s long-term objectives at the intersection of the maker and education markets and their impact on Autodesk's brand overall. Though I appreciate Autodesk’s strategy for expanding your presence in these markets, I think it prudent that you reassess your execution and adjust your tactical plan to take into account the impact ongoing conditions will have on your long-term prospects. As an aspiring stakeholder in these communities, I would also ask you to consider the impact your missteps are having on the makers, students and schools you serve. 

- Bob Krause
Berkeley, CA

Saturday, October 4, 2014

Operating 3D Printers As Small Factories


Frog and Fly – Ollie
The job flow running through a 3D printer or set of printers should be managed using processes like those used in small-scale factories or other job shops that handle small runs of custom piece work. The requirements for this job handling process includes a readily accessible and easy to understand form customers fill in to unambiguously describe the details of the job being submitted. The process must also provide the printer operators with an interface that enables them to process the job flow efficiently, optimize the quality of the objects being produced, keep costs down and track invoicing and payment for completed work.

In my presentations to teachers and administrators, I've demonstrated a spreadsheet that I've evolved for tracking 3D print jobs. I've also demonstrated a web form that my students are using to submit their jobs for printing and the complete set of Google Sheets -based backend tools used to process this work flow. I've used this new package of workflow tools to support a camp that I ran this past summer, in my 3D modeling classes, and in professional development seminars that I run at schools across the Bay Area. When taken together, the tools have so far been used for print production amounting to about 50kg of filament. In the last few months have I been able package up this set of production tools for others to use in their environments.

The web form that my customers, a.k.a. students, use to submit print jobs is based on a wonderful product called JotForm. After you create a free JotForm account you can create a copy of this form using the template I've made public here. As jarring as the form might feel the first time you see it in all it's yellow glory, this unique and unforgettable look helps students, some as young as 3rd graders, remember the job submission process so that I only have to explain it to them once. The "Show Instructions" checkbox near the top of the form is available for those that need their memories refreshed. As simple as the form is, it's complete enough to support single and dual extrusion jobs using any raw material and any configuration of outer shells and infill ratio.

An important feature of JotForm is what they call "integrations". These are processes that can be invoked when a form is submitted. I use the Google Sheets integration. This causes a fresh row to be added to a Google Sheets workbook for every job submitted. The Google Sheets integration wizard that is used to make this connection is very straightforward. But JotForm's behind-the-scenes code that adds these rows to the spreadsheet works by overwriting the workbook every time. This means that this workbook can’t be modified with custom calculations or additional sheets. Instead, IMPORTRANGE function of Google Sheets is used to synchronize these rows of job data into a range of cells in a separate tracker workbook.


I don’t need to fill out a web form when I set up a print job for myself. So this JotForm-based workflow is used only in an educational setting. The tracker workbook that I developed for tracking production of student jobs can be found here. The first sheet, named Submissions, uses Google’s IMPORTRANGE function in Columns F and beyond to import the data taken from the JotForm-generated workbook. Columns A to E of the Submissions sheet are used by the printer operator to denote the state of each job as to flows through the production process. (Note that the workbook referred to by the first argument of IMPORTRANGE must be changed to refer to the Google workbook that YOUR JotForm populates.)

Notice that column E is titled ‘Paid”. This workbook supports the use of 3DBucks. Teachers use 3DBucks to optimize printer demand and motivate students to maximize their progress through each lap of the innovation cycle. 3DBucks are credits that students must spend in order to print something. The cost of each print job is based on the amount of filament it consumes. Available 3DBucks denominations are 1 gram, 5 grams, 10 grams, 25 grams, and the special Dual credit. Students may be given Stipends, which are some 3DBucks given at the start of the semester, when a project is assigned or at some other point that makes sense in your classroom. Some classes use themed competitions and award the students who succeed the furthest beyond their range. I reserve dual passes for “amazing” designs that are best rendered in two-color print jobs. The Balances, Stipends, Awards and Prints sheets of the tracker workbook are used to track the flow of credits in a 3DBucks -based economy.

My tracker workbook can be used as-is, or as a starting point for other tracking work flows better suited for small to mid-sized industrial, retail or creative environments. Have at it.

Friday, May 2, 2014

3DBucks – A Classroom Currency For The 3D Age

3D Bucks – Bob Krause


Classroom 3D printing is expensive and time-consuming. There's always more demand than capacity. It's the slowest step in the innovation cycle. Yet all too often kids choose to print more versions of their designs than necessary rather than waiting to submit a job only once it's been sufficiently refined and a print is necessary in order to test and confirm their working assumptions.

Another common classroom challenge is how to motivate students to move beyond their comfort zones and how to reward them for doing so. 

Forget Bitcoin. We’re 3D’ers! So we use 3DBucks to optimize printer demand and motivate students to maximize their progress through each lap of the cycle. 3DBucks are credits that students must spend in order to print something. The cost of each print job is based on the amount of filament it consumes. Available denominations are 1 gram, 5 grams, 10 grams, 25 grams, and the special Dual credit. The cost of a job that uses both extruders on the dual-headed printer is based both on the amount of filament it consumes as well as a Dual credit. 

You can give students some 3DBucks at the start of the semester, when a project is assigned or at any other point that makes sense in your classroom. 3DBucks encourage healthy saving, spending and design habits.They may also be used as rewards for good behavior, perseverance, helping others, winning a design contest, or any other deserving achievement.   

Saturday, April 5, 2014

Today’s Biggest 3D Printing Challenges


Devil – Skyler
The state of 3D printing today reminds me of the days when the Commodore 64 ruled the PC world. As much as we struggle with today’s printer technologies, we also love the doors it has opened to us. Yet just as we eventually moved beyond the Commodore, the capabilities of each successive printer generation overcomes some of the limitations of those that preceded it. Unimaginable as it may seem, we may wake up one morning, shuffle down to the kitchen and have our Jean-Luc moment as we utter the command, “Earl grey tea, hot.” In the meantime, lets take a moment to briefly discuss the really big 3D printing challenges we’re now up against.


Glacial Print Speeds

I give a fair number of talks and attend many a school event introducing 3D to teachers, students and parents. I often hand out colorful 3D printed mushrooms with a hole in the stem at these events so that kids can zip tie them to their backpacks and parents can bury them in the junk drawer after a week of wondering, "What am I supposed to do with this?" I’ve probably produced some 500 of these tchatchkis. Perhaps enough to fill a 5 gallon Home Depot bucket. Each mushroom is an assemblage of 3 pieces — a stem, a head and a cap. My lab is converted into a cybernetic mushroom farm the night before an event as shrooms are ganged up 10 or 20 to a printer. The average build time for the 3 parts that go into each mushroom works out to about 45 minutes. 

That’s right, it's taken something like 375 build hours to fill a bucket with 3D printed mushrooms. As amazing as it may seem, I’m not troubled that it takes as much time as it does to produce small batches of parts. This is inherent to the very nature of production in an industrial age. A primary advantage that 3D offers is not faster production times, but rather innovation times. Knowing this, I arrange my production schedule to replicate batches of parts while I sleep or while I’m off doing other productive things. The incremental march toward ever more advanced printers will certainly result in faster machines. But I’m just as interested in innovations in post-production automation that allow multiple batches to be run unattended, thus extending the scale at which a custom production business remains competitive. Printers are called “bots” for a reason. Shouldn't they also cleanup after us?

What I find unacceptable about 3D printers today is the amount of time it takes to iterate during the design process. I come from a software background where a key metric of programmer productivity is how long it takes a developer to make an incremental code change then re-compile and get back into the program debugger to confirm that the bug's been squashed and move on to the next challenge. Production printers should be chosen based on the requirements of production, such as cost, capacity, reliability and product quality. Printers used during the product design process are different animals. They need to be fast — as in one or two orders of magnitude faster than they are today.


High Cost

With a budget of $300, I get to choose between several different models of Chromebooks. Acer has one for $200. I see on Amazon that Dell has a netbook running Windows XP that can be mine for just $99. When I’m ready to splurge I can get a new iPad for as little as $400. A top of the line iPad Air will run me about $900, about the same price as a 13” Macbook Air.

For more than three times the price of Dell’s XP netbook, $350, I can zip tie together a Printrbot Simple kit with a wood frame that doesn’t work very well nor last very long. Makerbot’s lowest cost 3D printer, the Mini, costs $1,400 with a spool of filament. The mid-size Replicator is more than twice that price at $2,900. And the “massive” Z18 is again more than twice the price of the Replicator, flying out the door at a massive $6,500.

If we look back we see that high prices are the norm when disruptive products are first introduced. The original 128K Macintosh was initially priced at $2,495, which amounts to $5,595 today after you adjust for inflation. The cost of printers will come down as capabilities improve. But don’t expect the same price curve, because Moore’s Law doesn’t apply to machines with moving parts. Still, that we’re buying printers with wood frames would seem to imply that the innovation cycle is rife with opportunity and that there’s ample reason for optimism that prices have a long way to fall.


Small Build Volume

The PrintrBot Simple has a build volume of less than 4” cubed. Which is too small to print a teacup. The Makerbot Mini is an inch taller. Even the Z18 is only one foot square and a foot and a half tall — big enough to accommodate a teapot. The problem is, few schools can afford a Z18.

I contend that we shouldn't let the small build volume of school printers be a limitation. We must look at it as an opportunity to design beyond the bounds of a single print job through the use of joinery, assemblies and modular designAn overriding curriculum objective is to advance students' modeling skills while offering a path to success that’s long enough to support students’ imagination yet wide enough to include every kid regardless of their innate abilities. I view joinery as a skill central to real-world success. It's also the means by which to develop at scales beyond the bounds of the build volume. Real world objects are an assemblage of parts connected together via screws, pegs, slots and cotter pins. Sliders, levers and ball joints allow parts to move. Weight and other forces are distributed using beams, rods and cables. Modeling curriculum must teach the use of kits of standard parts like these.


Low Reliability

In 1995 I bought an HP 5MP laserwriter printer. It's been about 5 years since I was last able to find toner cartridges for it. So I don’t use it regularly any more. In fact, I don’t even keep it plugged in except when I’m occasionally feeling nostalgic and print a page to verify that it still works. And 19 years later it does still work.

The first 3D printer I bought was a dual extruder Makerbot Replicator Dual clone out of China. The mean time between failures on that first unit was 30 build hours. That’s right, some piece of hardware hard-failed about once a week on average. It got to the point where I was so experienced repairing it that I could strip the unit down to the motherboard and put it back together again in about an hour. The most difficult problem though was sourcing parts. The only supplier of parts was the manufacturer in China. So I sat through a lot of downtime waiting for parts to arrive. When I realized how unreliable the printer was I ordered one of every mechanical and electrical part I could get my hands on, and two of those that failed most often. To their credit, the company felt so bad about my experience that they proactively sent me another printer. They said I could pick the price I chose to pay for the second unit. I told them I’d pay full price if they agreed to give me free support, including free express shipment of replacement parts. We had a deal. But 3 hours into my first print job on the new unit the whole gantry exploded in a shower of parts because the factory hadn’t tightened any of the screws keeping it in place. I emailed asking to return both printers, but never heard from them again.

What portion of new users are having buzz-kill experiences like mine? How is the overall market potential affected by these poor quality machines?


Design Complexity

In many ways, the world of 3D printing today is similar to the dawn of the computer age in that modeling tools offer a limited set of operations on a small collection of primitive shapes. It’s the geometric equivalent of programming in assembly language. Modeling programs need to evolve and fresh ones introduced that widen the path to success to include a greater proportion of students and non-professionals.

Another aspect of design complexity that slows the innovation cycle of non-professional designers is the lack of standard components. Must every designer be required to reinvent ball joints and hinges instead of using standard, well-designed parts that have been fully vetted by a global crowdsource community? Just as software frameworks are the fuel that power object-oriented programming environments, 3D modeling innovations will surge with the availability of standard geometric component kits that designers can pull primitives, parts and assemblies from for use in their designs.


Limited Materials

Various forms of soft plastic are the most common artifact of a 3D print job today. These materials are certainly colorful, which is important to an emerging technology like 3D printing. The objects produced are strong enough for some applications (like selling 3D printers) though they can hardly be referred to as durable. A steady stream of exotic feedstock materials with interesting properties are regularly announced. But few make significant inroads as compared to the PLA and ABS stalwarts. Users are deterred by the downsides of each new and improved material, whether the downsides be cost, durability, appearance, toxicity or something else. From a materials standpoint, electrical conductivity on par with aluminum, durability on par with polycarbonates, and food-safety (and dishwasher safeness) are each generally considered “killer apps” that will propel 3D printing to the next level.

Monday, March 10, 2014

Fixing The Tinkercad Ruler

Mac & Cheese – Bob Krause
The purpose of the Tinkercad ruler has never been explained. All the original team could say in their May, 2012 blog post announcing the ruler was, "Hmmm....how best to explain what this new feature does? Visually, of course! Click on the image to see a larger view." That's it.

I believe that the ruler's never been explained because it hasn't been well thought-out. Is it useful? Certainly. But it's also very "information noisy". The amount of information the ruler shows about the current selection is often more than users expect, want or can make sense of. This is particularly true of young and inexperienced users.

I contend that the ruler has been overburdened and that its function should be separated into two different tools and that the options available when positioning the ruler be expanded.

The ruler should display the distance between it’s origin and the current selection, but NOT also show the dimensions of the selection. I further believe that the user should be able to rotate the orientation of the ruler without having to dismiss the ruler, rotate the canvas and then re-place the ruler. Additionally, while the ruler is being placed Tinkercad should recognize the use of modifier keys to indicate either that the position of the ruler should ignore the current snap grid setting, perhaps using the shift key, or that the position of the ruler should magnetically snap to the edge of a shape within a certain distance, perhaps using the alt key.

A different tool, call it the "dimension tool", should be used to show the dimensions of the selection. Though, because the location of a dimension tool wouldn’t affect the display of that information, perhaps this dimensioning feature should be a mode of the canvas. If presented as a mode, under no circumstances should it be necessary for the user to open the "Edit Grid” dialogue to change modes, both because the dimensioning mode shouldn't necessarily be persistent and because the dialogue is too inaccessible from the mainline workflow.

Fix the ruler. Distance and dimensioning are orthogonal and not sufficiently inter-related to be conjoined as they are.