明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1136|回复: 2

[讨论] 调用刷子ma图列

[复制链接]
发表于 2020-12-20 21:05:44 | 显示全部楼层 |阅读模式
本帖最后由 chenyizhen28 于 2020-12-20 21:08 编辑

拿了群里面大佬的刷子,修改程序后,第一次操作失败,后面的正常。求各路高手帮忙分析一下。问题出在哪?


;;;中间执行的命令只能用VL-CMDF调用。
(DEFUN C:tes (/ ss1 E UU SS BB AA N X ENT OB ENTYPE *ERROR* OLDSH ERR_END DOC)
  (DEFUN *ERROR* (X) (ERR_END))
(DEFUN ERR_END NIL (IF OLDSH (SETVAR "SHORTCUTMENU" OLDSH)))
  (SETQ OLDSH (GETVAR "SHORTCUTMENU"))
  (SETVAR "SHORTCUTMENU" 0)
  (princ "\n选择源对象:")
  (setq ss (SSGET ":S:E"))
   (if (= ss nil)
     (exit)
     )
  ;;(SETQ UU (CDR (ASSOC 1 (ENTGET (SETQ E (SSNAME E 0))))))
   (setq layers (cdr (assoc 8 (entget (ssname  ss  0)))));块所在层
  (VL-CMDF "MATCHPROP" ss);;调用刷子
(WHILE (AND ss (not (member (SETQ CC (car (grread NIL 5 2))) '(11 12 25))))
  (PRINC (strcat"\n选择目标对象:<图层刷为" layers ">"))
   (SETQ SS1 (SSGET ":S"))
   (if (= ss1 nil)
     (exit)
     (progn
       (VL-CMDF "move" SS1 "" "0,0" "2000,2000")
       (PRINC "\n操作成功.")
     ) ;progn
   ) ;if

  );while
  (VL-CMDF "")
  (ERR_END)
  (setq doc (vlax-get (vlax-get-acad-object) "activedocument"))
  (IF (AND UU (/= OLDSH 0)) (vla-sendcommand doc "SHORTCUTMENU "))
  (PRINC)
)


评分

参与人数 1明经币 +1 收起 理由
tigcat + 1 淡定

查看全部评分

发表于 2020-12-22 23:16:27 | 显示全部楼层
 楼主| 发表于 2020-12-27 14:34:01 | 显示全部楼层
tigcat 发表于 2020-12-22 23:16
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=96376&highlight=%CC%EC%D5%FD

感谢回复,其他我只是想用他的刷子图例,论坛里有其他大神写的刷子代码,就是绽放时会卡。这个不会卡。命令执行第1次结果是错误的,其他的正常。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-17 14:20 , Processed in 0.170885 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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