本帖最后由 作者 于 2006-6-14 17:29:27 编辑
直接开门见山
今天写了一个超简短的VBA程序 先请大家过目
Sub Unbelievable() Dim LinePoints(0 To 7) As Double Dim Lineobj As AcadLWPolyline Dim OutLineObj As Variant
LinePoints(0) = 518272.6283 LinePoints(1) = 3181584.5378 LinePoints(2) = 518265.3245 LinePoints(3) = 3186202.672 LinePoints(4) = 524367.6342 LinePoints(5) = 3186213.9028 LinePoints(6) = 524377.3628 LinePoints(7) = 3181595.7583 Set Lineobj = ThisDrawing.ModelSpace.AddLightWeightPolyline(LinePoints) Lineobj.Closed = True OutLineObj = Lineobj.Offset(-85)
End Sub
相信代码应该是超简单的了吧
程序先定义了4个点的XY坐标 由这4个点 构成一个4边形 然后使这个4边形闭合
最后 将这个4边形 偏移85 仅此而已 !!!
请使用CAD2004版本的朋友运行一下我这个程序
结果会让你大跌眼镜!!!!!
偏移的框 位置完全正确
原先画的内框 居然被移动到十万八千米外!!!!!!! 不可思议。。。。。
而在2006 2007版本中 代码完全没有问题
2个框 完全符合要求
不知道为什么2004版本中 会这样!?!?!? |