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