UserCoordinateSystem Object Preview

Derived from: Base Object
Defined in namespace "adsk::fusion" and the header file is <Fusion/Construction/UserCoordinateSystem.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

Represents an existing User Coordinate System in a design.

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().

createForAssemblyContext

Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context defined by the input occurrence.

deleteMe

Deletes this User Coordinate System.

Properties

Name Description
angleX Gets the parameter that defines the rotation of the coordinate system around its X-Axis. The value can be changed using the functionality of the returned ModelParameter object.
angleY Gets the parameter that defines the rotation of the coordinate system around its Y-Axis. The value can be changed using the functionality of the returned ModelParameter object.
angleZ Gets the parameter that defines the rotation of the coordinate system around its Z-Axis. The value can be changed using the functionality of the returned ModelParameter object.
assemblyContext Returns the assembly occurrence (i.e. the occurrence) of this object in an assembly. This is only valid in the case where this is acting as a proxy in an assembly. Returns null in the case where the object is not in the context of an assembly but is already the native object.
attributes Returns the collection of attributes associated with this User Coordinate System.
entityToken Returns a token for the User Coordinate System object. This can be saved and used at a later time with the Design.findEntityByToken method to get back the same User Coordinate System.

When using entity tokens it's important to understand that the token string returned for a specific entity can be different over time. However, even if you have two different token strings that were obtained from the same entity, when you use findEntityByToken they will both return the same entity. Because of that you should never compare entity tokens as way to determine what the token represents. Instead, you need to use the findEntityByToken method to get the two entities identified by the tokens and then compare them.
geometry Gets and sets the User Coordinate System geometry for this User Coordinate System input. This defines the location of the User Coordinate System.

To set this property, you need to position the timeline marker to immediately before this User Coordinate System. This can be accomplished using the following code: ucs.timelineObject.rollTo(True)
isLightBulbOn Gets and sets if the light bulb of this User Coordinate System as displayed in the browser is on or off. A User Coordinate System will only be visible if the light bulb is switched on. However, the light bulb can be on and the User Coordinate System still invisible if a higher level occurrence in the assembly context is not visible because its light bulb is off or the constructions folder light bulb is off.
isValid Indicates if this object is still valid, i.e. hasn't been deleted or some other action done to invalidate the reference.
isVisible Indicates if the User Coordinate System is visible. This property is affected by the AssemblyContext of the User Coordinate System.
name Gets and sets the name of this User Coordinate System. This is the name seen by the user in the timeline.
nativeObject The NativeObject is the object outside the context of an assembly and in the context of it's parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object.
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():
offsetX Gets the parameter that controls the offset in the X-direction. The value can be changed using the functionality of the returned ModelParameter object.
offsetY Gets the parameter that controls the offset in the Y-direction. The value can be changed using the functionality of the returned ModelParameter object.
offsetZ Gets the parameter that controls the offset in the Z-direction. The value can be changed using the functionality of the returned ModelParameter object.
originConstructionPoint Returns the construction point that represents the origin of the UCS.
parentComponent Returns the parent component that owns this User Coordinate System.
timelineObject Returns the timeline object associated with this User Coordinate System.
transform Returns the position and orientation of the User Coordinate System geometry associated with this User Coordinate System. This is returned as a 3D matrix which provides the origin and the X, Y, and Z axis vectors of the coordinate system.

This property is especially useful in cases where the UserCoordinateSystemGeometry cannot be obtained. This can happen when the model has been modified in a way where the geometry used to create the joint is no longer available.
xAxisEntity Gets and sets the entity that defines the X axis direction. This defaults to null meaning the X axis is inferred from the input geometry.

To set this property, you need to position the timeline marker to immediately before this User Coordinate System. This can be accomplished using the following code: ucs.timelineObject.rollTo(True)
xConstructionAxis Returns the construction axis that represent the x-axis of the UCS.
xYConstructionPlane Returns the XY construction plane that represent the of the UCS.
xZConstructionPlane Returns the XZ construction plane that represent the of the UCS.
yConstructionAxis Returns the construction axis that represent the y-axis of the UCS.
yZConstructionPlane Returns the YZ construction plane that represent the of the UCS.
zAxisEntity Gets and sets the entity that defines the Z axis direction. This defaults to null meaning the Z axis is inferred from the input geometry.

To set this property, you need to position the timeline marker to immediately before this User Coordinate System. This can be accomplished using the following code: ucs.timelineObject.rollTo(True)
zConstructionAxis Returns the construction axis that represent the z-axis of the UCS.

Accessed From

ConstructionAxis.parentUCS, ConstructionPlane.parentUCS, ConstructionPoint.parentUCS, UserCoordinateSystem.createForAssemblyContext, UserCoordinateSystem.nativeObject, UserCoordinateSystems.add, UserCoordinateSystems.item, UserCoordinateSystems.itemByName

Version

Introduced in version May 2026