Going Native

2021-07-19 10:00 by Elliott Polk (comments: 10)

 

Lately the interwebs have been buzzing with news that Windows 8.1 will natively support 3D manufacturing. Shortly after that announcement from Microsoft’s own developer conference, Fedora 19 announced their release which “includes native support for 3D printing”. This last bit is a bit confusing but we’ll get into that later on.

Lets handle the pink elephant in the room first... What does this mean for Makible and everyone's beloved MakiBox A6? It means that as of right now, business as usual. But, it also means that in the near future there may be an application from the likes of AutoDesk running on your brand new Windows 8.1 PC that will enable you as a user to print models / objects directly from the application and manage the print settings via a standard OS print panel rather than running through the current methodology of:

  • create content

  • export to STL

  • load STL in a slicing engine of choice

  • fiddle with various settings for temperature, resolution, etc.

  • export as GCode file

  • open GCode in printing host application

  • print

Now, lets break this all down and see what it means for an industry as a whole. What has Microsoft done? What has the Fedora team done?

 

Microsoft

Microsoft is in the process of pioneering a new file format with a few of the current industry leaders both on the content creation side as well as the digital-to-physical (a.k.a. manufacturing) side. This format is the 3D Manufacturing Format, simply put 3MF. Personally, I’ll never be able to look at that file extension without invoking the voice of the beloved Samuel L. Jackson, but I tend to be a bit childish at times. So, what does this format mean?

Microsoft Developer Info

NOTE: The PDF for the spec is no longer available on line. My guess is that they're currently editing the spec further. Remember, it is currently still in draft.

I’ve spent a few hours spread over a couple of days going through the developer documents and working spec sheet for the format to get a better understand of what they’re doing. First and foremost, this “new format” is not strictly limited to 3D printing. It is referring to the entirety of 3D manufacturing. CNC machining as well as 3D printing are just two examples given by MS. In the near future, we may very well have new tech that will allow for other types of 3D manufacturing that utilized the data MS is trying to include in the format.

Currently the industry is using the STL format for producing models in the physical space. The problem in this is your objects lose features with this format. STL’s are a series of vector points connecting line segments, eventually producing an object. How do you get geometries like an arc and in turn a sphere from this? Currently, depending on the size of the arc, you could have thousands of small line segments, none actually producing a curve themselves but simulating one as a whole. These segments come together creating small triangles and in turn create meshes. Remember the days of the PlayStation One? Polygons (not the gaming news site). Yeah... In the 3MF format, they are allowing for true geometry of objects including various curves and arcs. Finally a sphere can be a sphere not a polyorb.  An excerpt from the spec explains this fairly nicely:

 

Each geometry is defined by using abbreviated geometry syntax. Abbreviated geometry syntax can be used to specify a geometry of one or more figures that are made up of multiple segments. A geometry is specified with an optional FillRule command, followed by one or more figure definitions. Figure definitions are specified with a Move command, a set of one or more drawing commands to create segments...

 

“OK that’s cool but how does this translate to a printable file” one might ask. The format has you covered. There is a section to include “slices”. They break the object down into layers for you, giving you sections for each layer, allowing for this true geometry. This will allow an algorithm to properly plan a path based on the geometry as previously stated. It should no longer be a series of line segments (depending on the object).

 

Windows 8.1 Print

 

So how does this translate into “native support”. Well, when an application that supports this format includes the “print” option the application will break down the objects to fit into this format. From here, this will get handed over to the OS via a “print ticket” just as the current 2D printing process does. From here, the “drivers” of the printing device take over. Said drivers should be able to handle this format and prep the object for production (e.g. slicing and device communication). In doing so, this should allow for a better user experience and remove the need for 8+ steps of getting an object from the digital to physical space. This should allow for hardware development vendors (such as Makible) to develop drivers that tap into this “seamless experience”.

Now to the not so good. This is technically an open format spec, meant for broad adoption, not just for Windows. It’s just getting all other OS’s to support this format as well as hardware manufacturers. Also, this is more of a nitpick for me, but it’s using XML for data formatting. Ugh! I detest XML parsers. Can’t we all just use JSON?! Again, that last part is just a personal nitpick, not a fact of anything.

OK. So how does this now translate to Fedora and what that team has “done for Linux”. Well, it doesn’t.

 

Fedora

What has the Fedora distro team done in their “native support” additions. In all reality, they’ve done nothing towards “native support” compared to Windows 8.1. And to the credit of the Fedora team, this has not been their message as far as I can tell. This has been a “media misconception”. Reading through the release notes for Fedora 19, the team is now supporting / including binaries of the current line of FOSS (Free Open Source Software) applications that the majority of the 3D printing community is currently using (i.e. Slic3r, Cura, Pronterface, etc.) in the Fedora application repositories. This is not native support. It’s just simplification. My hats off to the Fedora team for doing this. Printing application setup on Linux is not straightforward at this time. This usually requires a build from source. Time to print for Linux has just been reduced, but it is not native nor is it a format as MS is attempting.

My hope is that in the future, the 3MF format is adopted by all OSes alike. I think this is a step forward for the industry and should fit with the idea of the manufacturing revolution that I hope happens sooner rather than later. I look forward to seeing how the content creation applications use this format and the resulting objects.

Go back

Add a comment

Comment by Stephane BUISSON | 2021-07-19

this subject start here : http://makibox.com/forum/topic/1601

thank Eliott to repeat this 8 Steps.

But still think the solution should not be part of the system. simply because that matter is complex and each step could evolve in different direction.

8 steps is far too much, slicing + communication (as a plugin pref) could merge in a single plugin for your CAD. in that way user keep full control of his evolution.

if new standard must arrived, it should be in the way you interconnect your slicer with communication. (or your Mach3 with your CNC)

MS is certainly powerfull, but are not convincing with their version 8. how much windows 8 user compare the rest of world users ?

Comment by Matt Warrillow | 2021-07-19

AutoCad have already started with this, they released an update for 123d that has a print option to print a 3D object.

At the moment it only has support for the commercial printers like the Makerbot and Solidoodle but im sure in time it will come to support the Makibox.

I will see if I can find a link later

Comment by John Matsukes | 2021-07-20

Are they shipping theMakiBox yet?

Comment by Bradley | 2021-07-20

Yes, this is good news for every 3D printer company out there, but windows 8 users market share is significantly low right now to even think about.

This is just Microsoft trying to get more users to move over to Windows 8 (more money for them through licenses and upgrades), but it would make logical sense to build the software on Windows XP and 7 where the customer base is at.

Comment by BONSAILAB. | 2021-07-20

Thank you for the information.
This is quite useful!
Why do you prefer JSON than XML?

Comment by camerin hahn | 2021-07-20

I could see the argument for supporting win7, but they are killing XP. I think the support and update is set to expire soon.

Comment by Elliott Polk | 2021-07-20

@Matsukes yes, but only the betas and preproduction units. See previous blog post for more details.

@BONSAILAB. It's just a personal preference after writing and rewriting a 1001 XML parsers. JSON notion just feels more natural to me.

In regards to the Win8 vs old Windows argument, I have to respectfully disagree. Yes their market penetration is relatively low for Win8 but that is how they plan on making money now and the foreseeable future. They want to push their new paradigm. It only benefits them more by adding new features to the new OS to encourage adaption both from consumers as well as businesses.

Full disclosure, the post was written on OS X, this comment was written on an iPad Mini. I prefer Android as a mobile platform and I grew up using Windows. I like my dev environments on *nix like systems, but I'm rooting for Windows because deep down I kinda like what they're doing. I just feel like I'm working in a vat of molasses when developing on a Windows box. Dunno why, just breaks my flow.

Comment by camerin hahn | 2021-07-21

@elliott I felt the same way about Windows until I discovered power shell... having access to the .net frame work in council made my day... I still don't like the headache of working with com ports on Windows... but hey 99% of the time I am fine with it.

Comment by Richard Hercher | 2021-07-21

http://xkcd.com/927/

I haven't read the source info, but interpreting this blog, if MS is making a format, any schmoe with the time and tech savey should be able to bring support via drivers/plugins/patches to Win 7 or WinXP. I'm geeked: I'm a Mac guy, but a rising tide lifts all ships. Apples had quiet native support in core products for Collada (Preview.app, Finder/QuickView, and iBooks), but it feels like they want something more robust: Motion would ROCK with 3D model support, but there are so many competing standards (especially proprietary ones).

Thanks for sharing!

Comment by andybox | 2021-07-25

Microsoft has demonstrated complete ineptitude in anything it's tried to branch out in.

Windows 8 is a DISASTER,.

So, your enthusiasm for MSFT is severely misplaced IMO and I think you should be focusing on mainstream CAD and 3D modeling formats if STL doesn't trip your trigger or has limitations.

If there's any merit to 3MF, these tools will support it as an output format, or someone will write an open source translator for 3MF from a NEUTRAL mainstream CAD/Modeling format like IGS or STEP..

Putting all bets on 3D printing format into a proprietary OS is asinine. Even more asinine is forcing the user community into Win8. Use STEP or IGS if STL has shortcomings.

Just say "no" to Microsoft's attempts to sell OS-creepage into the application space in order to create a monopoly in it (and revenues they are desperate for).

Output formats belong in applications, not in OS device drivers as you do NEED for USB or WiFi.