DG Kernel (ActiveX) Documentation


Skip Navigation Links.
Start page
Quick Start
Search Page
Installation
What is new
Upgrading Native Apps
Licensing
Collapse ModelsModels
Collapse DG Kernel ControlsDG Kernel Controls
Collapse API ReferenceAPI Reference
Interface List
Vector Space
Collapse General GeometryGeneral Geometry
Collapse ModelModel
Collapse ViewView
Collapse General ComputingGeneral Computing
Collapse Samples and TutorialsSamples and Tutorials
Collapse GraphicsGraphics
Collapse Math ObjectsMath Objects
Collapse DeprecatedDeprecated
Redistribution
Model Viewer
Open Source
Support
Skip Navigation Links Go to DGKC docs Search Documentation


ISTLDataContext Interface

SetBinary
SetSeparateObjects
SetCreaseAngle
SetBuildTree
SetAnalysisType

ISTLDataContext is the base interface for setting different options for import/export of STL files.  Reference to this interface is used in various Save/Load methods. The set of options accessed by this interface is kept by the model object normally for the lifetime of the application.

ISTLDataContext can be queried from IModel or IModelEx interfaces

ISTLDataContext is available only in componets of DG Kernel Enterprise product

See also Interface List


HRESULT SetBinary( VARIANT_BOOL binary )

Parameters

binary - [in] - If true the solid will be saved in binary STL format.

Returns

S_OK in case of success.
Remarks:

The property has effect only during saving STL files. If binary is true the file will be saved in binary STL format. The default for this property is true.


HRESULT SetSeparateObjects( VARIANT_BOOL separate )

Parameters

separate - [in] Separate solids during load/save STL file operation.  

Return Values

S_OK in case of success.
Remarks:

By default during the load of an STL file the component analyses the loaded mesh and separates linked meshes as different objects. Set this property to false to improve performance. 

This property should also be set to true when saving or loading is performed to/from an STL Data Directory. In this case each STL file will be stored or loaded into/from different object in the model.

This property is ignored when surface analysis is disabled with a call to SetAnalysisType((int)ESTLAnalysis.eStlAnalysSkip) or if analysis type was set to auto with SetAnalysisType((int)ESTLAnalysis.eStlAnalysAuto) and the model was very large.


HRESULT SetCreaseAngle( double degrees )

Parameters

degrees - [in] Crease angle in degrees. See remarks

Return Values

S_OK in case of success.
Remarks:

This property has any effect only during load of an STL file. Crease angle is used to determine how to handle normals during the load.  When two adjoined faces have angle more than the crease angle two separate normals will be created one for each face. In the latter case edge between the face will look sharp. Set this property to a higher value to make the surface appear smooth.  The default value is 0.0.


HRESULT SetBuildTree( VARIANT_BOOL build )

Parameters

build - [in] Indicates whether to build the STL directory tree or save all objects as a flat set of STL files Default: true

Return Values

S_OK in case of success.
 
Remarks:

If the method is called with build set to false, during the next relevant saving operation the STL directory will not be created. Instead all object will be saved in a single folder.  It also would mean that any next relevant loading operation will load only files from the requested folder, not from its subdirectories, and all the objects will be made top-level objects of the model and will not have any children.


HRESULT SetAnalysisType( int type )

Parameters

type - [in] Member of ESTLAnalysis enumeration. Determines whether the surface analysis will be performed during the import

Remarks:

The method is relevant to STL load only and does not affect saving to STL. The method determines whether the surface analysis will be performed during the import. It is provided to allow faster load of very large files. The analysis separates objects which are geometrically isolated in the surface if the separation was enabled with SetSeparateObjects and recalculates normals to the surface to make the surface smooth instead of the faceted appearance common for STL models. When type is eStlAnalysAuto (value 0, default) the analysis is performed depending on size of the STL file to reduce load time when the file is large or to improve quality of the surface. The other two options force to perform improvement of the surface: eStlAnalysPerform (value 1) or skipping the analysis: eStlAnalysSkip (value 2). When analysis is not performed separation of objects is not performed either irrespectively of values set with SetSeparateObjects