dyheng 发表于 2005-6-3 08:57:00

[求助]得到sendcommand发送offset命令后产生的对象?

是不是用SendCommand产生的对象都无法得到啊?我用SendCommand发送offset命令来产生一个偏移对象,而且想利用这个偏移后的对象,请问能否得到这个偏移的对象?如果能,怎么才能得到?

yulijin608 发表于 2005-6-3 10:22:00

笨方法:先得到偏移前对象上一点,根据offset算出偏移后的点坐标,点选得到.

dyheng 发表于 2005-6-3 10:50:00

二楼能否说得具体点,或者给个例子!我不是太明白,谢谢了!

今晚打老虎 发表于 2005-6-3 17:35:00

set objentity=ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count)<BR>

yj821005 发表于 2005-6-6 09:19:00

虎哥:我做了下面一个例子:


Sub testcommand()<BR>                       ThisDrawing.SendCommand "PLINE" &amp; 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" &amp; vbCr完了以后还没有让用户在模型空间中画线就继续执行Set newobjs(0) = ThisDrawing.ModelSpace.Item(count),这样肯定不行,怎么样使得用户画完线后让程序停顿,等用户画完线后再执行下面的语句呢?<BR>

今晚打老虎 发表于 2005-6-6 11:48:00

绘制线不必非要用sendCommand


你只要得到一个点集然后调用方法就能得到所绘制的线。就不用查询模型空间了。

yj821005 发表于 2005-6-7 09:26:00

不是我的意思是想让用户画多段线(里面可以用CAD的Ployline的一些命令,比如可以实现圆弧、长度.........)然后后获取到这条线后在做一些其他的操作,比如修改图层,设置颜色等等!我用VBA程序很难模拟出CAD本身的画多段线的命令的效果,比如点了一点后可以在命令行输入a就能画圆弧,输入L后就能根据长度画多段线啊!谢谢虎哥!

今晚打老虎 发表于 2005-6-7 18:11:00

那就只有在thisdrawing的objectadd的事件下随时记录被添加的对象了。但是那会很慢很慢很慢的。
页: [1]
查看完整版本: [求助]得到sendcommand发送offset命令后产生的对象?