CAD标注(标注工程测量坐标)

时间:2025-07-08

好用,按步骤,勿修改内容,记得把内容复制到文本文档保存,并改后缀为“.lsp”在CAD命令中输入appload后加载“zbbz”即可

;;;zbbz

;;; 标注时是按当前的UCS的,但是数值还是 WCS 的,

;;; 不用转换到 WCS。

;;; 使用时复制到记事本中保存更改扩展名为lsp,在CAD命令栏输入appload加载zbbz.lsp文件,然后输入zbbz命令即可。

;============================== 开始 ==============================

(defun C:zbbz ()

;============================== 设置 ==============================

(prompt "\n输入字高:<") (princ (getvar "textsize")) (princ ">")

(setq 输入字高 (getreal))

(if (not 输入字高)

(setq 字高 (getvar "textsize"))

(setq 字高 输入字高)

)

(setq old_dimzin (getvar "dimzin"))

(setvar "dimzin" 1)

(setq 精度 3)

(setvar "cmdecho" 0)

(标注)

)

;====================== 取起点的位置及数值 ======================

(defun 标注()

(setq 标注点 (getpoint "\n点取标注点:"))

(if 标注点 (继续) (退出))

)

(defun 继续()

(setq 绝对标注点 (trans 标注点 1 0))

(setq x_坐标值 (rtos (car 绝对标注点) 2 精度))

(setq y_坐标值 (rtos (nth 1 绝对标注点) 2 精度))

;=================== 取标注引线位置及长度和角度 ===================

好用,按步骤,勿修改内容,记得把内容复制到文本文档保存,并改后缀为“.lsp”在CAD命令中输入appload后加载“zbbz”即可

(setq 临时起点 (getpoint 标注点 "\n点取标注位置:"))

(setq 引线长度 (distance 标注点 临时起点))

(setq 临时角度 (atof (angtos (angle 标注点 临时起点 ) 0 3)))

;================= 检查标注引线的角度并设为标准值 =================

(setq 标准角度 (cond ((<= 临时角度 15) 0)

((<= 临时角度 37.5) 30)

((<= 临时角度 52.5) 45)

((<= 临时角度 67.5) 60)

((<= 临时角度 105) 90)

((<= 临时角度 127.5) 120)

((<= 临时角度 141) 135)

((<= 临时角度 165) 150)

((<= 临时角度 195) 180)

((<= 临时角度 217.5) 210)

((<= 临时角度 232.5) 225)

((<= 临时角度 255) 240)

((<= 临时角度 285) 270)

((<= 临时角度 307.5) 300)

((<= 临时角度 322.5) 315)

((<= 临时角度 345) 330)

(0)

)

)

;======================= 设标注引线终点的位置 =======================

(setq 起点 (polar 标注点 (angtof (itoa 标准角度) 0) 引线长度))

;===================== 设标注线终点的位置及方向 ===================

(setq x_字符数 (strlen x_坐标值))

(setq y_字符数 (strlen y_坐标值))

(if (> x_字符数 y_字符数)

(setq 坐标字符数 x_字符数)

(setq 坐标字符数 y_字符数)

)

好用,按步骤,勿修改内容,记得把内容复制到文本文档保存,并改后缀为“.lsp”在CAD命令中输入appload后加载“zbbz”即可

(setq 坐标字符长 (* 坐标字符数 字高))

(if (and (< 标准角度 270) (> 标准角度 90))

(setq 标注方向 180)

(setq 标注方向 0)

)

(if (= 标注方向 180)

(setq 终点 (list (- (car 起点) 坐标字符长) (nth 1 起点)))

(setq 终点 (list (+ (car 起点) 坐标字符长) (nth 1 起点)))

)

;======================== 设标注数字的起点 ========================

(if (= 标注方向 0) (setq 文字开始点 起点) (setq 文字开始点 终点))

(setq 起点_x (list (car 文字开始点)

(+ (nth 1 文字开始点) (/ 字高 3.5))))

(setq 起点_y (list (car 文字开始点)

(- (nth 1 文字开始点) 字高 (/ 字高 3.5))))

;======================= 使两个坐标字符等长 =======================

(setq 相差字符数 (abs(- x_字符数 y_字符数)))

(setq 补充空格数 "")

(repeat 相差字符数 (setq 补充空格数 (strcat 补充空格数 " ")))

(if (= 相差字符数 0)

(setq x_c (strcat "Y=" x_坐标值) y_c (strcat "X=" y_坐标值)))

(if (and (/= l 0) (> x_字符数 y_字符数))

(setq x_c (strcat "Y=" x_坐标值)

y_c (strcat "X=" 补充空格数 y_坐标值)))

(if (and (/= l 0) (< x_字符数 y_字符数))

(setq x_c (strcat "Y=" 补充空格数 x_坐标值)

y_c (strcat "X=" y_坐标值)))

;============================= 标注 ===============================

(setq old_osmode (getvar "osmode"))

(setvar "osmode" 0)

(command "line" 标注点 起点 终点)

好用,按步骤,勿修改内容,记得把内容复制到文本文档保存,并改后缀为“.lsp”在CAD命令中输入appload后加载“zbbz”即可

(command "")

(command "text" 起点_x 字高 "0" y_c)

(command "text" 起点_y 字高 "0" x_c)

(setvar "osmode" old_osmode)

(标注)

)

;============================== 还原 ==============================

(defun 退出()

(setvar "dimzin" old_dimzin)

(setvar "cmdecho" 1)

(princ)

)

…… 此处隐藏:1064字,全部文档内容请下载后查看。喜欢就下载吧 ……
CAD标注(标注工程测量坐标).doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219