这个标注文字翻转的程序怎么了?
本帖最后由 tianyuan 于 2012-2-22 13:18 编辑从网上找到了这个程序,但在运行的时候却提示DMR
请选取要翻转文字方向的尺寸标注 <退出>:
选择对象:<对象捕捉 开> 找到 1 个
选择对象:
; 错误: no function definition: DXF
不知是哪个地方出现了问题,还望指正!
(defun c:dmr ;; 尺寸字翻转;;;
(/ ss ang ANG1 ssl e lst)
、(mapcar 'setvar '("cmdecho""blipmode")'(0 0))
(while (progn
(prompt "\n请选取要翻转文字方向的尺寸标注 <退出>: ")
(setq ss (ssget '((0 . "DIMENSION")))))
(setq ssl (sslength ss))
(while (> ssl 6)
(setq e (ssname ss (setq ssl (1- ssl)))
lst (entget e)
ang (dxf 51 1st)
ang1(if (and (>= pi ang)(> ang 0)) 0 pi))
(entmod (subst (cons 51 ang1)(assoc 51 lst) lst))
)
)
(mapcar 'setvar '("cmdecho""blipmode")'(1 1))
(princ)
)
dxf函数没有定义,给你一个
(defun dxf (key dxfcod / )
(cdr (assoc key dxfcod))
) 谢谢byghbcx 用了该程序后,啥变化也没有啊? 啥变化也没有啊? (defun c:dmr ;; 尺寸字翻轉;;;
(/ ss ang ANG1 ssl e lst)
(mapcar 'setvar '("cmdecho""blipmode")'(0 0))
(while (progn
(prompt "\n請選取要翻轉文字方向的尺寸標注 <退出>: ")
(setq ss (ssget '((0 . "DIMENSION")))))
(setq ssl (sslength ss))
(while (> ssl 0)
(setq e (ssname ss (setq ssl (1- ssl)))
lst (entget e)
ang (dxf 51 1st)
ang1(if (and (>= pi ang)(> ang 0)) 0 pi))
(entmod (subst (cons 51 ang1)(assoc 51 lst) lst))
)
)
(mapcar 'setvar '("cmdecho""blipmode")'(1 1))
(princ)
)
(defun dxf (key dxfcod / )
(cdr (assoc key dxfcod))
)
页:
[1]