找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1290|回复: 2

[LISP函数]:2007年更新,(标注加公差)

[复制链接]
发表于 2007-1-1 11:07:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
很感谢上期三位相助的kohi 会员/ zxq0220 会员 /taner会员,我下载之后试了,第一个程序我改为用命令随机输入,缺点是:比如正负0.2,,结果是上面是+0.2下面是_0.2,不合标注要求,正确是正负号共用一个0.2就好,如果能提示(公差值相同请输C),输C后直接输入0.2更好
希望能修改一下
********************************
第二个可运行,但很错误,



第一个
(defun c:test ()
  (setq up 0.15 lower 0.06);也可通过对话框或命令行随机输入
  (setq dd (ssget '((0 . "dimension"))))
  (setq n 0)
  (while (< n (sslength dd))
    (setq obj (vlax-ename->vla-object (ssname dd n)))
    (vla-put-toleranceupperlimit obj up)
    (vla-put-tolerancelowerlimit obj lower)
    (vla-put-tolerancedisplay obj 2)   
    (vla-update obj)
    (setq n (1+ n))
  )
)

/////////////////////////////////////////////////
第二个
(DEFUN C:TOLE ()
(DEFUN RDATA () (SETQ PU (GET_TILE "pu") PD (GET_TILE "pd")))
(SETQ FF (OPEN "INPUT.DCL" "w"))
(WRITE-LINE "input : dialog {" FF)
(WRITE-LINE " label=\"公差输入\";" FF)
(WRITE-LINE " : edit_box { key=\"pu\"; label=\"上公差\";value=\"+0.01\";}" FF)
(WRITE-LINE " : edit_box { key=\"pd\"; label=\"下公差\";value=\"-0.01\";}" FF)
(WRITE-LINE " ok_cancel;" FF)
(WRITE-LINE "}" FF)
(CLOSE FF)
(IF (> (SETQ DCL_ID (LOAD_DIALOG "INPUT")) 0) (PROGN
  (IF (NEW_DIALOG "input" DCL_ID) (PROGN
   (action_tile "accept"  "(RDATA) (DONE_DIALOG 1)")
   (action_tile "cancel" "(DONE_DIALOG 0)")
   (SETQ RE (START_DIALOG))
  ) (ALERT "Unable to display dialog box!"))
  (UNLOAD_DIALOG DCL_ID)
) (ALERT "Unable to load dialog box!"))
(IF (= RE 1) (PROGN
  (PRINC "\n选择尺寸 : ")
  (IF (SETQ SS (SSGET '((0 . "DIMENSION")))) (PROGN
   (SETQ I 0)
   (IF (AND (= (SUBSTR PU 1 1) "+") (= (SUBSTR PD 1 1) "-"))
    (SETQ PRE (STRCAT "%%p" (SUBSTR PU 2)))
    (SETQ PRE (STRCAT "\\S" PU "^" PD ";"))
   )
   (REPEAT (SSLENGTH SS)
    (SETQ ENT (ENTGET (SSNAME SS I)) I (1+ I))
    (SETQ RR (CDR (ASSOC 1 ENT)))
    (SETQ RR (STRCAT (IF (= RR "") "<>" RR) PRE))
    (SETQ ENT (SUBST (CONS 1 RR) (ASSOC 1 ENT) ENT))
    (ENTMOD ENT)
   )
  ))
))
(PRINC)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-1-2 15:26:56 | 显示全部楼层
看看这个,应该可以满足你的要求。

公差标注的lisp程序
http://p4.xdcad.net/forum/showth ... 3077779#post3077779
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-6 19:28:20 | 显示全部楼层
多谢,我回去试试
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-25 15:06 , Processed in 0.390678 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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