明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 529|回复: 5

[提问] 包围盒碰到块元素图框

[复制链接]
发表于 2024-9-1 13:45:45 | 显示全部楼层 |阅读模式
以下代码也是从论坛得来的凑的,想不需要用户选择的情况下获得最大包围盒。但在碰到图框块元素时出错了,哪位大佬能帮看看么?感谢。

  1. (defun c:ctx(/ dd gbo p1 p2 p3 p4 ps pxa pxb pya pyb ss)
  2.   (setvar "cmdecho" 0)
  3.   (defun gbo(obj / p1 p2)(vla-getboundingbox obj 'p1 'p2)(mapcar 'vlax-safearray->list (list p1 p2)))
  4.   (setq filter '((0 . "*LINE,ARC,ELLIPSE,CIRCLE,TEXT,POINT,ATTDEF,RECTANG,INSERT")))
  5.   (setq ss (ssget "X" filter))
  6.   (setq dd (*(getvar "dimscale")6))
  7.   (setq ps (mapcar 'gbo(mapcar 'vlax-ename->vla-object(vl-remove-if 'listp(mapcar 'cadr(ssnamex ss))))))
  8.   (setq pxa (apply 'min(mapcar 'caar ps)))
  9.   (setq pya (apply 'min(mapcar 'cadar ps)))
  10.   (setq pxb (apply 'max(mapcar 'caadr ps)))
  11.   (setq pyb (apply 'max(mapcar 'cadadr ps)))
  12.   (setq p1 (list pxa pya))
  13.   (setq p2 (list pxb pya))
  14.   (setq p3 (list pxb pyb))
  15.   (setq p4 (list pxa pyb))
  16.   (princ p1)
  17.   (princ p2)
  18.   (princ p3)
  19.   (princ p4)
  20.   (prin1)
  21. )




 楼主| 发表于 2024-9-1 13:49:41 | 显示全部楼层
测试时发现,去掉 INSERT,可以执行,但只有里面的图形,图框的坐标没了,也即丢了图框了,加上INSERT就抛错了。
错误: Automation 错误。 范围无效
发表于 2024-9-1 14:05:08 | 显示全部楼层
我在Autocad2007,浩辰CAD2025上操作都是正常的
发表于 2024-9-1 15:37:51 | 显示全部楼层
不是图块的问题,是块里面有MTEXT的问题,
 楼主| 发表于 2024-9-1 16:37:56 | 显示全部楼层
忘了上传我的测试附件了

本帖子中包含更多资源

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

x
 楼主| 发表于 2024-9-1 16:39:01 | 显示全部楼层
kozmosovia 发表于 2024-9-1 15:37
不是图块的问题,是块里面有MTEXT的问题,

好的,我验证一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 07:52 , Processed in 0.167501 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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