<已解決>VisualLisp 表示式與巨集??
2 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論 :: 已解決主題精華區
第1頁(共1頁)
<已解決>VisualLisp 表示式與巨集??
因為很多篇文章將一些好用的指令都說可寫成巨集
但因為我搞不懂什麼是巨集
所以把這些指令打在"VisualLisp 表示式"裡
並放在工具選項板裡
一樣可以使用
而且很方便
"VisualLisp 表示式"與"巨集"這兩者是哪裡不同呢??
但因為我搞不懂什麼是巨集
所以把這些指令打在"VisualLisp 表示式"裡
並放在工具選項板裡
一樣可以使用
而且很方便
"VisualLisp 表示式"與"巨集"這兩者是哪裡不同呢??
白金之星 在 2009-06-15, 08:34 作了第 1 次修改
____________________________________________________________________________________
白金之星- 初級會員
- 文章總數 : 248
年齡 : 47
來自 : 台北
職業 : 工頭
愛好 : AutoCad
個性 : 樂觀
使用年資 : 7
使用版本 : 2008
積分 : 4
經驗值 : 6106
威望值 : 9
未回應主題 : 您有一筆未回應
注冊日期 : 2008-09-22
回復: <已解決>VisualLisp 表示式與巨集??
我第一次看到Visual Lisp 時我以為他將DCL 部分給視覺化了,像Delphi 或Visual Basic 一般,打開一看覺得Notepade ++ 還比較好用,除了測試的時候 :P
Visual Lisp nothing Visual
Lisp 是函數所構成的語言,原來是用來做人工智慧的自然與分析的,正個構成形式都是 (算子 參數 參數) 或是 (定字 參數 參數) 或是 (函數 參數 參數),算是一種程式語言。
巨集有很多種意思,通常是程式中的定型句,他會告訴編譯器哪些部分不必編譯,那些部份要編譯。或是在程式中不斷重複的部份。
AutoCAD 提供的說明 搜尋 Create Macros 文章在 Customize the User Interface > 章節裡面
給一些我常用的範例如下 :
***** 以一個按鈕操系統變數 (群組)******
^C^C$M=$(if,$(=,$(getvar,PickStyle),0),^C^C_PickStyle 1"",^C^C_PickStyle 0"")
***** 以一個按鈕操系統變數 (點型式) ******
^C^C$M=$(if,$(=,$(getvar,PDmode),0),^C^C_Pdmode 98"",^C^C_PdMode 0"")
***** \ <--等待使用者回應 ******
^C^C_circle _3p _tan \_tan \_tan \
***** 指令前更換圖層 ******
^C^C_Clayer "Dim" ^C^C_MultiBreakLine
***** 以一個按鈕操控等角模式 ******
^C^C$M=$(if,$(=,$(getvar,SnapStyl),0),^C^C_SnapStyl 1"",^C^C_SnapStyl 0"")
***** 追蹤系統變數 並 程式化控制指令 ******
^C^C_Clayer "Text" ^C^CTextSize 3.5 ^C^CTextSize $M=$(*,$(Getvar,DimScale),$(Getvar,TextSize)) ^C^C_Mtext
***** 帶值指令 ******
^C^C_FILLETRAD 3 Fillet
***** 程式化控制指令 ******
$M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),grip),_copy,^C^C_copy)
***** 一個按鈕多指令 ******
^C^C_ORTHOMODE 1 ^C^C_Copy \ M \
^C^C 是取消上一個指令的意思
巨集通常會貼在按鈕的巨集欄
網路上有人貼 Lisp 通常是
1.你把它複製下來,貼到文字編輯中,存成 *.lsp
2.接著打開AutoCAD 在工具\\載入應用程式
3.如果好用你會加到套件中(蘋果大有影片)
4.你為 Autolisp 做個按鈕,按鈕中的巨集譬如 Autolisp 中有函數 (defun C:rotateX (/ xx yy zz ....) rotateX 就是你該貼在按鈕巨集中的指令 ,通常會寫 ^C^C_rotateX
Visual Lisp nothing Visual
Lisp 是函數所構成的語言,原來是用來做人工智慧的自然與分析的,正個構成形式都是 (算子 參數 參數) 或是 (定字 參數 參數) 或是 (函數 參數 參數),算是一種程式語言。
巨集有很多種意思,通常是程式中的定型句,他會告訴編譯器哪些部分不必編譯,那些部份要編譯。或是在程式中不斷重複的部份。
AutoCAD 提供的說明 搜尋 Create Macros 文章在 Customize the User Interface > 章節裡面
給一些我常用的範例如下 :
***** 以一個按鈕操系統變數 (群組)******
^C^C$M=$(if,$(=,$(getvar,PickStyle),0),^C^C_PickStyle 1"",^C^C_PickStyle 0"")
***** 以一個按鈕操系統變數 (點型式) ******
^C^C$M=$(if,$(=,$(getvar,PDmode),0),^C^C_Pdmode 98"",^C^C_PdMode 0"")
***** \ <--等待使用者回應 ******
^C^C_circle _3p _tan \_tan \_tan \
***** 指令前更換圖層 ******
^C^C_Clayer "Dim" ^C^C_MultiBreakLine
***** 以一個按鈕操控等角模式 ******
^C^C$M=$(if,$(=,$(getvar,SnapStyl),0),^C^C_SnapStyl 1"",^C^C_SnapStyl 0"")
***** 追蹤系統變數 並 程式化控制指令 ******
^C^C_Clayer "Text" ^C^CTextSize 3.5 ^C^CTextSize $M=$(*,$(Getvar,DimScale),$(Getvar,TextSize)) ^C^C_Mtext
***** 帶值指令 ******
^C^C_FILLETRAD 3 Fillet
***** 程式化控制指令 ******
$M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),grip),_copy,^C^C_copy)
***** 一個按鈕多指令 ******
^C^C_ORTHOMODE 1 ^C^C_Copy \ M \
^C^C 是取消上一個指令的意思
巨集通常會貼在按鈕的巨集欄
網路上有人貼 Lisp 通常是
1.你把它複製下來,貼到文字編輯中,存成 *.lsp
2.接著打開AutoCAD 在工具\\載入應用程式
3.如果好用你會加到套件中(蘋果大有影片)
4.你為 Autolisp 做個按鈕,按鈕中的巨集譬如 Autolisp 中有函數 (defun C:rotateX (/ xx yy zz ....) rotateX 就是你該貼在按鈕巨集中的指令 ,通常會寫 ^C^C_rotateX
CADkawaii- 中級會員
- 文章總數 : 76
年齡 : 53
來自 : 台北
職業 : 工
愛好 : 刺繡插花
個性 : 溫文儒雅
積分 : 7
經驗值 : 5738
威望值 : 52
發帖精華 : 1
注冊日期 : 2009-05-21
回復: <已解決>VisualLisp 表示式與巨集??
重複多看幾次
不懂會再請教大大
謝謝大大
不懂會再請教大大
謝謝大大
____________________________________________________________________________________
白金之星- 初級會員
- 文章總數 : 248
年齡 : 47
來自 : 台北
職業 : 工頭
愛好 : AutoCad
個性 : 樂觀
使用年資 : 7
使用版本 : 2008
積分 : 4
經驗值 : 6106
威望值 : 9
未回應主題 : 您有一筆未回應
注冊日期 : 2008-09-22
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論 :: 已解決主題精華區
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章