CAM3MFExportStructure Object Preview

Derived from: Base Object
Defined in namespace "adsk::cam" and the header file is <Cam/CAM/CAM3MFExportStructure.h>

PreviewThis functionality is provided as a preview of intended future API capabilities. You are encouraged to use it and report any problems or suggestions using the Fusion API and Scripts forum.

Because this is a preview of future functionality, there is the possibility that it will change, which will possibly break any existing programs that use this functionality. Because of that, you should never deliver any programs that use any preview capabilities. For a distributed program, you should wait until it has moved from preview to released state.

Description

Options for the 3MF structure and naming conventions.

Methods

Name Description
classType Static function that all classes support that returns the type of the class as a string. The returned string matches the string returned by the objectType property. For example if you have a reference to an object and you want to check if it's a SketchLine you can use myObject.objectType == fusion.SketchLine.classType().

Properties

Name Description
isBodyEncapsulatedInComponent Flag indicating if each BRepBody or MeshBody should be encapsulated in its own component within the 3MF file. Supports belonging to that body will be included in the same component. By default, this is set to false, meaning that all bodies are exported directly into the parent component alongside their sibling bodies. The additional component is named after the body without any contatenation of parent component names.
isStructureStartingAtRoot Flag indicating if the Item objects in the 3MF file reference only the asset, meaning the product of the Design or Manufacturing Model, or if the hierarchy is simplified to the lowest distinct component level. In the latter case a 3MF with multiple components is produced. By default, this is set to false.
isValid Indicates if this object is still valid, i.e. hasn't been deleted or some other action done to invalidate the reference.
maximumComponentParentCount Specifies the maximum number of parents listed in the name property for the component. If the number used is higher than the number of available parents, all parents are used. Given a body called Body1 whose assembly context's fullpath is "Manufacturing Models 1:1+ManufacturingModel 1:2+Unsaved (1)1:1+Component1:3", the following results are expected for the maximumMeshParentCount value given with "+" being used for the concatination: In this example, the component with id 4 contains component with id 5, which contains component with id 6, which in turn contains component with id 7
  • -1 -
    • id="7" name="Manufacturing Models 1:1+ManufacturingModel 1:2+Unsaved (1)1:1+Component1:3"
    • id="6" name="Manufacturing Models 1:1+ManufacturingModel 1:2+Unsaved (1)1:1"
    • id="5" name="Manufacturing Models 1:1+ManufacturingModel 1:2"
    • id="4" name="Manufacturing Models 1:1"
  • 0 - 4 contains 5, which contains 6, which contains 7
    • id="7" name="Component1:3"
    • id="6" name="Unsaved (1)1:1"
    • id="5" name="ManufacturingModel 1:2"
    • id="4" name="Manufacturing Models 1:1"
  • 1 -
    • id="7" name="Unsaved (1)1:1+Component1:3"
    • id="6" name="ManufacturingModel 1:2+Unsaved (1)1:1"
    • id="5" name="Manufacturing Models 1:1+ManufacturingModel 1:2"
    • id="4" name="Manufacturing Models 1:1"
 By default, this value is set to 0.
maximumMeshParentCount Specifies the maximum number of parents listed in the name property for the mesh. If the number used is higher than the number of available parents, all parents are used. Given a body called Body1 whose assembly context's fullpath is "Manufacturing Models 1:1+ManufacturingModel 1:2+Unsaved (1)1:1+Component1:3", the following results are expected for the maximumMeshParentCount value given with "+" being used for the concatination: 
  • -1 - id="8" name="Manufacturing Models 1:1+ManufacturingModel 1:2+Unsaved (1)1:1+Component1:3+Body1"
  • 0 - id="8" name="Body1"
  • 1 - id="8" name="Component1:3+Body1"
  • 2 - id="8" name="Unsaved (1)1:1+Component1:3+Body1"
 By default, this value is set to 1.
objectType This property is supported by all objects in the API and returns a string that contains the full name (namespace::objecttype) describing the type of the object.

It's often useful to use this in combination with the classType method to see if an object is a certain type. For example: if obj.objectType == adsk.core.Point3D.classType():
parentNameConcatenationString String to be used to concatenate parent names. By default, this is set to "+".

Accessed From

CAM3MFExportOptions.structure

Version

Introduced in version April 2026