乐筑天下

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

还是关于UCS的问题

[复制链接]

14

主题

36

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
92
发表于 2007-10-25 21:59:00 | 显示全部楼层 |阅读模式
上次问了关于UCS和WCS的夹角的问题,在alin兄弟的帮助下,取得了一些进展,但是还有一些不明白的问题,希望兄弟们帮我解决一下,我还是没有弄清楚怎么回事!
在自定义的UCS的X轴逆时针的转角没有超过180度的时候,我发现UCS.XVector——(0,0,0)的夹角是UCS的X轴的转角的2倍,但是当X转角大于180度到360度时,UCS.XVector——(0,0,0)的角度又经历了一次如同0到180度时候的变化,为此我在CAD中画出了不同的UCS X轴角度,以及对应的UCS.XVector的位置!

bmzbcfqv1po.JPG

bmzbcfqv1po.JPG


其中紫红蓝灰点其实位置与绿白青黄位置相同,只是为了看清楚,我把它们往外挪了一下。
那么我本来是要求UCS与WCS的夹角的,如果是小于180度时候,我还可以用XVector夹角除与2。但是大于180度的时候实际求出来的角,比需要的角度小了180度,本来加上就了事了,但是现在的问题是,我怎么判断当前的UCS是与WCS的夹角是大于180度,还是小于180度呢?因为两种状态下,可以说相对应的UCS的XVector是乎是完全重合的。
我晕了!!!!
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2007-10-26 21:34:00 | 显示全部楼层
注意你这里的XVector的值是WCS里的值,如果你把它当成UCS中的值来划线,当然变成两倍!
下面是用ADDLINE划线,保证其在WCS中进行。
Sub tt()
Dim wcsOrigin(0 To 2) As Double
Dim XVector As Variant
Dim YVector As Variant
wcsOrigin(0) = 0: wcsOrigin(1) = 0: wcsOrigin(2) = 0:
XVector = ThisDrawing.ActiveUCS.XVector
YVector = ThisDrawing.ActiveUCS.YVector
ThisDrawing.ModelSpace.AddLine wcsOrigin, XVector
ThisDrawing.ModelSpace.AddLine wcsOrigin, YVector
ThisDrawing.ModelSpace.AddLine XVector, YVector
End Sub
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-6 07:42 , Processed in 0.743327 second(s), 59 queries .

© 2020-2025 乐筑天下

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