|
发表于 2006-9-5 16:24:52
|
显示全部楼层
以下是我正在处理的示例:命令:对齐选择对象:所有找到的13个选择对象:指定第一个源点:-13.073282044755,77.307053104105.082384708192
指定第一个目标点:0,0,0
指定第二个源点:-13.07322204755,71.945120358405109.122890845077
1000,0,0指定第三个震源点或<;继续(>):
3个震源点共线
前两个点和最后一个点之间的距离离第三个点太远,以至于ACAD出错
我甚至在前面添加了ACAD新闻组的这个功能来检查我是否看到了东西,但它也说它们不是共线的
[code]Public Function Colly(B As Variant, M As Variant, E As Variant, Optional Tolerance As Double) As Boolean
'Gives true if three points B(egin), M(iddle) and E(nd) are collinear
'if d(B,E)= d(B,M) + d(M,E)
Dim i As Integer, dBM As Double, dME As Double, dBE As Double
For i = 0 To UBound(B) 'Assuming all are 2D or all are 3D
dBM = dBM + (B(i) - M(i)) ^ 2
dME = dME + (M(i) - E(i)) ^ 2
dBE = dBE + (B(i) - E(i)) ^ 2
Next i
If Abs(Sqr(dBE) - Sqr(dBM) - Sqr(dME)) yvec=normalise(line.ep line.sp)
zvec=xvec。叉积(yvec)
yvec=normalise(line.ep line.sp)<;-完全不知道
zvec=xvec。叉积(yvec)<;--完全不知道
我可以';t发布我现有的代码,因为它的方式大
谢谢,戴夫 |
|