tianyuan 发表于 2012-2-21 00:00:22

这个标注文字翻转的程序怎么了?

本帖最后由 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)
)

byghbcx 发表于 2012-2-21 08:13:08

dxf函数没有定义,给你一个
(defun dxf (key dxfcod / )
(cdr (assoc key dxfcod))
)

tianyuan 发表于 2012-2-21 08:20:05

谢谢byghbcx

vlisp2012 发表于 2012-2-22 19:43:59

用了该程序后,啥变化也没有啊?

杨如迁 发表于 2013-10-12 17:31:12

啥变化也没有啊?

yoyoho 发表于 2015-4-1 18:04:02

(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]
查看完整版本: 这个标注文字翻转的程序怎么了?