明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5367|回复: 34

跪求一个命令做好建立指定块名的块、重新建立定块名的块,重复插入块的功能

  [复制链接]
发表于 2012-9-29 21:54 | 显示全部楼层 |阅读模式
请大师帮帮忙,帮我在以下程序中增加个重新建立块的可选项,我的用途是建立指定块名的块并可以重复插入此块,我想将这个程序有这样的功能,当文件中有了C1块是,当文件中没有c1块时,此命令建立C1块,
当有文件中有C1块时,提示((C)重新建C2块)的可选项,用C唤醒此功能,若不用重建就点取插入点,

请大师帮帮忙,学生在这里谢谢了!


(defun c:c1 (/ pt ss)
  (if (tblsearch "block" "C1")
    (progn
      (setq pt (getpoint "\nInsert point: "))
      (command "_insert" "C1" "non" pt "" "" "")
    )
    (progn
      (princ "\n请选择创建块C1的图元: ")
      (setq ss (ssget)
    pt (getpoint "\nBase point: ")
      )
      (command "_block" "C1" "non" pt ss "")
      (command "_insert" "C1" "non" pt "" "" "")
    )
  )
  (princ)
)
发表于 2012-9-29 22:48 | 显示全部楼层
(defun c1 (msg blk)
  (princ msg)
  (setq        ss (ssget)
        pt (getpoint "\nBase point: ")
  )
  (command "_block" blk "non" pt ss "")
  (command "_insert" blk "non" pt "" "" "")
)

(defun c:c1 (/ pt ss)
  (if (tblsearch "block" "C1")
    (progn
      (initget 1 "C")
      ;; 提示((C)重新建C2块)的可选项
      (setq pt (getpoint "\nInsert point or (C)重新建C2块: "))
      (cond
       ((= pt "C") (c1 "重新建C2块: " "C2"))
       (T
         (command "_insert" "C1" "non" pt "" "" "")
      ))
    )
    (c1 "\n请选择创建块C1的图元: " "C1")
  )
  (princ)
)
 楼主| 发表于 2012-9-30 02:11 | 显示全部楼层
谢谢楼主
这个程序有这样的功能,当文件中有了C1块是,当文件中没有c1块时,此命令建立C1块,
当有文件中有C1块时,提示((C)重新建C1块)的可选项,用C唤醒此功能,若不用重建就点取插入点,

 楼主| 发表于 2012-9-30 02:12 | 显示全部楼层
这样呢,该如何编写。
 楼主| 发表于 2012-9-30 02:13 | 显示全部楼层
谢谢Andyhon楼主
 楼主| 发表于 2012-9-30 02:17 | 显示全部楼层
还需麻烦大师。
 楼主| 发表于 2012-9-30 02:25 | 显示全部楼层

(defun c1 (msg blk)
   (princ msg)
   (setq        ss (ssget)
         pt (getpoint "\nBase point: ")
   )
   (command "_block" blk "non" pt ss "")
   (command "_insert" blk "non" pt "" "" "")
)

(defun c:c1 (/ pt ss)
   (if (tblsearch "block" "C1")
     (progn
       (initget 1 "C")
       ;; 提示((C)重新建C1块)的可选项
       (setq pt (getpoint "\nInsert point or (C)重新建C1块: "))
       (cond
        ((= pt "C") (c1 "重新建C1块: " "C1"))
       (T
          (command "_insert" "C1" "non" pt "" "" "")
       ))
     )
     (c1 "\n请选择创建块C1的图元: " "C1")
   )
   (princ)
)
这样可以Insert point or (C)重新建C1块:
命令: *取消*
命令:
命令: _.erase 找到 1 个
命令: c1
Insert point or (C)重新建C1块: c 重新建C1块:
选择对象: 找到 1 个
选择对象:
Base point:
请回答“是”或“否”。
函数被取消是否重定义?[是(Y)/否(N)] <N>: y 指定插入基点:
选择对象: 找到 1 个
选择对象:
块“c1”已重定义
 楼主| 发表于 2012-9-30 15:45 | 显示全部楼层
我已经写好了,就是不知道怎么制作块镜像的可选项。
 楼主| 发表于 2012-10-1 10:05 | 显示全部楼层
有老师帮忙写一下下吗。。
发表于 2012-10-1 11:33 | 显示全部楼层
1# 当有文件中有C1块时,提示((C)重新建C2块)的可选项,用C唤醒此功能

3# 当有文件中有C1块时,提示((C)重新建C1块)的可选项,用C唤醒此功能

8# 我已经写好了....


晕眩中 ...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 22:33 , Processed in 2.146648 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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