明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 11460|回复: 23

[【高飞鸟】] 【飞鸟集】UCS下如何创建物体的包围框

    [复制链接]
发表于 2008-3-24 16:56:00 | 显示全部楼层 |阅读模式

UCS下如何创建物体的包围框

我们知道如果要创建物体的包围框采用函数
vla-GetBoundingBox函数,但这个函数创建的物体包围框永远是WCS的,也就是说无论你当前处于什么UCS状态,它得到的包围框总是跟WCS的X轴线,Y轴线,Z轴线平行的。
那么如何在UCS下创建物体的包围框呢?

当然不能仅仅是直接用getboundingBox得到的点变换到UCS就可以了,还需要一个步骤。
这个步骤是要首先把物体通过transformBy变换到WCS状态,然后得到这个时候的包围框,再把物体又变换回到UCS中,
同时还要把得到的这个包围框也变换到UCS中。好了,有什么不明白的请看下面的程序。另外有什么更好的办法不妨到这里讨论。

下面我提供了一个程序可以创建物体的包围框,(仅仅平面的,如果是立体的,可以稍加修改)。

使用方法,输入命令: test,然后选择物体,就得到了物体的UCS底下的包围框。

没有加出错处理,譬如某些东西可能处于锁定的图层或者不能被修改。

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2021-7-2 19:00:28 | 显示全部楼层
本帖最后由 刘炎华 于 2021-7-3 07:07 编辑

很实用!已在论坛找到答案
发表于 2023-3-16 21:49:58 | 显示全部楼层
谢谢大神分享,,很实用
发表于 2022-8-29 22:03:22 | 显示全部楼层
很强大,谢谢分享
发表于 2008-3-24 17:37:00 | 显示全部楼层
这个问题有晓东上讨论过了,实现方法差不多,但如果这个实体有关联反应器的时候,transformby会有问题
 楼主| 发表于 2008-3-24 18:51:00 | 显示全部楼层

晓东论坛上的方法我看见过了,不过我没测试过。因为我一时找不到里面的库函数。

我虽然思路大同小异,但是感觉到那个方法可能只能适合二维情况,不适合三维的UCS,(就是UCS的法线矢量不为(0,0,1)的情况).另外用了command,在某些情况下可能不利于效率的提高。

你说的反应器关联的问题,不妨请举个具体例子,我测试看看。

发表于 2008-3-26 08:55:00 | 显示全部楼层
看看附件中的图

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-3-26 09:25:00 | 显示全部楼层

你的测试文件已看,我想,如果是带了反应器的话,可能相关函数也要做一定的调整。我拿自己的反应器例子再测试看看。

发表于 2008-3-26 13:08:00 | 显示全部楼层
可能要改写反应器了
发表于 2008-4-10 09:34:00 | 显示全部楼层
本帖最后由 作者 于 2008-4-16 9:27:27 编辑

我有一个好玩的想法,,先占位置,,,,,,,,,,,,,,

;;;唉,实在是不行了,速度比vla-GetBoundingBox竟然慢了十倍,估计算法有问题,等我什么时候学习改进后再贴出来~
发表于 2008-11-11 17:46:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2009-7-10 17:53:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2009-7-14 22:24:00 | 显示全部楼层
下面的程序可以满足你的如下要求。

关于你说的第一种UCS处理不了,其实直接求boungdingBox就可以了啊,把那一行注释掉就可以了。
就是把关于变换的句子注释掉就可以了,如下面的三个句子
  1. (and (or VTwist IsWCS) (vla-TransformBy obj revMat))    ; 反变换到WCS
复制代码
...
  1. (and (or IsWCS vtwist) (vla-TransformBy obj matrix))    ; 变换回到UCS或DCS
复制代码
...
  1. (or IsWCS vtwist)                                       ; 如是UCS或者ViewTwist话
  2. (vla-TransformBy
  3.    (vlax-ename->vla-object (entlast)) matrix             ; 变换边框到UCS或DCS
  4. )
复制代码

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 19:39 , Processed in 0.232896 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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