Find all your DIY electronics in the MakerShed. 3D Printing, Kits, Arduino, Raspberry Pi, Books & more!

makezine_webtheme4-thursday

Hey all, first-time MAKE contributor here. I’m a senior at the Georgia Tech College of Computing and one of the folks helping out at the Georgia Tech Invention Studio. Below is a post from my site Geeks Have Feelings.

Windows-3DP

Microsoft has just made its mark on 3D printing with its announcement of built-in support for 3D printing in Windows 8.1. Now I don’t usually do blog posts like this where I pretend to keep up with news, but I see nothing but hollow rehashes (actual headline: “Microsoft Moves to Simplify 3-D Printing”) and vaguely 3D printing related filler (LOL GUNZ) on the tech pop media about this story.

Screen Shot 2013-07-03 at 11.56.23 AM

With apologies to the New York Times.

Heck, even Microsoft’s own blog post from a general manager is 100 percent devoid of information on what they’ve introduced. That’s a real shame, because the new Windows components advance the 3D printing field by quite a bit while fixing many of the glaring technical issues.

Hotfix

Before I jump into what the Microsoft announcement is about and why I think it’s great, I want to address a couple of knee-jerk opinions about the story I saw stated as fact.

  • Microsoft “simplified” 3D printing… in the sense that it’ll be easier for Joe Sixpack to buy a retail boxed printer and hit “print” from Windows applications to print parts. However, what they’ve done is actually added more steps in the 3D printing chain—but that’s a good thing. I’ll get to why in just a second. Microsoft-pipeline
  • Windows 8.1′s 3D printing support tries to supplant preprocessors and printing hosts by developers. Nope. Instead it creates a framework around the existing slicers and printer hosts (for example Slic3r and Repetier-Host, two software packages we use in the Georgia Tech Invention Studio for RepRap-based printers), which abstracts away their operational details. This means that all printers will have a common Microsoft-designed software interface for getting printed to, and that’s great for developers. However, it’s still up to manufacturers to actually write drivers within this framework.
  • Microsoft is making a move into 3D printing. Technically they are, but they’re not building 3D printers and they don’t appear to be affiliated with any one manufacturer. They also don’t appear to be abandoning open source either; if anything, inclusion of the open source printers seems to be a priority for even the first release, as they had a demo with a Type A printer at the San Francisco event.

As I mentioned, their new components don’t replace anything already on the market; they’re building around, not in, the existing structures. I think their “move” here is a land grab as the first platform to have meaningful standards and support for 3D printing. If played right, that will then make them the 3D printing platform (not that that’s a good thing).

I should also note that I am neither a Microsoft apologist (I prepare presentations in Keynote for crying out loud) nor a 3D printing fanboy (I instinctively assault anyone who uses the term “desktop manufacturing revolution” unironically). It’s just that people on the Internet were wrong and I had to correct them.

The Invention Studio does a lot of 3D printing

Also, my experience with 3D printing comes from my time helping to run the Georgia Tech Invention Studio. As students, we maintain a fleet of 14 3D printers, including open-source printers like RepRap variants, MakerBot junk, and Afinia/Up bots, as well as professional printers from Objet and Stratasys. These get (ab)used almost 24/7 in incredible volume by students and faculty (the hobby printers are free to use) and we’re even developing custom hardware and software for them. So I have a uniquely cynical perspective of 3D printing through the lenses of efficiency and reliability over sexiness and open source ideals.

Now let’s get to some of the innovations that Microsoft introduced and the problems they solved.

Deciphering the News

Keep in mind that most of my information here is gleaned off of the 30 seconds of concrete information in the 16:21 video and some C++ SDK samples.

Microsoft sample code

But here’s what I think are their biggest innovations in 3D printing:

  • A new software interface for printing 3D models from applications and a framework for 3D printer drivers. This means there’s now a standard way for software to pass 3D models as jobs to 3D printers, as well as a standard that 3D printing software chains will conform to. This solves the problem of getting an application to programmatically start a print job. We’re pretty familiar with that problem at the Invention Studio; our printers—Lulzbot AO-101s, Makerbot Replicators 2, Afinia H-Series—each have different APIs for printing to them, and it makes software automation a complete pain of a task to tackle.
  • Standard 3D model interchange format designed especially for 3D printing. This is a big deal if only because the current standard format, STL, sucks (and somehow it is standard; even our Stratasys and Objet professional 3D printers use it). The new format that Microsoft is calling 3MF (“3D manufacturing format”) is quite neat: it’s still a mesh-based format (to be practical), but it supports specifying different materials for each volume, as well as supporting color textures (for coloring surfaces). STL, meanwhile, can’t even specify that two faces in a mesh are adjacent to each other.
  • Print spooler for 3D printer jobs. The new print spooler is a part of Windows that sits between applications spitting out 3D print jobs and the printer-specific drivers. It serves as a purgatorial buffer for yet-unrealized print jobs that haven’t been processed/sliced/sent off to a machine. You already have a 2D print spooler now that lets you print off 2D documents for 2D printers, without even having any such said 2D printer connected.
  • Support for 3D printers using a USB printer interface. I’m not a big USB or drivers person, so I can’t expound on whether using the “class 7, type 3″ interface (“1284.4 compatible bi-directional interface”) was the right choice. However, I heartily support their view of serial over USB (Communication device class) as a “legacy” interface. That truly is the legacy of 3D printer designs relying too much on every part of the underendowed Arduino for their brains. Arduino’s use of COM ports may be convenient for a quick and dirty prototype, but I can’t believe folks are selling products that use it. I’m glad somebody at Microsoft agrees and is taking a step away from that awfulness.Microsoft-hardware-support

Normally I’m not down for ending a post with Silicon Valley-esque last-paragraph upturn in optimism (what is this, a Quora answer?), but I really do believe that this is a huge step forward in 3D printing, injecting a direly needed infusion of professional engineering into a community dominated by part-time hobbyists struggling to develop complete products. I really want reliable, well-designed 3D printing software platforms to succeed so we can get on with developing actual advances in printing technology, and it’s great to see a big player like Microsoft making that move.


Related

Comments

  1. Gates says:

    You were warned Microsoft will embrace, extend, and extinguish your works.

    Stage 1 and 2 are complete….

    1. Yea, just like they did with 2D printer… oh wait.

      1. Tommy Phillips says:

        Well, actually, kind of.

        It has only been recently that Linux printer drivers have become common enough to fall off my “Major Annoyances with Linux” list. The issue is still on the “Minor Annoyances” list, in part because I still can’t print 2-sided on my Canon Pixma direct from Xubuntu 12.

        How is that related? Simply because most printer manufacturers put Linux drivers and compatibility very low on their priority list because of the dominance of Windows.

        It may not be time to panic about Microsoft putting their ginormous toe into the 3-D printing pond, but a little concern is probably justified.

        1. Jeff Jones says:

          What is the cash flow path (that pays the COGS for a Linux driver) for a printer manufacturer? Don’t blame Microsoft because the printer drivers are not there or are poorly done. Most people choose to use Windows, not Linux, for whatever reason. Thus, the cash flow to support paying for Linux driver development, testing, and maintenance is probably not there for most printer manufacturers.

  2. Radish says:

    With 3d printers built in to the OS, potentially we could have an computer game where the user customises the character and the equipment that character wears (such as in a RPG) and allows the user to print out that custom character. The developer doesn’t have to program with all the various models of 3d printers in mind, just the shared interface – just like 2d printers

  3. The new USB interface is what makes excites me. Now what im wondering is if that can be worked into existing hardware, or if its going to be a hardware upgrade.

    1. Keith Rome says:

      That will depend on the printer electronics hardware. For example, maybe the next version of Azteeg board will have its own USB ID and driver for Windows 8.1, which will allow much faster communication (I’m not saying there is anything like that specific case coming, but it could be).

      What Microsoft has done here is said “hey, generic serial comm over USB is pretty crappy and slow. we want to enable printer manufacturers to provide higher-speed connectivity than that if they want”. In particular, there are some newer printers entering the market that can print faster than they can receive incoming data over serial… this is a very welcome and necessary feature for Windows to allow this.

    2. pashakun says:

      Agreed~

      A lot of MakerBot operators (myself included) already eschew printing over USB in favor of SD card. A typical answer to an exotic print problem on the forums starts with “Do you use USB?”

  4. Trav says:

    Not so thrilled. While this might be a great step for 3D printing, it’s one more overhead on an already overfilled OS. I would much prefer a streamlined OS with modules that can be added (purchased) as needed/wanted. This is just what my desktop system needs, another driver it will never use.

    I wish they would fix the regular print spooler. Every time I try to purge a stuck print job, I have to log in as admin to stop/restart the print spooler.

  5. Jak says:

    Good review. Not sure it matters what speed of communications are used to connect a 3D printer to a PC – there is no way that comms could be slower than a 3D printer printing out !

  6. cae2100 says:

    Im a 3D printer owner, and honestly, microsoft is more like the US government anymore, never listens to the people, and always putting thier hands where it doesnt belong. I use linux and windows, and never have any issues with the drivers or anything that they’re talking about. The issue that most people have with the usb connection is that the ft232 has latency which causes timeouts sometimes, but I see more and more companies switching to avr chips with built in usb interfaces like at90usb1286, then the timeouts, speed issues, and other issues are solved.

    1. cae2100 says:

      I think ms should just stick with trying to fix thier own broken operating systems than adding in more bloat that would only support certain firmware on certain printers so they could yank up the prices on them. win7 was just aweful and crashes nonstop, and 8, instead of doing what people are used to, they changed everything and built it on top of the buggy 7, and made it almost unusable. I had a win8 laptop shortly, and took it back because they locked the bios so no other OSes could run on it. yay for more MS crap…

      1. Dave says:

        Can you be quiet please? The adults are talking!

        1. Per Ø says:

          Thanks Dave. Those words were needed. Besides a lot of other things, he obviously does not remember the 90′s before UNIMODEM when every modem needs tweaking to get an internet connection. No matter what you think of Microsoft, this kind of standardization is simply needed to progress the market and make is acceptable/usable to the broader population.

          1. Paul says:

            I remember modems prior to UNIMODEM. Never had any problem. For the most part they were a box with lights that was controlled with standardized Hayes command sets. All of said connections were easily set up in whatever software one chose to use, and things worked fine. (I could tell a lot about what was happening online from how those lights were blinking.)

            All the problems came in with the advent of Win-Modems, which plugged in internally, required much tweaking, ONLY WORKED WITH MS WINDOWS, and were generally barely worth the low price you paid for them. The problem was that, very shortly, it was almost impossible to find anything but Win-modems.

            So, yes there is some justified concern with what Microsoft’s entry will mean to the 3D space. It could be good, but could just as easily be the death nell for further advancement of open source printers.

  7. Donald says:

    You refer to “Makerbot Junk” – can you elaborate? If you mean the 3d products are junk, why is that?

    Thanks for shedding light on what MS’s 3D printing support “means”!

  8. Sole42 says:

    Bang bang?

  9. OldETC says:

    I have only used Linux for my personal work for many years. I completed my first 3D printed project in 2011. NO MICROSOFT involved. It went very smoothly and we had the finished product very quickly. Microsoft doesn’t add anything.

    Sorry that you are so poorly educated in technology.

  10. jemyowast says:

    I will be lucky if that true