PMIHoleThreadNoteInput Object Preview

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

A class that defines the input used to create a Hole/Thread Note PMI.

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
annotationTextPoint Gets and sets the annotation point where the leader line starts.

This point must be a valid point on the annotation plane. The point is relative to the geometry's component space where the PMI is being created.
counterboreDepth Gets and sets the PMIGeometricValue used to define the depth of the counterbore segment of the hole in cm. Not applicable for bosses.

When setting, it is possible to also add tolerances to the object set by setting the tolerances property of the PMIGeometricValue object.

Setting this to an object with "hasValue" set to true and "value" set to 0 will result in the modeled value being set (if such value exists in the model).

Updating this value will reset the segments in the PMI.
counterboreDiameter Gets and sets the PMIGeometricValue used to define the diameter of the counterbore segment of the hole in cm. Not applicable for bosses.

When setting, it is possible to also add tolerances to the object set by setting the tolerances property of the PMIGeometricValue object.

Setting this to an object with "hasValue" set to true and "value" set to 0 will result in the modeled value being set (if such value exists in the model).

Updating this value will reset the segments in the PMI.
counterboreRadius Gets and sets the PMIGeometricValue used to define the radius of the counterbore segment of the hole in cm. Not applicable for bosses.

When setting, it is possible to also add tolerances to the object set by setting the tolerances property of the PMIGeometricValue object.

Setting this to an object with "hasValue" set to true and "value" set to 0 will result in the modeled value being set (if such value exists in the model).

Updating this value will reset the segments in the PMI.
countersinkAngle Gets and sets the PMIGeometricValue used to define the angle of the countersink segment of the hole in radians. Not applicable for bosses.

When setting, this value does not have tolerances, and will not be taken into account.

Setting this to an object with "hasValue" set to true and "value" set to 0 will result in the modeled value being set (if such value exists in the model).

Updating this value will reset the segments in the PMI.
countersinkDiameter Gets and sets the PMIGeometricValue used to define the diameter of the countersink segment of the hole in cm. Not applicable for bosses.

When setting, it is possible to also add tolerances to the object set by setting the tolerances property of the PMIGeometricValue object.

Setting this to an object with "hasValue" set to true and "value" set to 0 will result in the modeled value being set (if such value exists in the model).

Updating this value will reset the segments in the PMI.
depth Gets and sets the PMIGeometricValue used to define the depth of the hole in cm.

In the case of bosses, it represents the height of the boss. When setting, it is possible to also add tolerances to the object set by setting the tolerance property of the PMIGeometricValue object.

Setting this to an object with "hasValue" set to true and "value" set to 0 will result in the modeled value being set (if such value exists in the model).

Updating this value will reset the segments in the PMI.
diameter Gets and sets the PMIGeometricValue used to define the diameter of the annotated hole or boss in cm. It is possible to also add tolerances to the object set by setting the tolerance property of the PMIGeometricValue object.

Setting this to an object with "hasValue" set to true and "value" set to 0 will result in the modeled value being set (if such value exists in the model).

Updating this value will reset the segments in the PMI.
faces An array of BRepFace objects the Hole/Thread Note would be associated to. These faces can be a subset of the group of faces defining a geometric hole, or faces defining bosses. The faces must represent equivalent geometry (e.g. holes defined by the faces should have the same properties such as type, diameter, thread, etc.).

In the case of bosses, the set of faces represents the cylindrical faces from a group of bosses.

These faces should not be in different components, but can be in different bodies within the same component. Native object will be used when setting the faces.
hasSecondaryDisplaySettings Gets and sets whether there are secondary display settings defined for the Hole/Thread Note PMI.
horizontalAlignment Controls the horizontal alignment of the PMI text relative to its anchor point.

This determines how the text box is positioned relative to the text placement point.
isFlipHoleNormal Gets and sets whether the hole normal should be treated as flipped, resulting in the hole top to be placed at the lowest found face of the hole.

This is applicable only to complex holes, in other cases the value is ignored.
isHoleAnnotation Gets whether the PMI is representing a hole or a boss.
isPerpendicularLine Controls whether the PMI text is perpendicular to the leader line or parallel to it.
isShowImportedGeometry Gets and sets whether the original graphics/geometry of the PMI should be visible.

Applicable only to PMI that has been converted.
isThreaded Gets and sets whether the hole or the boss has a thread associated.

Setting this to false will result in all thread information being ignored. Setting this to true requires the thread information to also be set.

Updating this value will reset the segments in the PMI.
isThreadedThrough Gets and sets whether the hole or boss is threaded all the way through. Setting this to true will remove the thread depth information.

Updating this value will reset the segments in the PMI.
isThrough Gets and sets whether the hole should be considered a through hole.

Setting this to true will remove the depth information related to the PMI. Setting this to false will result in the depth being passed to PMI creation.

Updating this value will reset the segments in the PMI.
isValid Indicates if this object is still valid, i.e. hasn't been deleted or some other action done to invalidate the reference.
isWantQuantityNote Gets and sets whether the quantity is visible in the graphics.

Updating this value will reset the segments in the PMI.
isWantSelectAllMatchingHoles Gets and sets whether the Hole/Thread Note PMI should represent all the matching holes in the design.
leaderLineExtension Gets and sets the length of the leader line extension in cm.

This value extends the leader line in the direction determined by the perpendicular setting.
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():
plane Get the annotation plane of the PMI.

This plane determines the plane in which the PMI text and graphics are drawn. The plane is relative to the geometry's component space where the PMI is being created.
primaryDisplaySettings Gets and sets the primary display settings for the Hole/Thread Note PMI. This will always be existent, and includes information about format and units.
radius Gets and sets the PMIGeometricValue used to define the radius of the hole in cm. Not applicable for bosses.

When setting, it is possible to also add tolerances to the object set by setting the tolerance property of the PMIGeometricValue object.

Setting this to an object with "hasValue" set to true and "value" set to 0 will result in the modeled value being set (if such value exists in the model).

Updating this value will reset the segments in the PMI.
secondaryDisplaySettings Gets and sets the secondary display settings for the Hole/Thread Note PMI. This will not always be existent. Setting this value will also set hasSecondaryDisplaySettings to true.
segments Gets and sets the list of PMISegments used to define the PMI text.

The segments can be any combination of PMITextSegment, PMISymbolSegment and PMILineBreakSegment objects.

Changing this property will result in changing the displayed text of the PMI.
shaftTolerance Gets and sets the PMIGeometricValueTolerance for the shaft diameter of the annotated hole if a shaft tolerance exists.
threadDepth Gets and sets the PMIGeometricValue used to define the thread depth of the hole in cm. In the case of bosses, it represents the thread length of the boss.

When setting, it is possible to also add tolerances to the object set by setting the tolerances property of the PMIGeometricValue object.

Setting this to an object with "hasValue" set to true and "value" set to 0 will result in the modeled value being set (if such value exists in the model).

Updating this value will reset the segments in the PMI.
threadInfo Gets and sets the ThreadInfo object associated with the hole/thread note.

Updating this value will reset the segments in the PMI.
verticalAlignment Controls the vertical alignment of the PMI text relative to its anchor point.

This determines the vertical positioning of the text box relative to the calculated text placement point.

Accessed From

PMIHoleThreadNotes.createInput

Version

Introduced in version April 2026