明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2812|回复: 29

[提问] 求大神改下这个查字画圆,改为查相同图块画圆

[复制链接]
发表于 2023-7-28 16:47:41 | 显示全部楼层 |阅读模式
求大神改下这个查字画圆,改为查相同图块画圆

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2023-7-29 11:15:12 | 显示全部楼层
增加了图层和线宽:




本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

发表于 2023-7-28 17:25:57 | 显示全部楼层
本帖最后由 ssyfeng 于 2023-7-28 17:48 编辑

识别相同块名:





本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

发表于 2023-7-29 10:02:20 | 显示全部楼层
本帖最后由 嘒彼小星 于 2023-7-29 10:07 编辑
664571221 发表于 2023-7-28 20:47
大哥能不能放入放入     你好123   这个图层,如果没有就新建这个图层,还有能不能把圆的线变粗线

在院长的代码基础上,子程序后,if前。加代码,
(setq layer_tc (tblsearch "layer" "你好123"))
(if (= layer_tc nil)(command "-LAYER" "n" "你好123" ""))
(command "LAYER" "S" "你好123" "")
然后循环里面的圆的命令改为
(command "PLINE" "non" p1 "w" "5" "5" "A" "A" "180" "non" p2 "CL")
上面这两个5 根据你需要的线的粗细来更改为别的数值。

完整的就像下面这样:
  1. (defun c:iy ()
  2.   (defun mimx (s1 / p1 p9)
  3.     (vla-getboundingbox (vlax-ename->vla-object s1) 'p1 'p9)
  4.     (list (vlax-safearray->list p1) (vlax-safearray->list p9))
  5.   )
  6.   (setq layer_tc (tblsearch "layer" "你好123"))
  7.   (if (= layer_tc nil)(command "-LAYER" "n" "你好123" ""))
  8. (command "LAYER" "S" "你好123" "")
  9.   (if (and (setq s1 (car (entsel "\n选择图块: ")))
  10.            (= (cdr (assoc 0 (entget s1))) "INSERT")
  11.            (setq bk (cdr (assoc 2 (entget s1))))
  12.            (setq ss (ssget "x" (list (cons 2 bk))))
  13.       )
  14.     (progn
  15.       (setq i -1)
  16.       (while (setq s1 (ssname ss (setq i (1+ i))))
  17.         (setq ptn (mimx s1)
  18.               p1  (car ptn)
  19.               p2  (cadr ptn)
  20.         )
  21.         (command "PLINE" "non" p1 "w" "5" "5" "A" "A" "180" "non" p2 "CL")
  22.       )
  23.     )
  24.   )
  25.   (princ)
  26. )



发表于 2023-7-28 16:54:05 | 显示全部楼层
查块名相同、比例相同、旋转角度都相同?
 楼主| 发表于 2023-7-28 17:30:10 | 显示全部楼层
ssyfeng 发表于 2023-7-28 16:54
查块名相同、比例相同、旋转角度都相同?

不用考虑角度,只要名称一样
发表于 2023-7-28 18:59:12 | 显示全部楼层
  1. (defun c:tt ()
  2.   (defun mimx (s1 / p1 p9)
  3.     (vla-getboundingbox (vlax-ename->vla-object s1) 'p1 'p9)
  4.     (list (vlax-safearray->list p1) (vlax-safearray->list p9))
  5.   )
  6.   (if (and (setq s1 (car (entsel "\n选择图块: ")))
  7.            (= (cdr (assoc 0 (entget s1))) "INSERT")
  8.            (setq bk (cdr (assoc 2 (entget s1))))
  9.            (setq ss (ssget "x" (list (cons 2 bk))))
  10.       )
  11.     (progn
  12.       (setq i -1)
  13.       (while (setq s1 (ssname ss (setq i (1+ i))))
  14.         (setq ptn (mimx s1)
  15.               p1  (car ptn)
  16.               p2  (cadr ptn)
  17.         )
  18.         (command "circle" "2p" "non" p1 "non" p2)
  19.       )
  20.     )
  21.   )
  22.   (princ)
  23. )
发表于 2023-7-28 19:22:00 | 显示全部楼层
非常实用,感谢楼主的分享!
 楼主| 发表于 2023-7-28 20:00:05 | 显示全部楼层
mokson 发表于 2023-7-28 19:22
非常实用,感谢楼主的分享!

兄弟你的编程学的怎么样了
 楼主| 发表于 2023-7-28 20:02:16 | 显示全部楼层
ssyfeng 发表于 2023-7-28 17:25
识别相同块名:

谢谢兄弟...........
 楼主| 发表于 2023-7-28 20:03:42 | 显示全部楼层

谢谢派大........
 楼主| 发表于 2023-7-28 20:47:04 | 显示全部楼层
ssyfeng 发表于 2023-7-28 17:25
识别相同块名:

大哥能不能放入放入     你好123   这个图层,如果没有就新建这个图层,还有能不能把圆的线变粗线
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 07:05 , Processed in 0.174145 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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