Printing3DModel Printing3DModel Printing3DModel Printing3DModel Class

Definition

Represents the 3D model in a 3D Manufacturing Format (3MF) package.

public : sealed class Printing3DModel : IPrinting3DModel, IPrinting3DModel2public sealed class Printing3DModel : IPrinting3DModel, IPrinting3DModel2Public NotInheritable Class Printing3DModel Implements IPrinting3DModel, IPrinting3DModel2// You can use this class in JavaScript.
Attributes
Windows 10 requirements
Device family
Windows Desktop Extension SDK (introduced v10.0.10240.0)
API contract
Windows.Graphics.Printing3D.Printing3DContract (introduced v1)

Remarks

The Printing3DModel class corresponds to the <model> element in the 3D Manufacturing Format (3MF) specification. For more info, see the 3MF Specification.

Constructors

Printing3DModel() Printing3DModel() Printing3DModel() Printing3DModel()

Creates an instance of the Printing3DModel class.

public : Printing3DModel()public Printing3DModel()Public Sub New()// You can use this method in JavaScript.

Properties

Build Build Build Build

Gets or sets the root 3D Manufacturing Format (3MF) component. It represents the build plate on a 3D printer and defines what will be printed.

public : Printing3DComponent Build { get; set; }public Printing3DComponent Build { get; set; }Public ReadWrite Property Build As Printing3DComponent// You can use this property in JavaScript.

Components Components Components Components

Gets all 3D Manufacturing Format (3MF) components used in the 3D model.

public : IVector<Printing3DComponent> Components { get; }public IList<Printing3DComponent> Components { get; }Public ReadOnly Property Components As IList<Printing3DComponent>// You can use this property in JavaScript.
Value
IVector<Printing3DComponent> IList<Printing3DComponent> IList<Printing3DComponent> IList<Printing3DComponent>

All 3MF components used in the 3D model, of type Printing3DComponent.

Material Material Material Material

Gets or sets the root material container for the 3D model.

public : Printing3DMaterial Material { get; set; }public Printing3DMaterial Material { get; set; }Public ReadWrite Property Material As Printing3DMaterial// You can use this property in JavaScript.
Value
Printing3DMaterial Printing3DMaterial Printing3DMaterial Printing3DMaterial

The root material container for the 3D model.

Meshes Meshes Meshes Meshes

Gets all meshes used in the 3D model.

public : IVector<Printing3DMesh> Meshes { get; }public IList<Printing3DMesh> Meshes { get; }Public ReadOnly Property Meshes As IList<Printing3DMesh>// You can use this property in JavaScript.
Value
IVector<Printing3DMesh> IList<Printing3DMesh> IList<Printing3DMesh> IList<Printing3DMesh>

All meshes used in the 3D model, of type Printing3DMesh.

Metadata Metadata Metadata Metadata

Gets the metadata for the 3D Manufacturing Format (3MF) package.

public : IMap<string, string> Metadata { get; }public IDictionary<string, string> Metadata { get; }Public ReadOnly Property Metadata As IDictionary<string, string>// You can use this property in JavaScript.
Value
IMap<PlatForm::String, PlatForm::String> IDictionary<string, string> IDictionary<string, string> IDictionary<string, string>

The metadata for the 3MF package.

RequiredExtensions RequiredExtensions RequiredExtensions RequiredExtensions

Gets a list of the extensions required by the 3D Manufacturing Format (3MF) package.

public : IVector<string> RequiredExtensions { get; }public IList<string> RequiredExtensions { get; }Public ReadOnly Property RequiredExtensions As IList<string>// You can use this property in JavaScript.
Value
IVector<PlatForm::String> IList<string> IList<string> IList<string>

The extensions required by the 3MF package.

Textures Textures Textures Textures

Gets all textures used in the 3D model.

public : IVector<Printing3DModelTexture> Textures { get; }public IList<Printing3DModelTexture> Textures { get; }Public ReadOnly Property Textures As IList<Printing3DModelTexture>// You can use this property in JavaScript.
Value
IVector<Printing3DModelTexture> IList<Printing3DModelTexture> IList<Printing3DModelTexture> IList<Printing3DModelTexture>

All textures used in the 3D model, of type Printing3DModelTexture.

Unit Unit Unit Unit

Gets or sets the units of measure used in the 3D model.

public : Printing3DModelUnit Unit { get; set; }public Printing3DModelUnit Unit { get; set; }Public ReadWrite Property Unit As Printing3DModelUnit// You can use this property in JavaScript.
Value
Printing3DModelUnit Printing3DModelUnit Printing3DModelUnit Printing3DModelUnit

The units of measure used in the 3D model.

Version Version Version Version

Gets or sets the version of the 3D Manufacturing Format (3MF) package.

public : PlatForm::String Version { get; set; }public string Version { get; set; }Public ReadWrite Property Version As string// You can use this property in JavaScript.
Value
PlatForm::String string string string

The version of the 3MF package.

Methods

Clone() Clone() Clone() Clone()

Gets a copy of the current 3D model.

public : Printing3DModel Clone()public Printing3DModel Clone()Public Function Clone() As Printing3DModel// You can use this method in JavaScript.
Returns

RepairAsync() RepairAsync() RepairAsync() RepairAsync()

Executes the 3D model repair algorithm on the model.

public : IAsyncAction RepairAsync()public IAsyncAction RepairAsync()Public Function RepairAsync() As IAsyncAction// You can use this method in JavaScript.
Returns

Remarks

To learn more about the 3D model repair algorithm and test it out quickly, go to the 3D Model Repair service.

See Also

RepairWithProgressAsync() RepairWithProgressAsync() RepairWithProgressAsync() RepairWithProgressAsync()

Executes the 3D model repair algorithm, with the ability to report the progress of the operation.

public : IAsyncOperationWithProgress<PlatForm::Boolean, double> RepairWithProgressAsync()public IAsyncOperationWithProgress<bool, double> RepairWithProgressAsync()Public Function RepairWithProgressAsync() As IAsyncOperationWithProgress( Of bool, double )// You can use this method in JavaScript.
Returns

A Boolean value indicating whether the asynchronous operation succeeded, and a Double value reporting the progress as a decimal number between zero and one.

Additional features and requirements
Device family
Windows 10 Anniversary Edition (introduced v10.0.14393.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Graphics.Printing3D.Printing3DContract (introduced v3)

Remarks

To learn more about the 3D model repair algorithm and test it out quickly, go to the 3D Model Repair service.

See Also

TryPartialRepairAsync() TryPartialRepairAsync() TryPartialRepairAsync() TryPartialRepairAsync()

Executes the 3D model repair algorithm until complete or an exception is thrown.

public : IAsyncOperation<PlatForm::Boolean> TryPartialRepairAsync()public IAsyncOperation<bool> TryPartialRepairAsync()Public Function TryPartialRepairAsync() As IAsyncOperation( Of bool )// You can use this method in JavaScript.
Returns

true if the asynchronous operation succeeded; otherwise, false.

Additional features and requirements
Device family
Windows 10 Anniversary Edition (introduced v10.0.14393.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Graphics.Printing3D.Printing3DContract (introduced v3)

Remarks

To learn more about the 3D model repair algorithm and test it out quickly, go to the 3D Model Repair service.

See Also

TryPartialRepairAsync(TimeSpan) TryPartialRepairAsync(TimeSpan) TryPartialRepairAsync(TimeSpan) TryPartialRepairAsync(TimeSpan)

Begins the 3D model repair algorithm, but exits if the time limit is reached.

public : IAsyncOperation<PlatForm::Boolean> TryPartialRepairAsync(TimeSpan maxWaitTime)public IAsyncOperation<bool> TryPartialRepairAsync(TimeSpan maxWaitTime)Public Function TryPartialRepairAsync(maxWaitTime As TimeSpan) As IAsyncOperation( Of bool )// You can use this method in JavaScript.
Parameters
maxWaitTime
TimeSpan TimeSpan TimeSpan TimeSpan

Defines the amount of time (in seconds) that the algorithm can run for. A value of 0 will cause the algorithm to run until another end condition is met.

Returns

true if the asynchronous operation succeeded; otherwise, false.

Additional features and requirements
Device family
Windows 10 Anniversary Edition (introduced v10.0.14393.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Graphics.Printing3D.Printing3DContract (introduced v3)

Remarks

To learn more about the 3D model repair algorithm and test it out quickly, go to the 3D Model Repair service.

See Also

TryReduceFacesAsync() TryReduceFacesAsync() TryReduceFacesAsync() TryReduceFacesAsync()

Runs an algorithm that reduces the number of triangle faces in all of the meshes within the Printing3DModel by merging nearby vertices. Stops when the total number of triangles is reduced by half.

public : IAsyncOperationWithProgress<PlatForm::Boolean, double> TryReduceFacesAsync()public IAsyncOperationWithProgress<bool, double> TryReduceFacesAsync()Public Function TryReduceFacesAsync() As IAsyncOperationWithProgress( Of bool, double )// You can use this method in JavaScript.
Returns

A Boolean value indicating whether the asynchronous operation succeeded, and a Double value reporting the progress as a decimal number between zero and one.

Additional features and requirements
Device family
Windows 10 Anniversary Edition (introduced v10.0.14393.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Graphics.Printing3D.Printing3DContract (introduced v3)
See Also

TryReduceFacesAsync(Printing3DFaceReductionOptions) TryReduceFacesAsync(Printing3DFaceReductionOptions) TryReduceFacesAsync(Printing3DFaceReductionOptions) TryReduceFacesAsync(Printing3DFaceReductionOptions)

Runs an algorithm that reduces the number of triangle faces in all of the meshes within the Printing3DModel by merging nearby vertices. Stops according to the specified options.

public : IAsyncOperationWithProgress<PlatForm::Boolean, double> TryReduceFacesAsync(Printing3DFaceReductionOptions printing3DFaceReductionOptions)public IAsyncOperationWithProgress<bool, double> TryReduceFacesAsync(Printing3DFaceReductionOptions printing3DFaceReductionOptions)Public Function TryReduceFacesAsync(printing3DFaceReductionOptions As Printing3DFaceReductionOptions) As IAsyncOperationWithProgress( Of bool, double )// You can use this method in JavaScript.
Parameters
printing3DFaceReductionOptions
Printing3DFaceReductionOptions Printing3DFaceReductionOptions Printing3DFaceReductionOptions Printing3DFaceReductionOptions

Defines the conditions which will trigger the end of the operation.

Returns

A Boolean value indicating whether the asynchronous operation succeeded, and a Double value reporting the progress as a decimal number between zero and one.

Additional features and requirements
Device family
Windows 10 Anniversary Edition (introduced v10.0.14393.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Graphics.Printing3D.Printing3DContract (introduced v3)
See Also

TryReduceFacesAsync(Printing3DFaceReductionOptions, TimeSpan) TryReduceFacesAsync(Printing3DFaceReductionOptions, TimeSpan) TryReduceFacesAsync(Printing3DFaceReductionOptions, TimeSpan) TryReduceFacesAsync(Printing3DFaceReductionOptions, TimeSpan)

Runs an algorithm that reduces the number of triangle faces in all of the meshes within the Printing3DModel by merging nearby vertices. Stops according to the specified options or when the maxWait time is reached.

public : IAsyncOperationWithProgress<PlatForm::Boolean, double> TryReduceFacesAsync(Printing3DFaceReductionOptions printing3DFaceReductionOptions, TimeSpan maxWait)public IAsyncOperationWithProgress<bool, double> TryReduceFacesAsync(Printing3DFaceReductionOptions printing3DFaceReductionOptions, TimeSpan maxWait)Public Function TryReduceFacesAsync(printing3DFaceReductionOptions As Printing3DFaceReductionOptions, maxWait As TimeSpan) As IAsyncOperationWithProgress( Of bool, double )// You can use this method in JavaScript.
Parameters
printing3DFaceReductionOptions
Printing3DFaceReductionOptions Printing3DFaceReductionOptions Printing3DFaceReductionOptions Printing3DFaceReductionOptions

Defines the conditions which will trigger the end of the operation.

maxWait
TimeSpan TimeSpan TimeSpan TimeSpan

Defines the amount of time (in seconds) that the algorithm can run for. A value of 0 will cause the algorithm to run until another end condition is met.

Returns

A Boolean value indicating whether the asynchronous operation succeeded, and a Double value reporting the progress as a decimal number between zero and one.

Additional features and requirements
Device family
Windows 10 Anniversary Edition (introduced v10.0.14393.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Graphics.Printing3D.Printing3DContract (introduced v3)
See Also