明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2048|回复: 8

[求助]如果取得下图的坐标点

[复制链接]
发表于 2008-10-19 23:04:00 | 显示全部楼层 |阅读模式

如上图,这是一个块,假设圆心的坐标是(0,0,0),而且也许它不是由一个圆组成,而是其它未知图元,现在要通过程序求得该块与X轴和Y轴上4个的交点的坐标,如上图四个白色点的坐标。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2008-10-21 20:17:00 | 显示全部楼层
在图中画了两根与X轴和Y轴重叠的线后,用IntersectWith命令获取交点的坐标,但对于图块,其返回值误差很大,而且没规律,行不通,请高手指点,谢谢。
 楼主| 发表于 2008-10-21 21:56:00 | 显示全部楼层
本人插入块后,画了一根与X轴,一根与Y轴重叠的直线,求它们与块的交点,但是得到的坐标误差很大,而如果不是块的话就正确,希望能有高手提供更准确简捷的办法。谢谢!
发表于 2008-10-22 12:23:00 | 显示全部楼层
你的程序写出来,再帮你改。
 楼主| 发表于 2008-10-25 23:34:00 | 显示全部楼层
本帖最后由 作者 于 2008-10-25 23:41:56 编辑

说明:该块实际值分别应为

Px1=(-2,0,0)

Px2=(2,0,0)

Py1=(0,-2,0)

Py2=(0,2,0)

但程序得到的结果却各有2个交点,且Px2为(5.27,0,0)和Py2为(0,5.5488,0)

我程序如下:

Sub getxy()
Dim Blk As AcadBlockReference
Dim P1(0 To 2) As Double
Dim Pa  As Variant
Dim Pb(0 To 2) As Double
Dim Px1  As Variant
Dim Px2  As Variant
Dim Py1  As Variant
Dim Py2 As Variant
Dim Linet As AcadLine
Dim blkname As String
blkname = "d:\lks.dwg"

P1(0) = 0
P1(1) = 0
P1(2) = 0
Pa = P1
Pb(0) = 50 '块的高和宽均不会大于50,且块的原点在坐标(0,0,0)
Pb(1) = 0
Pb(2) = 0

Set Blk = ThisDrawing.ModelSpace.InsertBlock(Pa, blkname, 1, 1, 1, 0)
Set Linet = ThisDrawing.ModelSpace.AddLine(Pa, Pb)
Px2 = Blk.IntersectWith(Linet, acExtendNone)

Pb(0) = -50
Linet.EndPoint = Pb
Px1 = Blk.IntersectWith(Linet, acExtendNone)

Pb(0) = 0
Pb(1) = -50
Linet.EndPoint = Pb
Py1 = Blk.IntersectWith(Linet, acExtendNone)

Pb(1) = 50
Linet.EndPoint = Pb
Py2 = Blk.IntersectWith(Linet, acExtendNone)

Linet.Delete
Blk.Delete

End Sub

发表于 2008-10-30 13:32:00 | 显示全部楼层

该块与X轴和Y轴上4个的交点的坐标,如上图四个白色点的坐标

该块代表什么意思?从你的图形看是圆,用圆方程和直线方程。

r^2=x^2+y^2

y=kx+b

求交点。

这四个点看起来好像是边界?

要是边界GetBoundingBox就简单。

 楼主| 发表于 2008-11-1 21:10:00 | 显示全部楼层

用GetBoundingBox区别还是很大的,原因就是上面的折线而得不到我想到的结果,我还有很多块不是由圆组成,也就是说在不知道是由什么图元组成的情况下,以0,0,0为中心,分别画一条X轴线和Y轴线(实际并不画出来,为了理解方便),求这个块与X轴线和Y轴线的交点座标,如上图红点的坐标。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2008-11-1 23:28:00 | 显示全部楼层

"也就是说在不知道是由什么图元组成的情况下,以0,0,0为中心"-------------这对编程就难了.

编程就是建立数学模型,"不知道是由什么图元"太难了.

一般编程思想是归纳图元的各种组合后,选择最简单的图元组合编程,找出规律后---建立数据模型.才有解/

对上述情况,用几何解如何??

 楼主| 发表于 2008-11-11 21:54:00 | 显示全部楼层
看来是没有好的办法了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 07:45 , Processed in 0.179870 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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