明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1430|回复: 5

[讨论] 怎样控制重复插块次数

[复制链接]
发表于 2011-7-11 11:34:11 | 显示全部楼层 |阅读模式
(defun c:chakuaiming ()
(initget "1 2 3 4")
(setq chakuaiming-n (getkword "\n选择<1.全/2.强/3.弱/4.微>"))
(while chakuaiming-n
     (if (= chakuaiming-n "1")
         (progn
         (command "insert" "全" (getpoint "选择插入点:") 1 1 0)
         (command "insert" "全" (getpoint "选择插入点:") 1 1 0)
         )
     )
     (if (= chakuaiming-n "2")
         (progn
         (command "insert" "强" (getpoint "选择插入点:") 1 1 0)
         (command "insert" "强" (getpoint "选择插入点:") 1 1 0)
         )
     )
     (if (= chakuaiming-n "3")
         (progn
         (command "insert" "弱" (getpoint "选择插入点:") 1 1 0)
         (command "insert" "弱" (getpoint "选择插入点:") 1 1 0)
         )
     )
     (if (= chakuaiming-n "4")
         (progn
         (command "insert" "微" (getpoint "选择插入点:") 1 1 0)
         (command "insert" "微" (getpoint "选择插入点:") 1 1 0)
         )
     )
     (initget "1 2 3 4")
     (setq chakuaiming-n (getkword "\n选择<1.全/2.强/3.弱/4.微>"))
)
)
;;;;===========================
以上程序中,每种插块次数可能为2次或4次,怎样处理才能在不中断程序运行情况下自由选择插块次数(因为要多次选择各种插块)


该贴已经同步到 zwqgdhl的微博
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2011-7-11 12:07:14 | 显示全部楼层
本帖最后由 Andyhon 于 2011-7-11 14:19 编辑


  1. (defun InstBlk_move (obj / code5 p3)
  2.     (grread (grread T))
  3.     (while (and
  4.              (setq take (grread 't))
  5.              (/= 3 (car take))
  6.              (if (member take '((2 13) (2 32) (6 0) (11 0)))
  7.                (progn
  8.                  (vla-delete obj)
  9.                  (setq go nil)
  10.                )
  11.                'T
  12.            ) )
  13.       (setq code5 (car take))
  14.       (setq p3 (cadr take))
  15.       (if (and p3 (= 5 code5))
  16.         (vla-put-insertionpoint obj (vlax-3d-point p3))
  17.     ) )
  18. )

  19. (defun chakuaiming_BlkN (kw bit)
  20.    (cond
  21.     ((= kw "1") (setq blk "全"))
  22.     ((= kw "2") (setq blk "強"))
  23.     ((= kw "3") (setq blk "弱"))
  24.     ((= kw "4") (setq blk "微"))
  25.    )
  26.    (if (zerop bit)
  27.      blk
  28.      (and
  29.        (princ "\nNext Block ==> ") (princ blk)
  30.        (princ "\n to Go?")
  31.        (if (= (car (Grread)) 25)
  32.          (setq blk nil)
  33.          'T
  34.    ) ) )  
  35. )

  36. (defun c:chakuaiming ()
  37.     (initget "1 2 3 4")
  38.     (setq chakuaiming-n (getkword "\n 选择<1.全/2.强/3.弱/4.微> : ")
  39.                     bit  -1
  40.     )
  41.    
  42.     (while (chakuaiming_BlkN chakuaiming-n bit)
  43.       (command "Insert" blk pause 1 1 0)
  44.       (princ "\n More ....")
  45.       (while (and (setq pt (grread T)) (/= (car pt) 5)))
  46.       (setq pt (cadr pt))
  47.       (command "Insert" blk pt "" "" "")
  48.       (setq ee (entlast)
  49.            obj (vlax-ename->vla-object ee)
  50.             Go  T
  51.       )
  52.       (InstBlk_move obj)
  53.       (while (and Go (setq obj (vla-copy obj)))
  54.         (InstBlk_move obj)
  55.       )
  56.       (princ "\n>> Next ....")
  57.       (setq bit 1)
  58.       (setq chakuaiming-n (itoa (rem (1+ (atoi chakuaiming-n)))))
  59.     )
  60.     (princ)
  61. )



P.s. 未測 ...

评分

参与人数 1金钱 +30 收起 理由
xiaxiang + 30 好程序

查看全部评分

 楼主| 发表于 2011-7-11 13:01:22 | 显示全部楼层
谢谢论坛长老的热心!刚刚试了你的程序,不过,还不是我要的方法。
最好是操作时不用过多的输入或选择,不用时只按鼠标右键即可进入下一种插块
发表于 2011-7-11 14:21:01 | 显示全部楼层
已修订,若不通过时请上传可供调试的文件
 楼主| 发表于 2011-7-11 21:26:37 | 显示全部楼层
谢谢论坛长老,我会按你的思路去修改我的程序的
 楼主| 发表于 2011-7-12 08:50:35 | 显示全部楼层
昨天晚上修改了很多次,终于现在这个觉得挺好用的,可以连续重复不限插块次数和多次选择各种插块而不会退出程序
(defun c:chakuaiming ()
(initget "1 2 3 4 5 6")
(setq chakuaiming-n (getkword "\n选择<1.全/2.强/3.弱/4.微/5.溶洞/6.耕植土>"))
(while chakuaiming-n
     (if (= chakuaiming-n "1")
         (progn (setq pt (getpoint "\n<插入全风化>"))
                (while pt
                       (command "insert" "全" pt 1 1 0)
                       (setq pt (getpoint "\n<插入全风化>"))
                )
         )
     )
     :
     :
     :
     (initget "1 2 3 4 5 6")
     (setq chakuaiming-n (getkword "\n选择<1.全/2.强/3.弱/4.微/5.溶洞/6.耕植土>"))
)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-24 04:51 , Processed in 0.159685 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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