明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: HQ_2003

[求助][分享]

  [复制链接]
发表于 2003-5-7 22:52:00 | 显示全部楼层

对于TransMatrix和ContextData参数的解释

TransMatrix :
为模型坐标系到世界坐标系的转换矩阵,它是一个二维4X4矩阵,每一行都包含了一个坐标集。该矩阵可以用来将图元定义数据中的点从称为模型坐标系 (MCS) 的内部坐标系转换为世界坐标系 (WCS)。MCS 的原点是包含所选图元的块的插入点,而 MCS 轴的方向则由创建该块时 UCS 的方向决定。

ContextData :
一维数组,它包含了选定对象所在块的图元名。若所选的对象内含在嵌套块中(即块中块),则该表会包括内含该对象的所有块的对象ID。该表的排列顺序是从最内层的块开始,向外层推,直到遇到插入图形中的最外层块才结束。

GetSubEntity方法与GetEntity方法不同的是它返回两个附加的值,用于处理块参照中的嵌套图元。
另一个差别是当用户选择了复杂图元来响应 GetSubEntity 调用,该方法返回选定的子图元的图元名称,而不是象GetEntity 那样返回复杂图元的表头图元。
   例如,如果用户选择了三维多段线,GetSubEntity方法 返回顶点子图元,而不是多段线的表头图元。该方法也适用于用户选择嵌套块参照中的属性。

选择块参照中的属性将返回属性的名称和拾取点。当选定的对象是块参照的一个部件而不是一个属性时,GetSubEntity方法返回包含下列元素的参数:

    选定图元的名称。
    包含用于拾取对象的点的坐标的表。
    “模型到世界转换矩阵”,它是一个二维4X4矩阵,每一行都包含了一个坐标集。该矩阵用于将图元定义数据点从内部坐标系,也被称为模型坐标系 (MCS),转换为世界坐标系 WCS。包含选定图元的块的插入点定义 MCS 的原点,创建块时的 UCS 方向决定了 MCS 轴的方向。
    由包含选定对象的块的对象ID组成的表。如果选定的对象在一个嵌套块中(块内有块),则该表会包含嵌套选定对象的所有块的对象ID。该数组的排列顺序是从最内层的块开始,向外层推,直到插入图形中的最外层的块才结束。
       
一旦获得了图元名称和“模型到世界转换矩阵”,就能把图元定义数据点从 MCS 转换为 WCS。至于怎样转换,还有待进一步的研究。
 楼主| 发表于 2003-5-12 14:15:00 | 显示全部楼层

efan2000老师能否再提示一下,怎样把这程序改一下实现窗选的功能。你的编程水平太高

efan2000老师能否再提示一下,怎样把这程序改一下实现窗选的功能。你的编程水平太高了![br]
发表于 2003-5-12 19:16:00 | 显示全部楼层

窗选的有一个问题。

窗选只能选择最外层的实体,比如,块中的属性,那么它只能选择到块,而块中的属性没有办法获取,如果通用枚举块的所有属性来操作,那么就可能包含有些不是想要的数据,如不显示的,或者属性的位置在窗选之外的(注:块中的属性位置可以任意指定)等,对于这些问题还是要考虑清楚。
 楼主| 发表于 2003-5-12 20:05:00 | 显示全部楼层

没想到还有这么多学问

我觉得对于本例来说,此程序的主要用处就是单纯地对数字相加(而不是对块中"数字"属性相加),比如对图纸一览表中各零件重量的相加统计。我是这样用的,因此我觉得对于数字比较多的时候,用窗选比较方便。
至于efan2000老师说的对块中"数字"属性的选取,不知此程序如何应用?

怪!我刚发现一个问题,为何如下图形中小计一列中的数字无法选取,选取后按鼠标右键,提示如下错误
  “自动化(Automation)错误“请问如何解决?

本帖子中包含更多资源

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

x
发表于 2003-5-12 21:17:00 | 显示全部楼层

用GetSubEntity可以直接选择块中的属性

用GetSubEntity可以直接选择块中的属性,而对于块,用HasAttributes判断有没有包含属性,用GetAttributes返回属性的集合(不包括固定属性)。
前一个程序由于没有对实体的类型进行判断,所以如果选中了其它类型的实体就会出错。现已经修改,并附上一个使用选择集操作的例子,有的可能需要根据自己的需要进行修改,就象你所提供的那张图,不是位于世界坐标系,而用VBA生成的文字一定是根据世界坐标系来定位的,因而显示的效果就不一样了。

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-11-28 16:45 , Processed in 0.169575 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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