cad如何制作工具箱
《cad如何制作工具箱》由會(huì)員分享,可在線閱讀,更多相關(guān)《cad如何制作工具箱(18頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、如何制作工具箱 一、 制作菜單和工具條 菜單和工具條有三種格式,分別是CUI、MNR、MNU,這三者區(qū)別請(qǐng)自行百度,我要講的是MNU格式。這種格式使用記事本即可以編寫(xiě),非常方便。 下面是一個(gè)例子 //一、菜單文件開(kāi)始 ***MENUGROUP=flytoday ***POP1 ID_H10BENHAI [用于學(xué)習(xí)] ID_xd1_Button [ 高程三角網(wǎng)]^C^Cgcsw ID_xd2_Button [ 高程插點(diǎn)]^C^Cgccd ***TOOLBARS **TB_CTT **用于學(xué)習(xí) ID1 [_Toolbar("用于學(xué)習(xí)
2、", _Floating, _SHOW, 90, 110, 1)] ID_gcsw [_Button("高程三角網(wǎng)", "GCSW", "GCSW")]^C^Cgcsw ID_gccd [_Button("高程插點(diǎn)", "GCCD", "GCCD")]^C^Cgccd ***ACCELERATORS ["F1"]_.REDRAW 這個(gè)例子中//就是注釋的意思,后面寫(xiě)一些說(shuō)明,第二行就是本菜單的名稱,此例中是“flytoday”,“***POP1”就是菜單,一般簡(jiǎn)單的程序使用一個(gè)菜單就行了。***TOOLBARS就是工具條的意思,知道這個(gè)框架后,大家只
3、需要在里面添加自己需要的東西即可。如果要生成二級(jí)菜單,看下面的格式。也就是使用[-]來(lái)進(jìn)行分割,使用[->繪圖及修改一&A]來(lái)表示二給菜單的開(kāi)始,[<-文字刷A&G]^C^Cdg來(lái)表示二級(jí)菜單的結(jié)束,同理三級(jí)菜單可以使用此方法進(jìn)行編寫(xiě)。大家要想實(shí)現(xiàn)多菜單,多工具條,可以看看燕秀工具箱的菜單文件,做的很出色。 //一、菜單文件開(kāi)始 ***MENUGROUP=flytoday ***POP1 ID_H10BENHAI [用于學(xué)習(xí)] ID_xd1_Button [ 高程三角網(wǎng)]^C^Cgcsw ID_xd2_Button [ 高程插點(diǎn)]^C^Cgccd [--]
4、 [->繪圖及修改一&A] ID_xd1_Button [ 高程三角網(wǎng)]^C^Cgcsw ID_xd2_Button [ 高程插點(diǎn)]^C^Cgccd ID_dg [<-文字刷A&G]^C^Cdg [--] ***TOOLBARS **TB_CTT **用于學(xué)習(xí) ID1 [_Toolbar("用于學(xué)習(xí)", _Floating, _SHOW, 90, 110, 1)] ID_gcsw [_Button("高程三角網(wǎng)", "GCSW", "GCSW")]^C^Cgcsw ID_gccd
5、 [_Button("高程插點(diǎn)", "GCCD", "GCCD")]^C^Cgccd ***ACCELERATORS ["F1"]_.REDRAW 我建議***MENUGROUP=flytoday這里的菜單名和你另存的菜單MNU文件名要一致,這樣大家不用區(qū)分太多名詞,方便走出第一步,當(dāng)我們制作出第一個(gè)工具箱的時(shí)候,再來(lái)探究這個(gè)名詞的含義。 使用MNU格式使用記事本可以編輯,所以別人也就可以打開(kāi)了。為此可以使用CUI和MNR。 使用menuload命令打開(kāi)菜單加載。 加載后CAD會(huì)自動(dòng)在同路徑下生成以上兩種格式的菜單文件。 二、 制作工具條的資源DLL 網(wǎng)
6、上有一些介紹制作工具條圖標(biāo)的方法,我了解的就是直接使用BMP,但這個(gè)成功率似乎不高,下面我介紹使用ResHacker 3.5來(lái)將圖標(biāo)打包成一個(gè)DLL文件,非常方便。 第一步打開(kāi)空白的DLL文件。 程序默認(rèn)資源名稱是大寫(xiě)的。重復(fù)把所有圖標(biāo)資源添加至空白DLL中。需要特別注意的是,如果你想實(shí)現(xiàn)大圖標(biāo)的效果,請(qǐng)注意在工具條的書(shū)寫(xiě)中有ID_cxx [_Button("工藝", "cxxs", "cxx")]^C^Ccxx,是里面cxxs 是小圖標(biāo),cxx 是大圖標(biāo),如果你不需要這個(gè),請(qǐng)無(wú)視。如何打開(kāi)大圖標(biāo),見(jiàn)下圖。 使用大圖標(biāo)后,工具欄中圖標(biāo)很大,見(jiàn)下圖。
7、 小圖標(biāo)的格式是16*16的BMP,大圖標(biāo)是32*32像素的,大家可以使用繪圖、PhotoShop等軟件來(lái)制作大圖標(biāo)。圖標(biāo)文件在DLL中的名稱一定要和菜單、工具條中的名稱一致,這樣才能正確顯示。 三、 自動(dòng)添加文件支持路徑。 一個(gè)工具箱,一定要讓用戶什么操作都不要,這樣傻瓜化的程序才是好程序。下面是代碼,大家可以放在程序的開(kāi)頭。 ;;添加支持路徑,是不能隨便更改的,其它要求用戶不更改路徑也很正常,因?yàn)榘惭b時(shí)只有一次 (defun zclj () (setvar "cmdecho" 0) (setq acadpath (getenv "ACAD")) (setq l
8、sp (list "C:/Program Files/flytoday")) (setq ls1 (car lsp)) (setq HP2010lsp (strcat ls1 ";")) (setq lsp (vl-remove ls1 lsp)) (while lsp (setq ls1 (car lsp)) (setq HP2010lsp (strcat HP2010lsp ls1 ";")) (setq lsp (vl-remove ls1 lsp)) ) (setenv "ACAD" (strcat HP2010lsp
9、acadpath)) (getenv "ACAD") ) (zclj) 以上代碼中,藍(lán)色字體的是路徑,大家可以修改,另外LSP是表,也就是說(shuō)可以有不止一個(gè)路徑被添加至CAD的文件支持路徑。 四、 自動(dòng)加載菜單 下面這段代碼可以自動(dòng)添加菜單,需要注意的僅僅是你要理解“菜單名”“菜單文件名”,如果大家在第一步制作菜單的工具條時(shí)做的很好,這步就會(huì)很簡(jiǎn)單,不然這些概念會(huì)讓我們頭大。再重申一遍:我建議***MENUGROUP=flytoday這里的菜單名和你另存的菜單MNU文件名要一致,這樣大家不用區(qū)分太多名詞,方便走出第一步,當(dāng)我們制作出第一個(gè)工具箱的時(shí)候,再來(lái)探究這個(gè)名詞的含義。
10、;;自動(dòng)添加菜單和工具條 (defun c:ldmu (/ pre_filedia CNT) (if (not (menugroup "flytoday")) (progn (setq pre_filedia (getvar "filedia")) (setvar "filedia" 0) (vl-cmdf "menuload" "flytoday") (setq CNT 1) (while (menucmd (strcat "P" (itoa CNT) ".1=?")) (setq CNT (1+ C
11、NT)) ) (if (> CNT 1) (setq CNT (- CNT 1)) (setq CNT 1) ) (menucmd (strcat "P" (itoa CNT) "=+flytoday.pop1")) (princ "\n菜單及工具條已成功加載,歡迎您再次使用!" ) (setvar "filedia" pre_filedia) ) (prompt "\n菜單已加載!") ) (princ) ) (c:ldmu) ;;卸載自定義菜單
12、 (defun c:ulmu (/ pre_filedia) (if (menugroup "flytoday") (progn (setq pre_filedia (getvar "filedia")) (setvar "filedia" 0) (vl-cmdf "menuunload" "flytoday") (princ "\n菜單及工具條已成功卸載,歡迎您再次使用!" ) (setvar "filedia" pre_filedia) ) (prompt "\n未
13、找到需要卸載的菜單!") ) (princ) ) 五、 設(shè)置注冊(cè)過(guò)程 一個(gè)程序,有一個(gè)注冊(cè)界面,會(huì)顯示這個(gè)軟件非常有價(jià)值,而且可以限制軟件的非正常使用。下面給個(gè)注冊(cè)人簡(jiǎn)單例子,無(wú)DCL,非常適合簡(jiǎn)單的注冊(cè)過(guò)程,但需要注意的是,此程序是明碼(請(qǐng)百度明碼、非明碼),很容易破解。使用方法見(jiàn)作者的說(shuō)明。 ;;----------------------------------------------------------------------------------- ;;2012-7-26 soly2006 調(diào)試成功!簡(jiǎn)單加密,目的是要用也要問(wèn)別人,不問(wèn)也要花些時(shí)間來(lái)破
14、;;理解所有為代碼付出的優(yōu)秀人才! ;;如果看到有你代碼的影子,請(qǐng)不要見(jiàn)怪。 ;;正式版應(yīng)增加: ;;1、補(bǔ)齊已注冊(cè)碼與申請(qǐng)碼一致; ;;2、求余要每機(jī)不同; ;;3、沒(méi)必要用DCL,又不是經(jīng)常用到,何必考慮人機(jī)界面; ;;4、用法:在命令后面加上(rere)就是。 ;;5、再奉勸你,多用中文 ;;----------------------------------------------------------------------------------- (defun rere( / 已注冊(cè)碼 注冊(cè)碼 輸入注冊(cè)碼) (setq 已注冊(cè)碼 (vl-registry
15、-read "HKEY_CURRENT_USER\\Software\\solycad" "SN")) (setq cpusn (cpu)) (setq 注冊(cè)碼 (strcat (加密字串 (substr cpusn 2 4) ) (加密字串 (substr cpusn 7 4) ))) (princ (strcat " 你要給別人的注冊(cè)碼為:" 注冊(cè)碼 "\n")) ;顯示已注冊(cè)碼 便于調(diào)試,給程序不要有這條啊, (if (/= 已注冊(cè)碼 注冊(cè)碼) (progn (setq 已注冊(cè)碼 注冊(cè)碼) (princ (strcat " 申請(qǐng)碼為:
16、 " "\n\n" cpusn)) (setq 輸入注冊(cè)碼 (getstring "\n請(qǐng)輸入已注冊(cè)碼:")) (if (/= 已注冊(cè)碼 輸入注冊(cè)碼) (progn (alert "請(qǐng)輸入正確的已注冊(cè)碼") (exit) ) (progn (vl-registry-write "HKEY_CURRENT_USER\\Software\\solycad" "SN" 輸入注冊(cè)碼) (princ "注冊(cè)成功!") ) ) ) (alert " \n 已注冊(cè)")
17、) (princ) ) ;;------------------------CPU-------------------------------- ;;不明出處 (defun CPU (/ Vlist VObj lcom lExecQuery item) (vl-load-com) (setq Vlist ()) (if (setq VObj (vlax-create-object "wbemscripting.swbemlocator")) (progn (SETQ lcom (VLAX-INVOKE VObj
18、ConnectServer "." "\\root\\cimv2" "" "" "" "" 128 nil ) ;_ 結(jié)束VLAX-INVOKE ) ;_ 結(jié)束SETQ (setq lExecQuery (vlax-invoke lcom ExecQuery ;;"Select * From Win32_BIOS" "Select * from Win32_Processor" ) ;_ 結(jié)束v
19、lax-invoke ) ;_ 結(jié)束setq (vlax-for item lExecQuery (setq Vlist (vlax-get item ProcessorId) ;_ 結(jié)束cons ) ;_ 結(jié)束setq ) ;_ 結(jié)束vlax-for (vlax-release-object lExecQuery) (vlax-release-object lcom) (vlax-release-object Vobj) ) ) Vlist ) ;; ---------
20、-----------字串分解---------------------------------- (defun 字串分解 (字串 / i k s lst) (setq i 0 k (chr 160)) (while (/= "" (setq s (substr 字串 (setq i (1+ i)) 1))) (if (< s k) (setq lst (cons s lst)) (setq lst (cons (substr 字串 i 2) lst) i (1+ i)) ) )(reverse lst) )
21、 ;;-------------------------加密字串--------------------------------------------- (defun 加密字串(字串 / 字串表 串) (setq 串 字串) (setq 字串表 (字串分解 串)) (setq 串 (apply strcat (mapcar (lambda (X) (加密字符 X)) 字串表))) ) ;;-----------------------------加密字符------------------------------------------------ ;;精
22、華所在:密=字符+字符對(duì)5求余 (defun 加密字符(字符 ) (chr (+ (ascii 字符) (rem (ascii 字符) 5))) ) 六、 打包成EXE 我們的程序使用的是LSP文件格式,用戶可以直接打開(kāi),我們最好把對(duì)話框,LSP文件打包成VLX格式,安全性很好。 輸入“Vlide”命令或都通過(guò)菜單進(jìn)行Visual LISP編程環(huán)境。 單擊完成就可以打包成VLX文件,將此文件放入事先準(zhǔn)備好的文件夾中。 這里面一個(gè)程序文件,兩個(gè)菜單文件,一個(gè)工具條的資源DLL,A、B是秋楓大俠程序打包時(shí)使用的兩個(gè)圖片,不是必須的。 秋楓大俠的程序如何使用,請(qǐng)見(jiàn)置頂貼 打包后的程序圖標(biāo)如下,不太美觀》 我們將其再轉(zhuǎn)化成美觀一點(diǎn)和圖標(biāo)。 七、 自定義程序圖標(biāo) 使用Iconworkshop-制作ICO圖標(biāo).exe和PS可以很方便地制作出ICO文件,如果大家不會(huì)制作的話,可以百度一下下載現(xiàn)成的ICO圖標(biāo)。將所有素材弄好,放在文件夾中。 注意注釋里面的文件內(nèi)容。 選中文件夾中所有文件,點(diǎn)右鍵, 此時(shí)生成的圖標(biāo)就是我們自己定義的啦
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第7課時(shí)圖形的位置練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第1課時(shí)圖形的認(rèn)識(shí)與測(cè)量1平面圖形的認(rèn)識(shí)練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)1數(shù)與代數(shù)第10課時(shí)比和比例2作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)4比例1比例的意義和基本性質(zhì)第3課時(shí)解比例練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第7課時(shí)圓柱的體積3作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第1節(jié)圓柱的認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)2百分?jǐn)?shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)1負(fù)數(shù)第1課時(shí)負(fù)數(shù)的初步認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末豐收?qǐng)@作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)易錯(cuò)清單十二課件新人教版
- 標(biāo)準(zhǔn)工時(shí)講義
- 2021年一年級(jí)語(yǔ)文上冊(cè)第六單元知識(shí)要點(diǎn)習(xí)題課件新人教版
- 2022春一年級(jí)語(yǔ)文下冊(cè)課文5識(shí)字測(cè)評(píng)習(xí)題課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)4數(shù)學(xué)思考第1課時(shí)數(shù)學(xué)思考1練習(xí)課件新人教版