电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 软件教学-> 压缩工具
vb在acadwin中的使用_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
AutoCAD是一个常用工业绘图平台,用户在使用时经常要用Lisp或ADS进行二次开发,但Lisp处理数据库能力差,编制界面困难,而ADS要求较高.相比之下,VisualBasic(以下简称VB)编写独立程序的速度快,编制界面容易,可进行快速计算,可操作数据库。ACADWIN是AUTOCAD的Windows版程序,具有WINDOWS的许多特点。可以利用DDE进行VB与ACADWIN之间的通讯,实现AutoCAD编程。

VB在ACADWIN的应用文件
因为ACADWINR12不支持如PastLink的直接DDE方法,所以要有一个控件与VB相联系,以进行数据传递。这里主要用到以下几个文件:
1):DDEBAS.EXE这是VB/DDE服务器程序,必须在运行VB应用程序前调入,在命令行下键入:(XLOAD“DDEBAS”)。
2):ACADVB.DLL,VB应用程序的动态连接库。
3):GLOBAL.BAS,VB应用程序的全程变量的定义文件。
4):ADSFUNCS.BAS,VB应用程序对ADS库标准函数的调用。
5):ADSFUNCS.FRM,标准ACADWIN的初始VB窗口。
6):NEW.FRM,用于新建标准初始VB窗口。

后4个文件在ACADWIN/VB/NEW目录下,编程时只要打开NEWPROJ.MAK就都有了,但NEW.FRM可以不要,只要把启动文件定为ADSFUNC.FRM即可。

VB在ACADWIN的使用方法
为了实现DDE通讯,先要在ADSFUNCS.FRM中增加一个用于通讯的TEXT(文本框)控件,并在特性表中将其NAME命名为ACADTEXT,TEXT的CAPTION置为空串(减少窗体不必要的信息),VISIBLE特性呈为TURE。用linkapp函数初始化并关闭连接。
过程linkapp代码如下:

sublinkapp(linkascontonl,appnameasstring,topicasstring)
link.linkmode=0关闭通讯
link.linktopic=appname “|” topic置通讯主题
link.linkmode=2手工通讯
endsub
增加一个过程unlinkapp,其代码如下:
subunlinkapp(linkascontonl)
link.linkmode=0关闭通讯
endsub
在窗体事件中,增加如下代码:
subform_load()
LINKAPPACADTEXT,“AUTOCAD.DDE”,“SYSTEM”
endsub
subform_unload(cancelasinteger)
UNLINKAPPACADTEXT
endsub

如画圆“CIRCLE”,先在ADSFUNC.FRM中增加一个命令钮COMMAND1,将其CAPTION置为“C
IRCLE”,在子过程中增加以下代码:
SUBCOMMAND1_CLICK()
ACADTEXT.LINKEXECUTE“[^3^3CIRCLE]”
ENDSUB

至此可以实现绘图命令。如果要实现复杂的功能,如捕捉特征点,获得特性,参数化绘图,等能否让完成界面及计算功能,把参数传给一个Lisp程序,然后再将程序调入环境中完成绘图呢?答案是肯定的这就要用到“SendKey"语句。该语句功能是向具有焦点的窗口发送字符,就象从键盘中键入一样。这时先用函数FindACAD()找到ACADWIN的句柄,再用AcadACTIVE函授激活ACADWIN,使其具有焦点,这时就可以用SendKey了。

如有一个Lisp程序YZ.LSP,主函数为“C:YZ()”,可先在ADSFUNC.FRM中增加一个命令钮COMMAND2,将其CAPTION置为“YZ”,在子过程中增加以下代码:

SUBCOMMAND2_CLICK()
hwndAcad=FindAcad()
AcadActivate(hwndAcad)
SendKeys“{(}load ‘yz {)}”,-1
SendKeys“{enter}”,-1
SendKeys“yz”,-1
ENDSUB

以上方法可以实现通过VB的界面选取参数,进行计算;用Lisp进行绘图。有两个问题值得注意:一:如要进行参数的传递,可以先用VB写临时数据文件,再用Lisp读此临时数据文件。二:因为与窗体布置不一定使ACADWIN和VB应用程序两者同时可见,Lisp程序执行完毕,不能自动返回到VB应用程序,这时可以通过调用WindowsAPI函数SetWindowPos来使应用程序总浮在最上面,避免了来回切换窗口。这种技术的实现在本报已有介绍.

在ADSFUNCS.BAS中也定义了很多ADS函数可供调用。如ACADWIN\VB\ASVU中有一个例子ASVU.EXE,就是应用Ads_getvar及Ads_setvar函数,在SYSVARS.MAK的intervai.bas可以看到。但DDE的链接方式要改变,在启动窗体或函授中加上:

DDE_TIMEOUT=-1等待一个DDE事件
openDDEADSFUNCS.BAS中一个函数,初始化DDE链接->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·用photoshop的路径文字工具绘制造型虚线_photoshop教程
·用winrar合并音频文件_压缩工具教程
·vb5.0中实现字体闪烁效果_visualbasic教程
·vb编程获取文件中集成的图标_visualbasic教程
·如何提高调用windowapi函数编程技巧_visualbasic教程
·图像在图片框中的滚动_visualbasic教程
·vb中使用sql查询语句_visualbasic教程
·字符串的一些操作_visualbasic教程
·vb数组小技巧一则_visualbasic教程
·vb中列表框的使用技巧说明_visualbasic教程

最新文章
·照片处理 photoshop简单制作照片柔光效果_photoshop教程
·用winrar将多个swf打包成一个exe文件_压缩工具教程
·让你的winrar用起来更顺手_压缩工具教程
·两招小技巧提高winrar的使用效率_压缩工具教程
·photoshop为漫画漫画线稿上色:圣斗士_photoshop教程
·让winrar功能搬到右键菜单_压缩工具教程
·photoshop绘制windows vista风格壁纸_photoshop教程
·php学习时间完整表_php教程
·九大不传秘笈 让winrar为你专一工作_压缩工具教程
·fireworks制作边框虚线流动小动画_fireworks教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号