CADMENU2016課程問題請教
3 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
CADMENU2016課程問題請教
老師你好 指令T S 1先建立圖層Y 1 5預設點位用不出圖使用
指令T S 2左線起點在來第二點高35公分(橫第二點和第三點每次寛度不一樣)第四點向下35公分
指令T S 2左線起點在來第二點高35公分(橫第二點和第三點每次寛度不一樣)第四點向下35公分
- 附件
shyrchu- 贊助會員
- 文章總數 : 119
年齡 : 49
來自 : 草屯鎮
職業 : 鐵工
愛好 : 學習
個性 : 文静
使用年資 : 1
使用版本 : AUTOCAD2024
經驗值 : 1086
威望值 : 42
注冊日期 : 2023-05-28
回復: CADMENU2016課程問題請教
老師可不可以麻煩你看程式能不能幫我改一下因為每次畫圖都是像你說的一步腳印後來想到C A D M E N U這裡面的課程這兩種程式也許可以應用在畫圖上面 看能不能改寫一下程式謝謝你
shyrchu- 贊助會員
- 文章總數 : 119
年齡 : 49
來自 : 草屯鎮
職業 : 鐵工
愛好 : 學習
個性 : 文静
使用年資 : 1
使用版本 : AUTOCAD2024
經驗值 : 1086
威望值 : 42
注冊日期 : 2023-05-28
回復: CADMENU2016課程問題請教
可以先把你寫的程式碼貼出來,再來討論那部分需修改。
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: CADMENU2016課程問題請教
(DEFUN C:TS1 ();;;取得[10]起點座標、[11]終點座標
(SETQ EN (ENTSEL "選擇直線:");;;選取物件回傳物件名稱及選點座標的串列資料
EN (CAR EN);;;取出串列資料第一個元素:物件名稱
EN (ENTGET EN);;;取出物件名稱串列資料
EN1 (ASSOC 10 EN);;;ASSOC取得[10]起點座標
PT1 (CDR EN1);;;除去第一個元素,只留後面的串列資料
EN2 (ASSOC 11 EN);;;ASSOC取得[11]終點座標
PT2 (CDR EN2);;;除去第一個元素,只留後面的串列資料
)
(COMMAND "CIRCLE" PT1 2 "CIRCLE" PT2 2)
)
再線上的課程的程式 下去修改程式相片(1)TS1指令T S 1先建立圖層Y 1 5預設點位用不出圖使用
指令T S 1選直線雙邊端點化圓我每次使用選項版(1)^C^CLINE;\@0,10;@10,0;; (2)^C^CLINE;\@0,10;@-10,0;;左右在點選進去 程式來選直線雙邊一 起插入(1)(2)
再線上的課程的程式指令T S 2下去修改程式相片左線起點在來第二點高3 5公分(橫第二點和第三點每次寛度不一樣)第四點向下3 5公分
(SETQ EN (ENTSEL "選擇直線:");;;選取物件回傳物件名稱及選點座標的串列資料
EN (CAR EN);;;取出串列資料第一個元素:物件名稱
EN (ENTGET EN);;;取出物件名稱串列資料
EN1 (ASSOC 10 EN);;;ASSOC取得[10]起點座標
PT1 (CDR EN1);;;除去第一個元素,只留後面的串列資料
EN2 (ASSOC 11 EN);;;ASSOC取得[11]終點座標
PT2 (CDR EN2);;;除去第一個元素,只留後面的串列資料
)
(COMMAND "CIRCLE" PT1 2 "CIRCLE" PT2 2)
)
再線上的課程的程式 下去修改程式相片(1)TS1指令T S 1先建立圖層Y 1 5預設點位用不出圖使用
指令T S 1選直線雙邊端點化圓我每次使用選項版(1)^C^CLINE;\@0,10;@10,0;; (2)^C^CLINE;\@0,10;@-10,0;;左右在點選進去 程式來選直線雙邊一 起插入(1)(2)
再線上的課程的程式指令T S 2下去修改程式相片左線起點在來第二點高3 5公分(橫第二點和第三點每次寛度不一樣)第四點向下3 5公分
shyrchu- 贊助會員
- 文章總數 : 119
年齡 : 49
來自 : 草屯鎮
職業 : 鐵工
愛好 : 學習
個性 : 文静
使用年資 : 1
使用版本 : AUTOCAD2024
經驗值 : 1086
威望值 : 42
注冊日期 : 2023-05-28
回復: CADMENU2016課程問題請教
你的需求可以直接用 LISP ,透過 POLAR 函數計算取得需要的點位
- 代碼:
(polar pt angle distance) ;; (追蹤 起點 角度 距離)
👇程式需求概念: 讓使用者 指定二個點 完成圖形。
1.使用者點下第一點 PT1 ,往上面(90度方向)畫線長度10(0,10) PT1A, 再往右(0度方向)畫線長度10(10,0) PT1B, 再往上面(90度方向)畫線長度35(0,35) PT1C2.使用者點下第二點 PT2 ,往上面(90度方向)畫線長度10(0,10) PT2A, 再往右(180度方向)畫線長度10(-10,0) PT2B, 再往上面(90度方向)畫線長度35(0,35) PT2C
3.再畫線連接 PT1C PT2C
👇部分程式碼:
- 代碼:
(setq PT1 (getpoint "\n請選擇第一點 (PT1): ")) ; 讓使用者點擊第一點 PT1
(setq PT1A (polar PT1 (/ pi 2) 10)) ; 往上追蹤 10 單位 取得 PT1A
(command "LINE" PT1 PT1A "") ; 畫線 PT1 -> PT1A
可以參考我的範例寫出你的程式,透過練習你才能有效學習LISP
👇POLAR 延伸閱讀:[分享]自動圖塊(H型鋼),POLAR函數運用
https://www.autocad-tw.com/t4694-topic
Tiger&蘋果爸 在 2024-10-29, 16:43 作了第 1 次修改
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: CADMENU2016課程問題請教
老師早 程式我一直在做修改一直在輸入 再這樣子現在下去我怕CAD在會當掉,能先取得你的程式LPOLAR寫法,我在慢慢進行研究去理解,可以嗎?
shyrchu- 贊助會員
- 文章總數 : 119
年齡 : 49
來自 : 草屯鎮
職業 : 鐵工
愛好 : 學習
個性 : 文静
使用年資 : 1
使用版本 : AUTOCAD2024
經驗值 : 1086
威望值 : 42
注冊日期 : 2023-05-28
回復: CADMENU2016課程問題請教
好的,請到這裡下載shyrchu 寫到:老師早 程式我一直在做修改一直在輸入 再這樣子現在下去我怕CAD在會當掉,能先取得你的程式LPOLAR寫法,我在慢慢進行研究去理解,可以嗎?
https://www.autocad-tw.com/t29614-topic#184089
建議你要按照我提供的範例練習,你才能把寫程式的技能學起來
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: CADMENU2016課程問題請教
謝謝蘋果爸 我自己再把程式進行研究 謝謝你
shyrchu- 贊助會員
- 文章總數 : 119
年齡 : 49
來自 : 草屯鎮
職業 : 鐵工
愛好 : 學習
個性 : 文静
使用年資 : 1
使用版本 : AUTOCAD2024
經驗值 : 1086
威望值 : 42
注冊日期 : 2023-05-28
回復: CADMENU2016課程問題請教
請問老師第一次輸入指令Y 15插入線段出現問題第二次在輸出指令外15插入線段恢復正常
這程式語法有哪些地方?還需要修正?
(defun c:Y15 ()
;; 關閉指令行回應
(setvar "CMDECHO" 0)
(SETQ OLDLAYEAR (GETVAR "CLAYER"))
(PROMPT "\n建立AT標示標註")
(command "-LAYER" "MAKE" "AT標示標註" "COLOR" 2 "" "")
;; 讓使用者點擊第一點 PT1
(setq PT1 (getpoint "\n請選擇第一點 (PT1): "))
;; 計算 PT1A、PT1B 和 PT1C、PT1D
(setq PT1A (polar PT1 (/ pi 2) 15)) ; 往上移動 15 單位
(setq PT1B (polar PT1A 0 15)) ; 往右移動 15 單位
(setq PT1C (polar PT1B (/ pi 2) 15)) ; 往上移動 15 單位
(setq PT1D (polar PT1C 0 170)) ; 往右移動 170 單位
;; 畫出第一點的線段
(command "LINE" PT1 PT1A "") ; 畫線 PT1 -> PT1A
(command "LINE" PT1A PT1B "") ; 畫線 PT1A -> PT1B
(command "LINE" PT1B PT1C "") ; 畫線 PT1B -> PT1C
(command "LINE" PT1C PT1D "") ; 畫線 PT1C -> PT1D
;; 畫出連接 PT1A 和 PT1B 和 PT1C 和 PT1D的線段
(command "LINE" PT1A PT1B PT1C PT1D "") ; 畫線 PT1A -> PT1B -> PT1C -> PT1D
(princ) ; 結束程式
)
再請問如線段向下的語法
這程式語法有哪些地方?還需要修正?
(defun c:Y15 ()
;; 關閉指令行回應
(setvar "CMDECHO" 0)
(SETQ OLDLAYEAR (GETVAR "CLAYER"))
(PROMPT "\n建立AT標示標註")
(command "-LAYER" "MAKE" "AT標示標註" "COLOR" 2 "" "")
;; 讓使用者點擊第一點 PT1
(setq PT1 (getpoint "\n請選擇第一點 (PT1): "))
;; 計算 PT1A、PT1B 和 PT1C、PT1D
(setq PT1A (polar PT1 (/ pi 2) 15)) ; 往上移動 15 單位
(setq PT1B (polar PT1A 0 15)) ; 往右移動 15 單位
(setq PT1C (polar PT1B (/ pi 2) 15)) ; 往上移動 15 單位
(setq PT1D (polar PT1C 0 170)) ; 往右移動 170 單位
;; 畫出第一點的線段
(command "LINE" PT1 PT1A "") ; 畫線 PT1 -> PT1A
(command "LINE" PT1A PT1B "") ; 畫線 PT1A -> PT1B
(command "LINE" PT1B PT1C "") ; 畫線 PT1B -> PT1C
(command "LINE" PT1C PT1D "") ; 畫線 PT1C -> PT1D
;; 畫出連接 PT1A 和 PT1B 和 PT1C 和 PT1D的線段
(command "LINE" PT1A PT1B PT1C PT1D "") ; 畫線 PT1A -> PT1B -> PT1C -> PT1D
(princ) ; 結束程式
)
再請問如線段向下的語法
shyrchu- 贊助會員
- 文章總數 : 119
年齡 : 49
來自 : 草屯鎮
職業 : 鐵工
愛好 : 學習
個性 : 文静
使用年資 : 1
使用版本 : AUTOCAD2024
經驗值 : 1086
威望值 : 42
注冊日期 : 2023-05-28
回復: CADMENU2016課程問題請教
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
畫線問題請教
請問老師這語法有要修改的地方 第一次和第二次都不順
(defun c:TS1 ()
;; 關閉指令行回應
(setvar "CMDECHO" 0)
(SETQ OLDLAYEAR (GETVAR "CLAYER"))
(PROMPT "\n建立Y7梁")
(command "LAYER" "MAKE" "Y7梁" "COLOR" 7 "" "")
;; 讓使用者點擊第一點 PT1
(setq PT1 (getpoint "\n請選擇第一點 (PT1): "))
;; 讓使用者點擊第二點 PT2
(setq PT2 (getpoint "\n請選擇第二點 (PT2): "))
;; 計算 PT1、PT1A
(setq PT1A (polar PT1 (* 1.5 pi) 25)) ; 往下移動 25 單位
;; 畫出第一點的線段
(command "LINE" PT1 PT1A "") ; 畫線 PT1 -> PT1A
;; 計算 PT2A 、PT2A
(setq PT2A (polar PT2 (* 1.5 pi) 25)) ; 往下移動 25 單位
;; 畫出第二點的線段
(command "LINE" PT2 PT2A "") ; 畫線 PT2 -> PT2A
;; 畫出連接 PT1A 和 PT2A 的線段
(command "LINE" PT1A PT2A "") ; 畫線 PT1A -> PT2A
(princ) ; 結束程式
)
(defun c:TS2 ()
;; 關閉指令行回應
(setvar "CMDECHO" 0)
(SETQ OLDLAYEAR (GETVAR "CLAYER"))
(PROMPT "\n建立Y7梁")
(command "LAYER" "MAKE" "Y7梁" "COLOR" 7 "" "")
;; 讓使用者點擊第一點 PT1
(setq PT1 (getpoint "\n請選擇第一點 (PT1): "))
;; 讓使用者點擊第二點 PT2
(setq PT2 (getpoint "\n請選擇第二點 (PT2): "))
;; 計算 PT1 、PT1A
(setq PT1A (polar PT1 (/ pi 2) 25)) ; 往上移動 25 單位
;; 畫出第一點的線段
(command "LINE" PT1 PT1A "") ; 畫線 PT1 -> PT1A
;; 計算 PT2 、PT2A
(setq PT2A (polar PT2 (/ pi 2) 25)) ; 往上移動 25 單位
;; 畫出第二點的線段
(command "LINE" PT2 PT2A "") ; 畫線 PT2 -> PT2A
;; 畫出連接 PT1A 和 PT2A 的線段
(command "LINE" PT1A PT2A "") ; 畫線 PT1A -> PT2A
(princ) ; 結束程式
)
(defun c:TS1 ()
;; 關閉指令行回應
(setvar "CMDECHO" 0)
(SETQ OLDLAYEAR (GETVAR "CLAYER"))
(PROMPT "\n建立Y7梁")
(command "LAYER" "MAKE" "Y7梁" "COLOR" 7 "" "")
;; 讓使用者點擊第一點 PT1
(setq PT1 (getpoint "\n請選擇第一點 (PT1): "))
;; 讓使用者點擊第二點 PT2
(setq PT2 (getpoint "\n請選擇第二點 (PT2): "))
;; 計算 PT1、PT1A
(setq PT1A (polar PT1 (* 1.5 pi) 25)) ; 往下移動 25 單位
;; 畫出第一點的線段
(command "LINE" PT1 PT1A "") ; 畫線 PT1 -> PT1A
;; 計算 PT2A 、PT2A
(setq PT2A (polar PT2 (* 1.5 pi) 25)) ; 往下移動 25 單位
;; 畫出第二點的線段
(command "LINE" PT2 PT2A "") ; 畫線 PT2 -> PT2A
;; 畫出連接 PT1A 和 PT2A 的線段
(command "LINE" PT1A PT2A "") ; 畫線 PT1A -> PT2A
(princ) ; 結束程式
)
(defun c:TS2 ()
;; 關閉指令行回應
(setvar "CMDECHO" 0)
(SETQ OLDLAYEAR (GETVAR "CLAYER"))
(PROMPT "\n建立Y7梁")
(command "LAYER" "MAKE" "Y7梁" "COLOR" 7 "" "")
;; 讓使用者點擊第一點 PT1
(setq PT1 (getpoint "\n請選擇第一點 (PT1): "))
;; 讓使用者點擊第二點 PT2
(setq PT2 (getpoint "\n請選擇第二點 (PT2): "))
;; 計算 PT1 、PT1A
(setq PT1A (polar PT1 (/ pi 2) 25)) ; 往上移動 25 單位
;; 畫出第一點的線段
(command "LINE" PT1 PT1A "") ; 畫線 PT1 -> PT1A
;; 計算 PT2 、PT2A
(setq PT2A (polar PT2 (/ pi 2) 25)) ; 往上移動 25 單位
;; 畫出第二點的線段
(command "LINE" PT2 PT2A "") ; 畫線 PT2 -> PT2A
;; 畫出連接 PT1A 和 PT2A 的線段
(command "LINE" PT1A PT2A "") ; 畫線 PT1A -> PT2A
(princ) ; 結束程式
)
shyrchu- 贊助會員
- 文章總數 : 119
年齡 : 49
來自 : 草屯鎮
職業 : 鐵工
愛好 : 學習
個性 : 文静
使用年資 : 1
使用版本 : AUTOCAD2024
經驗值 : 1086
威望值 : 42
注冊日期 : 2023-05-28
回復: CADMENU2016課程問題請教
請詳述問題shyrchu 寫到:請問老師這語法有要修改的地方 第一次和第二次都不順
目前測試過沒問題
AutoCAD顧問- 管理顧問
- 文章總數 : 158
年齡 : 65
來自 : 台北
職業 : AutoCAD顧問
愛好 : 新知識
個性 : 嚴肅
使用年資 : 22
使用版本 : 2023
經驗值 : 6763
威望值 : 127
注冊日期 : 2008-05-10
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章