[VBA]移动选择集
Dim acadselect As AcadSelectionSetSet acadselect = doc1.SelectionSets.Add("ss1")
Dim minExt As Variant
Dim maxExt As Variant
For Each obj In doc0.ModelSpace
If obj.EntityName = "AcDbPolyline" Then
obj.GetBoundingBox minExt, maxExt
acadselect.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"
但是执行时,老是提示:由于autocad部件忙不能执行该操作,请切换到,按切换到,得手动操作,还得近回车,才执行下面的,这样不好
执行时隐藏vb的窗口. 关掉就中断了,程序就没法运行了 看看这里的Move函数
页:
[1]