[^_^]:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108062&extra=page%3D2%26filter%3Dtypeid%26typeid%3D107
操作步驟:
1、輸入命令 ng:dim
2、指定文字偏移,默認為20
3、繪制標注
4、指定文字偏移方向
效果圖

源碼
```
(DEFUN C:ng:dim ()
(vl-load-com)
(setq acadObj
(vlax-get-acad-object))
(setq docObj
(vla-get-ActiveDocument acadObj))
(setq dis(getreal "標注文字的偏移距離:"))
(if (null dis)
(setq dis 20)
)
(COMMAND "_dimaligned" pause pause pause)
;(princ "eeeee")
(SETQ dimEnt
(entlast))
(setq dimObj
(vlax-ename->vla-object dimEnt))
(setq p1Obj
(vla-get-ExtLine1Point dimObj))
(setq p2Obj
(vla-get-ExtLine2Point dimObj))
(setq textPosition (vlax-safearray->list (vlax-variant-value (vla-get-textPosition dimObj))))
(setq p1
(vlax-safearray->list
(vlax-variant-value p1Obj)))
(setq p2
(vlax-safearray->list
(vlax-variant-value p2Obj)))
(setq angleP1P2
(angle p1 p2))
(setq midPoint
(polar p1 angleP1P2
(/
(distance p1 p2) 2)))
(setq textDir (textDirection p1 p2 textPosition))
;(princ (strcat "textDir:" (rtos textDir)))
(setq textPoint
(polar midPoint
(+ angleP1P2
textDir)
dis)
)
(vla-put-textPosition dimObj
(vlax-3d-point textPoint))
(print textPoint)
; ; (setq myresult
; (vla-AngleFromXAxis
; (vla-get-utility docObj) p1 p2))
)
;用于判斷標注文字在標注基線的順時針方向還是逆時針方向
(DEFUN textDirection
(startP endP textP / angle1 angle2 _temp)
(DEFUN _temp(angle1 angle2)
(and
(>= angle2 angle1)
(<=
(- angle2 angle1)
(/ pi 2)))
)
(setq angle1
(angle startP endP))
(setq angle2
(angle startP textP))
(cond
(
(_temp angle1 angle2)
(/ pi 2)
)
(
(progn
(setq angle2
(+ angle2
(* 2 pi)))
(_temp angle1 angle2)
)
( / pi 2))
(t (- (/ pi 2)))
)
)
```
- 前言
- 概述
- autolisp簡介(初)
- 搭建編程環境
- Visual Lisp 編輯器的使用(初)
- vs code的使用
- 基本概念(初)
- 表達式
- 數據類型
- 整數類型
- 實數類型
- 字符串類型
- 列表
- 選擇集類型
- 實體名稱(ename)
- vla對象(vla-object)
- 文件描述符
- 符號和變量(初)(精)
- 源碼文件
- 變量
- 變量的類型
- 變量賦值
- 變量求值
- 預定義變量
- 數值處理
- 字符串處理
- 顯示和輸出
- 控制字符
- 列表操作
- 重點函數列表
- 尺寸標注
- 文字固定偏移
- 填充
- 填充到指定的矩形
- 計算填充面積并標注
- 其他
- 繪制任意曲線的等分線
- 原位縮放
- 修改填充基點和角度
- 批量標注多段線長度
- 統計相同直徑的圓的數量
- z坐標置0
- 生成隨機數
- 圖層
- 相交
- intersectWith無法求交點的幾種情形
- 向量和矩陣
- 向量加減乘除
- 向量長度
- 求單位向量
- 向量點積
- 向量叉積
- 命令和交互
- 調用command命令
- 多段線
- 獲取多段線頂點
- UCS
- 有關ucs的命令和系統變量
- 通過command操作ucs
- 草圖設置
- 捕捉
- 柵格
- 正交
- 對象捕捉
- 坐標系和變換(高級)
- 任意軸算法
- 坐標系
- trans
- geomcal
- autocad開發相關網站
- 小技巧匯總
- 判斷點是否在封閉圖形內
- 安裝
- acad啟動加載順序
- 安裝包制作
- 添加文件到啟動組
- 添加目錄到搜索路徑
- 對話框和圖形界面
- DCL
- openDCL
- 菜單和自定義界面
- 菜單文件
- 自定義文件
- 函數參考
- quote