API Reference > imodeljs-frontend > AccuDraw > AccuDrawHintBuilder AccuDrawHintBuilder Class AccuDrawHintBuilder is an InteractiveTool helper class that facilitates AccuDraw interaction. Accudraw is an aide for entering coordinate data. A tool does not directly change the current AccuDraw state; the tool's job is merely to supply "hints" to AccuDraw regarding its preferred AccuDraw configuration for the current tool state. User settings such as "Context Sensitivity" and "Floating Origin" affect how and which hints are applied. Additionally the user can drive AccuDraw through keyboard shortcuts. see Using AccuDraw* Methods Name Description constructor(): AccuDrawHintBuilder sendHints(activate: boolean = true): boolean Provide hints to AccuDraw using the current builder state. setAngle(angle: number): void Set current angle value in polar mode setDistance(distance: number): void Set current distance value in polar mode setMatrix(matrix: Matrix3d): boolean Add hint to fully specify compass orientation from a Matrix3d setModePolar(): void Add hint to change compass to polar mode setModeRectangular(): void Add hint to change compass to rectangular mode setNormal(normal: Vector3d): void Add hint to change compass orientation by combining the supplied z axis direction with the current base rotation setOrigin(origin: Point3d): void Add hint to specify a new compass origin setXAxis(xAxis: Vector3d): void Add hint to change compass orientation by combining the supplied x axis direction with the current base rotation setXAxis2(xAxis: Vector3d): void Add hint to change compass orientation by combining the supplied x axis direction with the current base rotation preferring the result most closely aligned to the view activate(): void Static Enable AccuDraw for the current tool without sending any hints deactivate(): void Static Disable AccuDraw for the current tool getBoresite(spacePt: Point3d, vp: Viewport, checkAccuDraw: boolean = false, checkACS: boolean = false): Ray3d Static Create a Ray3d whose origin is the supplied space point and direction is into the view getContextRotation(id: ContextRotationId, vp: Viewport): undefined | Matrix3d Static Return a Matrix3d corresponding to the supplied ContextRotationId. getCurrentRotation(vp: Viewport, checkAccuDraw: boolean, checkACS: boolean, matrix?: Matrix3d): undefined | Matrix3d Static Return a Matrix3d representing the current working plane specified by AccuDraw, Viewport.auxCoordSystem, or Viewport.rotation. projectPointToLineInView(spacePt: Point3d, linePt: Point3d, lineDirection: Vector3d, vp: Viewport, checkAccuDraw: boolean = false, checkACS: boolean = false): undefined | Point3d Static Return ray intersection with a line defined by a point and direction projectPointToPlaneInView(spacePt: Point3d, planePt: Point3d, planeNormal: Vector3d, vp: Viewport, checkAccuDraw: boolean = false, checkACS: boolean = false): undefined | Point3d Static Return ray intersection with a plane defined by a point and normal Properties Name Type Description enableSmartRotation boolean Set the initial compass orientation from the current SnapDetail when activating isActive Accessor StaticReadOnly boolean Whether AccuDraw compass is currently displayed and points are being adjusted isEnabled Accessor StaticReadOnly boolean Whether AccuDraw is enabled by the host application this session and can be used setLockAngle boolean Lock current angle value in polar mode setLockDistance boolean Lock current distance value in polar mode setLockX boolean Lock current x delta value in rectanglar mode setLockY boolean Lock current y delta value in rectanglar mode setLockZ boolean Lock current z delta value in 3d views setOriginAlways boolean Override "fixed" and "floating" origin settings for [[setOrigin] hint setOriginFixed boolean Don't automatically set compass origin to point from data button events Defined in core/frontend/src/AccuDraw.ts Line 3093 Last Updated: 11 June, 2024