明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1048|回复: 0

[提问] 帮忙看看程序

[复制链接]
发表于 2014-5-13 16:04:31 | 显示全部楼层 |阅读模式
(defun C:DimReplace( / dim bl jd len diment dimss dimty )
  (princ "\n选择标注: ")
  (setq dim (ssget '((0 . "DIMENSION"))))
  (setq bl (getreal "\n标注比例: <1>"))
  (if (not bl) (setq bl 1))
  (setq jd (getint "\n标注精度: <0>"))
  (if (not jd) (setq jd 0))
  (if dim
    (progn
      (repeat
        (setq len (sslength dim))
        (setq diment (entget (ssname dim (setq len (1- len)))))
        (setq dimss (cdr (assoc 1 diment)))
        (if (or (= dimss "") (= dimss "<>"))
          (progn
            (setq dimty (cdr (assoc 70 diment)))
            (setq dimss (cdr (assoc 42 diment)))
            (cond
              (  (or (= dimty 32) (= dimty 160);线性
                  (= dimty 33) (= dimty 161);对齐
                  (= dimty 37) (= dimty 165);弧长
                )
                (setq dimss (rtos (* dimss bl) 2 jd))
              )
              ((or (= dimty 34) (= dimty 162));角度
                (setq dimss (strcat (rtos (WYB-rtod dimss) 2 jd) "%%D"))
              )
              ((or (= dimty 35) (= dimty 163));直径
                (setq dimss (strcat "%%C" (rtos (* dimss bl) 2 jd)))
              )
              ((or (= dimty 36) (= dimty 164));半径
                (setq dimss (strcat "R" (rtos (* dimss bl) 2 jd)))
              )
            )
            (entmod (subst (cons 1 dimss) (assoc 1 diment) diment))
          )
        )
      )
    )
  )
  (princ "\n完成标注的文本替换")
  (princ)
)


(defun WYB-rtod(r)
  (/ (* r 180) pi)
)

这个程序有两个问题请叫高手
1,如何在选中尺寸时先显示尺寸的标准比例,然后再修改这个数据。
2,这个程序只能修改一次尺寸,修改或的尺寸就不能用这个程序再修改了
"觉得好,就打赏"
还没有人打赏,支持一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-24 17:57 , Processed in 0.149637 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表