明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1672|回复: 5

[求助]关于用户坐标的问题。

[复制链接]
发表于 2004-6-12 09:20:00 | 显示全部楼层 |阅读模式
为了画图方便。使用了用户自定义坐标,而且已经成功的移动了坐标。但是再作图的时候,为什么还是以原坐标为基准啊?下面是代码一部分,大家看看: Public Sub UCS_Down()
' 定义所需的变量
Dim ucsObj As AcadUCS
Dim origin(0 To 2) As Double
Dim xAxisPnt(0 To 2) As Double
Dim yAxisPnt(0 To 2) As Double
Dim downBaseP3(0 To 2) As Double
' 定义UCS点
origin(0) = GridWidth / 2: origin(1) = 2 * GridPerHeight: origin(2) = 0
xAxisPnt(0) = GridWidth / 2 + 1000#: xAxisPnt(1) = 2 * GridPerHeight: xAxisPnt(2) = 0
yAxisPnt(0) = GridWidth / 2: yAxisPnt(1) = 2 * GridPerHeight + 1000#: yAxisPnt(2) = 0

' 添加UCS到 UserCoordinatesSystems 集合
Set ucsObj = AcadApp.ActiveDocument.UserCoordinateSystems.Add(origin, xAxisPnt, yAxisPnt, "Down_UCS")
' 显示UCS图标
AcadApp.ActiveDocument.ActiveViewport.UCSIconAtOrigin = True
AcadApp.ActiveDocument.ActiveViewport.UCSIconOn = True

' 使新的UCS成为活动的UCS
AcadApp.ActiveDocument.ActiveUCS = ucsObj

End Sub
downBaseP3(0) = 0: downBaseP3(1) = 0: downBaseP3(2) = 0 call AddPoint (downBaseP3) 画一个点(0,0,0),为什么还是以原来的世界坐标为基准呢? 谢谢指教。
发表于 2004-6-12 13:54:00 | 显示全部楼层
Set AcadApp.ActiveDocument.ActiveUCS = ucsObj


AcadApp.ActiveDocument.ActiveUCS是对象,应该用Set语句赋值
 楼主| 发表于 2004-6-12 15:46:00 | 显示全部楼层
飞狐兄弟,应该不是你说的那样。


写法应该没问题的。


很多书上都是那么写的。我按你说的方法试了一下,提示:ID为空。
 楼主| 发表于 2004-6-12 16:02:00 | 显示全部楼层
原来还要用transformBy方法将在wcs中创建的的实体转换到ucs中: Dim TransMatrix As Variant
TransMatrix = ucsObj.GetUCSMatrix()
pointObj.TransformBy (TransMatrix) 转换之后还要删除原来的对象。:( 我要画一个平面的三视图,为了画图方便,需要定义3个用户坐标。有没有方便的方法呢?就像转到一个用户坐标中后,直接可以在里面画? 谢谢指教。
发表于 2004-6-12 16:13:00 | 显示全部楼层
AutoCAD® ActiveX Automation 中的所有坐标都是在世界坐标系输入的。使用 GetUCSMatrix 方法可以返回给定 UCS 的转换矩阵。由此转换矩阵可以找出等价的 WCS 坐标。
 楼主| 发表于 2004-6-12 16:21:00 | 显示全部楼层
我要画一个平面的三视图,为了画图方便,需要定义3个用户坐标。有没有方便的方法呢?就像转到一个用户坐标中后,直接可以在里面画?


大家都用代码画过这样的图吧,不知道如何做能方便些。


如果用转换矩阵的话,那还不如现在世界坐标下话,画完之后全部选择或者形成块,再move到合适的位置。


感谢飞狐兄。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 05:36 , Processed in 0.150507 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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