[VBA]移动选择集
Dim acadselect As AcadSelectionSet<BR> Set acadselect = doc1.SelectionSets.Add("ss1")<BR> <BR> Dim minExt As Variant<BR> Dim maxExt As Variant<BR> For Each obj In doc0.ModelSpace<BR> If obj.EntityName = "AcDbPolyline" Then<BR> <BR> obj.GetBoundingBox minExt, maxExtacadselect.Select acSelectionSetWindow, minExt, maxExt
我想把选择集内所有的对象,移动到某一个位置,以矩形的左上角(188.3626,555.546,0)为参考,移到(0,0,0),选择集中又没有move属性
acadselect.itme(i).move 倒是可以,但计算很复杂,而且移动需要两个点,像附图中的那个复杂的花,算起来可就麻烦了,有没有更好的办法呢? 用thisdrawing.sendcommand "move" & vbcr & "p" &vbcr &.................应该可以吧? 我是用vb做的,sendcommand也可以,
doc1.SendCommand "move" & vbCr & a & minExt(0) & "," & b & maxExt(1) & ",0" & vbCr & vbCr & "p"<BR>
但是执行时,老是提示:由于autocad部件忙不能执行该操作,请切换到,按切换到,得手动操作,还得近回车,才执行下面的,这样不好 本帖最后由 作者 于 2005-6-15 18:25:34 编辑
执行时隐藏vb的窗口. 关掉就中断了,程序就没法运行了 看看这里的Move函数
<A href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=28869" target="_blank" >http://bbs.mjtd.com/forum.php?mod=viewthread&tid=28869</A>
页:
[1]