明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: jackechang

如何返回重新输入

  [复制链接]
 楼主| 发表于 2008-9-15 11:53:00 | 显示全部楼层

第二个问题呢?

我想等我把程序做完整后再传上来叫你们精缩好吗.

发表于 2008-9-15 12:07:00 | 显示全部楼层
(command "_.BHATCH" "_S" "" "")
 楼主| 发表于 2008-9-22 08:48:00 | 显示全部楼层
谢谢caoyin大哥的指教,还有一个问题,我在程序中设置了图层,为什么每次运行命令时在命令行中都会出现"**图层已存在"的提示,好烦呀,请问要加什么语句可以让它不出现呢.
发表于 2008-9-22 16:07:00 | 显示全部楼层

如果

(tblobjname "layer" "层名")

返回 非nil 的的值说明图层存在

发表于 2008-9-22 16:12:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2008-9-25 08:53:00 | 显示全部楼层
caoyin大哥,按你的语句加入后,还是会在命令行中出现“绘图图层已存在”的提示呀。还有别的什么办法吗
发表于 2008-9-25 09:04:00 | 显示全部楼层

(if (not (tblobjname "layer" "层名"))

  ....

)

 楼主| 发表于 2008-9-25 10:39:00 | 显示全部楼层

不懂,也许是我没表达清楚吧。我只是想让AUTOLISP命令执行后不要在命令行出现我在程序中设定的“绘图”图层的“绘图图层已存在”信息。CAOYIN大哥可以给出详细的语句吗?谢谢

发表于 2008-9-25 11:44:00 | 显示全部楼层

(if (not (tblobjname "layer" "图层1"));;判断“图层1”是否存在。如果存在返回nil,反正返回T。返回T则执行红色代码
  (entmake '((0 . "LAYER")
             (100 . "AcDbSymbolTableRecord")
             (100 . "AcDbLayerTableRecord")
             (2 . "图层1")
             (70 . 0)
            )
  )

)

;;如还不懂,请贴出你的代码

 楼主| 发表于 2008-9-26 09:52:00 | 显示全部楼层

caoyin大哥,帮忙简化下列程序段好吗?

(if (= ty "y")
    (progn
     (while (not (member d '(20 22.4 25 28 31.5 35.5 40 45 50 56 63 71 80 90 100 112 125)))
             (progn
              (alert "\n 输入的带轮分度园直径非
                      \n 标准  请重新输入标准值")
              (setq d (getreal "\n 请输入带轮分度圆直径d:"))            
             )
      )
    )
)


(if (= ty "z")
    (progn
     (while (not (member d '(50 56 63 71 75 80 90 100 112 125 132 140 150 160 180 200 224 250 280 315 355 400 500 630)))
             (progn
              (alert "\n 输入的带轮分度园直径非
                      \n 标准  请重新输入标准值")
              (setq d (getreal "\n 请输入带轮分度圆直径d:"))            
             )
      )
    )
)


(if (= ty "a")
    (progn
     (while (not (member d '(75 80 85 90 95 100 106 112 118 125 132 140 150 160 180 200 224 250 280 315 355 400 450 500                               560 630 710 800)))
             (progn
              (alert "\n 输入的带轮分度园直径非
                      \n 标准  请重新输入标准值")
              (setq d (getreal "\n 请输入带轮分度圆直径d:"))            
             )
      )
    )
)
 


(if (= ty "b")
    (progn
     (while (not (member d '(125 132 140 150 160 170 180 200 224 250 280 315 355 400 450 500 560 600 630 710 750 800 900                               1000 1120)))
             (progn
              (alert "\n 输入的带轮分度园直径非
                      \n 标准  请重新输入标准值")
              (setq d (getreal "\n 请输入带轮分度圆直径d:"))            
             )
      )
    )
)


(if (= ty "c")
    (progn
     (while (not (member d '(200 212 224 236 250 265 280 300 315 335 355 400 450 500 560 600 630 710 750 800 900 1000 1120                              1250 1400 1600 2000)))
             (progn
              (alert "\n 输入的带轮分度园直径非
                      \n 标准  请重新输入标准值")
              (setq d (getreal "\n 请输入带轮分度圆直径d:"))            
             )
      )
    )
)

(if (= ty "d")
    (progn
     (while (not (member d '(335 355 375 400 425 450 475 500 560 600 630 710 750 800 900 1000 1060 1120 1250 1400 1500 1600                              1800 2000)))
             (progn
              (alert "\n 输入的带轮分度园直径非
                      \n 标准  请重新输入标准值")
              (setq d (getreal "\n 请输入带轮分度圆直径d:"))            
             )
      )
    )
)

 
(if (= ty "e")
    (progn
     (while (not (member d '(500 530 560 600 630 670 710 750 800 900 1000 1120 1250 1400 1500 1600 1800 2000 2240 2500)))
             (progn
              (alert "\n 输入的带轮分度园直径非
                      \n 标准  请重新输入标准值")
              (setq d (getreal "\n 请输入带轮分度圆直径d:"))            
             )
      )
    )
)

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

本版积分规则

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

GMT+8, 2025-6-18 19:29 , Processed in 0.981305 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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