[求助]得到sendcommand发送offset命令后产生的对象?
是不是用SendCommand产生的对象都无法得到啊?我用SendCommand发送offset命令来产生一个偏移对象,而且想利用这个偏移后的对象,请问能否得到这个偏移的对象?如果能,怎么才能得到? 笨方法:先得到偏移前对象上一点,根据offset算出偏移后的点坐标,点选得到. 二楼能否说得具体点,或者给个例子!我不是太明白,谢谢了! set objentity=ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count)<BR> 虎哥:我做了下面一个例子:Sub testcommand()<BR> ThisDrawing.SendCommand "PLINE" & vbCr<BR> ThisDrawing.Activate<BR> Dim count As Integer<BR> count = ThisDrawing.ModelSpace.count<BR> Dim newobjs(0) As AcadEntity<BR> Set newobjs(0) = ThisDrawing.ModelSpace.Item(count)<BR> newobjs(0).Color = acMagenta
End Sub
但是好像不行,分析原因应该是ThisDrawing.SendCommand "PLINE" & vbCr完了以后还没有让用户在模型空间中画线就继续执行Set newobjs(0) = ThisDrawing.ModelSpace.Item(count),这样肯定不行,怎么样使得用户画完线后让程序停顿,等用户画完线后再执行下面的语句呢?<BR> 绘制线不必非要用sendCommand
你只要得到一个点集然后调用方法就能得到所绘制的线。就不用查询模型空间了。 不是我的意思是想让用户画多段线(里面可以用CAD的Ployline的一些命令,比如可以实现圆弧、长度.........)然后后获取到这条线后在做一些其他的操作,比如修改图层,设置颜色等等!我用VBA程序很难模拟出CAD本身的画多段线的命令的效果,比如点了一点后可以在命令行输入a就能画圆弧,输入L后就能根据长度画多段线啊!谢谢虎哥! 那就只有在thisdrawing的objectadd的事件下随时记录被添加的对象了。但是那会很慢很慢很慢的。
页:
[1]