XML API 文档 |
滚动 | |
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.
<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.
<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".
<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 |
---|---|---|
Positionoptional |
UINT |
Position of the ConfigurationView |
Nameoptional |
string |
Name of the ConfigurationView. If multiple views have the same name, the first one is chosen. |
Example:
<Call Method="ActivateConfigurationView">
<Position>2</Position>
</Call>
<Call Method="ActivateConfigurationView">
<Name>Initial view</Name>
</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:
<Call Method="ActivateGraphicalCompare">
<Activate>true</Activate>
</Call>
Activates the specified interaction mode.
Parameter | Type | Description |
---|---|---|
Interaction | Interaction |
Specifies the interaction which should be activated. |
Note: activation/deactivation of boundary condition (BoundaryCondition_Axis...) is handled differently, please refer to TransformChanged.
Example:
<Call Method="ActivateInteraction">
<Interaction>Measurement_PointCoordinate</Interaction>
</Call>
Activates the Illustration Mode (not concurrent). The function returns when all necessary wires have been computed and Illustration is active.
Example:
<Call Method="ActivateIllustrationMode">
</Call>
Activates the next ConfigurationView.
If the last ConfigurationView is active, nothing will happen.
Example:
<Call Method="ActivateNextConfigurationView"></Call>
Activates the special "OnSave" configuration view that contains the scene state when it was last saved.
Example:
<Call Method="ActivateOnSaveConfigurationView" />
Activates the previous ConfigurationView.
If the first ConfigurationView is active, nothing will happen.
Example:
<Call Method="ActivatePrevConfigurationView"></Call>
Activates one or more saved selections.
Call:
Parameter | Type | Description |
---|---|---|
Index[multiple] |
UINT |
Indices of saved selections to select. |
Example:
<Call Method="ActivateSavedSelections">
<Index>0</Index>
<Index>1</Index>
</Call>
Activates the selected "CoordinateSystem".
Example:
<Call Method="ActivateSelectedCoordinateSystem"></Call>
Adds an event listener.
Parameter | Type | Description |
---|---|---|
Event[multiple] |
Event |
Specifies the event which should be added. |
Example:
<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:
<Call Method="AlignCallouts" />
Aligns root nodes in a line or a plane to arrange them next to each other.
Parameter | Type | Description |
---|---|---|
Mode | UINT |
Mode of alignment: 1 = Line, 2 = Plane |
Example:
<Call Method="AlignRootNodes" />
<Mode>1</Mode>
</Call>
Aligns a solid to another solid, so that it fits best. Solids should be similar.
The bestfit option can be used as a first step to overlay alignment before comparing two versions.
Requieres either 2 selected nodes, or 2 root nodes.
The first solid ist aligned to the second one.
Example:
<Call Method="AlignSolidToSolid" />
Aligns the view.
Parameter | Type | Description |
---|---|---|
Alignment | AlignViewOption |
View alignment |
Example:
<Call Method="AlignView">
<Alignment>Top</Alignment>
</Call>
Assigns the given callout id to the row's nodes.
Call:
Parameter | Type | Description |
---|---|---|
RowId | UINT |
Row id |
CalloutId | string |
Callout id |
Example:
<Call Method="AssignCalloutIdToBillOfMaterialRow">
<RowId>0</RowId>
<CalloutId>123</CalloutId>
</Call>
Centers the handles of the functions section or transformation in the view.
Example:
<Call Method="CenterHandles">
<CenterHandleMode>Section</CenterHandleMode>
</Clall>
<Call Method="CenterHandles">
<CenterHandleMode>Transform</CenterHandleMode>
</Clall>
Clears the assigned callout of every node contained in the specified row.
Call:
Parameter | Type | Description |
---|---|---|
RowId | UINT |
Row id |
Example:
<Call Method="ClearBillOfMaterialCalloutId">
<RowId>0</RowId>
</Call>
Clears the assigned callout of every node contained in the bill of material.
Example:
<Call Method="ClearBillOfMaterialCalloutIds" />
Clear the CustomIds of nodes.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] |
NodeId |
NodeIds of the target nodes. If none are provided, the current selection will be used. |
InvertedSelection | bool = false | Clear the CustomIds of nodes, which are not listed / selected. |
Example:
<Call Method="ClearCustomIds">
<NodeId>34</NodeId>
<NodeId>35</NodeId>
<InvertedSelection>false</InvertedSelection>
</Call>
Clears/Resets text search and selected highlights of the current scene.
Example:
<Call Method="ClearTextSearch" />
Clears the validation data
Example:
<Call Method="ClearValidationData" />
Clears the view.
Example:
<Call Method="ClearView"></Call>
Closes the active scene.
Example:
<Call Method="Close"></Call>
Closes all open scenes.
Example:
<Call Method="CloseAll"></Call>
Colors all faces of a node or nodes with a unique color.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple, optional] |
NodeId |
NodeId(s) of the Node(s) which should be changed. If none are provided, the selection will be used. If nothing is selected, all nodes will be colored. |
OneColorPerInstance[optional] |
bool = false |
Nodes which share the same geometry (instances) are colored in the same way. |
Example:
<Call Method="ColorNodeFacesUnique">
<NodeId>67</NodeId>
<NodeId>89</NodeId>
<OneColorPerInstance>true</OneColorPerInstance>
</Call>
Colors nodes with a unique color.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple, optional] |
NodeId |
NodeId(s) of the Node(s) which should be changed. If none are provided, the selection will be used. If nothing is selected, all nodes will be colored. |
OneColorPerInstance[optional] |
bool = false |
Nodes which share the same geometry (instances) are colored in the same way. |
Example:
<Call Method="ColorNodesUnique"></Call>
Triggers a computation.
Call:
Remarks: 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:
<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 | CuttingPlaneMode |
Geometry type to create |
Step[optional] |
float | Enables creation of multiple geometries spaced by the given stepping value (in scene units) Creates section geometries underneath the cutting plane and can only be a positive value. |
BillOfMaterial
Parameter | Type | Description |
---|---|---|
ResponseWithResult[optional] |
bool = true |
The result will be included in the response => see GetBillOfMaterial |
Draft
Parameter | Type | Description |
---|---|---|
Direction[optional] |
float3 |
Draft direction. If not provided, the scene's draft direction will be used. |
HideOldNodes[optional] |
bool = true |
Hide the nodes the draft was calculated on. Set this to false if you want to perform multiple computations back to back. |
Special Responses:
Mode ProjectedArea
=>
<Response Method="Compute" Error="ERR_SUCCESS">
<Mode>ProjectedArea</Mode>
<Area>123</Area>
</Response>
Mode Split
=>
<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
, if call parameter ResponseWithResult
is true => see GetBillOfMaterial
Mode Inertia
=>
<Response Method="Compute" Error="SUCCESS">
<Inertia>
<InertiaPrincipalMoments M1="..." M2="..." M3="..."/>
<InertiaMoments IoxG="..." IoyG="..." IozG="..."/>
<InertiaProducts IxyG="..." IxzG="..." IyzG="..."/>
</Inertia>
</Response>
Mode Draft
=>
<Response Method="Compute" Error="ERR_SUCCESS">
<NodeId>123</NodeId>
<NodeId>129</NodeId>
</Response>
Executes "ExactCompare". The selection must contain 2 nodes or, if the selection is empty, the model must contain 2 root nodes.
Example:
<Call Method="ComputeExactCompare"></Call>
Converts DXF input file into another version.
Can also convert into binary DXF files.
Purge removes all unused items, such as block definitions and layers.
Parameter | Type | Description |
---|---|---|
FileName | Filename |
Name of the DXF input file (full path). |
OutputFileName | FileName |
Name of the DXF output file (full path). |
Version | Version |
Version of the DXF output file. |
Binary[optional] |
bool = false |
Output file will be binary DXF file. |
Purge[optional] |
bool = false |
Removes unused items from DXF output file. |
Example:
<Call Method="ConvertDXFVersion">
<FileName>C:\input.dxf</FileName>
<OutputFileName>C:\output.dxf</OutputFileName>
<Version>R32</Version>
<Binary>true</Binary> <!-- optional -->
<Purge>true</Purge> <!-- optional -->
</Call>
Converts a VSXML input file into one master STEP assembly file with nested external references (AP214-CC06).
The VSXML input file must contain references to already existing STEP files (.stp).
All transformations of STEP file references in VSXML are preserved, the structure is rebuilt with only one deeper level to ensure maximum compatibility with most STEP file readers.
The VSXML node names must match the part names in the step files for some STEP file readers.
Input VSXML file, output STEP file.
Parameter | Type | Description |
---|---|---|
FileName | FileName |
Name of the VSXML input file (full path). |
OutputFileName | FileName |
Name of the STEP output file (full path). |
Hierarchical | bool |
Write nodes as hierarchical tree structure |
Example:
<Call Method="ConvertVSXMLFileToNestedSTEP">
<FileName>C:\assembly.vsxml</FileName>
<OutputFileName>C:\assembly.stp</OutputFileName>
<Hierarchical>true</Hierarchical>
</Call>
Converts VSXML input into one master STEP assembly file with nested external references (AP214-CC06).
The VSXML input must contain references to already existing STEP files (.stp).
All transformations of STEP file references in VSXML are preserved, the structure is rebuilt with only one deeper level to ensure maximum compatibility with most STEP file readers.
The VSXML node names must match the part names in the step files for some STEP file readers.
Input VSXML data, output STEP file.
Parameter | Type | Description |
---|---|---|
VSXML | VSXML |
VSXML structure referencing STEP files |
OutputFileName | FileName |
Name of the STEP output file (full path). |
Hierarchical | bool |
Write nodes as hierarchical tree structure |
Example:
<Call Method="ConvertVSXMLToNestedSTEP">
<!--VSXML-->
<OutputFileName>C:\assembly.stp</OutputFileName>
<Hierarchical>true</Hierarchical>
</Call>
Adds nodes to the clipboard to be pasted or moved to other positions in the structure tree.
Parameter | Type | Description |
---|---|---|
NodeIds | NodeId |
Node(s) to be copied. |
Cut | bool |
Should the nodes be deleted after paste? |
Sort | bool |
Should the nodes be sorted like in the structure tree? |
Example:
<Call Method="CopyNodes">
<SceneId>1</SceneId>
<NodeId>34</NodeId>
<NodeId>56</NodeId>
<Cut>true</Cut>
<Sort>true</Sort>
</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:
<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:
<Call Method="CreateConfigurationView"></Call>
<Call Method="CreateConfigurationView">
<Name>Foo</Name>
</Call>
Creates a coordinate system from the given parameter(s).
Parameter | Type | Description |
---|---|---|
Position [optional] |
float3 |
Anchor of the coordinate system. |
Normal [optional] |
float3 |
Normal (Z-axis) of the coordinate system. |
Direction [optional] |
float3 |
Other direction (X-axis) of the coordinate system. Must be perpendicular to Normal . |
Activate [optional] |
bool = false |
Activate coordinate system after creation. |
If no position is provided, it will be (0, 0, 0). If no direction is provided, a random coordinate system is created with the normal as its Z-axis. If neither direction nor normal are provided, it will be an identity coordinate system.
Example:
<Call Method="CreateCoordinateSystem">
<Position>
<X>100</X>
<Y>0</Y>
<Z>0</Z>
</Position>
<Normal>
<X>1</X>
<Y>1</Y>
<Z>1</Z>
</Normal>
<Normal>
<X>1</X>
<Y>-1</Y>
<Z>0</Z>
</Normal>
</Call>
<Response Method="CreateCoordinateSystem" Error="SUCCESS">
<NodeId>130</NodeId>
</Response>
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] |
NodeId |
Optional: NodeIds of Nodes for which glare effects should be created. If no Ids get passed, a glare effect will be applied to every selected node. |
Name | string | Optional: Custom name for all nodes, which will be created. If the parameter is not used the name of the new node will be similar to the node for which the effect is created. |
CustomId | CustomId |
Optional: Custom id for all nodes, which will be created. If the parameter is not used the id will either be similar to the custom identierier of its reference node or empty if the reference nodes does not contain any custom id. |
FileName | FileName |
Optional: Name of the texture file which will be used for the glare effect. |
Example:
<Call Method="CreateGlareEffect">
<NodeId>85</NodeId> <!-- optional -->
...
<NodeId>#Node5879</NodeId> <!-- optional -->
<Name>Glare Effect</Name> <!-- optional -->
<CustomId>Part32B.2_GlareEffect</CustomId> <!-- optional -->
<FileName>fileName.png</FileName> <!-- optional -->
</Call>
<Response Method="CreateGlareEffect" Error="SUCCESS" />
Creates custom dimensioning with specific properties. The text normal, start and end positions are mandatory parameters. Default values are derived from the scene's existing dimensioning settings.
Call:
Parameter | Type | Description |
---|---|---|
Name [optional] |
Name |
Custom Name for the Dimensioning Node. |
CustomId [optional] |
CustomId |
Identifier for the custom dimensioning. |
ParentId [optional] |
NodeId |
Node id of the parent Node. |
Select [optional] |
bool |
Specifies if the custom dimensioning is selected. Default is false. |
Direction [optional] |
CoordinateDirection |
Specifies the coordinate direction for the custom dimensioning. |
Start | Anchor | Start anchor properties for the custom dimensioning. |
End | Anchor | End anchor properties for the custom dimensioning. |
Text | Text | Text properties for the custom dimensioning. |
Background [optional] |
Background | Background properties for the custom dimensioning. |
Frame [optional] |
Frame | Frame properties for the custom dimensioning. |
Line [optional] |
Line | Line properties for the custom dimensioning. |
Parameter | Type | Description |
---|---|---|
Position | float3 |
Position for the anchor. |
Type [optional] |
AnchorEndType |
Type for the anchor (e.g., Arrow, Sphere). |
Scale [optional] |
float |
Scale factor for the anchor. |
Parameter | Type | Description |
---|---|---|
Height [optional] |
float |
Height for the text. |
Normal | float3 |
Normal vector for the text. |
Origin [optional] |
float3 |
Origin for the text. |
Offset [optional] |
float2 |
2D Offset in the with origin and normal defined plane from the origin for the text. |
Rotation [optional] |
float |
Rotation for the text. |
Position [optional] |
MarkupTextPosition |
Position for the text (e.g., Top, Bottom). |
Docked [optional] |
bool |
Docks the Text to the measurement line. |
Prefix [optional] |
string |
Prefix for the text. |
Font [optional] |
string |
Font name for the text. |
FontSize [optional] |
UINT |
Font size for the text. |
Color [optional] |
RGB |
Color of the text. |
ShowUnit [optional] |
bool |
Specifies if the unit is shown. |
Unit [optional] |
LengthUnit |
Unit for the text (e.g., Millimeter, Inch). |
Precision [optional] |
UINT |
Precision for the text. |
Parameter | Type | Description |
---|---|---|
Visible [optional] |
bool |
Specifies if the background is visible. |
Color [optional] |
RGB |
Color for the background. |
Parameter | Type | Description |
---|---|---|
Type [optional] |
FrameType |
Type for the frame (e.g., Rectangle). |
Visible [optional] |
bool |
Specifies if the frame is visible. |
Color [optional] |
RGB |
Color for the frame. |
Parameter | Type | Description |
---|---|---|
Color [optional] |
RGB |
Color for the line. |
Width [optional] |
float |
Width for the line. |
Knockout [optional] |
bool |
Specifies if knockout is enabled for the line. |
ShowDirect [optional] |
bool |
Specifies if direct helper line is shown. |
ShowHelper [optional] |
bool |
Specifies if additional helper lines are shown. |
Example:
<Call Method="CustomDimensioning">
<CustomId>#YourCustomId</CustomId>
<Select>false</Select>
<Direction>X</Direction>
<Start>
<Position>
<X>50.71161715023053</X>
<Y>6.138636646058059</Y>
<Z>0.0</Z>
</Position>
<Type>Arrow</Type>
<Scale>0.1</Scale>
</Start>
<End>
<Position>
<X>10.49846</X>
<Y>57.34444</Y>
<Z>-22.00154</Z>
</Position>
<Type>Sphere</Type>
<Scale>0.2</Scale>
</End>
<Text>
<Height>1</Height>
<Normal>
<X>0.0</Y>
<Y>1.0</Y>
<Z>0.0</Z>
</Normal>
<Rotation>0</Rotation>
<Position>TopRight</Position>
<Docked>true</Docked>
<Prefix>Prefix </Prefix>
<Font>Arial</Font>
<FontSize>14</FontSize>
<Color>#FF0000</Color>
<ShowUnit>true</ShowUnit>
<Unit>Millimeter</Unit>
<Precision>7</Precision>
</Text>
<Background>
<Visible>true</Visible>
<Color>#FF0080</Color>
</Background>
<Frame>
<Type>Rectangle</Type>
<Visible>true</Visible>
<Color>#FF0080</Color>
</Frame>
<Line>
<Color>#FFC000</Color>
<Knockout>false</Knockout>
</Line>
</Call>
<Response Method="CustomDimensioning" Error="SUCCESS">
<NodeId>1234</NodeId>
</Response>
Deletes the ConfigurationView at the specified position.
Parameter | Type | Description |
---|---|---|
Interaction | UINT |
Position of the ConfigurationView. |
Example:
<Call Method="DeleteConfigurationView">
<Position>0</Position>
</Call>
Deletes all configuration views.
Example:
<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:
<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:
<!-- 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:
<Call Method="DeleteSavedSelection">
<Index>0</Index>
</Call>
Deletes all visible callouts.
Example:
<Call Method="DeleteVisibleCallouts" />
Deselects the given nodes, if not already deselected.
Parameter | Type | Description |
---|---|---|
NodeId [multiple] | <NodeId> |
NodeIds of the nodes to deselect. |
Example:
<Call Method="DeselectNodes">
<NodeId>1</NodeId>
<NodeId>2</NodeId>
<NodeId>3</NodeId>
</Call>
Disables automatic callout alignment.
Example:
<Call Method="DisableAutoCalloutAlignment" />
Enables automatic callout alignment.
Example:
<Call Method="EnableAutoCalloutAlignment" />
Evaluates the geometries in the model and prints log messages whether a geometry node contains simple BREP, simple/complex NURBS, or no BREP (tessellation only). This method is called prior to automated export, in order to identify and avoid exporting expensive models.
Example:
<Call Method="EvaluateBrepComplexity" />
Evaluates the geometries in the model and prints log messages whether a geometry node has degenerated (very slim) triangles. A triangle is degenerated if the smallest inner angle is smaller than setting Tools.TessellationDegeneration.EpsilonAngle. A geometry is degenerated if the number of degenerated triangles is more than > Setting Tools.TessellationDegeneration.EpsilonAngle. Degenerated geometries are colored Red, others green. Degenerated triangles are colored opaque, others transparent.
Example:
<Call Method="EvaluateTessellationDegeneration" />
<Response Method="EvaluateTessellationDegeneration" Error="SUCCESS">
<TessellationDegeneration>1000</TessellationDegeneration>
</Response>
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:
<Call Method="ExecuteNeighbourhoodSearch">
<Radius>10.0f</Radius>
</Call>
Explodes the model.
Parameter | Type | Description |
---|---|---|
Position | UINT |
Value between 0 and 100. |
ExplosionType | ExplosionType |
<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:
<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:
<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:
<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:
<!-- Exports all configuration views to the given file -->
<Call Method="ExportConfigurationViews">
<FileName>C:\views\exported.xml</FileName>
</Call>
<!-- 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>
<!-- Exports all views. Serialized as XML returned in the response -->
<Call Method="ExportConfigurationViews">
</Call>
<!-- 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>
Export table-like information as TXT, CSV, HTML-Table, JSON or XML.
Call:
Parameter | Type | Description |
---|---|---|
Type | ExportInformationType | Type of information to be exported: BOM, structure tree, etc. |
Format | ExportInformationFormat | The requested output format: TXT, CSV, HTML-Table, JSON, XML |
TranslateLanguageId[optional] |
bool |
Whether defined text components should be generated as the language in setting (default) or left untranslated. |
Base64Encoded [optional] |
bool |
Whether the output is base64-encoded, e.g. to handle character such as < , etc. Set to false for human-readable output. Note: the base64-encoded string is orgininally UTF8. You need to handle this after decoding. |
FileNameoptional |
string | Output filepath |
Example:
<Call Method = "ExportInformation">
<Type>NodeAttributes</Type>
<Format>TXT</Format>
<TranslateLanguageId>false</TranslateLanguageId>
<Base64Encoded>false</Base64Encoded>
</Call>
<Response Method="ExportInformation" Error="SUCCESS">
<ExportInformationString>
Attributes
BodyID MechanicalTool.1
</ExportInformationString>
<Format>TXT</Format>
</Response>
Exports all markups and provides their data in the response.
Optionally, their references can be exported as well and the export can be limited to visible markups only.
Call:
Parameter | Type | Description |
---|---|---|
VisibleDefault: true |
bool |
Only export visible Markups |
ReferencesDefault: true |
bool |
Export validatable ReferenceData See ImportMarkups and ValidateGeometry |
Example:
<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 |
CuttingPlaneMode | 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:
<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"/>
Exports the node structure as CSV, with one column for each level of depth.
If a filename is given, the structure will be saved to said filename, otherwise it will be returned in the response.
Call:
Parameter | Type | Description |
---|---|---|
FileNameoptional |
string | Output filepath |
Response:
Parameter | Type | Description |
---|---|---|
Structure | string |
CSV string containing the node structure. |
Example:
<Call Method="ExportStructureAsCSV">
</Call>
<Response Method="ExportStructureAsCSV" Error="SUCCESS">
<Structure>"Root";;
;"Child1";
;;"Child2"</Structure>
</Response>
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:
<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:
<Call Method="ExportViewsAsPNG">
<Directory>C:\ExportedViews</Directory>
<Overwrite>true</Overwrite>
<Id>0</Id>
<Id>1</Id>
</Call>
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:
<Call Method="ExportViewsOverviewAsPDF">
<FileName>C:\overview.pdf</FileName>
</Call>
Finds and replaces a string in either the node's name, custom id or attribute values.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] | <NodeId> |
NodeIds of the nodes whose data should be replaced. |
Type | string |
Type of data to find/replace: Name, CustomId or Attribute |
Attribute | string |
Only if type is Attribute: Attribute name to find/replace in. Skip to search all attributes. |
Find | string |
String to find. Can match part of the string, no wildcards. |
Replace | string |
String to replace Find with |
Example:
<Call Method="FindAndReplaceString">
<Type>Name</Type>
<Find>MechanicalTool</Find>
<Replace>Part</Replace>
</Call>
<Call Method="FindAndReplaceString">
<Type>Attribute</Type>
<Attribute>Created</Attribute>
<Find>2022</Find>
<Replace>2023</Replace>
</Call>
Fits the zoom so that the whole visible model can be seen.
Zoom level depends on projected bounding box of visible objects.
Applies Paddings if defined.
Call:
Parameter | Type | Description |
---|---|---|
Top [optional] |
UINT = 0 |
Padding added at the top in pixels. |
Bottom [optional] |
UINT = 0 |
Padding added at the bottom in pixels. |
Left [optional] |
UINT = 0 |
Padding added on the left in pixels. |
Right [optional] |
UINT = 0 |
Padding added on the right in pixels. |
Example:
<Call Method="FitAll">
<Padding> <!-- optional -->
<Top>10</Top> <!-- optional -->
<Bottom>22</Bottom> <!-- optional -->
<Left>15</Left> <!-- optional -->
<Right>0</Right> <!-- optional -->
</Padding>
</Call>
Fit the zoom to height of the model or page.
Example:
<Call Method="FitHeight"></Call>
Fit the zoom to the width of the model or page.
Example:
<Call Method="FitWidth"></Call>
Fixes orientation of all faces for all selected nodes or all nodes if none are selected.
Example:
<Call Method="FixFacesOrientation"></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:
<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>
Creates or updates an attribute for identifying nodes.
AttributeGenerationMode "NodePath" calculates a new attribute value based on the hierarchical structure of the nodes - Attribute_value_name: "root\name_of_parent_node\name_of_child_node".
The characters ">", "<" and "&" are replaced by "_".
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] |
NodeId |
NodeIds for creating or updating an attribute. If none are provided, the current selection will be used. |
Recursive | bool = false | Generate attribute recursively. |
IncludePartNodes | bool = false | Include Part nodes. |
Overwrite | bool = true | Overwrite attribute of noded if one is present |
Mode | AttributeGenerationMode = NodePath | Generation mode. |
Name | String | Name of the attribute to create. |
Example:
<Call Method="GenerateAttribute">
<NodeId>34</NodeId>
<NodeId>35</NodeId>
<Recursive>false</Recursive>
<IncludePartNodes>false</IncludePartNodes>
<Overwrite>true</Overwrite>
<Mode>NodePath</Mode>
<Name>Path</Name>
</Call>
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:
<Call Method="GenerateBOMCalloutIds">
<StartId>1</StartId>
</Call>
Generates callouts for each BOM entry with a callout id value.
Example:
<Call Method="GenerateBOMCallouts" />
Generates or updates the CustomIds of nodes.
CustomIdGenerationMode "NodePath" calculates a new CustomId based on the hierarchical structure of the nodes - CustomId: "root\name_of_parent_node\name_of_child_node_3".
The characters ">", "<" and "&" are replaced by "_".
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 that generated CustomIds are unique by adding a counter (_n) |
Mode | CustomIdGenerationMode = NodePath | Generation mode. |
Example:
<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:
<Call Method="GenerateFaces" />
Generates normals for all selected nodes or all nodes if none are selected.
Nodes with normals are ignored.
Example:
<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:
<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:
<Call Method="GenerateWires" />
Gets the analysis results for either Wallthickness, BandAnalysis or Curvature nodes.
Parameter | Type | Description |
---|---|---|
NodeId [multiple] |
NodeId |
NodeIds of the nodes. |
Global | bool |
Transforms the coordinates from model to world (global) space. Overridden by an active coordinate system. |
Example:
<Call Method="GetAnalysisResults">
<NodeId>20</NodeId>
<NodeId>21</NodeId>
<NodeId>22</NodeId>
<Global>true</Global>
</Call>
<Response Method="GetAnalysisResults">
<NodeId Id="20" Type="Wallthickness">
<Positions>100 100 0 100 100 0...</Positions>
<Values>100 50...</Values><!--1 each-->
</NodeId>
<NodeId Id="21" Type="BandAnalysis">
<Positions>100 100 0 100 100 0...</Positions>
<Values>50 60...</Values><!--1 each-->
</NodeId>
<NodeId Id="22" Type="Curvature">
<Positions>100 100 0 100 100 0...</Positions>
<Values>0.5 0.2...</Values><!--2 each-->
</NodeId>
</Response>
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:
<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:
<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.
<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:
<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:
<Call Method="GetBillOfMaterial" />
Response:
<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:
<Call Method="GetBillOfMaterialAttributeNames" />
Response:
<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:
<Call Method="GetBillOfMaterialNodePropertyNames" />
Response:
<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:
<Call Method="GetCalloutAnchor2DProjection">
<InViewport>true</InViewport>
<Quantity>10</Quantity>
</Call>
<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:
<Call Method="GetCallouts" />
Response:
<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:
<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:
<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 PNG image |
Example:
<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 PNG --></Image>
</ConfigurationView>
</Response>
Serialize the current view.
Response:
Parameter | Type | Description |
---|---|---|
CurrentView | XMLNode | Contains the serialzed wiew |
Example:
<Call Method="GetCurrentView" />
<Response Method="GetCurrentView" Error="SUCCESS">
<CurrentView>
<!-- viewxml -->
</CurrentView>
</Response>
Gets the names and metadata of all attachments in the current document. See ShowDocumentAttachment to display the attachment.
Response:
Parameter | Type | Description |
---|---|---|
Name | string |
Name of the attached file |
Id | UINT |
Attachment id, starting at 0 |
Level | UINT |
Attachment level. Root has 0, each parent -> child increments level by 1 |
Pages | UINT |
Number of pages if attachment is PDF, 0 otherwise |
Size | UINT |
Attachment size in bytes |
Created | UINT |
Creation date (seconds since epoch 1/1/1970 00:00:00 UTC, 0 if unknown) |
Edited | UINT |
Modification date (seconds since epoch 1/1/1970 00:00:00 UTC, 0 if unknown) |
Example:
<Call Method="GetDocumentAttachmentData"></Call>
<Response Method="GetDocumentAttachmentData" Error="SUCCESS">
<Attachment Name="Parent.pdf" Id="0" Level="0" Pages="1" Size="120000" Created="1327876849" Edited="1327876852"/>
<Attachment Name="Child1.prc" Id="1" Level="1" Pages="0" Size="80000" Created="0" Edited="0"/>
<Attachment Name="Child2.png" Id="2" Level="1" Pages="0" Size="40000" Created="1337876849" Edited="1337876852"/>
</Response>
Extracts the geometric properties of draft geometry.
Call:
Parameter | Type | Description |
---|---|---|
NodeId | NodeId |
Nodes to be tested. These should be the node ids returned by the Compute call. |
AngleAsDegree | bool = false |
Angle will be printed as degree instead of radians. |
Response:
For each band, a sub entry is provided with:
Parameter | Type | Description |
---|---|---|
Type | string |
Can be either Undercut , Error or the band's angle as defined in the settings. |
Positions | string |
The vertices' position in groups of 3 numbers. |
Values | string |
The angle value for each vertex, or -1 if undercut. |
Example:
<Call Method="GetDraftResults">
<NodeId>123</NodeId>
<AngleAsDegree>true</AngleAsDegree>
</Call>
<Response Method="GetDraftResults" Error="SUCCESS">
<Node Id="123">
<Band Type="Undercut">
<Positions>-37.5899 300.4502 186.11696...</Positions>
<Values>-1.000000...</Values>
</Band>
<Band Type="> 1.50°">
<Positions>-37.5899 300.4502 186.11696...</Positions>
<Values>89.999992...</Values>
</Band>
<Band Type="± 0.01°">
<Positions>0 -4.2632564e-14 100...</Positions>
<Values>89.999992...</Values>
</Band>
<Band Type="< -1.50°">
<Positions>-27.823017 194.31712 25.552103...</Positions>
<Values>89.999992...</Values>
</Band>
</Node>
</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 image |
Example:
<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:
<Response Method="GetLastPickDurationInSeconds" Error="SUCCESS">
<Duration>0.015</Duration>
</Response>
Gets the layers of the current scene.
Example:
<Response Method="GetLayers" Error="SUCCESS">
<Layer>
<Id>1</Id>
<Name>Layer1</Name>
<Visible>true</Visible>
</Layer>
<Layer>
<Id>2</Id>
<Name>Layer2</Name>
<Visible>false</Visible>
</Layer>
</Response>
Gets the maximum tree depth.
Response:
Parameter | Type | Description |
---|---|---|
MaxDepth | UINT |
Maximum tree depth |
Example:
<Call Method="GetMaxTreeDepth" />
<Response Method="GetMaxTreeDepth">
<MaxDepth>4</MaxDepth>
</Response>
Gets the current WebViewer model repository path.
Example:
<Call Method="GetModelRepository" />
<Response Method="GetModelRepository">
<Path>C:\Path\To\Models</Path>
</Response>
Attempts to extract a direction from a node. For coordinate systems, the Z axis is returned. For nodes constisting of wires, the first wire direction is returned.
Parameter | Type | Description |
---|---|---|
NodeId | NodeId |
NodeId of the node. |
Example:
<Call Method="GetNodeDirection">
<NodeId>14</NodeId>
</Call>
<Response Method="GetNodeDirection" Error="SUCCESS">
<Direction>
<X>1.000000</X>
<Y>0.000000</Y>
<Z>0.000000</Z>
</Direction>
</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:
<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:
<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:
<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:
<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:
<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:
<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:
<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:
<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:
<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:
<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:
<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:
<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:
<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 the current stack of undo operations.
Response:
Parameter | Type | Description |
---|---|---|
Step[multiple] |
string |
Translated undo step. |
Example:
<Call Method="GetUndoStack" />
<Response Method="GetUndoStack" Error="SUCCESS">
<Step>Select</Step>
<Step>Color</Step>
<Step>Color</Step>
<Step>Select</Step>
</Response>
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:
<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:
<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>
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] |
UINT |
Ids of the nodes to calculate wallthickness values for. |
Response:
Parameter | Type | Description |
---|---|---|
WallThickness | ||
- NodeId | UINT |
Id of the respective node |
- Values | float |
Floating values of all rolling balls: X Y Z radius |
Example:
<Call Method="GetWallthicknessRollingBallAnalysisResults"><NodeId>20</NodeId><NodeId>21</NodeId></Call>
<Response Method="GetWallthicknessRollingBallAnalysisResults" Error="ERR_SUCCESS">
<WallThickness NodeId="20" Values=""><!-- empty if non-tessellated node-->
<WallThickness NodeId="21" Values="0 0 0 5 1 2 3 1.3 (...)">
</Image>
</Response>
Scrolls to the specified page.
Call:
Parameter | Type | Description |
---|---|---|
Page | UINT |
Page to which to scroll. Page starts at 0. |
Example:
<Call Method="GotoPage">
<Page>2</Page>
</Call>
Hides all markups.
Example:
<Call Method="HideAllMarkups"></Call>
Hides all PMIs.
Example:
<Call Method="HideAllPMIs"></Call>
Hide all visible callouts.
Example:
<Call Method="HideVisibleCallouts" />
Imports a file or string containing attributes for nodes. The CSV needs to start with "# 3DVS Attribute CSV" to be imported. Attributes will be added to nodes whose name contains the element at the first column of the CSV.
Parameter | Type | Description |
---|---|---|
Path | string |
Path to the file containing attribute CSV. Takes precedence over content parameter. |
Content | bool |
Content of the attribute CSV, if there is no file. |
Examples:
<Call Method="ImportAttributeCSV">
<Path>C:\temp\test.csv</Path>
</Call>
<!-- Important: Correct newlines and no spaces -->
<Call Method="ImportAttributeCSV">
<Content># 3DVS Attribute CSV
Name;Index
Model;1
Submodel;2</Content>
</Call>
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:
<!-- Import views from given file, delete existing views prior to import -->
<Call Method="ImportConfigurationViews">
<DeleteExistingViews>true</DeleteExistingViews>
<FileName>C:\views\views.xml</FileName>
</Call>
<!-- 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:
<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
<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 VSXML to the specified node.
Use "0" for importing to the root node.
Call:
Parameter | Type | Description |
---|---|---|
NodeId | <NodeId> |
NodeId of the nodes to which the VSXML should be imported. |
VSXML | VSXML |
VSXML of nodes or markup to import |
Example:
<Call Method="ImportVSXMLToNode">
<NodeId>25</NodeId>
<!-- VSXML -->
</Call>
Increment the given value of a specified type by the corresponding delta in settings.
Parameter | Type | Description |
---|---|---|
Type | IncrementValueType |
Specifies the type of value to be incremented. The step size is defined by the corresponding settings. Associated events, i.e. TransformChanged or SectionChanged, will be triggered. |
Axis | CoordinateDirection |
The target axis: X, Y, Z. This parameter is not required in case of boundary condition axis or SectionMove, because there is only one axis. For SectionRotate, set Y for the red axis and Z for the blue axis. |
UpDown | UpDown |
"Up" means increment / add or "Down" means decrement / subtract. |
Example:
<Call Method="IncrementValue">
<Type>TransformationMove</Type>
<Axis>X</Axis>
<UpDown>Up</UpDown>
</Call>
Inverts the visibility of all nodes.
Example:
<Call Method="InvertVisibility"></Call>
Get current status of automatic callout alignment.
Example:
<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:
<Call Method="LockCallouts" />
Logs a message with an optional logging level.
Call:
Parameter | Type | Description |
---|---|---|
Message | string |
Log message |
Level[optional] |
LogLevel |
Log level |
Example:
<Call Method="LogMessage">
<Message>Hello world</Message>
<Level>Error</Level>
</Call>
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.
<Call Method="MeasureDistanceSolidsToSolids"><DistanceSolidsComputationType>SelectedVsUnselected</DistanceSolidsComputationType></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:
<Call Method="MeasureSelectedWireLength" />
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:
<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:
<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:
<Call Method="MoveConfigurationView">
<ConfigurationView>1</ConfigurationView>
<Position>2</Position>
</Call>
Moves the cursor to a specified position and performs a click.
Call:
Parameter | Type | Description |
---|---|---|
X | float |
Cursor X position from left |
Y | float |
Cursor Y position from top |
MouseButton[optional] |
<MouseButton> |
Mouse button |
Example:
<Call Method="MouseClick">
<X>10.0</X>
<Y>11.1</Y>
<MouseButton>Left</MouseButton>
</Call>
Performs a double click at a specified position.
Call:
Parameter | Type | Description |
---|---|---|
X | float |
Cursor X position from left |
Y | float |
Cursor Y position from top |
MouseButton[optional] |
<MouseButton> |
Mouse button |
Example:
<Call Method="MouseDoubleClick">
<X>10.0</X>
<Y>11.1</Y>
<MouseButton>Left</MouseButton>
</Call>
Performs a "Mouse down" action at a specified position.
Call:
Parameter | Type | Description |
---|---|---|
X | float |
Cursor X position from left |
Y | float |
Cursor Y position from top |
MouseFlag[optional] |
<MouseFlag> |
External flag code |
MouseButton[optional] |
<MouseButton> |
Mouse button |
Example:
<Call Method="MouseDown">
<X>10.0</X>
<Y>11.1</Y>
<MouseFlag>None</MouseFlag>
<MouseButton>Left</MouseButton>
</Call>
Moves the cursor to a specified position.
Call:
Parameter | Type | Description |
---|---|---|
X | float |
Cursor X position from left |
Y | float |
Cursor Y position from top |
MouseFlag[optional] |
<MouseFlag> |
External flag code |
MouseButton[optional] |
<MouseButton> |
Mouse button that is pressed during move |
Example:
<Call Method="MouseMove">
<X>10.0</X>
<Y>11.1</Y>
<MouseFlag>None</MouseFlag>
<MouseButton>None</MouseButton>
</Call>
Performs a "Mouse up" action at a specified position.
Call:
Parameter | Type | Description |
---|---|---|
X | float |
Cursor X position from left |
Y | float |
Cursor Y position from top |
MouseFlag[optional] |
<MouseFlag> |
External flag code |
MouseButton[optional] |
<MouseButton> |
Mouse button |
Example:
<Call Method="MouseUp">
<X>10.0</X>
<Y>11.1</Y>
<MouseFlag>None</MouseFlag>
<MouseButton>Left</MouseButton>
</Call>
Performs a mouse wheel scroll at the specified position.
Call:
Parameter | Type | Description |
---|---|---|
X | float |
Cursor X position from left |
Y | float |
Cursor Y position from top |
Delta | float |
Wheel delta |
Example:
<Call Method="MouseWheel">
<X>10.0</X>
<Y>11.1</Y>
<Delta>120.0</Delta>
</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 = 200 |
Width in pixels of the window in which the model should be displayed. |
Height[optional] |
UINT = 200 |
Height in pixels of the window in which the model should be displayed. |
Name[optional] |
string |
Name of the new scene |
Example:
<Call Method="NewScene3D">
</Call>
Scrolls to the next page of 2D documents.
Example:
<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[optional] |
UINT = 200 |
Width in pixels of the window in which the model should be displayed. |
Height[optional] |
UINT = 200 |
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):
<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):
<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>
Overwrites the initial state of the given or the selected nodes. Includes color, material, texture and transparency. If no node is selected, all nodes are affected.
Parameter | Type | Description |
---|---|---|
NodeId [multiple] |
NodeId |
NodeIds of the nodes. If no NodeId is provided, the selection will be used. |
Example:
<Call Method="OverwriteInitialNodeState" />
<Call Method="OverwriteInitialNodeState">
<NodeId>1</NodeId>
<NodeId>2</NodeId>
<NodeId>3</NodeId>
</Call>
Pastes previously copied nodes to each selected node according to the defined DropPosition. Some nodes are not compatible for some drop operations, so nodes may be pasted to different positions.
Call:
Parameter | Type | Description |
---|---|---|
NodeIds [optional] | NodeId |
Node(s) to paste the previously copied nodes to. If missing, a new root node will be created. |
DropPosition Default: Center |
DropPosition |
Relative position inside/next to the target node(s). |
UseExpandedState Default: false |
bool |
Should nodes be added as children if a node is expanded? |
Example:
<Call Method="PasteNodes">
<SceneId>2</SceneId>
<NodeId>78</NodeId>
<NodeId>90</NodeId>
</Call>
<Call Method="PasteNodes">
<SceneId>2</SceneId>
<NodeId>78</NodeId>
<NodeId>90</NodeId>
<DropPosition>Top</DropPosition>
<UseExpandedState>true</UseExpandedState>
</Call>
Initializing path based transformation by defining the path node, either by selecting one single wire node during the call or by specifying the node id.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [optional] | <NodeId> |
NodeId of the wire node, which specifies the path. If no NodeId is specified, current selection will be used. |
Example:
<Call Method="PathBasedTransformationInitializePath">
<NodeId>85</NodeId>
</Call>
Initializing path based transformation by defining the node to be dragged along the defined path.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] | <NodeId> |
NodeId of the wire node, which specifies the path. If no NodeId is specified, current selection will be used. |
Example:
<Call Method="PathBasedTransformationInitializeTargetNodes">
<NodeId>86</NodeId>
<NodeId>87</NodeId>
</Call>
Transform a set of specified node (by PathBasedTransformationInitializeTargetNodes) along a specified path (by PathBasedTransformationInitializePath) to the specified position, which is defined in length percentage of the total path length.
Call:
Parameter | Type | Description |
---|---|---|
Percentage | float |
Length percentage of the total path length |
Example:
<Call Method="PathBasedTransformationMoveTo">
<Percentage>20</Percentage>
</Call>
Activate the picking of another point to be moved during path editing.
Example:
<Call Method="PathEditingActivatePointSelection"/>
Finalize the path editing function and deactivate all associated interaction modes, i.e. point selection and translation handles.
<Call Method="PathEditingFinalize"/>
Initialize the path editing function. This method has to be called with one single selected wire node, i.e. the path to be edited.
Example:
<Call Method="PathEditingInitialize"/>
Pauses rendering and tree updates.
Example:
<Call Method="PauseRendering"></Call>
Scrolls to previous page of 2D documents.
Example:
<Call Method="PreviousPage"></Call>
Executes a top-down recursive reload of the nodes, which is to be used after a structure-only import. Example usecase: as a workaround in case of an unsuccessful standard model import because some of the referenced parts are unsupported.
Example:
<Call Method="ReloadAllNodes"></Call>
Removes all empty nodes from the current scene.
Example:
<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:
<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:
<Call Method="RemoveFaces" />
Removes normals for all selected nodes or all nodes if none are selected.
Example:
<Call Method="RemoveNormals" />
Removes wires for all selected nodes or all nodes if none are selected.
Example:
<Call Method="RemoveWires" />
Renames the callout id assigned to the row's nodes.
Call:
Parameter | Type | Description |
---|---|---|
RowId | UINT |
Row id |
CalloutId | string |
Callout id |
Example:
<Call Method="RenameBillOfMaterialRowCalloutId">
<RowId>0</RowId>
<CalloutId>456</CalloutId>
</Call>
Renames a saved selection.
Call:
Parameter | Type | Description |
---|---|---|
Index | UINT |
Index of the selection |
Name | string |
New name of the selection |
Example:
<Call Method="RenameSavedSelection">
<Index>0</Index>
<Name>FooBar</Name>
</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:
<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:
<Call Method="ResetCoordinateSystem"></Call>
Reset the scene lighting to the default ambient, diffuse and specular values.
Example:
<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:
<Call Method="ResetNodesLuminance" />
Resets the state of the given or the selected nodes back to the initial state. Includes color, material, texture and transparency. If no node is selected, all nodes are affected.
Parameter | Type | Description |
---|---|---|
NodeId [multiple] |
NodeId |
NodeIds of the nodes. If no NodeId is provided, the selection will be used. |
Example:
<Call Method="ResetNodesToInitialState" />
<Call Method="ResetNodesToInitialState">
<NodeId>1</NodeId>
<NodeId>2</NodeId>
<NodeId>3</NodeId>
</Call>
Resets the scene's wall thickness heat map visualization properties.
Example:
<Call Method="ResetWallthicknessVisualization" />
Resets the zoom, whole model can be seen without leaving the window extends on rotating the camera.
Example:
<Call Method="ResetZoom"></Call>
Resumes rendering and updates tree.
Example:
<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:
<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:
<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 |
Save subtrees of the modelfile, starting from the provided NodeIds below. If no NodeIds are provided, the selection will be used. |
NodeId [multiple] |
NodeId |
Node to save. |
Example:
<Call Method="SaveAs">
<FileName>C:\test.3dvs</FileName>
<SaveNodes>true</SaveNodes>
<NodeId></NodeId>
</Call>
Save the Session as 3DVS file.
Remarks:
Saving will overwrite existing files**!**
Call:
Parameter | Type | Description |
---|---|---|
FileName | string |
Relative path of the new file, starting from the configured modelrepository |
SaveNodes[optional] |
bool = false |
Save subtrees of the modelfile, starting from the provided NodeIds below. If no NodeIds are provided, the current selection is used. |
NodeId [multiple] |
NodeId |
Node to save. |
Example:
<Call Method="SaveAsRelative">
<FileName>test.3dvs</FileName>
<SaveNodes>true</SaveNodes>
<NodeId></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:
Parameter | Type | Description |
---|---|---|
Index | UINT |
Index of the selection |
Name | string |
Name of the selection |
Example:
<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:
<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 and select nodes as defined by a search rule, allowing for a more detailed search. Only the rule is required; the remaining parameters have default values, sometimes taken from the scene settings.
Call:
Parameter | Type | Description |
---|---|---|
Rule | string |
A string which specifies the search parameters. |
IncludeHiddenGeometries | bool , taken from scene settings if missing |
Specifies if hidden geometry should be included in the search. |
CaseSensitive | bool , taken from scene settings if missing |
Specifies if search terms should be treated case-sensitive. Keywords are always case-insensitive. |
ReturnNodeIds | bool = true |
Node ids and custom ids (if applicable) of found nodes will be added to the response call. |
SelectionMode | SearchSelectionMode = Select |
Specifies how found nodes interact with the existing selection in the scene. |
Action | RuleAction = None |
Specifies what should be done with the nodes that were found by the rule. |
Response:
Parameter | Type | Description |
---|---|---|
NodeId [multiple] |
NodeId |
Nodes matching the rule string, with optional custom ids |
List of possible rule syntax elements:
Operator | Comment |
---|---|
< | The first argument is smaller than the second one |
<= | The first argument is smaller than or equal to the second one |
= | The first argument is equal to the second one |
>= | The first argument is greater than or equal to the second one |
> | The first argument is greater than the second one |
is | The first argument is equal to the second one |
and | Logical combination between two arguments where both must be true. Takes precedence over the "or" operator. |
or | Logical combination between two arguments where both at least one must be true. |
not | Logical combination that negates the following operator |
Keyword | Comment |
---|---|
node.isvisible | The node is visible in the scene (not the structure tree) |
node.istransformed | The node has a transformation set, so a translation, rotation or scaling is applied |
node.iscuttable | The node can be cut |
node.isghosted | The node has been ghosted |
node.hasvertexcolors | The node's geometry has vertex colors (it does not matter if they are displayed) |
node.hasgeometry | The node has geometry (can be triangles, wires or points) |
node.hasbrep | The node has BREP data |
node.hascustomid | The node has a custom id |
node.iscuttabilitylocked | The node has the following constraint set: cuttability locked |
node.isvisibilitylocked | etc |
node.iscolorlocked | etc |
node.ismateriallocked | etc |
node.istransparencylocked | etc |
node.isghostlocked | etc |
node.iscoloroverwritelocked | etc |
node.istransparencyoverwritelocked | etc |
node.id | Returns the node id |
node.geometryid | Returns the node's geometry id. If the node has no geometry, it will return 0 |
node.color | Returns the node's color. Expects a hexadecimal representation (such as #FF00FF) |
node.vertexcolor | Checks if a node's geometry contains a specific vertex color. Expects a hexadecimal representation (such as #FF00FF) |
node.volume | Returns the node's volume or 0 if none has been calculated |
node.surface | Returns the node's surface or 0 if none has been calculated |
node.density | Returns the node's density or 0 if none has been calculated |
node.mass | Returns the node's mass or 0 if none has been set |
node.transparency | Returns the node's transparency |
node.luminance | Returns the node's luminance |
node.scale | Returns the node's scale |
node.name | Returns the node's name |
node.type | Returns the node's type, such as "ProductOccurrence" |
node.customid | Returns the node's custom ID or empty if none has been set |
node.filepath | Returns the node's filepath or empty if none has been set |
node.material | Returns the node's material |
node.texture | Returns the node's texture |
markup.content | If the node is a markup, queries all markup contents (the visible text) |
node.attribute("x") | Checks if a node has a specific attribute |
node.attribute("x")="y" | Checks if a node has a specific attribute with a specific value |
node.attribute("x")>=double | Checks if a node has a specific attribute with a numerical value, and compares it |
contains(node.dataType, "abc", "def") | Checks if a node datum exists in a specified list. Possible data are name, customid and color. Wildcards are allowed. |
contains(node.attribute, "attributeName", "abc", "def") | Same as above, but with the attribute name included before the list. |
Example:
<Call Method="SearchNodesByRule">
<Rule>node.isvisible</Rule>
<IncludeHiddenGeometries>true</IncludeHiddenGeometries>
<CaseSensitive>true</CaseSensitive>
<ReturnNodeIds>false</ReturnNodeIds>
<IncludePartNodes>false</IncludePartNodes>
<SelectionMode>None</SelectionMode>
<Action>Hide</Action>
</Call>
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:
<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:
<!-- Aligns the section pane on the X axis. -->
<Call Method="SectionAlignAxis">
<Axis>X</Axis>
</Call>
Selects all geometries.
Example:
<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:
<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:
<Call Method="SelectClashIndex">
<RowId>1</RowId>
</Call>
Selects all geometries. Visibility can be controlled via the Visible
parameter.
Call:
Parameter | Type | Description |
---|---|---|
VisibleDefault: true |
bool |
Only select visible geometries. |
Example:
<Call Method="SelectGeometries"><Visible>false</Visible></Call>
Selects all markups. Visibility can be controlled via the Visible
parameter.
Call:
Parameter | Type | Description |
---|---|---|
VisibleDefault: true |
bool |
Only select visible markups. |
Example:
<Call Method="SelectMarkups"><Visible>false</Visible></Call>
Selects all PMIs. Visibility can be controlled via the Visible
parameter.
Call:
Parameter | Type | Description |
---|---|---|
VisibleDefault: true |
bool |
Only select visible PMIs. |
Example:
<Call Method="SelectPMIs"><Visible>false</Visible></Call>
Selects any objects. Visibility can be controlled via the Visible
parameter.
Call:
Parameter | Type | Description |
---|---|---|
VisibleDefault: true |
bool |
Only select visible objects. |
Example:
<Call Method="SelectObjects"><Visible>false</Visible></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:
<Call Method="SelectSurfaces" />
<Response Method="SelectSurfaces" Error="SUCCESS">
<Number>34</Number>
</Response>
Selects all visible callouts.
Example:
<Call Method="SelectVisibleCallouts" />
Sets the animation axis for the selected nodes.
Call:
Parameter | Type | Description |
---|---|---|
Direction | CoordinateDirection |
Animation axis |
Example:
<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:
<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.
<!-- 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:
<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:
<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:
<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:
<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:
<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:
<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:
<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:
<Call Method="SetSelectedNodes">
<AddToSelection>true/false</AddToSelection>
<NodeId>#YourCustomId</NodeId>
<NodeId>30</NodeId>
</Call>
This is used, for example, to simulate a light source in night scenes, such as a position light or daytime running light.
The given float number between 0 and 1 will be added to the ambient lighting component of the selected nodes.
The light color is determined by the color of the node.
Call:
Parameter | Type | Description |
---|---|---|
Luminance | float |
Specifies additional brightness, range [0, 1]. |
Example:
<Call Method="SetSelectedNodesLuminance">
<Luminance>0.1</Luminance>
</Call>
Sets the selection mode.
Call:
Parameter | Type | Description |
---|---|---|
SelectionMode | SelectionMode |
Desired selection mode |
Example: |
<Call Method="SetSelectionMode">
<SelectionMode>Select</SelectionMode>
</Call>
Sets global settings.
Call:
Parameter | Type | Description |
---|---|---|
SettingsXML | SettingsXML |
Desired global settings. |
Example:
<Call Method="SetSettings">
<!-- SettingsXML -->
</Call>
Sets the visibility of a layer. Toggles the visibility, if the bool-parameter is not set.
Example:
<Call Method="SetLayerVisibility" Error="SUCCESS">
<Id>0</Id>
<Visible>false</Visible>
</Call>
Set the direction of the specified directional light source to the current viewing direction.
Example:
<Call Method="SetLightDirectionToCameraDirection">
<Index>2</Index>
</Call>
Set the position of the specified point light source to the bounding box center of the current selection.
Example:
<Call Method="SetLightPositionToSelectionCenter">
<Index>2</Index>
</Call>
Sets the node color of all nodes with a material to the material color. The material will not be removed. Vertex colors can optionally be removed.
Call:
Parameter | Type | Description |
---|---|---|
NodeId [multiple, optional] |
NodeId |
NodeId(s) of the Node(s) which should be changed. If none are provided, the selection will be used. |
RemoveVertexColors Default: false |
bool |
If vertex colors should also be removed. |
Example:
<Call Method="SetMaterialColorAsNodeColor">
<RemoveVertexColors>true</RemoveVertexColors>
</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:
<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:
<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:
<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>
Sets offset for aligning transformation functions, i.e. move point-to-point, move circle-center-to-circle-center, move circle-center-to-point, move plane-to-plane (with axis boundary condition).
Example:
<Call Method="SetTransformAlignmentOffset">
<Offset>1.5f</Offset>
</Call>
<Response Method="SetTransformAlignmentOffset" Error="SUCCESS" />
Shows everything.
Example:
<Call Method="ShowAll"></Call>
Shows all callouts.
Example:
<Call Method="ShowAllCallouts" />
Shows the attachment of the current scene at the specified index from GetDocumentAttachmentData.
Works only for PDF attachments at this time.
Call:
Parameter | Type | Description |
---|---|---|
Index | UINT |
Attachment index in the list, starting at 0 |
Example:
<Call Method="ShowDocumentAttachment"><Index>1</Index></Call>
<Response Method="ShowDocumentAttachment" Error="ErrorCode"/>
Possible errors:
Error code | Description |
---|---|
SUCCESS | Attachment was successfully shown. |
WARN_NO_ACTION_PERFORMED | Attachment currently shown was selected. |
ERR_INDEX_OUT_OF_RANGE | Index range was invalid. |
ERR_UNABLE_TO_IMPORT_3D_TO_2D | 3D attachment was selected for display. |
ERR_UNABLE_TO_LOAD_FILE | if the file is broken or the format is not supported. |
Starts a new split session, the current split session will be reseted, i.e. all directions and split groups will be deleted.
Example:
<Call Method="StartNewSplitSession"/>
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:
<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 ConfigurationViews.
Example:
<Call Method="StopPlayConfigurationViews"/>
Compute the structure
Call:
Parameter | Type | Description |
---|---|---|
NodeId [optional] |
NodeId |
Nodes to be compared. If not provided, the two selected nodes or root nodes will be used instead. |
Format | ExportInformationFormat | Format in which the computation results will be provided. |
Options | string | Options for the comparison, separated by comma, case sensitive. Please refer to the table below for details. |
FileName | Filename |
If set, the computation results will be written to the file. Otherwise, the ExportInformationString return parameter will be used instead. |
The following options can be toggled on or off. The node name is always compared against.
Option | Description |
---|---|
Filepath | |
Structure | Added or removed nodes |
Visibility | |
Text | CustomId, PMI texts |
Appearance | Color, material, texture |
Transformation | Rotation, translation, scaling |
Attributes | |
Geometry | |
PhysicalProperties | Volume, surface, density |
All | All of the above |
Example:
<Call Method="StructureCompare">
<NodeId>123</NodeId>
<NodeId>456</NodeId>
<Format>CSV</Format>
<Options>Text,Attributes</Options>
</Call>
Call:
Selects a row in the Structure compare results. The settings in Settings.Scene.Tools.StructureCompare.Visualization
dictate what happens upon selection.
Parameter | Type | Description |
---|---|---|
Index | UINT = -1 |
Index of the row to select. Send -1 to deselect. |
Example:
<Call Method="StructureCompareSelectRow">
<Index>1</Index>
</Call>
Terminates the currently open split session, which is a loop of selecting split direction and triggering computation. Hence, this method can e.g. be used to deactivate the direction selecting interaction mode.
<Call Method="TerminateSplitSession"/>
Undos a specifies number of actions.
Call:
Parameter | Type | Description |
---|---|---|
Steps | UINT = 1 |
Number of steps which should be undone. |
Example:
<Call Method="Undo">
<Steps>1</Steps>
</Call>
Toggles the selection state of the given nodes.
Parameter | Type | Description |
---|---|---|
NodeId [multiple] | <NodeId> |
NodeIds of the nodes to toggle. |
Example:
<Call Method="ToggleNodeSelection">
<NodeId>1</NodeId>
<NodeId>2</NodeId>
<NodeId>3</NodeId>
</Call>
Unghosts all ghosted nodes.
Example:
<Call Method="UnGhostAll"></Call>
Unlocks all callouts or all selected callouts.
Example:
<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:
<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:
<Call Method="UpdateSavedSelection">
<Index>0</Index>
</Call>
Updates the scene by deleting the current scene and rebuilding the node structure tree using a cache of 3DVS references from the previous UpdateScene call.
Use NewScene3D to start with an empty scene or clean the cache.
Call:
Parameter | Type | Description |
---|---|---|
KeepCreatedNodes | bool = true |
Specifies if the "CreatedNodes" subtree should be preserved |
VSXML | VSXML |
New scene structures VSXML |
Example:
<Call Method="UpdateScene">
<KeepCreatedNodes>false</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:
<Call Method="ValidateGeometry">
<Recover>true</Recover>
</Call>
Collapses all nodes in the tree.
Example:
<Call Method="VirtualTreeViewCollapseAll" />
Collapses the children of all selected nodes.
Example:
<Call Method="VirtualTreeViewCollapseSelected" />
Expands all nodes in the tree.
Example:
<Call Method="VirtualTreeViewExpandAll" />
Expands all selected nodes to make all their children visible.
Example:
<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:
<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:
<Call Method="VirtualTreeViewSelectSameLevelNodes" />
Sets the number of lines visible to the amount specified.
Call:
Parameter | Type | Description |
---|---|---|
Size | UINT |
Number of lines visible |
Example:
<Call Method="VirtualTreeViewScrollUp">
<Size>20</Size>
</Call>
Scrolls down the tree for the specified amount of steps.
Call:
Parameter | Type | Description |
---|---|---|
Steps | UINT |
Number of steps to scroll down |
Example:
<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:
<Call Method="VirtualTreeViewScrollUp">
<Steps>15</Steps>
</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:
<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:
<Call Method="VirtualTreeViewToggleVisibility">
<NodeId>12</NodeId>
</Call>
Zooms in.
Example:
<Call Method="ZoomIn"></Call>
Zooms Out.
Example:
<Call Method="ZoomOut"></Call>
Please use NewScene3D.
Creates a new empty 3DView.
Remarks:
Any previous file will be closed without saving**!**
Example:
<Call Method="New3DView"></Call>
Executes "BrepCompare". The selection must contain 2 nodes or, if the selection is empty, the model must contain 2 root nodes.
Example:
<Call Method="ComputeBrepCompare"></Call>
Please use CenterHandles.
Centers the cutting pane handle in the view.
Example:
<!-- Affects the current view -->
<Call Method="SectionCenterHandles" />
<!-- Affects a specific view -->
<Call Method="SectionCenterHandles" ViewId="2" />
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:
<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:
<Call Method="SetRenderMode">
<RenderMode>Solid</RenderMode>
<RenderMode>Wires</RenderMode>
</Call>
Please use SetSceneSettings.
Shows the grid.
Example:
<Call Method="ShowGrid"></Call>
Occurs if an interaction was activated.
Response:
Parameter | Description |
---|---|
Interaction(#interaction) | Interaction Specifies the interaction which was activated. |
Example:
<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:
<Event Type="CalloutAutoAlignmentChanged">
<State>true</State>
</Event>
Gets triggered whenever the list of callouts changes.
Example:
<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:
<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:
<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:
<Event Type="DeactivateInteraction">
<Interaction>Measurement_DistancePointToPoint</Interaction>
</Event>
Gets triggered when the import was finished.
Example:
<Event Type="ImportFinished">
</Event>
Gets triggered at the end of file import and sends the collected log messages from the importer.
Example:
<Event Type="ImportLogMessage">
<Message>CATIA V5 / CGR (TM) file reader.\n Reading data from ...
</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:
<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:
<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:
Parameter | Description |
---|---|
Page | UINT Current page, starts from 1. |
Pages | UINT Page count. |
Example:
<!-- 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:
<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:
<Event Type="SavedSelectionsChanged" ViewId="0">
<Selection Index="0" Name="Foo"/>
<Selection Index="1" Name="Bar"/>
<Selection Index="2" Name="Baz"/>
</Event>
Occurs on every click related to node selections and contains selected NodeIds and type or nothing if selection is empty.
The event contains the internal Id of the selected node and the node type if it is the same for all nodes or "various".
Response:
Parameter | Description |
---|---|
NodeType | <NodeType> |
NodeId | <NodeId> NodeIds of the currently selected nodes. |
Example:
<Event Type="SelectionChanged">
<NodeType>ProductOccurence</NodeType>
<NodeId>25</NodeId>
<NodeId>29</NodeId>
</Event>
Occurs on every click related to node selections and contains CustomIds or nothing if no CustomId is found in the current 3D scene or if the selection is empty.
Contains the node type if it is the same for all nodes or "various".
This event contains only CustomIds typically set by integrations via VSXML or by API on prepared 3DVS files.
If the clicked object does not contain its own CustomId, the event returns the next CustomId found while traversing up the model hierarchy or nothing.
The CustomId is used for mapping between a leading system and the current 3D scene in both directions.
Response:
Parameter | Description |
---|---|
NodeType | <NodeType> |
NodeId [multiple] |
<NodeId> NodeIds of the currently selected nodes (#customid). |
Example:
<Event Type="SelectionChangedCustomId">
<NodeType>ProductOccurence</NodeType>
<NodeId>#Fist</NodeId>
<NodeId>#Second</NodeId>
</Event>
is triggered:
Parameter | Type | Description |
---|---|---|
Position | float3 |
transform the position of boundingbox center |
Translation | float3 |
translate by the given 3d vector, single value X/Y/Z is valid |
float Axis |
One single value in case of active boundary condition | |
Rotation | float X |
rotate around X axis, in degree |
float Y |
rotate around Y axis, in degree | |
float Z |
rotate around Z axis, in degree | |
float Axis |
One single value in case of active boundary condition, in degree | |
Scaling | float Scale |
scale, valid value is between 0.001 and 100000.0 |
BoundaryConditionActive | bool |
Activate or deactivate boundary condition |
BoundaryCondition | Interaction |
Set type of boundary condition, i.e. BoundaryCondition_Axis... |
Example:
<!-- Possible transfomation steps: Position, Translation, Rotation, Scale -->
<Event Type="TransformChanged"><Position><X>0.0</X><Y>0.0</Y><Z>0.0</Z></Position></Event>
<Event Type="TransformChanged"><Translation><Y>10.0</Y></Translation></Event>
<Event Type="TransformChanged"><Rotation><X>90.0</X></Rotation></Event>
<Event Type="TransformChanged"><Scaling><Scale>500</Scale></Scaling></Event>
<!-- Transformation in case of activated boundary condition, e.g. rotation around a defined axis -->
<Event Type="TransformChanged"><Rotation><Axis>45.0</Axis></Rotation></Event>
<!-- Activate/deactivate boundary condition -->
<Event Type = "TransformChanged"><BoundaryConditionActive>true</BoundaryConditionActive></Event>
<!-- Set a type of boundary condition -->
<Event Type = "TransformChanged"><BoundaryCondition>BoundaryCondition_AxisByCircle</BoundaryCondition></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:
<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"
Isometric
Top
Left
Front
Bottom
Right
Back
Dimetric
Axis
None
Arrow
AngledLine
Cross
Sphere
ThinArrow
Line
WireLine
WireAngledLine
WireCross
WireArrow
WireReverseArrow
32 bit color value with alpha
#AARRGGBB
NodePath
A boolean value "true" or "false"
For "Color" its an 32 bit ARGB color.
#AARRGGBB
NodePath
ProjectedArea
VisibilityTest
Distortion
Wallthickness
NeutralAxis
NumberOfTriangles
Drillhole
Split
BillOfMaterial
SectionGeometry
Merge
MergeHierarchically
ClashSync
ClashAsync
Inertia
BandAnalysis
Curvature
X
Y
Z
Filled
Wire
Solids
SelectedVsUnselected
SelectionInternal
AxisAligned
Spherical
AxisX
AxisY
AxisZ
RadialXY
RadialYZ
RadialZX
3DVS
PRC
PDFPRC
STEP
IGES
PARASOLID
STL
U3D
ACIS
JT
VRML
VSXML
3MF
FBX
IFC
OBJ
MINECRAFT
GLTF
3DVS
SVG
DXF
BMP
PNG
JPG
PDF
CGM
WMF
BillOfMaterial
StructureTree
NodeProperties
NodeAttributes
NodePhysicalProperties
StructureCompare
TXT
CSV
HTML
JSON
XML
R12
R14
R32
AutoCAD2004
AutoCAD2013
Single precision floating point value
3-dimensional vector of floating point values
<X>1.0</X>
<Y>0.0</Y>
<Z>0.0</Z>
2-dimensional vector of floating point values
<X>1.0</X>
<Y>0.0</Y>
Rectangle
Circle
Underline
TransformationMove
TransformationRotate
SectionMove
SectionRotate
Deactivate_AllInteractions
Deactivate_Measurement
Measurement_PointCoordinate
Measurement_EdgeLength
Measurement_EdgeLengthAccumulated
Measurement_CircleRadius
Measurement_CircleDiameter
Measurement_CirclePerimeter
Measurement_CircleCenter
Measurement_DistancePointToPoint
Measurement_DistancePointToEdge
Measurement_DistancePointToAxis
Measurement_DistancePointToSolid
Measurement_DistanceEdgeToEdge
Measurement_DistanceEdgeToFace
Measurement_DistanceEdgeToSolid
Measurement_DistanceCenterToCenter
Measurement_DistanceAxisToAxis
Measurement_DistanceAxisToEdge
Measurement_DistanceFaceToFace
Measurement_DistanceFaceToCenter
Measurement_DistanceFaceToSolid
Measurement_DistanceSolidToSolid
Measurement_DistanceCylinderCenterToFace
Measurement_DistanceSolidsToSolids
Measurement_AngleBetweenTwoAxes
Measurement_AngleBetweenAxisEdge
Measurement_AngleBetweenTwoLines
Measurement_AngleBetweenTwoPlanes
Measurement_AngleBetweenPlaneDirection
Measurement_AngleFromThreePoints
Measurement_WallThickness_RayBased
Measurement_WallThickness_RollingBall
Measurement_BoundingBoxWorld
Measurement_BoundingBoxPart
Measurement_BoundingBoxMinimal
Measurement_FaceArea
Measurement_CircleArea
Measurement_CircleForDrillhole
Measurement_AngleBetweenTwoProjectedLines
Measurement_DistancePointToFace
Measurement_FaceAreaAccumulated
Measurement_ShortestPathsBeetweenPointsOnCurve
Deactivate_Transformation
Transformation_FreeDrag
Transformation_Move
Transformation_Rotate
Transformation_Scale
Transformation_Align_Move_PointToPoint
Transformation_Align_Move_PlaneToPlane
Transformation_Align_Move_CircleCenterToCircleCenter
Transformation_Align_Move_CircleCenterToPoint
Transformation_Align_Rotate_NormalToNormal
Transformation_Align_Rotate_PointToPoint
Transformation_Align_Rotate_CircleCenterToCircleCenter
Transformation_Align_CoordinateSystemToCoordinateSystem
Transformation_Align_CircleAxisToCircleAxis
Transformation_Align_PlaneToPlane
Transformation_Align_ThreePointsToThreePoints
Deactivate_Markup
Markup_Text
Markup_Circle
Markup_Rectangle
Markup_Freehand
Markup_Text_Fixed
Deactivate_DraftAngle
DraftAngle
Deactivate_EntityCreation
EntityCreation_CoordinateSystemByNormal
EntityCreation_CoordinateSystemByBoundingBox
EntityCreation_CoordinateSystemBy3Points
EntityCreation_CoordinateSystemByLines
EntityCreation_CoordinateSystemByLineAndPoint
EntityCreation_CoordinateSystemByCylinderAxis
EntityCreation_CoordinateSystemBy3Planes
EntityCreation_CoordinateSystemGlobal
EntityCreation_CoordinateSystemPart
EntityCreation_CoordinateSystemByCircleCenter
EntityCreation_PointByCircleCenter
EntityCreation_PointByPickPosition
EntityCreation_PointByCylinderCenter
EntityCreation_PointWireToWire
EntityCreation_WireByCircleCenter
EntityCreation_WirePointToPoint
EntityCreation_WirePointSequence
Deactivate_BoundaryCondition
BoundaryCondition_Axis
BoundaryCondition_AxisByLine
BoundaryCondition_AxisByCircle
BoundaryCondition_AxisX
BoundaryCondition_AxisY
BoundaryCondition_AxisZ
BoundaryCondition_AxisLocalX,
BoundaryCondition_AxisLocalY,
BoundaryCondition_AxisLocalZ,
Deactivate_Animation
Animation_AssignCoordinateToNode
Deactivate_Section
Section
Section_FromPointNormal
Section_From3Points
Section_From3CircleCenters
Section_FromLine
Deactivate_Flythrough
Flythrough
Flythrough_SelectStartPositionAndDirection
Deactivate_Distortion
Distortion
Deactivate_NeutralAxis
NeutralAxis
Deactivate_Drillhole
Drillhole
Deactivate_Filter
Filter
Deactivate_VisibilityTest
VisibilityTest
Deactivate_WallthicknessHeatmap
WallthicknessHeatmap
Deactivate_ProjectedArea
ProjectedArea
Deactivate_ClashDetection
ClashDetection
Deactivate_Callout
Callout_Creation
Callout_Modification
Callout_Deletion
Callout_Visibility
Deactivate_Split
Split_SelectDirection
Split_ShowDirection
Split_ShowDirectionWithDraftAngle
Split_ShowGroups
Deactivate_BandAnalysis
BandAnalysis
Deactivate_AlignVertical
AlignVertical
Deactivate_CoordinateSystem
CoordinateSystem
Deactivate_TextCopy
TextCopy
Deactivate_Pick
PickPoint
PickNormal
Deactivate_PathEditing
PathEditing_SelectPoint
PathEditing_MovePoint
Millimeter
Centimeter
Decimeter
Meter
Kilometer
Inch
Foot
Yard
Mile
PDFUnit
Userdefined
Trace
Debug
Info
Warning
Error
Critical
Off
None
Top
Bottom
Left
Right
TopBottom
LeftRight
Rectangle
Circle
NearToSolid
Top
Bottom
Center
TopLeft
TopRight
BottomLeft
BottomRight
CenterLeft
CenterRight
Left
Right
Middle
RectZoom
Zoom
Pan
Rotate
Turntable
RectSelect
None
None
Shift
Ctrl
Defines a node. The ID is used by different methods to address its actions.
There are different type of NodeIds.
The internal NodeId is given by the ViewStation and exists temporarily for the current session.
A number
**Example:** <NodeId>296</NodeId>
The CustomId can be any combination of text and numbers.
# = CustomId
**Example:** <NodeId>#526</NodeId>
Special Cases : The MasterRootNode is the first Node in the VirtualTree and represents the scene. Can be adressed by 0 or %Scene%.
0 = MasterRootNode
**Example:** <NodeId>0</NodeId>
or
%Scene% = MasterRootNode
**Example:** <NodeId>%Scene%</NodeId>
The "CreatedNodes" represents the Nodes added to the scene by adding first Markup or Annotation
%CreatedNodes% = CreatedNodes node
**Example:** <NodeId>%CreatedNodes%</NodeId>
Sample Response:
<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>
Example:
None
Root
ProductOccurrence
Ri_BrepModel
Ri_PolyBrepModel
Ri_Set
Ri_PolyWire
Ri_TessMarkup
Part
AxisRoot
Axis
PMIView
Annotation
AnnotationReference
AnnotationSet
Curve
Line
Plane
Direction
Point
PointSet
CoordinateSystem
Handle_Root
Handle_Arrow
Handle_Sphere
Handle_Curlyarrow
Solid
Wire
AnnotationItem
Markup_Text
Dimensioning
PointMarker
EdgeMarker
CircleMarker
AxisMarker
ReferenceLine
LineMarker
TriangleMesh
Markup_Circle
Markup_Rectangle
Markup_Freehand
CutGeometry_Surface
CutGeometry_Wire
PMIMarkup_Text
PMIMarkup_Dimension
PMIMarkup_Arrow
PMIMarkup_Balloon
PMIMarkup_CircleCenter
PMIMarkup_Coordinate
PMIMarkup_Datum
PMIMarkup_Fastener
PMIMarkup_Gdt
PMIMarkup_Locator
PMIMarkup_MeasurementPoint
PMIMarkup_Roughness
PMIMarkup_Welding
PMIMarkup_Table
PMIMarkup_Other
OffsetLine
CutGeometry_Set
MasterRootNode
MarkupSet
DataAnalysisResult
Markup
UnitTranslation
Document2D
AnimationCoordinateSystem
CustomCoordinateSystem
Highlight
SplitSession
SplitDirectionRoot
SplitFaceGroupUp
SplitFaceGroupDown
SplitFaceGroupUnassigned
GlareEffect
PMIMarkup_JT_Start
PMIMarkup_JT_CalloutDimension
PMIMarkup_JT_Centerline
PMIMarkup_JT_Chamfer
PMIMarkup_JT_CuttingPlaneSymbol
PMIMarkup_JT_DatumFeatureSymbol
PMIMarkup_JT_Dimension
PMIMarkup_JT_FeatureControlFrame
PMIMarkup_JT_Section
PMIMarkup_JT_SurfaceFinish
PMIMarkup_JT_ThreadFeature
PMIMarkup_JT_UserDefinedSymbol
PMIMarkup_JT_End
InPlaceXY
InPlaceYZ
InPlaceZX
PositiveXY
PositiveYZ
PositiveZX
NegativeXY
NegativeYZ
NegativeZX
WorldXY
WorldYZ
WorldZX
ActiveCoordinateSystemXY
ActiveCoordinateSystemYZ
ActiveCoordinateSystemZX
Material
WallthicknessHeatmap
SplitGroupColors
Solid
Wireframe
Wires
Illustration
Opaque
Perspective
NoSelection
Shadow
Cut
Silhouette
Inverse
NoMaterial
24 bit color value.
#RRGGBB
None
Show
Hide
ShowNoInherit
HideNoInherit
Ghost
Unghost
Isolate
Delete
Attribute | Type | Description |
---|---|---|
Index | UINT |
Index of the selection |
Name | String |
Name of the selection |
None
Select
AddToSelection
RemoveFromSelection
Samples:
Search for Nodes by Attribute_Name text value beginning with
"Attribute_Name"="Text*"
and select them
<Call Method="SearchNodes">
<SearchString>"InstanceName"="K005*"</SearchString>
<SelectionMode>Select</SelectionMode>
</Call>
Result: Only matching Nodes are selected
Search for Nodes name beginning with string "test"
and add theme to selectio
<Call Method="SearchNodes">
<SearchString>Name="test*"</SearchString>
<SelectionMode>AddtoSelection</SelectionMode>
</Call>
Result: Mathching Nodes added to the current selection, can be used to combine serach results
Search for NodeId's by name contains string "test"
<Call Method="SearchNodes">
<SearchString>Name="*test*"</SearchString>
</Call>
Search for NodeId's by exact node name
<Call Method="SearchNodes">
<SearchString>Name="SCREW"</SearchString>
</Call>
Result: Matching NodeId's
<Response Method="SearchNodes" Error="SUCCESS">
<NodeId>2764</NodeId>
<NodeId>3008</NodeId>
</Response>
Select
Hide
Delete
Ghost
Neighbourhood
Color
Instance
PMIReference
Face
None
Isolate
Show
Hide
Ghost
UnGhost
Delete
ResetTransformation
ExtractFaces
Focus
Deselect
Invert
Copy
Cut
PasteToSelection
PasteAbove
PasteBelow
CreateChildNodes
ComputePhysicalProperties
ComputeWorldBoundingBox
ComputePartBoundingBox
ComputeMinimalBoundingBox
ComputeMinimalBoundingBoxFast
ComputeMinimalBoundingBoxPrecise
ComputeHullGeometry
DeleteOffsetLines
ResetColors
SearchByColor
ShowNoInherit
HideNoInherit
MergeObjects
MergeObjectsHierarchically
Please read the seperate settings documentation.
A text string.
4x4 row major matrix of floating point values
1 0 0 0 0 1 0 0 0 0 1 0 21.96 28.84 -36.01 1
A 32bit unsigned integer.
Number between 0 and 4,294,967,295.
A boolean enumeration type used for IncrementValue
, defining step-up or step-down.
Up
Down
Please read the separate VSXML documentation.