Microsoft 3d printer software


Windows 3D Printing SDK and app downloads

Windows 3D Printing SDK and app downloads

3D Printing SDK and app downloads

Download the Windows 3D Printing SDK and start developing for 3D printers and apps. Or get the 3D apps and start scanning and building 3D objects.

SDK download

Windows 3D Printing SDK

Get started with the 3D Printing SDK, which includes:

  • The 3D Manufacturing File format (3MF) specification and sample 3MF files.
  • Full source code that shows 3D printing from the Microsoft Store and a desktop application.
  • Sample 3D printer drivers.

Get the 3D Printing SDK

App downloads

3D Scan app

Get the 3D Scan app and start capturing the world around you using the Kinect for Xbox One sensor and your PC.

Download 3D Scan

3D Builder app

3D Builder is installed by default on computers running Windows 10. For Windows 8.1 you can download the app.

Download 3D Builder

Developer docs

Driver development for 3D printers

Learn about developing 3D printer drivers for Windows 10.

Learn More

3D print from your app

Learn how to add 3D printing functionality to your Windows app, and learn how to launch the 3D print dialog.

Learn More

Generate a 3MF package

Learn about the structure of the 3D Manufacturing Format (3MF) file type and how it can be created and manipulated with the Windows.Graphics. Printing3D API.

Learn More

API for 3D printing

Learn more about the APIs that you can use when working with 3D printers.

Learn More

3D samples

UWP 3D print sample

Learn several tasks associated with 3D printing and with editing the 3MF file type, such as how to create a 3MF printing package, how to repair a model, and how to launch a 3D print dialog or open a file in the 3D Builder app.

Learn More

UWP 3D Printing From Unity sample

See how you can load a Unity 3D asset into the Windows 10 3D print dialog, and then repair the model, make simple modifications, and send it to a local 3D printer or an online 3D print service.

Learn More

3D printers for Windows 10

3D printing partners

We've provided a list of partners for the first wave of 3D printer apps and devices.

Together, we can make end-to-end 3D manufacturing accessible to anyone using Windows 10.

da Vinci Super


Features

 

Build volume: 11.8 x 11.8 x 11.8 inches

 

Materials: ABS, PLA, TPE, Tough PLA, PETG, open-filament

Resolution: 20 microns/layer

Heated bed: Yes

Multi-extrusion: No

Auto-calibration: Yes

LEARN MORE

da Vinci miniMaker


Features

 

Build volume: 5.9 x 5.9 x 5.9 inches

Materials: PLA

Resolution: 100 microns/layer

Heated bed: No

Multi-extrusion: No

Auto-calibration: Yes

LEARN MORE

da Vinci mini w


Features

 

Build volume: 5. 9 x 5.9 x 5.9 inches

Materials: PLA

Resolution: 100 microns/layer

Heated bed: No

Multi-extrusion: No

Auto-calibration: Yes

LEARN MORE

da Vinci 1.0 Pro 3-in-1


Features

 

Build volume: 7.8 x 7.8 x 7.8 inches

Materials: PLA and ABS

Resolution: 100 microns/layer

Heated bed: Yes

Multi-extrusion: No

Auto-calibration: No

LEARN MORE

da Vinci 1.0 Pro


Features

 

Build volume: 7.8 x 7.8 x 7.8 inches

Materials: PLA and ABS

Resolution: 100 microns/layer

Heated bed: Yes

Multi-extrusion: No

Auto-calibration: No

LEARN MORE

da Vinci Jr.

1.0 Pro

Features

 

Build volume: 5.9 x 5.9 x 5.9 inches

Materials: PLA

Resolution: 100 microns/layer

Heated bed: No

Multi-extrusion: No

Auto-calibration: Yes

LEARN MORE

da Vinci Jr. 1.0 3-in-1


Features

 

Build volume: 5.9 x 5.9 x 5.9 inches

Materials: PLA

Resolution: 100 microns/layer

Heated bed: No

Multi-extrusion: No

Auto-calibration: Yes

LEARN MORE

da Vinci Jr. 1.0 w


Features

 

Build volume: 5.9 x 5.9 x 5.9 inches

Materials: PLA

Resolution: 100 microns/layer

Heated bed: No

Multi-extrusion: No

Auto-calibration: Yes

LEARN MORE

da Vinci Jr.

1.0

Features

 

Build volume: 5.9 x 5.9 x 5.9 inches

Materials: PLA

Resolution: 100 microns/layer

Heated bed: No

Multi-extrusion: No

Auto-calibration: Yes

LEARN MORE

da Vinci 1.1 Plus


Features

 

Build volume: 7.8 x 7.8 x 7.8 inches

Materials: PLA and ABS

Resolution: 100 microns/layer

Heated bed: Yes

Multi-extrusion: No

Auto-calibration: No

LEARN MORE

da Vinci 1.0 AiO


Features

 

Build volume: 7.8 x 7.8 x 7.8 inches

Materials: PLA and ABS

Resolution: 100 microns/layer

Heated bed: Yes

Multi-extrusion: No

Auto-calibration: No

LEARN MORE

da Vinci 2.

0 Duo

Features

 

Build volume: 5.9 x 7.8 x 7.8 inches

Materials: PLA and ABS

Resolution: 100 microns/layer

Heated bed: Yes

Multi-extrusion: Yes

Auto-calibration: No

LEARN MORE

da Vinci 1.0


Features

 

Build volume: 7.8 x 7.8 x 7.8 inches

Materials: PLA and ABS

Resolution: 100 microns/layer

Heated bed: Yes

Multi-extrusion: No

Auto-calibration: No

LEARN MORE

Monoprice Select Mini

Features

 

Build volume: 4.7 x 4.7 x 4.7 inches

Materials: ABS, PLA

Resolution: 87 microns/layer

Heated bed: Yes

Multi-extrusion: No

Auto-calibration: No

LEARN MORE

Simple


Features

 

Build volume: 6 x 6 x 6 inches

Materials: PLA

Resolution: 100 microns/layer

Heated bed: Optional

Multi-extrusion: No

Auto-calibration: No

LEARN MORE

Play


Features

 

Build volume: 4 x 4 x 5 inches

Materials: PLA

Resolution: 50 microns/layer

Heated bed: No

Multi-extrusion: No

Auto-calibration: No

LEARN MORE

Plus


Features

 

Build volume: 10 x 10 x 10 inches

Materials: PLA

Resolution: 50 microns/layer

Heated bed: Yes

Multi-extrusion: Optional

Auto-calibration: Yes

LEARN MORE

Cube 3

Features

 

Build volume: 6 x 6 x 6 inches

Materials: PLA and ABS

Resolution: 70 microns/layer

Heated bed: No

Multi-extrusion: Yes

Auto-calibration: Yes

LEARN MORE

3d Idea Builder

Features

 

Build volume: 9 x 5. 9 x 5.5 inches

Materials: PLA

Resolution: 100 microns/layer

Heated bed: No

Multi-extrusion: No

Auto-calibration: No

LEARN MORE

i3 Mk2

Features

 

Build volume: 9.84 x 8.3 x 8 inches

Materials: PLA and ABS

Resolution: 50 microns/layer

Heated bed: Yes

Multi-extrusion: No

Auto-calibration: Yes

LEARN MORE

Getting Started Guide - Microsoft Standard 3D Printer Driver - Windows drivers

  • Article
  • Reading takes 6 minutes

The Microsoft Standard 3D printer driver makes it easy for developers to make a printer compatible with Windows 10. Any printer that uses Microsoft OS handles can be recognized as a compatible 3D printer. With a specific example, this article shows you how to create firmware that allows Windows 10 to recognize a device as a 3D printer and report its printing capabilities.

Introduction

The Microsoft Standard Driver eliminates the hassle of writing your own driver for Independent Hardware Vendors (IHVs) who want their 3D printers to be compatible with Windows 10. Versions of Windows that are aware of Microsoft OS handles use control queries to obtain information and its use to install and configure the device without the need for user interaction.

The general process for getting a 3D printer that works with Windows 10 includes the following steps:

  1. Compatible ID . The Independent Hardware Vendor (IHV) must include a 3D print-compatible ID in the printer's firmware. This allows the device to be recognized as a 3D printer.

  2. Standard driver . After the device is connected, the Windows Update client component will download the default 3D printer driver and detect the current device as a 3D printer using the default configuration.

  3. Extended property descriptor . Several basic configurations for 3D printers are available as part of the standard driver. Therefore, the developer can choose a basic configuration that matches the 3D printer. At the top of the base configuration selection, a developer can override some properties to better suit their 3D printer and include them in new firmware.

  4. Plug and Play . After the firmware is burned into the 3D printer's flash memory, each time the user plugs it into a Windows 10 computer, the standard driver will be automatically downloaded and will use the custom printing options selected by the developer.

In the following sections, we'll walk through each of these steps using a specific example.

See Microsoft OS descriptors for more information.

Compatible ID

You must use the correct compatible ID to specify the Windows operating system that the 3D printer is currently using. A list of compatible Microsoft identifiers is available in the Microsoft OS Descriptors.

The compatible ID of the 3D printer is shown in the following table:

The compatible ID is Identifier compatible with nested Description
"3DPRINT" (0x33 0x44 0x50 0x52 0x49 0x4E 0x54 0x00) Varies Printer G-code MS3DPRINT

In the header file included in the firmware of the 3D printer, the IHV must specify a compatible identifier as shown below:

 #define MS3DPRINT_CONFIG_SIZE 232 #define MS3DPRINT_OSP_SIZE (4+4+2+0x20+4+MS3DPRINT_CONFIG_SIZE) #define MS3DPRINT_XPROP_SIZE (4+2+2+2+MS3DPRINT_OSP_SIZE) #define SIZE_TO_DW(__size) \ ((uint32_t)__size) & 0xFF, \ (((uint32_t)__size)>>8) & 0xFF, \ (((uint32_t)__size)>>16) & 0xFF, \ (((uint32_t)__size)>>24) & 0xFF // CompatibleID and SubCompatibleID static const uint8_t PROGMEM ms3dprint_descriptor[40] = { 0x28, 0x00, 0x00, 0x00, // dwLength 0x00, 0x01, //bcdVersion 0x04, 0x00, // wIndex 0x01, // bCount 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // RESERVED 0x00, // bFirstInterfaceNumber 0x01, // RESERVED '3', 'D', 'P', 'R', 'I', 'N', 'T', 0x00, // compatibleID("3DPRINT") // subCompatibleID 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* */ , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // RESERVED }; 

This line in the code above is the compatible ID of the 3D printer:

'3', 'D', 'P', 'R', 'I', 'N', 'T', 0x00, // compatibleID ("3DPRINT")

With this particular configuration, the IHV can compile the firmware and flash the device. Then, when the device is connected, the 3D Print Standard Driver will be automatically downloaded from the Windows Update client component.

At this point, the printer is using the default driver configuration, the settings used by the default configuration are available in the %SYSTEMROOT%\System32\MS3DPrint folder in the StandardGCode.xml file. In addition, the developer can use a different base configuration, the list of base configurations is available in the same %SYSTEMROOT%\System32\MS3DPrint folder. This list is regularly updated with new configurations as new 3D printers hit the market.

Extended Properties OS Component Descriptor

As noted in the previous section, IHVs have access to several basic configurations. This minimizes the amount of information that must be stored in the printer's flash memory. Developers can check the available base configurations and choose the one closest to their printers. In this example, we will select the base SD card configuration and override some properties with the following options:0015

Options Meaning
Job3DOutputAreaWidth 250,000
Job3DOutputAreaDepth 260000
Job3DOutputAreaHeight 270000
Filament diameter 2850

For more information about these settings, see MS3DPrint Standard G-Code Driver. docx in the 3D Printing SDK (MSI) documentation.

To specify the base configuration to use and which settings to override, the developer must specify it using the extended properties OS component descriptor, as follows:

 // Modifiers to the base configuration static const uint8_t PROGMEM ms3dprint_properties_descriptor[] = { SIZE_TO_DW(MS3DPRINT_XPROP_SIZE), // dwLength 0x00, 0x01, //bcdVersion 0x05, 0x00, // wIndex 0x01, 0x00, // wCount SIZE_TO_DW(MS3DPRINT_OSP_SIZE), // dwSize 0x07, 0x00, 0x00, 0x00, // dwPropertyDataType (1=REG_SZ, 4=REG_DWORD, 7=REG_MULTI_SZ) 0x20, 0x00, // wPropertyNameLength 'M', 0x0, 'S', 0x0, '3', 0x0, 'D', 0x0, // bPropertyName 'P', 0x0, 'r', 0x0, 'i', 0x0, 'n', 0x0, 't', 0x0, 'C', 0x0, 'o', 0x0, 'n', 0x0, 'f', 0x0, 'i', 0x0, 'g', 0x0, 0x0, 0x0, SIZE_TO_DW(MS3DPRINT_CONFIG_SIZE), // dwPropertyDataLength // data 0x42, 0x00, 0x61, 0x00, 0x73, 0x00, 0x65, 0x00, 0x3D, 0x00, 0x53, 0x00, 0x44, 0x00, 0x00, 0x00, /* Base=SD */ 0x4A, 0x00, 0x6F, 0x00, 0x62, 0x00, 0x33, 0x00, 0x44, 0x00, 0x4F, 0x00, 0x75, 0x00, 0x74, 0x00, /* Job3DOut */ 0x70 0x00 0x75 0x00 0x74 0x00 0x41 0x00 0x72 0x00 0x65 0x00 0x61 0x00 0x57 0x00 /* putAreaW */ 0x690x00 0x64 0x00 0x74 0x00 0x68 0x00 0x3D 0x00 0x32 0x00 0x35 0x00 0x30 0x00 /* idth=250 */ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x6F, 0x00, 0x62, 0x00, 0x33, 0x00, /* 000 Job3 */ 0x44, 0x00, 0x4F, 0x00, 0x75, 0x00, 0x74, 0x00, 0x70, 0x00, 0x75, 0x00, 0x74, 0x00, 0x41, 0x00, /* DOutputA */ 0x72, 0x00, 0x65, 0x00, 0x61, 0x00, 0x44, 0x00, 0x65, 0x00, 0x70, 0x00, 0x74, 0x00, 0x68, 0x00, /* reaDepth */ 0x3D, 0x00, 0x32, 0x00, 0x36, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, /* =260000 */ 0x4A, 0x00, 0x6F, 0x00, 0x62, 0x00, 0x33, 0x00, 0x44, 0x00, 0x4F, 0x00, 0x75, 0x00, 0x74, 0x00, /* Job3DOut */ 0x70 0x00 0x75 0x00 0x74 0x00 0x41 0x00 0x72 0x00 0x65 0x00 0x61 0x00 0x48 0x00 /* putAreaH */ 0x65, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x3D, 0x00, 0x32, 0x00, 0x37, 0x00, /* eight=27 */ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, /* 0000 fil */ 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x64, 0x00, 0x69, 0x00, 0x61, 0x00, /* amentdia */ 0x6D, 0x00, 0x65, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x3D, 0x00, 0x32, 0x00, 0x38, 0x00, /* meter=28 */ 0x35, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00 /* 50 */ }; 

Information about OS extended property descriptors is found in file OS_Desc_Ext_Prop. doc . See the Microsoft OS descriptors for more information.

Verify Printing Capabilities

After the device burns the firmware in flash memory, the device will be automatically detected by Windows 10 and print capabilities will be stored in the registry.

It is very important that the IHV changes the VID/PID of the device to its own. You should never use the vendor ID (VID) or product ID (PID) of another existing device, as the operating system will not be able to correctly detect the device because the VID and PID take precedence over OS descriptors.

If the device is properly installed, the device should be listed under in the Devices and Printers section.

In Device Manager , you can check the corresponding device ID and compatible ID.

USB driver properties can be obtained by visiting the registry at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB .

3D print driver properties can be obtained by visiting the registry in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers .

Additional resources

Additional information, see the following documents and resources:

Three -dimensional printing in Windows

SDK package for three -dimensional printing (download MSI)

Descriptions Microsoft

Specification of USB 2.0

also also Contact the Microsoft 3D Printing team at [email protected].

Windows 10 IoT Core Network 3D Printer - Windows IoT

Twitter LinkedIn Facebook E-mail address

  • Article
  • Reading takes 2 minutes

Turn a Windows 10 IoT Core device into a print server and connect a 3D printer to it. You will be able to access the printer wirelessly from other devices.

1. Install Windows 10 IoT Core on device


Before you get started, you'll need:

  • A board with the latest Windows 10 IoT Core Insider Preview installed. Follow the getting started guide to get the IoT dashboard app and install Windows 10 IoT Core.

  • 3D printer compatible with our network 3D printer application:

    • Lulzbot Taz 6
    • Makergear M2
    • Printrbot Play, Plus and Simple
    • Prusa i3 Mk2
    • Ultimaker Original and Original+
    • Ultimaker 2 and 2+
    • Ultimaker 2 Extended and Extended+
    • CraftBot 2
    • CraftBot Plus
    • LulzBot Mini
    • Velleman K8200

2. Connecting the 3D printer to the device


  • Connect the 3D printer to the Windows 10 IoT Core card using a USB cable.

  • Open the IoT Dashboard app and verify that the device appears in tab "My devices ".

3. Deploying the network 3D printer application


  • On the IoT dashboard, click the section "Try some examples".

  • Select an example network 3D printer application.

  • Select your 3D printer model and click the "Deploy and Run " button to deploy the application to the IoT Core device.

    Image of LulzBot TAZ 6 by Aleph Objects, Inc. licensed under CC BY-SA 4.0.

    If you want to install a custom printer, select the Custom option from the list of printers. Custom 3D printers must have an XML configuration file called the PrintDeviceCapabilities.xml file in order to properly connect and print to the 3D printer. An example of the PrintDeviceCapabilities.xml file can be found in the Sample 9 Configuration XML0015

    The minimum change that needs to be made to the XML file is to update the following sections with the correct values ​​specific to a compatible printer.

These values ​​indicate the dimensions of the 3d printer for cutting when processing a 3D model

 200000 200000 

The value in the psk3dx:baudrate XML tag controls the specific baud rate used when interacting with the 3D printer from the raspberry pi3. Set the appropriate baud speed depend on the 3d printer.

 \115200 

Other values ​​in xml PrintDeviceCapabilities are used to notify the slicer in the 3d print driver to fine-tune to work with a particular compatible printer. Learn more about all of these values ​​here.

4. Adding a 3D Printer