乐筑天下

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

动态块属性进退两难

[复制链接]

6

主题

17

帖子

8

银币

初来乍到

Rank: 1

铜币
34
发表于 2012-1-5 08:59:27 | 显示全部楼层 |阅读模式
我将试着从逻辑上提出这个问题..
使用AutoCAD 2011
我有一个动态桌面块,我可能通过代码插入了它,也可能没有插入。
这个动态桌面块有三个动态属性:垂直翻转、水平翻转和旋转(角度)。
我想插入一组附件块(工作椅、客用椅、横向文件夹等)。)通过VBA电码。
我希望这个例程通过选择desk块并通过代码计算出其余部分来工作。
为了插入附件块并正确定向,我需要从桌面块收集信息,例如:垂直翻转= 1,水平翻转= 1,旋转(角度)等于多少。
我对上述代码没有任何问题;它运行良好!
这是帖子中有点难以解释的部分:
假设我通过角度夹点将动态桌面块旋转了90度(正交)。然后,假设我通过垂直翻转把手翻转桌子。您希望动态角度属性为90度;你是对的。
重设台块后。现在,假设我通过垂直翻转把手翻转桌子。然后,我通过其角度夹点将动态桌面块旋转90度。您希望动态角度属性为90度;你就错了!现在是270度,尽管屏幕上的方块和第一个场景是一样的,只是用了不同的顺序。
问题:如果我在一个冷块上运行这个程序,我不知道它是如何达到当前的角度和方向的,在上述情况下,我究竟如何确定真实的角度呢?
其他注意事项:
我不仅测试动态角度属性,还测试块的旋转属性,以防万一。
我不仅测试了动态翻转属性,还测试了块的X缩放属性,这些属性也被考虑在内。
我已经查看了与AcadBlockReference对象关联的所有属性和方法,包括XEffectiveScaleFactor和YEffectiveScaleFactor,但没有明显的效果。
一些想法:
我想我可以使用边界框和一些基本的几何原理来尝试和确定与插入点相关的桌面块的方向。我的猜测是,这需要将原生边界框数据存储在我用来存储这些块的其他信息的Access DB中,或者在比如说0,0,0处插入块的副本并确定原生边界框数据,然后删除该副本并尽力确定方向。然而,这将需要一系列全新的变量和一些基本几何原理的实际知识。
如果需要的话,我会贴出代码,但我真的认为这归结于是否有一些属性,我可以得出动态块的实际旋转是什么。
预先感谢!

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-30 11:01 , Processed in 1.088568 second(s), 55 queries .

© 2020-2025 乐筑天下

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