dyerswang 发表于 2010-2-26 11:08:00

求助,请帮忙!关于用程序移动多个对象.

<p>为了方便工作,准备写一个小程序,主要就是先运行,再在屏幕上选择多个对象,再选择一个基点,再选择第二个点,将选择的这些对象以第一个点为基点移动至第二个点。</p><p>我试了可以用AcadSelectionset 选择集来实现,但选择集好象最大Item为257个,超过257个就不行了。</p><p>请那位高手指点指点,如果在屏幕上同时选择257个以上对象,并移动。</p><p>谢谢!</p><p></p>

dyerswang 发表于 2010-2-26 11:33:00

<p>不要用sendcommand 来发送move命令,不需要作成像move命令一样。只需要告诉我如何选择,怎么移动。</p><p>再次感谢。</p>

henanlypl 发表于 2010-6-10 17:01:00

<p><font face="Verdana">Sub MoveEnt()<br/>&nbsp;&nbsp;&nbsp; Dim Objentity As AcadEntity<br/>&nbsp;&nbsp;&nbsp; Dim Sset As AcadSelectionSet<br/>'&nbsp;&nbsp;&nbsp; On Error Resume Next<br/>&nbsp;&nbsp;&nbsp; If Not IsNull(ThisDrawing.SelectionSets.Item("ss1")) Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set Sset = ThisDrawing.SelectionSets.Item("ss1")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sset.Delete<br/>&nbsp;&nbsp;&nbsp; End If<br/>&nbsp;&nbsp;&nbsp; Set Sset = ThisDrawing.SelectionSets.Add("ss1")<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; Dim Pt1 As Variant<br/>&nbsp;&nbsp;&nbsp; Dim Pt2 As Variant<br/>&nbsp;&nbsp;&nbsp; Pt1 = ThisDrawing.Utility.GetPoint(, "请选择第一点")<br/>&nbsp;&nbsp;&nbsp; Pt2 = ThisDrawing.Utility.GetPoint(, "请选择第二点")<br/>&nbsp;&nbsp;&nbsp; Sset.SelectOnScreen<br/>&nbsp;&nbsp;&nbsp; For Each Objentity In Sset<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Objentity.Move Pt1, Pt2<br/>&nbsp;&nbsp;&nbsp; Next<br/>&nbsp;&nbsp;&nbsp; MsgBox Sset.Count<br/>&nbsp;&nbsp;&nbsp; <br/>End Sub</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">你试试,可以啊</p>
<p><br/></p></font>

su37 发表于 2010-12-22 09:07:36

有谁知道上面这段程序怎么用?
存储成什么格式?输入哪个按键能调用这个命令
谢谢!!

su37 发表于 2010-12-24 20:09:44

没人知道么?

su37 发表于 2010-12-26 08:10:20

没人知道么?

su37 发表于 2010-12-26 20:31:14

明经这么冷清这么冷清啊?
高水都到哪去了

sxpd 发表于 2010-12-26 22:46:24

高手都搞高端的.Net去了,VBA已经没落了。。。
这个是宏,直接在Cad里运行
页: [1]
查看完整版本: 求助,请帮忙!关于用程序移动多个对象.