麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

VB在ACADWIN中的使用

2019-11-18 17:50:28
字體:
供稿:網(wǎng)友
AutoCAD是一個常用工業(yè)繪圖平臺,用戶在使用時經(jīng)常要用Lisp或ADS進(jìn)行二次開發(fā),但Lisp處理數(shù)據(jù)庫能力差,編制界面困難,而ADS要求較高.相比之下,VisualBasic(以下簡稱VB)編寫?yīng)毩⒊绦虻乃俣瓤?,編制界面容易,可進(jìn)行快速計算,可操作數(shù)據(jù)庫。ACADWIN是AUTOCAD的Windows版程序,具有WINDOWS的許多特點??梢岳肈DE進(jìn)行VB與ACADWIN之間的通訊,實現(xiàn)AutoCAD編程。

VB在ACADWIN的應(yīng)用文件
因為ACADWINR12不支持如PastLink的直接DDE方法,所以要有一個控件與VB相聯(lián)系,以進(jìn)行數(shù)據(jù)傳遞。這里主要用到以下幾個文件:
1):DDEBAS.EXE這是VB/DDE服務(wù)器程序,必須在運(yùn)行VB應(yīng)用程序前調(diào)入,在命令行下鍵入:(XLOAD“DDEBAS”)。
2):ACADVB.DLL,VB應(yīng)用程序的動態(tài)連接庫。
3):GLOBAL.BAS,VB應(yīng)用程序的全程變量的定義文件。
4):ADSFUNCS.BAS,VB應(yīng)用程序?qū)DS庫標(biāo)準(zhǔn)函數(shù)的調(diào)用。
5):ADSFUNCS.FRM,標(biāo)準(zhǔn)ACADWIN的初始VB窗口。
6):NEW.FRM,用于新建標(biāo)準(zhǔn)初始VB窗口。

后4個文件在ACADWIN/VB/NEW目錄下,編程時只要打開NEWlink.linktopic=appname “|” topic'置通訊主題
link.linkmode=2'手工通訊
endsub
增加一個過程unlinkapp,其代碼如下:
subunlinkapp(linkascontonl)
link.linkmode=0'關(guān)閉通訊
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

至此可以實現(xiàn)繪圖命令。如果要實現(xiàn)復(fù)雜的功能,如捕捉特征點,獲得特性,參數(shù)化繪圖,等能否讓完成界面及計算功能,把參數(shù)傳給一個Lisp程序,然后再將程序調(diào)入環(huán)境中完成繪圖呢?答案是肯定的這就要用到“SendKey"語句。該語句功能是向具有焦點的窗口發(fā)送字符,就象從鍵盤中鍵入一樣。這時先用函數(shù)FindACAD()找到ACADWIN的句柄,再用AcadACTIVE函授激活A(yù)CADWIN,使其具有焦點,這時就可以用SendKey了。

如有一個Lisp程序YZ.LSP,主函數(shù)為“C:YZ()”,可先在ADSFUNC.FRM中增加一個命令鈕COMMAND2,將其CAPTION置為“YZ”,在子過程中增加以下代碼:

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

以上方法可以實現(xiàn)通過VB的界面選取參數(shù),進(jìn)行計算;用Lisp進(jìn)行繪圖。有兩個問題值得注意:一:如要進(jìn)行參數(shù)的傳遞,可以先用VB寫臨時數(shù)據(jù)文件,再用Lisp讀此臨時數(shù)據(jù)文件。二:因為與窗體布置不一定使ACADWIN和VB應(yīng)用程序兩者同時可見,Lisp程序執(zhí)行完畢,不能自動返回到VB應(yīng)用程序,這時可以通過調(diào)用WindowsAPI函數(shù)SetWindowPos來使應(yīng)用程序總浮在最上面,避免了來回切換窗口。這種技術(shù)的實現(xiàn)在本報已有介紹.

在ADSFUNCS.BAS中也定義了很多ADS函數(shù)可供調(diào)用。如ACADWIN/VB/ASVU中有一個例子ASVU.EXE,就是應(yīng)用Ads_getvar及Ads_setvar函數(shù),在SYSVARS.MAK的intervai.bas可以看到。但DDE的鏈接方式要改變,在啟動窗體或函授中加上:

DDE_TIMEOUT=-1'等待一個DDE事件
openDDE'ADSFUNCS.BAS中一個函數(shù),初始化DDE鏈接->


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 中国漂亮护士一级a毛片 | 国产日韩线路一线路二 | 曰批全过程40分钟免费视频多人 | xxxx8| 国产精品一区在线看 | 国内精品伊人久久 | 国产一区二区三区在线观看视频 | 欧美一级一区二区三区 | 奶子吧naiziba.cc免费午夜片在线观看 | 欧美黄色一级片视频 | 亚洲网站在线观看视频 | 欧美日韩经典在线 | 成人男女激情免费视频 | 欧美大电影免费观看 | 久久久www成人免费精品 | 日本视频免费看 | av电影免费观看 | 黄色a级片免费观看 | 欧美a在线观看 | 久久超| 毛片成人网 | 欧美日韩1区2区 | 欧美成在线视频 | 国产精品久久久久久久午夜片 | 久久国产午夜 | 黄色影院 | 中国videos露脸hd | 久久99国产伦子精品免费 | 5xx免费看| wankzhd| h视频免费在线观看 | 精选久久| 色毛片| 一本色道久久综合狠狠躁篇适合什么人看 | 成年人在线视频 | 毛片在哪里看 | 日韩深夜视频 | 高清做爰免费无遮网站挡 | 小视频免费在线观看 | 久久综合精品视频 | 羞羞网站 |