GeneralStructureMethodsEventMethodsActivateConfigurationViewActivateGraphicalCompareActivateInteractionActivateOnSaveConfigurationViewActivateNextConfigurationViewActivatePrevConfigurationViewActivateSavedSelectionsActivateSelectedCoordinateSystemAddEventListenerAlignCalloutsAlignViewAssignCalloutIdToBillOfMaterialRowClearBillOfMaterialCalloutIdClearBillOfMaterialCalloutIdsClearTextSearchClearValidationDataClearViewCloseCloseAllComputeComputeBrepCompareCreateCalloutGroupCreateConfigurationViewDeleteConfigurationViewDeleteConfigurationViewsDeleteNodeAttributesDeleteOffsetLinesDeleteSavedSelectionsDeleteVisibleCalloutsDisableAutoCalloutAlignmentEnableAutoCalloutAlignmentExecuteNeighbourhoodSearchExplodeByDistanceExplodeHierarchicallyExport2DExport3DExportConfigurationViewsExportMarkupsAsXMLExportSectionGeometryExportViewsOverviewAsPDFExportViewsAsPDFExportViewsAsPNGFitAllFitHeightFitWidthFocusGenerateBOMCalloutsGenerateBOMCalloutIdsGenerateAttributeGenerateCustomIdsGenerateFacesGenerateNormalsGenerateStatisticsGenerateWiresGetAnimationAxisGetAnimationSpeedGetBCFVisualizationInfoGetBillOfMaterialGetBillOfMaterialAttributeNamesGetBillOfMaterialNodePropertyNamesGetCalloutAnchor2DProjectionGetCalloutsGetCameraGetClashDetectionGetConfigurationViewInformationGetCurrentViewGetImageGetLastPickDurationInSecondsGetMaxTreeDepthGetModelRepositoryGetNodePropertiesGetNodeTransformMatrixGetPageCountGetPropertiesOfSelectedNodesGetSavedSelectionsGetSceneSettingsGetSceneStateGetSearchableNodeTypesGetSelectedBillOfMaterialRowsGetSelectedFacesColorGetSelectedNodesGetSettingsGetStructureMinimal StructureGetViewsOverviewAsPDFGetViewsAsPDFGetUndoStackGotoPageHideAllMarkupsHideAllPMIsHideVisibleCalloutsImportConfigurationViewsImportFileImportMarkupsImportVSXMLToNodeInvertVisibilityIsAutoCalloutAlignmentActiveLockCalloutsLogMessageMeasureSelectedWireLengthMeasureDistanceSolidsToSolidsMirrorSelectedNodesModifySelectionMoveConfigurationViewNewScene3DNextPageOpenFilePauseRenderingPreviousPageRemoveEmptyNodesRemoveEventListenerRemoveFacesRemoveNormalsRemoveWiresRenameSavedSelectionRenameBillOfMaterialRowCalloutIdReplaceNodeResetCoordinateSystemResetSceneLightResetNodesLuminanceResetWallthicknessVisualizationResetZoomResumeRenderingRotatePageSave2DAsPdfSaveAsSaveCurrentSelectionSearchNodesSearchNodesByStringSectionAlignAxisSectionCenterHandlesSelectAllGeometriesSelectBillOfMaterialRowsSelectClashIndexSelectSurfacesSelectVisibleCalloutsSetAnimationAxisSetAnimationSpeedSetBCFVisualizationInfoSetCalloutAlignmentSetCameraSetCurrentViewSetSceneLightSetSceneSettingsSetSelectedFacesSetSelectedFacesColorSetSelectedNodesSetSelectedNodesLuminanceSetSelectionModeSetSettingsSetModelRepositorySetNodePropertiesSetNodeTransformMatrixShowAllShowAllCalloutsStartPlayConfigurationViewsStopPlayConfigurationViewsUndoUnGhostAllUnlockCalloutsUpdateBillOfMaterialRowCalloutIdUpdateConfigurationViewUpdateSavedSelectionUpdateSceneValidateGeometryVirtualTreeViewCollapseAllVirtualTreeViewCollapseSelectedVirtualTreeViewExpandAllVirtualTreeViewExpandSelectedVirtualTreeViewExpandToSelectedLevelVirtualTreeViewSelectSameLevelNodesVirtualTreeViewScrollDownVirtualTreeViewScrollUpVirtualTreeViewSetSizeVirtualTreeViewToggleExpansionVirtualTreeViewToggleVisibilityZoomInZoomOutDeprecatedNew3DViewSetMouseButtonFunctionsSetRenderModeShowGridEventsActivateInteractionCalloutAutoAlignmentChangedCalloutListChangedCalloutSelectionChangedCalloutProjectionDeactivateInteractionImportFinishedNodeCreatedNodeDeletedPageChangedPresetChangedSavedSelectionsChangedSelectionChangedSelectionChangedCustomIdTransformChangedImportLogMessageWallthicknessValuesChangedChangelogVersion 2022.0.130Version 2021.1.621Version 2021.1.459Version 2021.1.446Version 2021.0.148Version 2020.2.173Version 2020.1.318Version 2020.1.212Version 2020.0.209Version 2019.0.510Version 2019.0.341Version 2019.0.314Version 2019.0.298Version 2019.0.268Version 2019.0.119Version 2018.0.225Version 1.17Version 1.16Version 1.15Version 1.14Version 1.13Version 1.12Version 1.11Version 1.0AppendixTypesAlignViewOptionARGBAttributeGenerationModeboolColorCustomIdGenerationModeComputationModeCoordinateDirectionDistanceSolidsComputationTypeExplosionTypeExportFormat3DExportFormat2Dfloatfloat3InteractionLogLevelMarkupAlignmentTransformMatrixMouseButtonMouseButtonFunctionNodeIdNodePropertiesNodeTypePlaneOptionPresetTypeRenderModeRGBSavedSelectionSearchSelectionModeSearchStringSectionGeometryTypeSelectionModeSelectionModifierSettingsXMLstringUINTVSXML
All methods, events or types marked as BETA are subject to change until their final release.
Every method execution consists of a "Call" and a "Response" as XML. All Available methods are listed under General.
Each "Call" is structured as in the following example.
xxxxxxxxxx
<Call Method="MethodName" CustomId="CustomId" Response="true/false">
<!-- Parameter are placed here -->
</Call>
The "Method" attribute contains the name of the method which should be executed.
The "Response" attribute is optional and specifies if a response should be generated. Valid values are"true" and "false". Default value is "true".
The "CustomId" attribute is optional. If present, the "Response" will also carry this "CustomId".
Each "Response" is structured as in the following example.
xxxxxxxxxx
<Response Method="MethodName" CustomId="CustomId" Error="ErrorCode">
<!-- Parameter are placed here -->
<!-- Warnings are placed here -->
</Response>
The "Method" attribute contains the name of the executed method.
The "Error" attribute indicates if the method execution was successful or if an error occurred.
The "CustomId" attribut is only present if the "Call" has a "CustomId".
xxxxxxxxxx
<Event Type="EventName">
<!-- Parameter are placed here -->
</Event>
The "Type" attribute contains the name of the executed event.
Activates the ConfigurationView at the specified position.
Call:
Parameter | Type | Description |
---|---|---|
Position | UINT | Position of the ConfigurationView |
Example:
xxxxxxxxxx
<Call Method="ActivateConfigurationView">
<Position>2</Position>
</Call>
Activates graphical compare.
The selection must contain 2 nodes or, if the selection is empty, the model must contain 2 root nodes.
Call:
Parameter | Type | Description |
---|---|---|
Activate | bool | If set to "true", graphical compare will be activated. |
Example:
xxxxxxxxxx
<Call Method="ActivateGraphicalCompare">
<Activate>true</Activate>
</Call>
Activates the specified interaction mode.
Parameter | Type | Description |
---|---|---|
Interaction | Interaction | Specifies the interaction which should be activated. |
Example:
xxxxxxxxxx
<Call Method="ActivateInteraction">
<Interaction>Measurement_PointCoordinate</Interaction>
</Call>
Activates the special "OnSave" configuration view that contains the scene state when it was last saved.
Example:
xxxxxxxxxx
<Call Method="ActivateOnSaveConfigurationView" />
Activates the next ConfigurationView. If the last ConfigurationView is active, nothing will happen.
Example:
xxxxxxxxxx
<Call Method="ActivateNextConfigurationView"></Call>
Activates the previous ConfigurationView. If the first ConfigurationView is active, nothing will happen.
Example:
xxxxxxxxxx
<Call Method="ActivatePrevConfigurationView"></Call>
Activates one or more saved selections.
Call:
Parameter | Type | Description |
---|---|---|
Index[multiple] | UINT | Indices of saved selections to select. |
Example:
xxxxxxxxxx
<Call Method="ActivateSavedSelections">
<Index>0</Index>
<Index>1</Index>
</Call>
Activates the selected "CoordinateSystem".
Example:
xxxxxxxxxx
<Call Method="ActivateSelectedCoordinateSystem"></Call>
Adds an event listener.
Parameter | Type | Description |
---|---|---|
Event[multiple] | Event | Specifies the event which should be added. |
Example:
xxxxxxxxxx
<Call Method="AddEventListener">
<Event>ActivateInteraction</Event>
<Event>DeactivateInteraction</Event>
</Call>
Aligns either all selected callouts or all available callouts, if no selection was made beforehand.
Example:
xxxxxxxxxx
<Call Method="AlignCallouts" />
Aligns the view.
Parameter | Type | Description |
---|---|---|
Aligment | AlignViewOption | View aligment |
Example:
xxxxxxxxxx
<Call Method="AlignView">
<Aligment>Top</Aligment>
</Call>
Assigns the given callout id to the row's nodes.
Call:
Example:
xxxxxxxxxx
<Call Method="AssignCalloutIdToBillOfMaterialRow">
<RowId>0</RowId>
<CalloutId>123</CalloutId>
</Call>
Clears the assigned callout of every node contained in the specified row.
Call:
Parameter | Type | Description |
---|---|---|
RowId | UINT | Row id |
Example:
xxxxxxxxxx
<Call Method="ClearBillOfMaterialCalloutId">
<RowId>0</RowId>
</Call>
Clears the assigned callout of every node contained in the bill of material.
Example:
xxxxxxxxxx
<Call Method="ClearBillOfMaterialCalloutIds" />
Clears/Resets text search and selected highlights of the current scene.
Example:
xxxxxxxxxx
<Call Method="ClearTextSearch" />
Clears the validation data
Example:
xxxxxxxxxx
<Call Method="ClearValidationData" />
Clears the view.
Example:
xxxxxxxxxx
<Call Method="ClearView"></Call>
Closes the active scene.
Example:
xxxxxxxxxx
<Call Method="Close"></Call>
Closes all open scenes.
Example:
xxxxxxxxxx
<Call Method="CloseAll"></Call>
Triggers a computation.
Call:
Remarks: If not stated otherwise under Special Responses, every call to Compute
returns a simple response without any parameters.
Parameter | Type | Description |
---|---|---|
Mode | ComputationMode | Computation mode |
Example:
xxxxxxxxxx
<Call Method="Compute">
<Mode>BillOfMaterial</Mode>
</Call>
Note: Some modes might return multiple error codes.
Those will appear as a list of <ErrorCode>
elements in the response body.
Additional Call Parameters:
SectionGeometry
Parameter | Type | Description |
---|---|---|
Type | SectionGeometryType | Geometry type to create |
Stepoptional | float | Enables creation of multiple geometries spaced by the given stepping value (in scene units)Step < 0 -> Creates section geometries above the cutting planeStep > 0 -> Creates section geometries underneath the cutting plan |
Special Responses:
Mode ProjectedArea
=>
xxxxxxxxxx
<Response Method="Compute" Error="ERR_SUCCESS">
<Mode>ProjectedArea</Mode>
<Area>123</Area>
</Response>
Mode Split
=>
xxxxxxxxxx
<Response Method="Compute" Error="ERR_SUCCESS">
<Mode>Split</Mode>
<SplitSessionId>0</SplitSessionId>
<SplitSessionName>Session0</SplitSessionName>
<SplitDirectionId>0</SplitDirectionId>
<SplitDirectionName>Direction0</SplitDirectionName>
<SplitGroupUpColor>#ffaaccbb</SplitGroupUpColor>
<SplitGroupUpNumPatches>5</SplitGroupUpNumPatches>
<SplitGroupDownColor>#ffaaccbb</SplitGroupDownColor>
<SplitGroupDownNumPatches>5</SplitGroupDownNumPatches>
<SplitGroupUnassignedColor>#ffaaccbb</SplitGroupUnassignedColor>
<SplitGroupUnassignedNumPatches>5</SplitGroupUnassignedNumPatches>
<SplitFullExplodeDistance>100.0</SplitFullExplodeDistance>
</Response>
Mode BillOfMaterial
=> see GetBillOfMaterial
Mode Inertia
=>
xxxxxxxxxx
<Response Method="Compute" Error="SUCCESS">
<Inertia>
<InertiaPrincipalMoments M1="..." M2="..." M3="..."/>
<InertiaMoments IoxG="..." IoyG="..." IozG="..."/>
<InertiaProducts IxyG="..." IxzG="..." IyzG="..."/>
</Inertia>
</Response>
Executes "BrepCompare". The selection must contain 2 nodes or, if the selection is empty, the model must contain 2 root nodes.
Example:
xxxxxxxxxx
<Call Method="ComputeBrepCompare"></Call>
Creates a new callout group from the current selection.
Response:
Parameter | Type | Description |
---|---|---|
NodeId | NodeId | Id of the created callout node if request was successful. |
Example:
x<Call Method="CreateCalloutGroup" />
<Response Method="CreateCalloutGroup" Error="SUCCESS">
<NodeId>123</NodeId>
</Response>
Creates a new ConfigurationView. The view is positioned at the end of the list of views.
Call:
Parameter | Type | Description |
---|---|---|
Name | string | Optional: Custom name. |
Example:
xxxxxxxxxx
<Call Method="CreateConfigurationView"></Call>
xxxxxxxxxx
<Call Method="CreateConfigurationView">
<Name>Foo</Name>
</Call>
Deletes the ConfigurationView at the specified position.
Parameter | Type | Description |
---|---|---|
Interaction | UINT | Position of the ConfigurationView. |
Example:
xxxxxxxxxx
<Call Method="DeleteConfigurationView">
<Position>0</Position>
</Call>
Deletes all configuration views.
Example:
xxxxxxxxxx
<Call Method="DeleteConfigurationViews">
</Call>
Deletes a list of node attributes.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] | NodeId | NodeIds to delete attributes from. If none are provided, the current selection will be used. |
Attribute[multiple] | String | Attributes to delete. |
Example:
xxxxxxxxxx
<Call Method="DeleteNodeAttributes">
<NodeId>1</NodeId>
<NodeId>2</NodeId>
<Attribute>Price</Attribute>
<Attribute>Quantity</Attribute>
</Call>
Deletes offset lines from nodes. Deletion happens either on a list of node ids, the current selection or all nodes, if none of the other options apply.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] | NodeId | NodeIds to delete offset lines from. If none are provided, the current selection will be used. |
Example:
xxxxxxxxxx
<!-- Deletes all offset lines in the current scene -->
<!-- Affects only the currently selected nodes if a selection was made prior to this call -->
<Call Method="DeleteOffsetLines" />
<!-- Deletes offset lines from nodes 123 and #MyCustomNode -->
<Call Method="DeleteOffsetLines">
<NodeId>123</NodeId>
<NodeId>#MyCustomNode</NodeId>
</Call>
Deletes one or many saved selections.
Call:
Parameter | Type | Description |
---|---|---|
Index [ multiple ] | UINT | Indices of the selections to delete |
Example:
xxxxxxxxxx
<Call Method="DeleteSavedSelection">
<Index>0</Index>
</Call>
Deletes all visible callouts.
Example:
xxxxxxxxxx
<Call Method="DeleteVisibleCallouts" />
Disables automatic callout alignment.
Example:
xxxxxxxxxx
<Call Method="DisableAutoCalloutAlignment" />
Enables automatic callout alignment.
Example:
xxxxxxxxxx
<Call Method="EnableAutoCalloutAlignment" />
If the "SelectionMode" is set to "Neighbourhood" (see also "SetSelectionMode"), this method will execute the search.
Parameter | Type | Description |
---|---|---|
Radius [optional] | float | Defines the radius of the sphere in which neighbours will be searched. If this value is not set, the radius will be set to the bounding box extents of the current selection. |
Example:
xxxxxxxxxx
<Call Method="ExecuteNeighbourhoodSearch">
<Radius>10.0f</Radius>
</Call>
Explodes the model.
Parameter | Type | Description |
---|---|---|
Position | UINT | Value between 0 and 100. |
ExplosionType | ExplosionType |
xxxxxxxxxx
<Call Method="ExplodeByDistance">
<Position>10</Position>
<ExplosionType>AxisAligned</ExplosionType>
</Call>
Explodes the model hierarchically.
Hint: You can get the maximum explode level for this operation by calling GetMaxTreeDepth
Call:
Parameter | Type | Description |
---|---|---|
Level | UINT | Explosion level |
Example:
xxxxxxxxxx
<Call Method="ExplodeHierarchically">
<Level>4</Level>
</Call>
Exports the scene to a 2D format. Remarks: Any already existing file will be overwritten!
Parameter | Type | Description |
---|---|---|
ExportFormat2D | ExportFormat2D | Format to which should be exported. |
FileName | FileName | Name of the new file (full path). |
Example:
xxxxxxxxxx
<Call Method="Export2D">
<ExportFormat2D>PNG</ExportFormat2D>
<FileName>C:\test.png</FileName>
</Call>
Exports the scene to a 3D format. Remarks: Any already existing on same location file will be overwritten!
Parameter | Type | Description |
---|---|---|
ExportFormat3D | ExportFormat3D | Format to which should be exported. |
FileName | FileName | Name of the new file (full path). |
Example:
xxxxxxxxxx
<Call Method="Export3D">
<ExportFormat3D>VSXML</ExportFormat3D>
<FileName>C:\test.3dvsxml</FileName>
</Call>
Exports all or a range of configuration views. To store it separated from the model file.
If the FileName
parameter is present, the serialized configuration views get written to the specified file.
Otherwise, the serialized configuration is returned in the call's response.
Parameter | Type | Description |
---|---|---|
FileName | string | Output file name (optional) |
Positions | Array of Position Elements | Array of positions elements to export (optional - otherwise exports all views) |
Examples:
xxxxxxxxxx
<!-- Exports all configuration views to the given file -->
<Call Method="ExportConfigurationViews">
<FileName>C:\views\exported.xml</FileName>
</Call>
xxxxxxxxxx
<!-- Exports views on position 0 and 1 to given file -->
<Call Method="ExportConfigurationViews">
<FileName>C:\views\exported.xml</FileName>
<Positions>
<Position>0</Position>
<Position>1</Position>
</Positions>
</Call>
xxxxxxxxxx
<!-- Exports all views. Serialized as XML returned in the response -->
<Call Method="ExportConfigurationViews">
</Call>
xxxxxxxxxx
<!-- Exports views on position 0 and 1. Serialized as XML returned in the response -->
<Call Method="ExportConfigurationViews">
<Positions>
<Position>0</Position>
<Position>1</Position>
</Positions>
</Call>
Creates a section geometry at the current position of the section plane and exports it to the desired format. The exported data gets returned as a Base64 encoded string.
Call:
Parameter | Type | Description |
---|---|---|
VisibleDefault: true | bool | Only export visible Markups |
References ´Default: true` | bool | Export validatable ReferenceData See ImportMarkups and ValidateGeometry |
Example:
xxxxxxxxxx
<Call Method="ExportMarkupsAsXML">
<!-- default: true -->
<Visible>true/false</Visible>
<!-- default: true -->
<References>true/false</References>
</Call>
<Response Method="ExportMarkupsAsXML" Error="SUCCESS">
<MarkupExport>
<Markups>
<!-- Markupdata - similar to vsxml markups-->
</Markups>
<!-- optional - if "<References>" was true -->
<References>
<PMIReference NodeId="21" CustomId="CustomId" TreePath="Tree\Path\">
<ValidationData Type="5" Indices="0 0 0 ">
<Vertices Coordinates="0.0 100.0 100.0 100.0 100.0 100.0 "/>
</ValidationData>
</PMIReference>
</References>
</MarkupExport>
</Response>
Creates a section geometry at the current position of the section plane and exports it to the desired format. The exported data gets returned as a Base64 encoded string.
Call:
Parameter | Type | Description |
---|---|---|
ExportFormat2D | ExportFormat2D | Export format (only SVG and DXF supported) |
Typeoptional Default: Wire | SectionGeometryType | Type of section geometry (only 'Wire' type supported at the moment) |
FileNameoptional | string | Output filepath |
Response:
Parameter | Type | Description |
---|---|---|
Image | string | Base64 encoded result image (only if FileName parameter was not passed) |
Example:
xxxxxxxxxx
<Call Method="ExportSectionGeometry">
<ExportFormat2D>SVG</ExportFormat2D>
<Type>Wire</Type>
</Call>
<Response Method="ExportSectionGeometry" Error="SUCCESS">
<Image><!-- Base64 --></Image>
</Response>
<Call Method="ExportSectionGeometry">
<ExportFormat2D>SVG</ExportFormat2D>
<Type>Wire</Type>
<FileName>C:\output.svg</FileName>
</Call>
<Response Method="ExportSectionGeometry" Error="SUCCESS"/>
Creates a PDF file at a given location. The file contains an overview of all views represented by their names and a preview image.
Call:
Parameter | Type | Description |
---|---|---|
FileName | string | Output path of the PDF file. |
Example:
xxxxxxxxxx
<Call Method="ExportViewsOverviewAsPDF">
<FileName>C:\overview.pdf</FileName>
</Call>
Creates a PDF file at a given location. The file contains an image of all views referenced by their Id in the call. Additionally, information about the geometry contained in the views are added to the bottom of each page. If no view Ids are passed, the PDF contains all views.
Call:
Parameter | Type | Description |
---|---|---|
FileName | string | Output path of the PDF file. |
Id [multiple] | UINT | Id of the configuration view. Optional - PDF contains all views if no Ids are given. |
Example:
xxxxxxxxxx
<Call Method="ExportViewsAsPDF">
<FileName>C:\test.pdf</FileName>
<Id>0</Id>
<Id>1</Id>
<Id>3</Id>
</Call>
Exports PNG images of either the given selection of configuration views or all existing if no selection is passed.
Call:
Parameter | Type | Description |
---|---|---|
Directory | string | Output directory to save PNG images to. |
Overwrite | bool (Default: false ) | Overwrites existing files if set to true .Returns ERR_WOULD_OVERWRITE_FILES if set to false and files would be overwritten. |
Id [multiple] | UINT | Selection of configuration views to export. Exports all views if selection is empty. |
Example:
xxxxxxxxxx
<Call Method="ExportViewsAsPNG">
<Directory>C:\ExportedViews</Directory>
<Overwrite>true</Overwrite>
<Id>0</Id>
<Id>1</Id>
</Call>
Fits the zoom so that the whole visible model can be seen. Zoom level depends on projected bounding box of visible objects.
Example:
xxxxxxxxxx
<Call Method="FitAll"></Call>
Fit the zoom to height of the model or page.
Example:
xxxxxxxxxx
<Call Method="FitHeight"></Call>
Fit the zoom to the width of the model or page.
Example:
xxxxxxxxxx
<Call Method="FitWidth"></Call>
Focus on an area of interest in the scene using animated variable camera shift, rotation and zoom steps.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] [optional] | NodeId | Focus on specified NodeIds. If none are provided, the current selection will be used. There is no focus operation if the current selection is empty and no NodeIds are specified. |
Factor[optional] | float = 1.0 | Zoom in factor, default 1.0 corresponds to the adjustment to the bounding box of the selected nodes (larger values to zoom out). |
Ghost[optional] | bool = false | The other nodes (not selected or specified for focus) are in ghost state (transparent and not selectable) after the focus transition. This option should help to focus on the inner parts of an object. |
FadeTime[optional] | All times are given in milliseconds (ms) Available steps for animated focus transition - zoom out, camera translation (shift), rotate camera, zoom in. To skip a step set 0 ms. | |
ZoomOut | UINT | Zoom out to view the complete model. Helps the user to orientate himself before the next step. |
Translation | UINT | Moves the new camera look at to a point in the middle of the objects to be focused. |
Rotation | UINT | Turn (rotate) the camera to the best angle to show the focused objects from outside. |
ZoomIn | UINT | Zoom in to fit the focused objects (see Factor). |
Example:
xxxxxxxxxx
<Call Method="Focus">
<!-- Optional NodeIds, uses selection if none are provided -->
<NodeId>1</NodeId>
<NodeId>2</NodeId>
<Factor>1.0</Factor> <!-- default = 1.0f -->
<Ghost>false</Ghost> <!-- default = false -->
<!-- Optional FadeTimes, no fading if not provided -->
<FadeTime>
<ZoomOut>0</ZoomOut>
<Translation>1000</Translation>
<Rotation>2000</Rotation>
<ZoomIn>500</ZoomIn>
</FadeTime>
</Call>
<!-- focus on seletion, ghost others -->
<Call Method="Focus">
<Factor>3</Factor>
<Ghost>true</Ghost>
<FadeTime>
<ZoomOut>500</ZoomOut>
<Translation>1000</Translation>
<Rotation>2000</Rotation>
<ZoomIn>1000</ZoomIn>
</FadeTime>
</Call>
Generates callouts for each BOM entry with a callout id value.
Example:
xxxxxxxxxx
<Call Method="GenerateBOMCallouts" />
Generates callout ids for every BOM entry without any callout id by using the provided start value incrementing it after each assignment. This call doesn't generate any callouts yet.
Call:
Parameter | Type | Description |
---|---|---|
StartId | UINT | Start value |
Response:
Parameter | Type | Description |
---|---|---|
StartId | UINT | Last used callout id + 1 |
Example:
xxxxxxxxxx
<Call Method="GenerateBOMCalloutIds">
<StartId>1</StartId>
</Call>
Generates custom ids.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] | NodeId | NodeIds to generate custom ids for. If none are provided, the current selection will be used. |
Recursive | bool = false | Generate custom ids recursively. |
IncludePartNodes | bool = false | Include Part nodes. |
Overwrite | bool = true | Overwrite custom id of node if one is present |
Mode | AttributeGenerationMode = NodePath | Generation mode. |
Name | String | Name of the attribute to create. |
Example:
xxxxxxxxxx
<Call Method="GenerateAttribute">
<NodeId>34</NodeId>
<NodeId>35</NodeId>
<Recursive>false</Recursive>
<IncludePartNodes>false</IncludePartNodes>
<Overwrite>true</Overwrite>
<Name>Path</Name>>
<Mode>NodePath</Mode>
</Call>
Generates custom ids.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] | NodeId | NodeIds to generate custom ids for. If none are provided, the current selection will be used. |
Recursive | bool = false | Generate custom ids recursively. |
IncludePartNodes | bool = false | Include Part nodes. |
Overwrite | bool = true | Overwrite custom id of node if one is present. |
UniqueIds | bool = false | Ensure generated custom ids are unique. |
Mode | CustomIdGenerationMode = NodePath | Generation mode. |
Example:
xxxxxxxxxx
<Call Method="GenerateCustomIds">
<NodeId>34</NodeId>
<NodeId>35</NodeId>
<Recursive>false</Recursive>
<IncludePartNodes>false</IncludePartNodes>
<Overwrite>true</Overwrite>
<UniqueIds>false</UniqueIds>
<Mode>NodePath</Mode>
</Call>
Generates or regenerates faces for all selected nodes or all nodes if none are selected.
Example:
xxxxxxxxxx
<Call Method="GenerateFaces" />
Generates normals for all selected nodes or all nodes if none are selected. Nodes with normals are ignored.
Example:
xxxxxxxxxx
<Call Method="GenerateNormals" />
Generates statistics containing drawing information such as buffer memory used or number of nodes present. FPS can be calculated on demand.
Call:
Parameter | Type | Description |
---|---|---|
PerformFPSTest | bool = true | Performs a test that calculates the FPS. This test takes 5 seconds to complete. |
Example:
xxxxxxxxxx
<Call Method="GenerateStatistics">
<PerformFPSTest>false</PerformFPSTest>
</Call>
<Response Method="GenerateStatistics" Error="SUCCESS">
<NumBuffers>13</NumBuffers>
<NumGeometryNodes>35</NumGeometryNodes>
<...>
</Response>
Generates wires for all selected nodes or all nodes if none are selected. Nodes with wires are ignored.
Example:
xxxxxxxxxx
<Call Method="GenerateWires" />
Gets the common animation axis of all selected nodes.
Remarks:
If the selected nodes contain different animation axes, __VARIOUS__
gets returned.
Response:
Parameter | Type | Description |
---|---|---|
Direction | CoordinateDirection | Animation axis__VARIOUS__ if selected nodes contain different animation axes |
Example:
xxxxxxxxxx
<Call Method="GetAnimationAxis" />
<Response Method="GetAnimationAxis">
<Direction>X</Direction>
</Response>
<Response Method="GetAnimationAxis">
<Direction>__VARIOUS__</Direction>
</Response>
Gets the animation speed of all selected nodes with an animation.
Remarks:
If the selected animation nodes contain different speed values, __VARIOUS__
gets returned.
Response:
Parameter | Type | Description |
---|---|---|
Speed | float | Rotation speed__VARIOUS__ if selected nodes contain different speed values |
Example:
xxxxxxxxxx
<Call Method="GetAnimationSpeed" />
<Response Method="GetAnimationSpeed">
<Speed>0.5</Speed>
</Response>
<Response Method="GetAnimationSpeed">
<Speed>__VARIOUS__</Speed>
</Response>
GET the view displayed in current scene as BCF 2.1 Visualization Information XML.
(Version 2.1) -Components -Selection -Visibility -Coloring
-OrthogonalCamera (the camera order depends on the mode that is active in the scene) -PerspectiveCamera -ClippingPlanes (only one plane supported)
Remarks:
For Selection, Visibility, Coloring IFC Data requires loading with attributes (IfcGuid), the same applies to the preparation of 3DVS files.
xxxxxxxxxx
<Call Method="SetSettings">
<Settings><Import3D>
<Filter><ReadAttributes>true</ReadAttributes></Filter>
</Import3D></Settings>
</Call>
Response:
Parameter | Type | Description |
---|---|---|
VisualizationInfo | XML | https://github.com/buildingSMART/BCF-XML |
All X, Y, Z coordinates in meter
Example:
xxxxxxxxxx
<Call Method="GetBCFVisualizationInfo" />
<Response Method="GetBCFVisualizationInfo" Error="SUCCESS">
<VisualizationInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="visinfo.xsd">
<Components>
<Selection>
<Component IfcGuid="3lpXi_8GH6EuwcCd5R554$"/>
<Component IfcGuid="1xQYbrIQzDgwq4v0LNnn0U"/>
</Selection>
<Visibility DefaultVisibility="true">
<Exceptions>
<Component IfcGuid="3FFmHz1JT4IuolU5gYJxiL"/>
<Component IfcGuid="2xmw0BYPD0TePWVXqCOL6c"/>
<Component IfcGuid="3Vo2$Io8L3HPA5yAF00Hs0"/>
...
<Component IfcGuid="1q3$Rj_Nb7q8goAJGwY_Vp"/>
<Component IfcGuid="1YZvJSjKD2Ku2hFpmr3HHT"/>
</Exceptions>
</Visibility>
<Coloring>
<Color Color="FF00FFFF">
<Component IfcGuid="0eJbMxjiv8BgeffzsZzV_9"/>
<Component IfcGuid="155n_KM3HBsP2vAHv$PhfZ"/>
<Component IfcGuid="2VXubfNjT9Xez8ttHQftXp"/>
...
<Component IfcGuid="0EOMJDvw1EOPyacy$fD7MD"/>
</Color>
</Coloring>
</Components>
<OrthogonalCamera>
<CameraViewPoint>
<X>-34054.4240</X>
<Y>216381.5360</Y>
<Z>673.046125</Z>
</CameraViewPoint>
<CameraDirection>
<X>-0.679403</X>
<Y>-0.641393</Y>
<Z>-0.356408</Z>
</CameraDirection>
<CameraUpVector>
<X>-0.260032</X>
<Y>-0.243745</Y>
<Z>0.934330</Z>
</CameraUpVector>
<ViewToWorldScale>25.824014</ViewToWorldScale>
</OrthogonalCamera>
<PerspectiveCamera>
<CameraViewPoint>
<X>-34054.4240</X>
<Y>216381.5360</Y>
<Z>673.046125</Z>
</CameraViewPoint>
<CameraDirection>
<X>-0.679403</X>
<Y>-0.641393</Y>
<Z>-0.356408</Z>
</CameraDirection>
<CameraUpVector>
<X>-0.260032</X>
<Y>-0.243745</Y>
<Z>0.934330</Z>
</CameraUpVector>
<FieldOfView>45.0</FieldOfView>
</PerspectiveCamera>
<Clippingplanes>
<Clippingplane>
<Location>
<X>-34094924.0</X>
<Y>216347280.0</Y>
<Z>650309.750</Z>
</Location>
<Direction>
<X>-0.087156</X>
<Y>0.996195</Y>
<Z>0.0</Z>
</Direction>
</Clippingplane>
</Clippingplanes>
</VisualizationInfo>
</Response>
Gets the current bill of material of the scene.
Example:
xxxxxxxxxx
<Call Method="GetBillOfMaterial" />
Response:
xxxxxxxxxx
<Response Method="GetBillOfMaterial" Error="SUCCESS">
<!-- The following structure resembles a table -->
<BillOfMaterial>
<!-- Contains the columns of the table -->
<Template>
<!--
'Id' is the unique identifier of the column, each item in 'Data'
eventually contains a member with this id.
Remarks: Columns containing attribute data will have a matching
'Attribute' element in an Item with the 'Name' attribute matching the
column id.
'DisplayName' contains the translated name for the column.
-->
<Column Id="Number" DisplayName="Nr."/>
<Column Id="Name" DisplayName="Name"/>
<Column Id="Quantity" DisplayName="Anzahl"/>
<Column Id="CalloutId" DisplayName="ID"/>
<!-- The following columns represent additional attribute columns -->
<Column Id="Author" DisplayName="Author"/>
<Column Id="Created" DisplayName="Created"/>
<Column Id="Generator" DisplayName="Generator"/>
<Column Id="SchemaVersion" DisplayName="SchemaVersion"/>
<Column Id="Title" DisplayName="Title"/>
</Template>
<!-- Contains the rows of the table -->
<Data>
<!-- 'Id' is the unique identifier of the row -->
<Item Id="0">
<Number>69</Number>
<Name>Axle.1</Name>
<Quantity>2</Quantity>
<CalloutId/>
<Attribute Name="Author">sxp</Attribute>
<Attribute Name="Created">2005-05-25</Attribute>
<Attribute Name="Generator">CATIA V5</Attribute>
<Attribute Name="SchemaVersion">1.0</Attribute>
<Attribute Name="Title">Axle 3DXml File</Attribute>
</Item>
<!-- ... --->
</Data>
</BillOfMaterial>
</Response>
Gets all different attribute names for all nodes in the current scene.
Example:
xxxxxxxxxx
<Call Method="GetBillOfMaterialAttributeNames" />
Response:
xxxxxxxxxx
<Response Method="GetBillOfMaterialAttributeNames" Error="SUCCESS">
<Attribute>Source</Attribute>
<Attribute>Revision</Attribute>
<Attribute>Author</Attribute>
<Attribute>Description</Attribute>
</Response>
Gets the node property names that can be used in the Bill Of Material.
Example:
xxxxxxxxxx
<Call Method="GetBillOfMaterialNodePropertyNames" />
Response:
xxxxxxxxxx
<Response Method="GetBillOfMaterialNodePropertyNames" Error="SUCCESS">
<Properties>Color</Properties>
<Properties>Material</Properties>
<Properties>NodeId</Properties>
<Properties>CustomNodeId</Properties>
<Properties>Transparency</Properties>
<Properties>GeometryId</Properties>
<Properties>FilePath</Properties>
<Properties>ContainsBREP</Properties>
<Properties>Surface</Properties>
<Properties>Volume</Properties>
<Properties>Density</Properties>
<Properties>Mass</Properties>
</Response>
Generate 2D Coordinates for markup endpoints Sorted from front to back
Call:
Parameter | Type | Description |
---|---|---|
InViewport [optional] Default: false | bool | Must be visible on screen |
Quantity [optional] Default: 0 | UINT | Limit number of results 0 = no Limit |
Example:
xxxxxxxxxx
<Call Method="GetCalloutAnchor2DProjection">
<InViewport>true</InViewport>
<Quantity>10</Quantity>
</Call>
xxxxxxxxxx
<Response Method="GetCalloutAnchor2DProjection" Error="ERR_SUCCESS">
<Anchor2DPositions>
<Item>
<Id>5</Id>
<CavasX>100</CavasX>
<CavasY>200</CavasY>
<CalloutText>text</CalloutText> <!--optional-->
<CalloutName>name</CalloutName>
<Visible>true</Visible>
<InViewport>true</InViewport>
<Depth>0.5</Depth>
</Item>
</Anchor2DPositions>
</Response>
Gets information about callouts in the current scene. If the current selection is empty, all existing callouts will be returned. Otherwise all directly or indirectly referenced callouts will be determined and returned, e.g. if a non-callout node is selected that is referenced by a callout in the scene, this callout will be returned as well.
Example:
xxxxxxxxxx
<Call Method="GetCallouts" />
Response:
xxxxxxxxxx
<Response Method="GetCallouts" Error="SUCCESS">
<Callout Id="1" NodeId="358">
<NodeId>306</NodeId>
</Callout>
<Callout Id="2" NodeId="361">
<NodeId>281</NodeId>
</Callout>
<Callout Id="3" NodeId="362">
<NodeId>317</NodeId>
<Callout Id="1" NodeId="358"/>
<Callout Id="2" NodeId="361"/>
</Callout>
</Response>
Gets information about the current camera position and look at.
Response:
Parameter | Type | Description |
---|---|---|
Position | float3 | Camera position |
LooktAt | float3 | Point on which the camera looks |
UpVector | float3 | Up vector of the camera |
Example:
xxxxxxxxxx
<Call Method="GetCamera"></Call>
<Response Method="GetCamera" Error="SUCCESS">
<Position>
<X>10.0</X>
<Y>10.0</Y>
<Z>10.0</Z>
</Position>
<LookAt>
<X>0.0</X>
<Y>0.0</Y>
<Z>0.0</Z>
</LookAt>
<UpVector>
<X>0.0</X>
<Y>0.0</Y>
<Z>1.0</Z>
</UpVector>
</Response>
Gets the clash detection details computed by Compute::ClashSync or Compute::ClashAsync.
Response:
Parameter | Type | Description |
---|---|---|
Id | UINT | Index in list |
Name | string | Name (and optional selection set) of first node |
OtherName | string | Name (and optional selection set) of second node |
Type | string | Type of clash, either "Unknown", "Unspecified", "Contact" or "Collision" |
MaxDepth | float | Depth of collision |
Example:
xxxxxxxxxx
<Call Method="GetClashDetection"></Call>
<Response Method="GetClashDetection" Error="SUCCESS">
<Data>
<Item>
<Id>0</Id>
<Name>Lamp</Name>
<OtherName>Table</OtherName>
<Type>Unspecified</Type>
<MaxDepth>0</MaxDepth>
</Item>
<Item>
<Id>1</Id>
<Name>Chairs - Chair 1</Name>
<OtherName>Table</OtherName>
<Type>Contact</Type>
<MaxDepth>0.001</MaxDepth>
</Item>
<Item>
<Id>2</Id>
<Name>Chairs - Chair 2</Name>
<OtherName>Table</OtherName>
<Type>Collision</Type>
<MaxDepth>12</MaxDepth>
</Item>
</Data>
</Response>
Gets information about all "ConfigurationViews".
Call:
Parameter | Type | Description |
---|---|---|
Image | bool = false | If set to "true", the response contains preview Images. |
Position [optional] | UINT | If set, only the information of the view at the specified position is provided. |
Response:
Parameter | Type | Description |
---|---|---|
ConfigurationView[multiple] | ConfigurationView | |
Position | UINT | Position |
Name | string | Name of the configuration view. |
Image | string | Base64 encoded JPEG image |
Example:
xxxxxxxxxx
<Call Method="GetConfigurationViewInformation">
<Position>10</Position>
<Image>true</Image>
</Call>
<Response Method="GetConfigurationViewInformation" Error="SUCCESS">
<ConfigurationView>
<Position>10</Position>
<Name>Top view</Name>
<Image><!-- Base64 encoded JPEG --></Image>
</ConfigurationView>
</Response>
Serialize the current view.
Response:
Parameter | Type | Description |
---|---|---|
CurrentView | XMLNode | Contains the serialzed wiew |
Example:
xxxxxxxxxx
<Call Method="GetCurrentView" />
<Response Method="GetCurrentView" Error="SUCCESS">
<CurrentView>
<!-- viewxml -->
</CurrentView>
</Response>
Generates an image of the current view and returns it. Call:
Parameter | Type | Description |
---|---|---|
ExportFormat2D | ExportFormat2D | Format in which the image should be generated. |
Response:
Parameter | Type | Description |
---|---|---|
ExportFormat2D | ExportFormat2D | Format of the image. |
Image | string | Base64 encoded JPEG image |
Example:
xxxxxxxxxx
<Call Method="GetImage">
<ExportFormat2D>PNG</ExportFormat2D>
</Call>
<Response Method="GetImage" Error="SUCCESS">
<ExportFormat2D>PNG</ExportFormat2D>
<Image><!-- Base64 encoded image --></Image>
</Response>
Gets the duration of the last pick in seconds. If no pick was performed, the duration will be 0.
Response:
Parameter | Type | Description |
---|---|---|
Position | float | Pick duration |
Example:
xxxxxxxxxx
<Response Method="GetLastPickDurationInSeconds" Error="SUCCESS">
<Duration>0.015</Duration>
</Response>
Gets the maximum tree depth.
Response:
Parameter | Type | Description |
---|---|---|
MaxDepth | UINT | Maximum tree depth |
Example:
xxxxxxxxxx
<Call Method="GetMaxTreeDepth" />
<Response Method="GetMaxTreeDepth">
<MaxDepth>4</MaxDepth>
</Response>
Gets the current WebViewer model repository path.
Example:
xxxxxxxxxx
<Call Method="GetModelRepository" />
<Response Method="GetModelRepository">
<Path>C:\Path\To\Models</Path>
</Response>
Gets the properties of a specific Node
Parameter | Type | Description |
---|---|---|
NodeId [multiple] | NodeId | NodeIds of the nodes. If no NodeId is provided, the selection will be used. |
Response:
Parameter | Type | Description |
---|---|---|
Properties | VSXML | Properties of the specified nodes. |
Example:
xxxxxxxxxx
<Call Method="GetNodeProperties">
<NodeId>14</NodeId>
<NodeId>25</NodeId>
</Call>
<Response Method="GetNodeProperties" Error="SUCCESS">
<Properties>
<!-- VSXML -->
</Properties>
</Response>
Gets the transformation matrix of a specific node.
Parameter | Type | Description |
---|---|---|
Global[optional] | bool = true | If true, then the global matrix is returned. Otherwise, the local matrix. |
NodeId | NodeId | NodeId of the node. |
Response:
Parameter | Type | Description |
---|---|---|
TransformMatrix | Matrix | a 4x4 row major transformation matrix |
Example:
xxxxxxxxxx
<Call Method="GetNodeTransformMatrix">
<Global>true</Global>
<NodeId>14</NodeId>
</Call>
<Response Method="GetNodeTransformMatrix" Error="SUCCESS">
<TransformMatrix>1 0 0 0 0 1 0 0 0 0 1 0 21.96 28.84 -36.01 1</TransformMatrix>
</Response>
Gets the page count of a 2D document.
Response:
Parameter | Type | Description |
---|---|---|
Pages | UINT | Number of pages. |
Example:
xxxxxxxxxx
<Response Method="GetPageCount" Error="SUCCESS">
<Pages>5</Pages>
</Response>
Gets common properties of all selected nodes. Computes sum for physical properties if all geometries belonging to selected nodes contain physical properties.
Response:
Parameter | Type | Description |
---|---|---|
Properties | <NodePropertiesXML> | Properties of the selected nodes. |
Example:
xxxxxxxxxx
<Response Method="GetPropertiesOfSelectedNodes" Error="SUCCESS">
<Properties>
<NodePropertiesXML>
<General>
<Name>NONE</Name>
<Type>Ri_BrepModel</Type>
<Color>0xffffff0</Color>
<Transparency>0.400000</Transparency>
</General>
<PhysicalProperties>
<Surface>1544.48 mm^2</Surface>
<Volume>1738.33 mm^3</Volume>
<Density>1.0 kg/dm^3</Density>
<Mass>1.74 g</Mass>
</PhysicalProperties>
<Attributes>
<Attribute
key="CV5FACENAME"
value="Mainfold Solid #737213"
/>
</Attributes>
</NodePropertiesXML>
</Properties>
</Response>
Gets a list of all saved selections for the current scene.
Response:
Parameter | Type | Description |
---|---|---|
Selection[multiple] | SavedSelection | List of saved selections |
Example:
xxxxxxxxxx
<Call Method="GetSavedSelection" />
<Response Method="GetSavedSelection">
<Selection Index="0" Name="Foo" />
<Selection Index="1" Name="Bar" />
<Selection Index="2" Name="Baz" />
</Response>
Get the runtime settings of the current scene.
Response:
Parameter | Type | Description |
---|---|---|
SettingsXML | SettingsXML | Settings of the current scene |
Example:
xxxxxxxxxx
<Call Method="GetSceneSettings"></Call>
<Response Method="GetSceneSettings">
<!--SettingsXML-->
</Response>
Receive all available scenedata required to synchronize UI
Response:
Multiple events (SelectionChanged / SettingsChanged / SplitUpdate / active interactions / Measurementresult)
Parameter | Type | Description |
---|---|---|
Scene | XMLNode | Container for scenespecific data |
Name | String | Scenename |
2D | bool | Is it a 2D-scene |
Selectionmode | SelectionMode | Currently active Selectionmode |
Example:
xxxxxxxxxx
<Call Method="GetSceneState" />
<Event Type="CalloutSelectionChanged" ViewId="0"/>
<Event Type="SelectionChanged" ViewId="0"/>
<Event Type="SelectionChangedCustomId" ViewId="0"/>
<Event Type="NodePropertiesChanged" ViewId="0"/>
<Event Type="TransformChanged" ViewId="0">
<Position>
<X Unit="mm">0.00</X>
<Y Unit="mm">0.00</Y>
<Z Unit="mm">0.00</Z>
</Position>
<Translation>
<X Unit="mm">0.00</X>
<Y Unit="mm">0.00</Y>
<Z Unit="mm">0.00</Z>
</Translation>
<Rotation>
<X Unit="°">0.00</X>
<Y Unit="°">0.00</Y>
<Z Unit="°">0.00</Z>
</Rotation>
<Scaling>
<Scale Unit="%">0.00</Scale>
</Scaling>
</Event>
<Response Method="GetSceneState" Error="SUCCESS">
<SceneState>
<Scene Name="toy.3dxml" 2D="false"/>
<SelectionMode>None</SelectionMode>
</SceneState>
</Response>
Gets a list of all searchable node types in the current scene.
Response:
Parameter | Type | Description |
---|---|---|
NodeType[multiple] | String | List of searchable node types |
Example:
xxxxxxxxxx
<Call Method="GetSearchableNodeTypes" />
<Response Method="GetSearchableNodeTypes" Error="SUCCESS">
<NodeType>Root</NodeType>
<NodeType>ProductOccurrence</NodeType>
<NodeType>Ri_BrepModel</NodeType>
<NodeType>AnnotationSet</NodeType>
<NodeType>AnnotationItem</NodeType>
<NodeType>MasterRootNode</NodeType>
</Response>
Gets the ids of all selected rows. A row is selected if it contains a node that is currently selected.
Response:
xxxxxxxxxx
<Response Method="GetSelectedBillOfMaterialRows">
<RowId>0</RowId>
<RowId>3</RowId>
</Response>
Gets the Color (ARGB) of selected faces.
In case of multiple colors the method returns ColorVarious, AlphaVarious = true and the returned color value is invalid.
Response:
xxxxxxxxxx
<Response Method="GetSelectedFacesColor">
<Color>#FFFF00</Color>
<ColorVarious>true/false</ColorVarious>
<AlphaVarious>true/false</AlphaVarious>
</Response>
Gets all currently selected nodes.
Response:
Parameter | Type | Description |
---|---|---|
NodeType[optional] | NodeType | This parameter is present if all nodes have the same type. |
NodeId[multiple] | NodeId | All selected node IDs |
Example:
xxxxxxxxxx
<Call Method="GetSelectedNodes"></Call>
<Response Method="GetSelectedNodes" Error="ERR_SUCCESS">
<NodeType>NodeType_Root</NodeType>
<NodeId>85</NodeId>
<NodeId>#Node5879</NodeId>
</Response>
Gets the default import, export and scene settings. This settings are used on loading a file or stating a new scene.
Response:
Parameter | Type | Description |
---|---|---|
SettingsXML | SettingsXML | Current global Settings |
Example:
xxxxxxxxxx
<Call Method="GetSettings"></Call>
<Response Method="GetSettings">
<!--SettingsXML-->
</Response>
Call:
Parameter | Type | Description |
---|---|---|
Minimal[optional] | bool = true | If set, the response contains the minimal structure (see below). |
Response:
Parameter | Type | Description |
---|---|---|
Structure | <VSXML> | Structure of the whole scene. |
Example:
xxxxxxxxxx
<Call Method="GetStructure">
<Minimal>true</Minimal>
</Call>
<Response Method="GetStructure" Error="ERR_SUCCESS">
<Structure>
<!-- VSXML -->
</Structure>
</Response>
If the parameter Minimal
is set to true
, the following data doesn't get exported:
Furthermore, node types values are exported as numeric values instead of strings.
Returns a Base64 encoded string containing an overview of all views represented by their names and a preview image.
Response:
Parameter | Type | Description |
---|---|---|
Image | string | Base64 encoded image |
Example:
xxxxxxxxxx
<Call Method="GetViewsOverviewAsPDF">
</Call>
<Response Method="GetViewsOverviewAsPDF" Error="ERR_SUCCESS">
<Image>
<!-- Base64 encoded image -->
</Image>
</Response>
Returns PDF a Base64 encoded string containing image information of all views referenced by their Id in the call. Additionally, information about the geometry contained in the views are added to the bottom of each page. The image contains all views if no Ids are passed to the call.
Call:
Parameter | Type | Description |
---|---|---|
Id [multiple] | UINT | Id of the configuration view. PDF contains all views if no Ids are given. |
Response:
Parameter | Type | Description |
---|---|---|
Image | string | Base64 encoded image |
Example:
xxxxxxxxxx
<Call Method="GetViewsAsPDF">
<Id>0</Id>
<Id>1</Id>
<Id>3</Id>
</Call>
<Response Method="GetViewsAsPDF" Error="ERR_SUCCESS">
<Image>
<!-- Base64 encoded image -->
</Image>
</Response>
Returns the current stack of undo operations.
Response:
Parameter | Type | Description |
---|---|---|
Step[multiple] | string | Translated undo step. |
Example:
xxxxxxxxxx
<Call Method="GetUndoStack" />
<Response Method="GetUndoStack" Error="SUCCESS">
<Step>Select</Step>
<Step>Color</Step>
<Step>Color</Step>
<Step>Select</Step>
</Response>
Scrolls to the specified page.
Call:
Parameter | Type | Description |
---|---|---|
Page | UINT | Page to which to scroll. Page starts at 0. |
Example:
xxxxxxxxxx
<Call Method="GotoPage">
<Page>2</Page>
</Call>
Hides all markups.
Example:
xxxxxxxxxx
<Call Method="HideAllMarkups"></Call>
Hides all PMIs.
Example:
xxxxxxxxxx
<Call Method="HideAllPMIs"></Call>
Hide all visible callouts.
Example:
xxxxxxxxxx
<Call Method="HideVisibleCallouts" />
Imports configuration views.
Remarks: Configuration views can be either imported by a file path or by embedded data in the XML API request.
If the FileName
parameter is present, data will only be imported from the given file.
Parameter | Type | Description |
---|---|---|
FileName | string | Path to the file containing configuration view data. |
DeleteExistingViews | bool | Delete all existing configuration views prior to import. optional, default: false |
VSViews | Views XML | Import configuration views directly from request. |
Examples:
xxxxxxxxxx
<!-- Import views from given file, delete existing views prior to import -->
<Call Method="ImportConfigurationViews">
<DeleteExistingViews>true</DeleteExistingViews>
<FileName>C:\views\views.xml</FileName>
</Call>
xxxxxxxxxx
<!-- Import views from embedded data, don't delete existing views prior to import -->
<Call Method="ImportConfigurationViews">
<VSViews>
<!-- Views XML -->
</VSViews>
</Call>
Imports a file into the current scene.
Call:
Parameter | Type | Description |
---|---|---|
FileName | FileName | Path to the file which should be imported. WebViewer: relative path in ModelRepository (or full path if ModelRepository set to empty in setting file CRendererInstance.ini). If remote file loading is enabled (enabled by default in all products except WebViewer) you can also pass URLs to files served via HTTP/HTTPS/FTP/FTPS protocols. |
Name[optional] | string | Name for the imported root node |
Example:
xxxxxxxxxx
<Call Method="ImportFile">
<FileName>C:\test.3dvs</FileName>
<Name>FooBar</Name>
</Call>
Imports Markups to the Scene
The required MarkupXML can be retrieved from ExportMarkupsAsXML
Call:
Parameter | Type | Description |
---|---|---|
MarkupExport | XMLNodeoptional | Rootnode of the MarkupXML, may be omitted |
Markups | VSXML | Serialized Markups |
References | VSXML | Serialized References |
Example
xxxxxxxxxx
<Call Method="ImportMarkups">
<MarkupExport><!-- may be omitted -->
<Markups>
<!-- MarkupXML -->
</Markups>
<!-- optional>
<References>
<-- ReferenceXML ->
</References-->
</MarkupExport>
</Call>
<Response Method="ImportMarkups" Error="SUCCESS"> <!-- Error may be "WARN_UNRESOLVED_REFERENCES" if geometries could not be resolved
Imports a VSXML to the specified node.
Call:
Parameter | Type | Description |
---|---|---|
NodeId | <NodeId> | NodeId of the nodes to which the VSXML should be imported. |
Example:
xxxxxxxxxx
<Call Method="ImportVSXMLToNode">
<NodeId>25</NodeId>
<!-- VSXML -->
</Call>
Inverts the visibility of all nodes.
Example:
xxxxxxxxxx
<Call Method="InvertVisibility"></Call>
Get current status of automatic callout alignment.
Example:
xxxxxxxxxx
<Call Method="IsAutoCalloutAlignmentActive" />
Response:
Parameter | Type | Description |
---|---|---|
Result | bool | Status of automatic alignment |
Locks all callouts or all selected callouts. Locked callouts cannot be transformed until unlocked again.
Example:
xxxxxxxxxx
<Call Method="LockCallouts" />
Logs a message with an optional logging level.
Call:
Example:
xxxxxxxxxx
<Call Method="LogMessage">
<Message>Hello world</Message>
<Level>Error</Level>
</Call>
Highlights all wires found in the selected nodes, clears the selection and triggers a MeasurementChanged event with the accumulated wire length of all nodes.
Example:
xxxxxxxxxx
<Call Method="MeasureSelectedWireLength" />
Measures the distance between solids. The solids to be computed will be chosen based on the following parameter:
Call:
Parameter | Type | Description |
---|---|---|
DistanceSolidsComputationType | DistanceSolidsComputationType | Defines the type of groups to be clashed against each other. |
Examples: NodesSelectedVsUnselected: Clashes all selected nodes against all unselected nodes. NodesSelectionInternal: Clashes every selected node against every other selected node. SelectionSetsSelectedVsUnselected: Clashes the nodes from all selected selection sets against the remaining sets. SelectionSetsSelectionInternal: Clashes the nodes from each selection set against the nodes from each other set.
xxxxxxxxxx
<Call Method="MeasureDistanceSolidsToSolids"><DistanceSolidsComputationType>SelectedVsUnselected</DistanceSolidsComputationType></Call>
Mirrors the selected nodes.
Call:
Parameter | Type | Description |
---|---|---|
Copy | bool = true | If set to "true" the method will generate a mirrored copy. |
Plane | PlaneOption | Defines the plane at which the nodes are mirrored. |
Example:
xxxxxxxxxx
<Call Method="MirrorSelectedNodes">
<Copy>true</Cop>
<Plane>XY</Plane>
</Call>
Modifies the selection with the selected "SelectionModifier".
Call:
Parameter | Type | Description |
---|---|---|
SelectionModifier | <SelectionModifier> | Specifies how the selection is modified |
Example:
xxxxxxxxxx
<Call Method="ModifySelection">
<SelectionModifier>Isolate</SelectionModifier>
</Call>
Repositions the given configuration view inside the configuration view list.
Call:
Parameter | Type | Description |
---|---|---|
ConfigurationView | <UINT> | Current position of the target configuration view (zero based index, i.e. 0 is the first configuration view) |
Position | <UINT> | Target position of the configuration view (zero based index) |
Example:
xxxxxxxxxx
<Call Method="MoveConfigurationView">
<ConfigurationView>1</ConfigurationView>
<Position>2</Position>
</Call>
Creates a new empty 3D scene using default scene settings defined before. Remarks: Any previous file will be closed without saving!
Call:
Parameter | Type | Description |
---|---|---|
DiscardExistingScenes[optional] | bool = true | Closes all open scenes if set to true |
Width[optional] | UINT = 1 | Width in pixels of the window in which the model should be displayed. |
Height[optional] | UINT = 1 | Height in pixels of the window in which the model should be displayed. |
Name[optional] | string | Name of the new scene |
Example:
xxxxxxxxxx
<Call Method="NewScene3D">
</Call>
Scrolls to the next page of 2D documents.
Example:
xxxxxxxxxx
<Call Method="NextPage"></Call>
Opens the specified file. Remaks: Any previous open file will be closed without saving!
Call:
Parameter | Type | Description |
---|---|---|
FileName | FileName | Path to the file which should be opened. WebViewer: relative path in ModelRepository (or full path if ModelRepository set to empty in CRendererInstance.ini). If remote file loading is enabled (enabled by default in all products except WebViewer) you can also pass URLs to files served via HTTP/HTTPS/FTP/FTPS protocols. |
Width | UINT = 1 | Width in pixels of the window in which the model should be displayed. |
Height | UINT = 1 | Height in pixels of the window in which the model should be displayed. |
Name[optional] | string | If set, renames the master root node and matching root nodes. Master root nodes are typically named after the loaded file's name, e.g. FooBar.CATPart or FooBar.CATPart.3dvs If the master root node contains any child root node whose... - ...name is equal to the master root node's name - ...name is equal to the master root node's name except for the last extension (e.g. just FooBar or FooBar.CATPart) - ...name is equal to the master root node's name except for the last two extensions (3dvs only, e.g. just FooBar) ... then the node's name is replaced by the provided value. |
ExecuteAsync[optional] | bool = false | Asynchronously executes this method. See Remarks for more info about asynchronous execution. |
Response (synchronous execution):
Parameter | Type | Description |
---|---|---|
NewViewId | UINT | Id fo the newly created View. |
Type | 2D / 3D | Identifies what type of file was opened. |
FileFormat | string | Format and version of the opened file. |
Response (asynchronous execution):
Parameter | Type | Description |
---|---|---|
AsyncOperationId | string | Id of asynchronous operation. |
Remarks:
If executed with ExecuteAsync
flag set to true
, the method returns an operation identifier which can be used to identify the matching AsyncEventEnd
event instance.
Example (synchronous execution):
xxxxxxxxxx
<Call Method="OpenFile">
<FileName>C:\dir\test.3dvs</FileName>
<!-- JavaScript: '<FileName>C:\\dir\\test.3dvs</FileName>' -->
<Width>1024</Width>
<Height>1024</Height>
</Call>
<Response Method="OpenFile" Error="SUCCESS">
<NewViewId>1</NewViewId>
<Type>3D</Type>
</Response>
Example (asynchronous execution):
xxxxxxxxxx
<Call Method="OpenFile">
<ExecuteAsync>true</ExecuteAsync>
<FileName>C:\dir\test.3dvs</FileName>
<Width>1024</Width>
<Height>1024</Height>
</Call>
<Response Method="OpenFile" Error="SUCCESS">
<AsyncOperationId>21a8727b-1c4d-4b90-9b9e-562850a07481</AsyncOperationId>
</Response>
<!-- Event triggered after async operation finished -->
<Event Type="AsyncEventEnd" ViewId="0">
<Id>21a8727b-1c4d-4b90-9b9e-562850a07481</Id> <!-- Same identifier as in OpenFile response -->
<SceneId>1</SceneId>
<NewViewId>1</NewViewId>
<Type>3D</Type>
</Event>
Pauses rendering and tree updates.
Example:
xxxxxxxxxx
<Call Method="PauseRendering"></Call>
Scrolls to previous page of 2D documents.
Example:
xxxxxxxxxx
<Call Method="PreviousPage"></Call>
Removes all empty nodes from the current scene.
Example:
xxxxxxxxxx
<Call Method="RemoveEmptyNodes">
</Call>
Removes an "Eventlistener" (see also Events).
Call:
Parameter | Type | Description |
---|---|---|
Event[multiple] | <Event> | Specifies the event which should be removed. |
Example:
xxxxxxxxxx
<Call Method="RemoveEventListener">
<Event>ActivateInteraction</Event>
<Event>DeactivateInteraction</Event>
</Call>
Removes face information from all selected nodes or all nodes if none are selected.
Example:
xxxxxxxxxx
<Call Method="RemoveFaces" />
Removes normals for all selected nodes or all nodes if none are selected.
Example:
xxxxxxxxxx
<Call Method="RemoveNormals" />
Removes wires for all selected nodes or all nodes if none are selected.
Example:
xxxxxxxxxx
<Call Method="RemoveWires" />
Renames a saved selection.
Call:
Example:
xxxxxxxxxx
<Call Method="RenameSavedSelection">
<Index>0</Index>
<Name>FooBar</Name>
</Call>
Renames the callout id assigned to the row's nodes.
Call:
Example:
xxxxxxxxxx
<Call Method="RenameBillOfMaterialRowCalloutId">
<RowId>0</RowId>
<CalloutId>456</CalloutId>
</Call>
Replaces the node with a new file/part.
Call:
Parameter | Type | Description |
---|---|---|
NodeId | NodeId | NodeId of the node to be replaced. |
FileName | string | Path of the new part. |
ReplaceAll[optional] | bool = false | Replace all nodes with the same path as the node to be replaced. |
KeepCurrent[optional] | bool = false | Keep and only hide the current node. |
Example:
xxxxxxxxxx
<Call Method="ReplaceNode">
<NodeId>85</NodeId>
<FileName>C:\test.3dvs</FileName>
<ReplaceAll>true</ReplaceAll> <!-- optional -->
<KeepCurrent>true</KeepCurrent> <!-- optional -->
</Call>
Activates the default coordinate system.
Example:
xxxxxxxxxx
<Call Method="ResetCoordinateSystem"></Call>
Reset the scene lighting to the default ambient, diffuse and specular values.
Example:
xxxxxxxxxx
<Call Method="ResetSceneLight" />
Reset specified nodes luminance; applies to the currently selected nodes or to all specified node luminance if the current selection is empty.
Example:
xxxxxxxxxx
<Call Method="ResetNodesLuminance" />
Resets the scene's wall thickness heat map visualization properties.
Example:
xxxxxxxxxx
<Call Method="ResetWallthicknessVisualization" />
Resets the zoom, whole model can be seen without leaving the window extends on rotating the camera.
Example:
xxxxxxxxxx
<Call Method="ResetZoom"></Call>
Resumes rendering and updates tree.
Example:
xxxxxxxxxx
<Call Method="ResumeRendering"></Call>
Rotates the page of a 2D document by 90, 180 or 270 degrees.
Call:
Parameter | Type | Description |
---|---|---|
Angle | UINT | Angle by which to rotate the current page. Other values are not supported. |
Example:
xxxxxxxxxx
<Call Method="RotatePage"><Angle>90</Angle></Call>
Save a 2D-Session as vector PDF file. Remarks: Saving will overwrite existing files!
Call:
Parameter | Type | Description |
---|---|---|
FileName | string | Path of the new file |
Example:
xxxxxxxxxx
<Call Method="SaveAs">
<FileName>C:\test.pdf</FileName>
</Call>
Save the Session as 3DVS file. Remarks: Saving will overwrite existing files!
Call:
Parameter | Type | Description |
---|---|---|
FileName | string | Path of the new file |
SaveNodes[optional] | bool = false | Specifies if only provided Nodes should be saved. (In Zero position) |
NodeId [multiple] | NodeId | NodeId of the Node which should be changed. If no NodeId is provided, the selection will be used. |
Example:
xxxxxxxxxx
<Call Method="SaveAs">
<FileName>C:\test.3dvs</FileName>
</Call>
<Call Method="SaveAs">
<FileName>C:\test.3dvs</FileName>
<SaveNodes>true</SaveNodes>
<NodeId>1</NodeId>
</Call>
Save the currently selected nodes as a new selection.
Remarks: This is a temporary action. You have to save the opened file as .3dvs to persist selections over the current session.
Call:
Parameter | Type | Description |
---|---|---|
Name[optional] | string | Name of the selection |
Response:
Example:
xxxxxxxxxx
<Call Method="SaveCurrentSelection">
<Name>Foo</Name>
</Call>
<Response Method="SaveCurrentSelection">
<Index>0</Index>
<Name>Foo</Name>
</Response>
Search nodes with the given parameters.
Call:
Parameter | Type | Description |
---|---|---|
SearchString | SearchString | A search string which specifies the search parameters (AND combined) |
SelectionMode | SearchSelectionMode = None | Specified if nodes should be selected, replace selection or be added to the selection. |
IncludeHiddenGeometries | bool = false | Specifies if hidden geometry should be included in the search. |
CaseSensitive | bool = false | Specifies if hidden geometry should be included in the search. |
Color | RGB | Search for nodes matching color instead of passing a search string |
Response:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] | NodeId | Matching list of NodeIds as search result. |
Example:
xxxxxxxxxx
<Call Method="SearchNodes">
<SearchString>Name="Test" + "AttributeName"="AttributeValue"</SearchString
<SelectionMode>None</SelectionMode>
<IncludeHiddenGeometries>true</IncludeHiddenGeometries>
</Call>
<Call Method="SearchNodes">
<Color>#FFFF00</Color>
<SelectionMode>Select</SelectionMode>
</Call>
<Call Method="SearchNodes">
<Color>#FF00FF</Color>
<SelectionMode>None</SelectionMode>
</Call>
<Call Method="SearchNodes">
<SearchString>Name="*part_of_node_name*"+ Type="ProductOccurrence" + "SomeAttributeName"="exact_attribute_text_value"
</SearchString>
<SelectionMode>AddToSelection</SelectionMode>
<IncludeHiddenGeometries>false</IncludeHiddenGeometries>
</Call>
<Call Method="SearchNodes">
<SearchString>Content="*text_contained_in_content*"</SearchString>
<SelectionMode>Select</SelectionMode>
<IncludeHiddenGeometries>true</IncludeHiddenGeometries>
</Call>
<Call Method="SearchNodes">
<SearchString>CustomId="*part_of_custom_id*"</SearchString>
<SelectionMode>Select</SelectionMode>
<IncludeHiddenGeometries>true</IncludeHiddenGeometries>
</Call>
<Call Method="SearchNodes">
<SearchString>CustomId="EXACTmatchingID*"</SearchString>
<SelectionMode>None</SelectionMode>
<IncludeHiddenGeometries>true</IncludeHiddenGeometries>
<CaseSensitive>true</CaseSensitive>
</Call>
<Response Method="SearchNodes" Error="SUCCESS">
<NodeId>85</NodeId>
<NodeId>103</NodeId>
</Response>
Search nodes with the given parameters from string. Option such as case sensitive or select after search will be taken from the current scene settings.
Call:
Parameter | Type | Description |
---|---|---|
SearchString | string | A search string which specifies the search parameters. |
Response:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] | NodeId | Nodes matching search string |
Example:
xxxxxxxxxx
<Call Method="SearchNodes">
<SearchString>Name="*part_of_node_name*"+ Type="ProductOccurrence" + "SomeAttributeName"="exact_attribute_text_value"
</SearchString>
<SelectionMode>AddToSelection</SelectionMode>
<IncludeHiddenGeometries>false</IncludeHiddenGeometries>
</Call>
Aligns the section pane on the given axis.
Call:
Parameter | Type | Description |
---|---|---|
Axis | string | Axis to align on. Values: X, Y or Z |
Example:
xxxxxxxxxx
<!-- Aligns the section pane on the X axis. -->
<Call Method="SectionAlignAxis">
<Axis>X</Axis>
</Call>
Centers the cutting pane handle in the view.
Example:
xxxxxxxxxx
<!-- Affects the current view -->
<Call Method="SectionCenterHandles" />
<!-- Affects a specific view -->
<Call Method="SectionCenterHandles" ViewId="2" />
Selects all geometries.
Example:
xxxxxxxxxx
<Call Method="SelectAllGeometries"></Call>
Selects all nodes contained in the given rows.
Call:
Parameter | Type | Description |
---|---|---|
RowId [multiple] | UINT | Rows to select |
AddToSelection | bool | Add nodes to current selection (default: false ) |
Example:
xxxxxxxxxx
<Call Method="SelectBillOfMaterialRows">
<RowId>0</RowId>
<RowId>1</RowId>
<AddToSelection>true</AddToSelection>
</Call>
Selects the clash with the given index.
Call:
Parameter | Type | Description |
---|---|---|
Index | UINT | Index to select |
Example:
xxxxxxxxxx
<Call Method="SelectClashIndex">
<RowId>1</RowId>
</Call>
Selects all nodes that consist of only one surface, and returns the number of nodes selected.
Response:
Parameter | Type | Description |
---|---|---|
Number | UINT | Number of nodes selected |
Example:
xxxxxxxxxx
<Call Method="SelectSurfaces" />
<Response Method="SelectSurfaces" Error="SUCCESS">
<Number>34</Number>
</Response>
Selects all visible callouts.
Example:
xxxxxxxxxx
<Call Method="SelectVisibleCallouts" />
Sets the animation axis for the selected nodes.
Call:
Parameter | Type | Description |
---|---|---|
Direction | CoordinateDirection | Animation axis |
Example:
xxxxxxxxxx
<Call Method="SetAnimationAxis">
<Direction>X</Direction>
</Call>
Sets the animation rotation speed for the selected nodes.
Call:
Parameter | Type | Description |
---|---|---|
Speed | float | Rotation speed |
Example:
xxxxxxxxxx
<Call Method="SetAnimationSpeed">
<Speed>0.5</Speed>
</Call>
SET a view to be displayed in current scene as BCF 1.0, 2.0 or 2.1 Visualization Information XML.
(Version 2.1) Components Selection Visibility Coloring
(Version 2.0 and 1.0) Components Component - Selected, Visible, Color
(Version 2.1, 2.0 and 1.0) OrthogonalCamera (the first camera determines the mode of the scene, orthogonal or perspective) PerspectiveCamera ClippingPlanes (only one plane supported)
Remarks:
For Selection, Visibility, Coloring IFC Data requires loading with attributes (IfcGuid), the same applies to preparation of 3DVS files.
xxxxxxxxxx
<!-- ReadAttributes setting for file import -->
<Call Method="SetSettings">
<Settings><Import3D>
<Filter><ReadAttributes>true</ReadAttributes></Filter>
</Import3D></Settings>
</Call>
Call:
Parameter | Type | Description |
---|---|---|
VisualizationInfo | XML | https://github.com/buildingSMART/BCF-XML |
Scale [optional] | float | for units other than meters, default: 1.0 |
FadeTime [optional] | UINT | Fade time for a camera transition in ms (Default: 0 ms - no transition) |
All X, Y, Z coordinates in meter
Example:
xxxxxxxxxx
<Call Method="SetBCFVisualizationInfo">
<FadeTime>2000</FadeTime> <!-- optional camera transition-->
<VisualizationInfo>
<PerspectiveCamera>
<CameraViewPoint>
<X>30.287109</X>
<Y>26.765625</Y>
<Z>61.891602</Z>
</CameraViewPoint>
<CameraDirection>
<X>-0.671611</X>
<Y>-0.638433</Y>
<Z>-0.375954</Z>
</CameraDirection>
<CameraUpVector>
<X>-0.272485</X>
<Y>-0.259024</Y>
<Z>0.926638</Z>
</CameraUpVector>
<FieldOfView>45.0</FieldOfView>
</PerspectiveCamera>
</VisualizationInfo>
</Call>
Sets the alignment for all currently selected callouts or all, if no selection was made.
Call:
Parameter | Type | Description |
---|---|---|
Alignment | MarkupAlignment | Alignment to set |
Example:
xxxxxxxxxx
<Call Method="SetCalloutAlignment">
<Alignment>Rectangle</Alignment>
</Call>
Sets the current camera position.
Call:
Parameter | Type | Description |
---|---|---|
Position | float | Camera position |
LooktAt | float | Point to which the camera looks |
UpVector | float | Up vector of the camera |
FadeTime [optional] | UINT | Fade time for animated camera transition in ms (Default: 0 ms - no transition) |
Example:
xxxxxxxxxx
<Call Method="SetCamera" Error="SUCCESS">
<FadeTime>2000</FadeTime> <!-- optional -->
<Position>
<X>10.0</X>
<Y>10.0</Y>
<Z>10.0</Z>
</Position>
<LookAt>
<X>0.0</X>
<Y>0.0</Y>
<Z>0.0</Z>
</LookAt>
<UpVector>
<X>0.0</X>
<Y>0.0</Y>
<Z>1.0</Z>
</UpVector>
</Call>
Deserialize into the current view.
Call:
Parameter | Type | Description |
---|---|---|
CurrentView | XMLNode | As exported from GetCurrentView |
Example:
xxxxxxxxxx
<Call Method="SetCurrentView">
<!-- CurrentView -->
</Call>
<Response Method="SetCurrentView" Error="SUCCESS" />
Sets the scene's lighting components: ambient, diffuse and specular. This is used, e.g. to reduce brightness in case of a night scene.
Call:
Parameter | Type | Description |
---|---|---|
Ambient | float3 | Directionless lighting, provides the scene with basic brightness. |
Diffuse | float3 | Lighting component which provides the surface brightness depending on its direction. |
Specular | float3 | Lighting component which creates bright spots on surface depending on its shininess. |
Example:
<Call Method="SetSceneLight">
<Ambient>0.1 0.1 0.1</Ambient>
<Diffuse>0.5 0.5 0.5</Diffuse>
<Specular>0.1 0.1 0.1</Specular>
</Call>
Sets runtime settings for the current scene.
Call:
Parameter | Type | Description |
---|---|---|
SettingsXML | SettingsXML | Desired scene settings |
Example:
xxxxxxxxxx
<Call Method="SetSceneSettings">
<!-- SettingsXML -->
</Call>
Selects a range of faces from a node.
Call:
Parameter | Type | Description |
---|---|---|
NodeId | NodeId | NodeId to which the face ids refer, or #CustomId. |
FaceId [multiple] | UINT | Ids of the faces which should be selected. |
AddToSelection [optional] (default: false ) | bool | true to add the given face ids to the current selection, clears the current selection if false |
Example:
xxxxxxxxxx
<Call Method="SetSelectedFaces">
<AddToSelection>true/false</AddToSelection>
<NodeId>#YourCustomId</NodeId>
<FaceId>0</FaceId>
<FaceId>2</FaceId>
<FaceId>9</FaceId>
</Call>
Sets a Color (ARGB) to selected faces
Call:
Parameter | Type | Description |
---|---|---|
Color | ARGB | NodeIds of the nodes which should be selected, or #CustomId. |
Example:
xxxxxxxxxx
<Call Method="SetSelectedFacesColor">
<Color>#FFFFFF<Color>
</Call>
Selects a range of nodes.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] | NodeId | NodeIds of the nodes which should be selected, or #CustomId. |
AddToSelection [optional] (default: false ) | bool | true to add the given node ids to the current selection, clears the current selection if false |
Example:
xxxxxxxxxx
<Call Method="SetSelectedNodes">
<AddToSelection>true/false</AddToSelection>
<NodeId>#YourCustomId</NodeId>
<NodeId>30</NodeId>
</Call>
This is used, e.g. to simulate a light source in case of night scene. The given float number between 0 and 1 will be added to the ambient lighting component of the selected nodes.
Call:
Parameter | Type | Description |
---|---|---|
Luminance | float | Specifies additional brightness, range [0, 1]. |
Example:
xxxxxxxxxx
<Call Method="SetSelectedNodesLuminance">
<Luminance>0.1 0.1 0.1</Luminance>
</Call>
Sets the selection mode.
Call:
Parameter | Type | Description |
---|---|---|
SelectionMode | SelectionMode | Desired selection mode |
Example:
xxxxxxxxxx
<Call Method="SetSelectionMode">
<SelectionMode>Select</SelectionMode>
</Call>
Sets global settings.
Call:
Parameter | Type | Description |
---|---|---|
SettingsXML | SettingsXML | Desired global settings. |
Example:
xxxxxxxxxx
<Call Method="SetSettings">
<!-- SettingsXML -->
</Call>
Sets the WebViewer model repository path.
Note for WebViewer users:
This method only has an effect if the AllowModelRepositoryOverrides
setting in CRendererInstance.ini
is set to 1
(default: 0
)
Call:
Parameter | Type | Description |
---|---|---|
Path | String | Path to the model repository. |
Example:
xxxxxxxxxx
<Call Method="SetModelRepository">
<Path>C:\Path\To\Models</Path>
</Call>
Sets the properties of the specified Node.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] | NodeId | NodeId of the Node which should be changed. If no NodeId is provided, the selection will be used. |
VSXML | VSXML | Desired node properties. |
Example:
xxxxxxxxxx
<Call Method="SetNodeProperties">
<NodeId>14</NodeId>
<NodeId>15</NodeId>
<!-- VSXML -->
</Call>
Sets the transformation matrix of a specific node.
Parameter | Type | Description |
---|---|---|
Global [optional] | bool = true | If true, then the global matrix is set. Otherwise, the local matrix. |
NodeId | NodeId | NodeId of the node. |
TransformMatrix | Matrix | a 4x4 row major transformation matrix |
Example:
xxxxxxxxxx
<Call Method="SetNodeTransformMatrix">
<Global>true</Global>
<NodeId>14</NodeId>
<TransformMatrix>1 0 0 0 0 1 0 0 0 0 1 0 21.96 28.84 -36.01 1</TransformMatrix>
</Call>
Shows everything.
Example:
xxxxxxxxxx
<Call Method="ShowAll"></Call>
Show all callouts.
Example:
xxxxxxxxxx
<Call Method="ShowAllCallouts" />
Starts the playback of the ConfigurationViews.
Timing can be set per ConfigurationView. If not set, it is taken from ConfigurationView Settings.
Call:
Parameter | Type | Description |
---|---|---|
Positionoptional Default: 0 | UINT | Position of the ConfigurationView to start the playback. |
Reverseoptional Default: false | bool | Play towards the end or the beginning of the list. |
Numberoptional Default: 0 | UINT | The number of ConfigurationViewsin this playback sequence. 0 = All |
Example:
xxxxxxxxxx
<Call Method="SetSceneSettings">
<Settings>
<Scene>
<ConfigurationView>
<ViewPlay>
<TransitionTime>2</TransitionTime>
<DurationTime>1</DurationTime>
</ViewPlay>
</ConfigurationView>
</Scene>
</Settings>
</Call>
<Call Method="StartPlayConfigurationViews">
<Position>10</Position>
<Reverse>false</Reverse>
<Number>0</Number>
</Call>
Stops the playback of the .
Example:
xxxxxxxxxx
<Call Method="StopPlayConfigurationViews"/>
Undos a specifies number of actions.
Call:
Parameter | Type | Description |
---|---|---|
Steps | UINT = 1 | Number of steps which should be undone. |
Example:
xxxxxxxxxx
<Call Method="Undo">
<Steps>1</Steps>
</Call>
Unghosts all ghosted nodes.
Example:
xxxxxxxxxx
<Call Method="UnGhostAll"></Call>
Unlocks all callouts or all selected callouts.
Example:
xxxxxxxxxx
<Call Method="UnlockCallouts" />
Updates the callout id value of the provided BOM row.
If the BOM row contains no callout id, the provided callout id gets remembered to be used by the next call to GenerateBOMCallouts. If the new callout id is empty, any assigned or remembered callout id value gets cleared. If the row contains an id to an existing callout, the actual callout gets renamed.
Parameter | Type | Description |
---|---|---|
RowId | UINT | Id of the BOM row to update |
CalloutId | string | New callout id value to use |
Updates the ConfigurationView at the specified position.
Call:
Parameter | Type | Description |
---|---|---|
Position | UINT | Position of the ConfigurationView. |
Name | string | Optional: New name for the ConfigurationView |
Remarks:
If the optional Name
parameter is given in the call, then only a rename will be performed.
Example:
xxxxxxxxxx
<Call Method="UpdateConfigurationView">
<Position>2</Position>
</Call>
<Call Method="UpdateConfigurationView">
<Position>3<Position>
<Name>NewName</Name>
</Call>
Updates the saved selection with the currently selected nodes.
Call:
Parameter | Type | Description |
---|---|---|
Index | UINT | Index of the saved selection |
Example:
xxxxxxxxxx
<Call Method="UpdateSavedSelection">
<Index>0</Index>
</Call>
Updates the scene by deleting the current scene and rebuilding the node tree.
Call:
Parameter | Type | Description |
---|---|---|
KeepCreatedNodes | bool = true | Specifies if the "CreatedNodes" subtree should be preserved |
VSXML | VSXML | New structures VSXML |
Example:
xxxxxxxxxx
<Call Method="UpdateScene">
<KeepCreatedNodes>true</KeepCreatedNodes>
<!--VSXML-->
</Call>
Utilizes the "Reference" part of ImportMarkups to validate geometry
Call:
Parameter | Type | Description |
---|---|---|
Recover | bool Default: true | Try to recover reordered indices. This increases the time |
Example:
xxxxxxxxxx
<Call Method="ValidateGeometry">
<Recover>true</Recover>
</Call>
Collapses all nodes in the tree.
Example:
xxxxxxxxxx
<Call Method="VirtualTreeViewCollapseAll" />
Collapses the children of all selected nodes.
Example:
xxxxxxxxxx
<Call Method="VirtualTreeViewCollapseSelected" />
Expands all nodes in the tree.
Example:
xxxxxxxxxx
<Call Method="VirtualTreeViewExpandAll" />
Expands all selected nodes to make all their children visible.
Example:
xxxxxxxxxx
<Call Method="VirtualTreeViewExpandSelected" />
Expands the entire tree to the level of the selected node. This will not work if more than one node is selected.
Example:
xxxxxxxxxx
<Call Method="VirtualTreeViewExpandToSelectedLevel" />
Selects all nodes that are on the same level as the selected node. If more than one node is selected, the first one will be taken as reference.
Example:
xxxxxxxxxx
<Call Method="VirtualTreeViewSelectSameLevelNodes" />
Scrolls down the tree for the specified amount of steps.
Call:
Parameter | Type | Description |
---|---|---|
Steps | UINT | Number of steps to scroll down |
Example:
xxxxxxxxxx
<Call Method="VirtualTreeViewScrollDown">
<Steps>15</Steps>
</Call>
Scrolls up the tree for the specified amount of steps.
Call:
Parameter | Type | Description |
---|---|---|
Steps | UINT | Number of steps to scroll up |
Example:
xxxxxxxxxx
<Call Method="VirtualTreeViewScrollUp">
<Steps>15</Steps>
</Call>
Sets the number of lines visible to the amount specified.
Call:
Parameter | Type | Description |
---|---|---|
Size | UINT | Number of lines visible |
Example:
xxxxxxxxxx
<Call Method="VirtualTreeViewScrollUp">
<Size>20</Size>
</Call>
Expands a node if not expanded and collapses it otherwise.
Call:
Parameter | Type | Description |
---|---|---|
NodeId | NodeId | NodeId of the node to be toggled. |
Example:
xxxxxxxxxx
<Call Method="VirtualTreeViewToggleExpansion">
<NodeId>12</NodeId>
</Call>
Makes a node visible if hidden and hides it otherwise.
Call:
Parameter | Type | Description |
---|---|---|
NodeId | NodeId | NodeId of the node to be toggled. |
Example:
xxxxxxxxxx
<Call Method="VirtualTreeViewToggleVisibility">
<NodeId>12</NodeId>
</Call>
Zooms in.
Example:
xxxxxxxxxx
<Call Method="ZoomIn"></Call>
Zooms Out.
Example:
xxxxxxxxxx
<Call Method="ZoomOut"></Call>
Please use NewScene3D.
Creates a new empty 3DView.
Remarks: Any previous file will be closed without saving!
Example:
xxxxxxxxxx
<Call Method="New3DView"></Call>
Please use SetSceneSettings.
Sets the mouse buttons functions.
Call:
Parameter | Type | Description |
---|---|---|
LeftMouseButtonFunction [optional] | MouseButtonFunction | Desired mouse function |
RightMouseButtonFunction [optional] | MouseButtonFunction | Desired mouse function |
MiddleMouseButtonFunction [optional] | MouseButtonFunction | Desired mouse function |
Example:
xxxxxxxxxx
<Call Method="SetMouseButtonFunctions">
<MiddleMouseButtonFunction>Rotate</MiddleMouseButtonFunction>
<LeftMouseButtonFunction>Pan</LeftMouseButtonFunction>
</Call>
Please use SetSceneSettings.
Sets the render mode.
Call:
Parameter | Type | Description |
---|---|---|
RenderMode [multiple] | RenderMode | Desired render mode |
Example:
xxxxxxxxxx
<Call Method="SetRenderMode">
<RenderMode>Solid</RenderMode>
<RenderMode>Wires</RenderMode>
</Call>
Please use SetSceneSettings.
Shows the grid.
Example:
xxxxxxxxxx
<Call Method="ShowGrid"></Call>
Occurs if an interaction was activated.
Response:
Parameter | Description |
---|---|
Interaction(#Interaction) | Interaction Specifies the interaction which was activated. |
Example:
xxxxxxxxxx
<Event Type="ActivateInteraction">
<Interaction>Measurement_DistancePointToPoint</Interaction>
</Event>
Gets triggered whenever the auto alignment mode state of callouts changes.
Response:
Parameter | Description |
---|---|
State | bool Updated auto alignment state. |
Example:
xxxxxxxxxx
<Event Type="CalloutAutoAlignmentChanged">
<State>true</State>
</Event>
Gets triggered whenever the list of callouts changes.
Example:
xxxxxxxxxx
<Event Type="CalloutListChanged" />
Occurs if the selection changed. Contains a list of all selected callout ids or an empty list if none is selected.
Response:
Parameter | Description |
---|---|
CalloutId | CalloutId ID of a selected callout. (Can occur multiple times) |
Example:
xxxxxxxxxx
<Event Type="CalloutSelectionChanged">
<CalloutId>1</CalloutId>
<CalloutId>2</CalloutId>
<CalloutId>3</CalloutId>
</Event>
<!-- No callout selected -->
<Event Type="CalloutSelectionChanged">
</Event>
Parameter | Description |
---|---|
Item | Item One projected item. (Can occur multiple times) |
Id | Id |
CavasX | UINT X-position |
CavasY | UINT Y-position |
CalloutText | string |
CalloutName | string |
Visible | bool |
InViewport | bool |
Depth | float |
Response:
xxxxxxxxxx
<Event Method="CalloutProjection">
<Anchor2DPositions>
<Item>
<Id>5</Id>
<CavasX>100</CavasX>
<CavasY>200</CavasY>
<CalloutText>text</CalloutText> <!--optional-->
<CalloutName>name</CalloutName>
<Visible>true</Visible>
<InViewport>true</InViewport>
<Depth>0.5</Depth>
</Item>
</Anchor2DPositions>
</Event>
Occurs if an interaction was deactivated.
Response:
Parameter | Description |
---|---|
Interaction | <Interaction> Specifies the interaction which was deactivated. |
Example:
xxxxxxxxxx
<Event Type="DeactivateInteraction">
<Interaction>Measurement_DistancePointToPoint</Interaction>
</Event>
Gets triggered when the import was finished. For incrementally loaded 3DVS files, this will be after the entire content was loaded.
Example:
xxxxxxxxxx
<Event Type="ImportFinished">
</Event>
Gets triggered whenever a node got created.
Warning:
Due to the nature of how nodes get created internally it is currently not possible to reliably get the node's properties correctly when this event gets fired. This will be changed in a future update.
Response:
Parameter | Description |
---|---|
NodeId | <NodeId> NodeId of the created node |
Example:
xxxxxxxxxx
<Event Type="NodeCreated">
<NodeId>123</NodeId>
</Event>
Gets triggered whenever a node got deleted.
Response:
Parameter | Description |
---|---|
NodeId | <NodeId> NodeId of the deleted node |
Example:
xxxxxxxxxx
<Event Type="NodeDeleted">
<NodeId>123</NodeId>
</Event>
2D only
Gets triggered when the current document page changes. Can be sent by the client to change document pages.
Parameters:
Example:
xxxxxxxxxx
<!-- Sent by API -->
<Event Type="PageChanged" ViewId="0">
<Page>1</Page>
<Pages>2</Pages>
</Event>
<!-- Sent by client -->
<Event Type="PageChanged" ViewId="0">
<Page>1</Page>
</Event>
Gets triggered whenever a preset changed.
Response:
Parameter | Description |
---|---|
Type | PresetType Type of changed preset. |
Name | string Name of preset. If name is empty, no preset is active, i.e. userdefined settings. |
Example:
xxxxxxxxxx
<Event Type="PresetChanged" ViewId="0">
<Type>WallthicknessHeatmap</Type>
<Name/>
</Event>
<Event Type="PresetChanged" ViewId="0">
<Type>WallthicknessHeatmap</Type>
<Name>ray - quality</Name>
</Event>
Gets triggered whenever the list of saved selections changes.
Response:
Parameter | Description |
---|---|
Selection [ multiple ] | SavedSelection Updated list of all saved selections. |
Example:
xxxxxxxxxx
<Event Type="SavedSelectionsChanged" ViewId="0">
<Selection Index="0" Name="Foo"/>
<Selection Index="1" Name="Bar"/>
<Selection Index="2" Name="Baz"/>
</Event>
Occurs if the selection was changed. The event only includes internal Ids.
Response:
Parameter | Description |
---|---|
NodeType | <NodeType> |
NodeId | <NodeId> NodeIds of the currently selected nodes. |
Example:
xxxxxxxxxx
<Event Type="SelectionChanged">
<NodeType>ProductOccurence</NodeType>
<NodeId>25</NodeId>
<NodeId>29</NodeId>
</Event>
Occurs if the selection was changed. The event only includes CustomIds. If the clicked object does not contain its own CustomId, the event will return the next CustomId found while traversing upwards the model hierarchy.
Response:
Parameter | Description |
---|---|
NodeType | <NodeType> |
NodeId [multiple] | <NodeId> NodeIds of the currently selected nodes (#CustomId). |
Example:
xxxxxxxxxx
<Event Type="SelectionChangedCustomId">
<NodeType>ProductOccurence</NodeType>
<NodeId>#Fist</NodeId>
<NodeId>#Second</NodeId>
</Event>
Gets triggered when nodes are transformed, a boundary condition is activated/deactivated or a coordinate system is activated/deactivated.
Example:
xxxxxxxxxx
<Event Type="TransformChanged">
<Position>
<X Unit="mm">0.0</X>
<Y Unit="mm">0.0</Y>
<Z Unit="mm">0.0</Z>
</Position>
<Translation>
<X Unit="mm">0.0</X>
<Y Unit="mm">0.0</Y>
<Z Unit="mm">0.0</Z>
</Translation>
<Rotation>
<X Unit="°">0.0</X>
<Y Unit="°">0.0</Y>
<Z Unit="°">0.0</Z>
</Rotation>
</Event>
In case of activated boundary condition, e.g. rotation around a defined axis:
xxxxxxxxxx
<Event Type="TransformChanged">
<Position>
<X Unit="mm">0.0</X>
<Y Unit="mm">0.0</Y>
<Z Unit="mm">0.0</Z>
</Position>
<Translation>
<Axis Unit="°">0.0</X>
</Translation>
<Rotation>
<Axis Unit="°">0.0</X>
</Rotation>
</Event>
Gets triggered at the end of file import and sends the collected log messages from the importer.
Example:
xxxxxxxxxx
<Event Type="ImportLogMessage">
<Message>CATIA V5 / CGR (TM) file reader.\n Reading data from ...
</Event>
Gets triggered on scene change and whenever the heatmap values of a wallthickness computation changed.
Parameter Groups:
Result
Contains the computed minimum and maximum values of the heatmap. These values cannot be changed.
Visualization
Contains settings affecting the heatmap's visualization.
These values can be changed by sending back this event structure with the modified values.
Minimum and Maximum are expected to be floating point values without any attached unit like 1.23 mm
.
Example:
xxxxxxxxxx
<Event Type="WallthicknessValuesChanged" ViewId="0">
<Result>
<Minimum>0.388913</Minimum>
<Maximum>340.243134</Maximum>
</Result>
<Visualization>
<ColorScheme>RainbowRedToBlue</ColorScheme>
<Unit>Millimeter</Unit>
<Minimum>1.234567</Minimum>
<Maximum>340.243134</Maximum>
</Visualization>
</Event>
Mode
parameter)Name
parameter to ImportFileName
parameter to NewScene3DAdded method "GetCamera"
Added method "SetCamera"
Added method "SetSceneSettings"
Added method "GetSceneSettings"
Added method "SetSettings"
Added method "GetSettings"
Added method "GetNodeProperties"
Added method "SetNodeProperties"
Added method "NewScene3D"
Added method "UpdateScene"
Added method "FitAll"
Added method "UpdateScene"
Deprecated "New3DView"
Deprecated "SetRenderMode"
Deprecated "ShowGrid"
Deprecated "SetMouseButtonFunctions"
Changed method "GetPropertiesOfSelectedNodes", now handling multi-selection and sum of physical properties
Added "ExportFormat2D": SVG, DXF
Added method "FitWidth"
Added method "FitHight"
Added method "RotatePage"
Added method "GotoPage"
Added method "GetPageCount"
Renamed "Interaction" "Measurement_WallThickness" to "Measurement_WallThickness_RayBased"
xxxxxxxxxx
Isometric
Top
Left
Front
Bottom
Right
Back
Dimetric
32 bit color value with alpha
xxxxxxxxxx
#AARRGGBB
xxxxxxxxxx
NodePath
xxxxxxxxxx
A boolean value "true" or "false"
For "Color" its an 32 bit ARGB color.
xxxxxxxxxx
#AARRGGBB
xxxxxxxxxx
NodePath
xxxxxxxxxx
BillOfMaterial
ClashSync
ClashAsync
Distortion
Drillhole
Merge
MergeHierarchically
NeutralAxis
NumberOfTriangles
ProjectedArea
SectionGeometry
Split
VisibilityTest
Wallthickness
xxxxxxxxxx
Unknown
X
Y
Z
xxxxxxxxxx
NodesSelectedVsUnselected
NodesSelectionInternal
SelectionSetsSelectedVsUnselected
SelectionSetsSelectionInternal
xxxxxxxxxx
AxisAligned
Spherical
AxisX
AxisY
AxisZ
RadialXY
RadialYZ
RadialZX
xxxxxxxxxx
PRC
PDFPRC
STEP
IGES
PARASOLID
STL
U3D
ACIS
JT
VRML
VSXML
xxxxxxxxxx
PNG
JPG
SVG
DXF
xxxxxxxxxx
Single precision floating point value
3-dimensional vector of floating point values
xxxxxxxxxx
<X>1.0</X>
<Y>0.0</Y>
<Z>0.0</Z>
xxxxxxxxxx
Animation_AssignCoordinateToNode
BoundaryCondition_Axis
BoundaryCondition_AxisByCircle
BoundaryCondition_AxisByLine
BoundaryCondition_AxisX
BoundaryCondition_AxisY
BoundaryCondition_AxisZ
Callout_Creation
Callout_Modification
Callout_Deletion
Callout_Visibility
ClashDetection
Deactivate_AllInteractions
Deactivate_Animation
Deactivate_BoundaryCondition
Deactivate_Callout
Deactivate_ClashDetection
Deactivate_Distortion
Deactivate_DraftAngle
Deactivate_Drillhole
Deactivate_EntityCreation
Deactivate_Filter
Deactivate_Flythrough
Deactivate_Markup
Deactivate_Measurement
Deactivate_NeutralAxis
Deactivate_ProjectedArea
Deactivate_Section
Deactivate_Split
Deactivate_Transformation
Deactivate_Viewpoint
Deactivate_VisibilityTest
Deactivate_WallthicknessHeatmap
Distortion
DraftAngle
Drillhole
EntityCreation_CoordinateSystemBy3Planes
EntityCreation_CoordinateSystemBy3Points
EntityCreation_CoordinateSystemByBoundingBox
EntityCreation_CoordinateSystemByCircleCenter
EntityCreation_CoordinateSystemByCylinderAxis
EntityCreation_CoordinateSystemByLineAndPoint
EntityCreation_CoordinateSystemByLines
EntityCreation_CoordinateSystemByNormal
EntityCreation_CoordinateSystemGlobal
EntityCreation_CoordinateSystemPart
EntityCreation_PointByCircleCenter
EntityCreation_PointByCylinderCenter
EntityCreation_PointByPickPosition
EntityCreation_WireByCircleCenter
EntityCreation_WirePointToPoint
Filter
Flythrough
Flythrough_SelectStartPositionAndDirection
Markup_Circle
Markup_Freehand
Markup_Rectangle
Markup_Text
Measurement_AngleBetweenAxisEdge
Measurement_AngleBetweenPlaneDirection
Measurement_AngleBetweenTwoAxes
Measurement_AngleBetweenTwoLines
Measurement_AngleBetweenTwoPlanes
Measurement_AngleFromThreePoints
Measurement_BoundingBoxPart
Measurement_BoundingBoxWorld
Measurement_CircleArea
Measurement_CircleCenter
Measurement_CircleDiameter
Measurement_CircleForDrillhole
Measurement_CirclePerimeter
Measurement_CircleRadius
Measurement_DistanceAxisToAxis
Measurement_DistanceAxisToEdge
Measurement_DistanceCenterToCenter
Measurement_DistanceCylinderCenterToFace
Measurement_DistanceEdgeToEdge
Measurement_DistanceEdgeToFace
Measurement_DistanceEdgeToSolid
Measurement_DistanceFaceToCenter
Measurement_DistanceFaceToFace
Measurement_DistanceFaceToSolid
Measurement_DistancePointToAxis
Measurement_DistancePointToEdge
Measurement_DistancePointToFace
Measurement_DistancePointToPoint
Measurement_DistancePointToSolid
Measurement_DistanceSolidToSolid
Measurement_EdgeLength
Measurement_EdgeLengthAccumulated
Measurement_FaceArea
Measurement_FaceAreaAccumulated
Measurement_PointCoordinate
Measurement_WallThickness_RayBased
Measurement_WallThickness_RollingBall
NeutralAxis
ProjectedArea
Section
Section_From3CircleCenters
Section_From3Points
Section_FromPointNormal
Transformation_Align_CircleAxisToCircleAxis
Transformation_Align_CoordinateSystemToCoordinateSystem
Transformation_Align_Move_CircleCenterToCircleCenter
Transformation_Align_Move_PlaneToPlane
Transformation_Align_Move_PointToPoint
Transformation_Align_PlaneToPlane
Transformation_Align_Rotate_CircleCenterToCircleCenter
Transformation_Align_Rotate_NormalToNormal
Transformation_Align_Rotate_PointToPoint
Transformation_FreeDrag
Transformation_Move
Transformation_Rotate
Transformation_Scale
Viewpoint_SetAngle
Viewpoint_SetPosition
VisibilityTest
WallthicknessHeatmap
xxxxxxxxxx
Trace
Debug
Info
Warning
Error
Critical
Off
xxxxxxxxxx
None
Top
Bottom
Left
Right
TopBottom
LeftRight
Rectangle
Circle
NearToSolid
4x4 row major matrix of floating point values
xxxxxxxxxx
1 0 0 0 0 1 0 0 0 0 1 0 21.96 28.