assing 发表于 2007-1-12 11:16:00

先选择后镜像的问题!

本帖最后由 作者 于 2007-1-12 11:58:32 编辑 <br /><br /> <p>vb6编的程序如下:可是运行总是提示我Mirror有问题:无效的过程调用或参数。我希望是全自动选择后镜像,不需人干预。</p><p>&nbsp;&nbsp;&nbsp; '创建选择集<br/>&nbsp;&nbsp;&nbsp; Dim ss As AcadSelectionSet, mode As Integer<br/>&nbsp;&nbsp;&nbsp; Dim Filtertype(0 To 2) As Integer, Filterdata(0 To 1) As Variant, Point1(0 To 2) As Double, Point2(0 To 2) As Double<br/>&nbsp;&nbsp;&nbsp; Set ss = AcadDoc.SelectionSets.Add("ztLine")<br/>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; '对象选择<br/>&nbsp; Point1(0) = -10000: Point1(1) = 10000: Point1(2) = 0<br/>&nbsp; Point2(0) = 10000: Point2(1) = -10000: Point2(2) = 0<br/>&nbsp; mode = 5&nbsp;&nbsp; '0 SelectionSetWindow;1&nbsp; SelectionSetCrossing; 5 SelectionSetAll;<br/>&nbsp; Filtertype(0) = 8: Filterdata(0) = "主体"&nbsp; '8表示图层名<br/>&nbsp; Filtertype(1) = 0: Filterdata(1) = "line"&nbsp;&nbsp; '0表示对象类型<br/>&nbsp; ss.Select mode, Point1, Point2, Filtertype, Filterdata&nbsp;&nbsp;&nbsp; '选择对象经过过滤后加进新建的选择集中<br/>&nbsp;&nbsp;&nbsp; '选择两个镜像线的点<br/>&nbsp;&nbsp;&nbsp; Dim pnt1(0 To 2), pnt2(0 To 2) As Double<br/>&nbsp;&nbsp;&nbsp; pnt1(0) = 0: pnt1(1) = R: pnt1(2) = 0<br/>&nbsp;&nbsp;&nbsp; pnt2(0) = 0: pnt2(1) = -R: pnt2(2) = 0</p><p>&nbsp;&nbsp;&nbsp; '进行镜像<br/>&nbsp;&nbsp;&nbsp; Dim ent As AcadEntity<br/>&nbsp;&nbsp;&nbsp; If ss.Count &gt; 0 Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For Each ent In ss<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ent.Mirror pnt1, pnt2&nbsp; '无效的过程调用或参数。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next<br/>&nbsp;&nbsp;&nbsp; End If<br/>请问错在哪里?谢谢了。</p>

wyj7485 发表于 2007-1-12 12:01:00

<p>pnt1,pnt2分开定义就对了</p><p>Dim pnt1(0 To 2) As Double<br/>Dim pnt2(0 To 2) As Double</p>

assing 发表于 2007-1-12 15:28:00

回复:(wyj7485)pnt1,pnt2分开定义就对了Dim pnt1(0...

<p>非常感谢</p>
页: [1]
查看完整版本: 先选择后镜像的问题!