明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1494|回复: 10

还是这个版块的版主好,求改可以框选的lsp,在另外一个版块晒了好几天啦,人都没见过

[复制链接]
发表于 2008-6-17 19:50 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2008-6-18 11:13 | 显示全部楼层
楼主这是什么意思?
发表于 2008-6-18 11:47 | 显示全部楼层
?????没搞懂
 楼主| 发表于 2008-6-18 17:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-6-18 17:45 | 显示全部楼层

      (COND
       ((= newTolerance 0)(setq newTolerance acDimPrecisionZero))
       ((= newTolerance 1)(setq newTolerance acDimPrecisionOne))
       ((= newTolerance 2)(setq newTolerance acDimPrecisionTwo))
       ((= newTolerance 3)(setq newTolerance acDimPrecisionThree))
       ((= newTolerance 4)(setq newTolerance acDimPrecisionFour))
       ((= newTolerance 5)(setq newTolerance acDimPrecisionFive))
       ((= newTolerance 6)(setq newTolerance acDimPrecisionSix))
       ((= newTolerance 7)(setq newTolerance acDimPrecisionSeven))
       ((= newTolerance 8)(setq newTolerance acDimPrecisionEight))
       (t(progn (princ "标注精度未改变")(VL-EXIT-WITH-VALUE 0)))
      )

上面的代码为什么这么复杂,直接改为

      (if (not (and newTolerance
                    (>= newTolerance 0)
                    (<= newTolerance 8)
               ))
        (progn (princ "标注精度未改变")(VL-EXIT-WITH-VALUE 0))
      )

就可以了,因为

acDimPrecisionZero=0

acDimPrecisionOne=1

...

发表于 2008-6-18 17:47 | 显示全部楼层
本帖最后由 作者 于 2008-6-18 18:03:23 编辑

学会怎么将选择集转换为图元列表,自己就可以改了
 楼主| 发表于 2008-6-18 17:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-6-18 22:57 | 显示全部楼层
本帖最后由 作者 于 2008-6-20 16:15:23 编辑

  1. (defun C:djd ()
  2. (VL-LOAD-COM)
  3. (princ"\n程序功能:标注尺寸中数字的小数位精度"); 在模型空间中选择标注对象
  4. (if (and (setq newTolerance (getint "\n输入标注新的公差精度[0~8]: "))
  5.           (<= 0 newTolerance 8)) (progn
  6.   (princ "标注精度已经设定为: ")
  7.   (princ newTolerance)
  8.   (princ "位小数")
  9.   (if (and (princ "\n选择要修改精度的尺寸标注: ")
  10.            (setq ss (ssget '((0 . "DIMENSION"))))) (progn
  11.    (setq i 0)
  12.    (repeat (sslength ss)
  13.     (setq dimObj (ssname ss i) i (1+ i))
  14.     (setq dimObj (vlax-ename->vla-object dimObj))
  15.     (vla-put-PrimaryUnitsPrecision dimObj newTolerance); 确定公差精度的改变
  16.     (vla-put-SuppressTrailingZeros dimObj :vlax-false);;; 读取并显示替代标注公差精度
  17.     (setq newTolerance (vla-get-PrimaryUnitsPrecision dimObj))
  18.    )
  19.   ))
  20. )
  21.   (princ "标注精度未改变")
  22. )
  23. (princ)
  24. )

评分

参与人数 1金钱 +50 收起 理由
669423907 + 50 很好用

查看全部评分

 楼主| 发表于 2008-6-20 10:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-6-20 15:01 | 显示全部楼层
(&gt;= 8&#160; newTolerance 0)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-17 14:08 , Processed in 0.250788 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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