
New Dimension For Windows: Microsoft Puts 3D Printing Support Directly Into OS - simba-hiiipower
http://www.geekwire.com/2013/dimension-windows-microsoft-adds-3d-printing-support/
======
tmuir
In PC based CNC systems, there is almost always dedicated hardware separate
from the PC that is feeding the motor drivers, because Windows and Linux are
not true real time operating systems. A cnc system must have a timing
resolution much finer than is available in traditional general purpose
operating systems.

In general terms, a cnc system must convert high level instructions, like
G-code, in to voltage pulses that are fed to either stepper or servo motors.

Some of these calculations are performed on the PC, others are performed on
the dedicated hardware. Do steps 1, 2, and 3, send step 3's result over usb to
the controller, then perform steps 4 through 10.

Not everyone agrees where to place that barrier.

In the case of GRBL, which is the firmware that runs most of these hobbyist
level 3D printers, the entire process happens on an 8 bit microcontroller,
from G-code to steps.

Other cnc systems perform almost all of the calculations on the PC, and sends
a representation of the timing information to the controller.

Still other systems decode the G-code into vectors and other intermediate
representations, and let the controller do most of the heavy lifting.

Some systems transmit their data over USB, a standard ill equipped for
industrial environments or cable lengths more than about 10ft. Others use
ethernet. I'm sure there are others that use RS-485, or even proprietary
protocols.

Is Microsoft accounting for any of these variations, or are they going to
standardize everyone to whats popular today, which is usb and 8 bit
microcontrollers that can't even create 50,000 steps per second?

~~~
jacquesm
It's easy to do realtime control on a linux box, simply run your program as
root and disable interrupts. Every time you're 'safe' (stopped, or very low
speeds) you can safely enable/disable interrupts to make sure all your
hardware gets serviced and to poll for UI input. I've controlled a 3D
mill/plasma cutter like this at very high speeds.

~~~
tmuir
That's not going to sell a lot of units, though. Its hard enough to get a
machinist to set up a cnc system with a full gui. You want him to disable
interrupts on Linux? Just shoot me now.

~~~
jacquesm
No, you can use a GUI, you just need to do your polling when you know it is
'safe'.

~~~
tmuir
I honestly don't have any experience with linux cnc. A lot of what forms my
opinion is the controller's marketability. Many controllers do not ship with a
PC, which is a great selling point on one hand, but a limiting factor on the
other hand. If a controller came with, or just was itself, a dedicated host,
and is the only supported host, then linux is definitely a viable option that
doesn't create any barriers to entry. But if a company is simply building a
controller, and requiring the customer to provide a PC, I see it as a no
brainer business decision that the PC runs windows, and not linux.

------
angersock
Hm. I wonder if it exports G-code, or simply says "Hey, let's write some
proprietary drivers! It'll be fun!"

For once-- _for once_ \--we had a chance to break away from the lowest pit of
IT hell: printing.

We could have done something beautiful, we could've made the world a better
place--and yet, I fear that Microsoft is now just going to extend the failures
of 2D printing into the third dimension, quite literally piling on layers of
sadness.

~~~
gecko
I'm a Windows dev at build, but I know nothing about 3D printing. If you can
you give me an idea what G-code is, then I'll ask or look at the SDK.

~~~
adestefan
Think of G-code like PostScript. It's a description language that tells a
multi-axis machine how to move in 3D space.

~~~
seanmcdirmid
I was hoping for something a bit more vector based. G-code seems more like
Logo than PostScript.

------
JumpCrisscross
It is telling that I am more excited about Windows 8,1 than iOS 7.

~~~
cududa
I mean to me, all it indicates is Jobs and Hillel Cooperman were the only good
benevolent product and aesthetic guys in the OS space.

------
Glyptodon
This seems like it _could_ be bad news - they might be trying to make some
sort of proprietary 'postscript for 3-D' to lock down the whole industry.
Though I'm guessing my worry is probably unfounded.

~~~
drcoopster
PostScript is a well-defined, well-documented programming language.
Introducing a new layer for 3D printing would be very cool, but in the end,
G-code is the "native" language for most of the hobby (and maybe other) 3D
printers out there.

~~~
Jack000
I didn't see any reference to G-code in the article. I think the worry is that
they will introduce a closed, proprietary standard in an attempt to build
their platform.

I'm a bit conflicted. On the one hand, G-code is very compatible with the open
source ethos, but on the other it's a very old standard that was originally
intended for plotters. I'd love to see something better replace it that can
say, use bezier curves.

~~~
seanmcdirmid
This. G-code is more like Logo than PostScript. Something based on meshes and
computational-computed surfaces (e.g. bezier curves) would work better. In
fact, we could get most of the way there with OpenGL/DirectX at a low-level
(meshes to specify a few vertex positions, hull shaders to to extrapolate
additional vertices based on whatever algorithm you want).

~~~
seclorum
OpenSCAD: [http://openscad.org/](http://openscad.org/)

Its about as close to being a "3D Postscript" as you could find these days ..

------
brianbreslin
I think this is excellent news (I am biased, I am working on a 3d printing
startup). This will bring more awareness and accessibility to 3d printing to
the masses.

~~~
JakeSc
> I am working on a 3d printing startup

What sort of startup?

~~~
brianbreslin
p2p marketplace for 3d printing.
[http://makermarket.co](http://makermarket.co)

------
Mikeb85
In practice, how is this different than simply being able to install a
package? Furthermore, Ubuntu has 3d printing packages in the standard
repositories, are we to believe this gives MS any sort of practical advantage?

~~~
kryten
Well mainly because all the decent 3d modelling packages run on Windows?

(Solidworks basically)

------
lampe3
fedora 19: 100% 3D Printing Bring 3D printing tools to Fedora and allow users
of 3D printers, such as RepRap, to be fully satisfied with software in the
repositories, without having to download binary blobs or run Python code from
git.

~~~
jlarocco
All of the big CAD packages (Solidworks, CATIA, Solid Edge, Pro-Engineer,
Rhino, SpaceClaim, ...) are Windows only. Lately OSX has gotten some traction,
but it's still pretty marginal.

There are translators (e.g. SolidWorks -> STEP, SolidWorks -> STL) that run on
Linux, but the better ones, and the ones that support the proprietary formats
(SolidWorks, CATIA, etc.) all cost money and couldn't be included in a Linux
distro's software repository.

So even if Linux supported 3D printing out of the box, it wouldn't be as
useful as if Windows did, IMO.

------
samstave
With this support embedded into the OS, now the NSA can get a direct report
whenever you print a 3D gun part! Yay!

/I kid, they won't be real-time reports... Just batches.

