查看单个帖子
旧 2009-04-25, 09:19 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 vb对autocad进行二次开发(有关文档打开和镜像操作的问题)

vb对autocad进行二次开发(有关文档打开和镜像操作的问题)
www.dimcax.com
vb对autocad进行二次开发(有关文档打开和镜像操作的问题)
最近在学习vb对autocad进行二次开发
请教下楼主
在开发过程中发现2个问题
1.利用vb打开autocad后,改变图层、图形界限等,并绘制了一些图形,当利用set acaddoc=acadapp.documents.add 想再打开一空白cad文档时,会出现“输入要加载的自定义文件的名称:”,按esc键后,会正常绘图,否则,将会出现“程序忙”的错误
怎样解决?
查到相关资料说,“系统变量已经改变,需要重新恢复系统变量”,不懂啊,怎样回复系统变量?
能否在开启cad时,就打开多个文档?
2.我将镜像命令mirror编了一个小程序
public sub hmirror(byval mirrorvp as variant,byval mirrorobj as object)
'mirrorvp为镜像点,mirrorobj为需镜像的图形
dim mirrorvp1(0 to 2) as double
dim mirrorvp2(0 to 2) as double

mirrorvp1(0)=mirrorvp(0)
mirrorvp1(1)=mirrorvp(1)
mirrorvp1(2)=0
mirrorvp2(0)=mirrorvp(0)
mirrorvp2(1)=mirrorvp(1)+5
mirrorvp2(2)=0

mirrorobj.mirror mirrorvp1,mirrorvp2
end sub
调用此小模块时,比如:call hmirror(mirrorvp,lineobj)想对一条直线进行镜像时,会出“对象变量或with块变量未设置”的错误提示。
dim lineobj as acadline
或 dim lineobj as object 均无效

有机会试一下

我试了,没问题呀

我的代码是
public sub tests()
dim l as acadline, p as variant, sp(2) as double, ep(2) as double
ep(0) = 100: ep(1) = 100
set l = thisdrawing.modelspace.addline(sp, ep)
call hmirror(sp, l)
end sub

路过,学习下!!!!!!!!
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)