乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 81|回复: 4

Autocad MEP-VBScript-获取对象的法线

[复制链接]
238

1

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2013-3-7 18:08:56 | 显示全部楼层 |阅读模式
我在Autocad MEP中工作,试图通过使用特性集和vbscript获取对象的法线 我甚至不确定这是否可能 我在Autodesk网站上找到了这篇文章http://usa.autodesk.com/adsk/servlet/ps/dl/item?siteID=123112&id=6057466&linkID=9240657;这描述了如何添加不是对象的自动属性的属性,并显示了此vbscript代码
  1. RESULT="--"
  2. On Error Resume Next
  3. Set AcadApp = GetObject(, "AutoCAD.Application")
  4. Set Obj = AcadApp.Activedocument.Objectidtoobject("xxxxx")
  5. RESULT= Obj.area

我将Obj.area修改为Obj.normal,但属性集仅显示-- 我知道代码是有效的,因为我将obj.normal更改为obj.rotation,它给出了配件的旋转
有人知道如何在Autocad MEP或Autocad Architecture中获取属性集内对象的法线吗 我需要它,以便我可以看到风管管件是否已绕其中心线旋转 旋转参数仅返回XY平面中的旋转 我需要在XZ平面或ZY平面中旋转,可以从拟合的法线确定
我确实使用VBA检查了AecbDuctFitting's属性和法线是可用的属性之一
谢谢你的帮助

回复

使用道具 举报

0

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2013-3-7 19:20:06 | 显示全部楼层
我真的认为这样应该可以工作,但它只返回RESULT的默认字符串,这意味着obj.normal会在某处抛出错误
  1. RESULT="Fitting Orientation Correct"
  2. On Error Resume Next
  3. Set AcadApp = GetObject(, "AutoCAD.Application")
  4. Set Obj = AcadApp.Activedocument.Objectidtoobject("[ObjectID]")
  5. Normal = obj.normal
  6. If Normal(2) = -1 Then
  7.    RESULT = "UpsideDown Fitting"
  8. End If
回复

使用道具 举报

0

主题

9

帖子

3

银币

初来乍到

Rank: 1

铜币
11
发表于 2013-3-9 03:29:25 | 显示全部楼层
看看这个话题,可能会有所帮助http://forums.autodesk.com/t5/AutoCAD-Architecture/Can-this-be-done-with-VBScript/td-p/3058092
回复

使用道具 举报

0

主题

8

帖子

6

银币

初来乍到

Rank: 1

铜币
10
发表于 2013-3-9 10:58:32 | 显示全部楼层
非常感谢菲索 我能够从帖子中提供的例子中得到我想要的 下面是工作代码,允许我获取属性集中对象的法线
;出错时继续下一步面由Autocad Architecture和Autocad MEP提供 再次感谢
回复

使用道具 举报

0

主题

7

帖子

6

银币

初来乍到

Rank: 1

铜币
11
发表于 2013-3-10 01:45:33 | 显示全部楼层
很高兴你成功了干杯
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-29 18:02 , Processed in 0.743745 second(s), 62 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表