AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~

Join the forum, it's quick and easy

AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
[分享]投影矩形.LSP Aoe1-113[分享]投影矩形.LSP Ioaoe110[分享]投影矩形.LSP 2020-310[分享]投影矩形.LSP Oiu15010[分享]投影矩形.LSP 2020-211[分享]投影矩形.LSP Ia15010[分享]投影矩形.LSP Aizyao10[分享]投影矩形.LSP Uos15010[分享]投影矩形.LSP BPl3tjj[分享]投影矩形.LSP Ziao1510
[分享]投影矩形.LSP Aoe15010[分享]投影矩形.LSP Oo-2-110[分享]投影矩形.LSP Zuoiy_10[分享]投影矩形.LSP Aizyao11[分享]投影矩形.LSP Iyb_1510[分享]投影矩形.LSP Aoe1-112[分享]投影矩形.LSP Uos15011[分享]投影矩形.LSP Aoe2da10[分享]投影矩形.LSP Aoe2da11[分享]投影矩形.LSP Aoe10

[分享]投影矩形.LSP

+8
best0811
redlemon1103
jin06w
crihy
ZINE
safardy
明~
RyanGuo
12 posters

向下

[分享]投影矩形.LSP Empty [分享]投影矩形.LSP

發表 由 RyanGuo 2013-09-02, 08:42

因為工作還蠻常畫投影矩形,
所以就寫了這個小程式,
用起來還算堪用,如果有需要就請夾去配吧~
代碼:
(defun C:PREC (/ P1 P2 P3 L rec:P oldos oldla TK m)
  (defun str1 (m)
    (COND ((OR (null m) (EQ m "C")) (eval "M F"))
     ((EQ m "M") (eval "C F"))
     ((EQ m "F") (eval "C M"))
    )
  )
  (defun str2 (m)
    (COND ((OR (null m) (EQ m "C"))
      (SETQ m "近端點或[中點(M)/遠端點(F)]:")
     )
     ((EQ m "M") (SETQ m "中點或[近端點(C)/遠端點(F)]:"))
     ((EQ m "F") (SETQ m "遠端點或[近端點(C)/中點(M)]:"))
    )
    (strcat "終點,移動時使用" m)
  )
  (setvar "cmdecho" 0)
  (setq oldos (getvar "osmode"))
  (setq oldla (getvar "clayer"))
  (command "UCS" "W")
  (INITGET 1)
  (SETQ L (getdist "長度:"))
  (prin1 L)
  (INITGET 1)
  (SETQ P1 (getpoint "起點:"))
  (SETQ
    P2
     (while (OR (null TK) (EQ (TYPE TK) 'STR) (EQ P1 TK))
       (INITGET 1 (str1 m))
       (SETQ TK (getpoint P1 (str2 m)))
       (IF (EQ (TYPE TK) 'STR)
    (SETQ m TK)
       )
       (eval 'TK)
     )
  )
  (IF (null m)
    (SETQ m "C")
  )
  (prin1 (strcat "基準線長"
       (rtos (distance P1 P2) 2 8)
    )
  )
  (INITGET 1)
  (command "UCS"
      "3"
      P2
      P1
      (getpoint "選擇投影方向:")
  )
  (setq P1 (trans P1 0 1))
  (setq P2 (trans P2 0 1))
  (SETQ rec:P (polar P2 (+ (* pi 1.5) (angle P1 P2)) L))
  (COND   ((EQ m "C") (SETQ mp P2))
   ((EQ m "M")
    (SETQ mp (polar P2 (+ (* pi 1.5) (angle P1 P2)) (/ L 2)))
   )
   ((EQ m "F") (SETQ mp rec:P))
  )
  (command "RECTANG" P1 rec:P)
  (command "MOVE" (entlast) "" mp)
  (setvar "osmode" oldos)
  (setvar "clayer" oldla)
  (prin1)
) ;_last
執行後的操作手順是
1.先輸入投影後矩形的長度
2.再點要投影矩形的兩點位置

[版本V1.01]
剛剛發現到有個debug用的參數沒拿掉,雖然說沒拿掉有不會有影響到程式運行@@a

[追加一個比較簡單的版本]這個版本程式執行過程中不會計算最後MOVE的基準點
代碼:
(defun C:PREC (/ P1 P2 P3 L rec:P oldos oldla TK)
  (setvar "cmdecho" 0)
  (setq oldos (getvar "osmode"))
  (setq oldla (getvar "clayer"))
  (command "UCS" "W")
  (INITGET 1)
  (SETQ L (getdist "長度:"))
  (prin1 L)
  (INITGET 1)
  (SETQ P1 (getpoint "起點:"))
  (SETQ
    P2
    (while (OR (null TK) (EQ P1 TK))
      (INITGET 1)
      (SETQ TK (getpoint P1 "終點:"))
    )
  )
  (prin1 (strcat "基準線長"
       (rtos (distance P1 P2) 2 8)
    )
  )
  (INITGET 1)
  (command "UCS"
     "3"
     P2
     P1
     (getpoint "選擇投影方向:")
  )
  (setq P1 (trans P1 0 1))
  (setq P2 (trans P2 0 1))
  (SETQ rec:P (polar P2 (+ (* pi 1.5) (angle P1 P2)) L))
  (command "RECTANG" P1 rec:P)
  (command "MOVE" (entlast) "")
  (setvar "osmode" oldos)
  (setvar "clayer" oldla)
  (prin1)
) ;_last
有這版本其實是發現自己這幾天用下來,
有記得要切換近端點/中點/遠端點的次數比忘記要用的次數還多~"~


RyanGuo 在 2013-09-03, 09:37 作了第 2 次修改 (原因 : [追加一個比較簡單的版本]這個版本程式執行過程中不會計算最後MOVE的基準點)

____________________________________________________________________________________


[分享]投影矩形.LSP Acad2010 [分享]投影矩形.LSP Acad1810
[分享]投影矩形.LSP Acad1211 [分享]投影矩形.LSP Acad1311 [分享]投影矩形.LSP Acad1511
RyanGuo
RyanGuo
初級會員
初級會員

文章總數 : 206
年齡 : 41
來自 : 屏東
職業 : 機械繪圖
愛好 : 玩遊戲
個性 : 嗚嗚男
使用年資 : 1年多
使用版本 : 2011
積分 : 3
經驗值 : 5444
威望值 : 316
注冊日期 : 2013-04-18
男 射手座 狗

回頂端 向下

[分享]投影矩形.LSP Empty 回復: [分享]投影矩形.LSP

發表 由 明~ 2013-09-02, 22:06

好像直接畫矩形配合"物件追蹤"+"相對座標"還比較快~
明~
明~
高級會員
高級會員

文章總數 : 307
年齡 : 44
來自 : 彰化
職業 : 機械
愛好 : 打球 騎車 健行 音樂 電影 (說不完...)
個性 : 不與人爭
使用年資 : 從學生時代接觸到現在(工作中不一定使用)
使用版本 : 2004和2008
積分 : 17
經驗值 : 7077
威望值 : 667
注冊日期 : 2009-12-24
藍鵲292號
男 雙魚座 猴

回頂端 向下

[分享]投影矩形.LSP Empty 回復: [分享]投影矩形.LSP

發表 由 safardy 2013-09-03, 02:13

真不知道自己甚麼時候可以進入LSP的境界啊~
我想我還卡在入門啊~"~
(讓我入~讓我入~~~)

謝謝樓主熱心分享>"<
safardy
safardy
一般會員
一般會員

文章總數 : 30
年齡 : 37
來自 : 台北市
職業 : 室內設計
愛好 : 旅遊
個性 : 腦殘
使用年資 : 2年
使用版本 : 2013
經驗值 : 4468
威望值 : 24
注冊日期 : 2012-10-02
藍鵲639號 女 獅子座 虎

回頂端 向下

[分享]投影矩形.LSP Empty 回復: [分享]投影矩形.LSP

發表 由 RyanGuo 2013-09-03, 08:12

明~ 寫到:好像直接畫矩形配合"物件追蹤"+"相對座標"還比較快~
就知道矩形投影長度的情況下的確是這樣,
但我蠻多時候是不知道的,
而這程式一開始的輸入長度是可以用點兩點的方式抓長度,
對我而言算是比較方便用的;p

safardy 寫到:真不知道自己甚麼時候可以進入LSP的境界啊~
我想我還卡在入門啊~"~
(讓我入~讓我入~~~)

謝謝樓主熱心分享>"<
我也還在入門~"~

其實我上次在別的公司碰AutoCAD的時候就有接觸AutoLISP,
大概是兩三年前,
那時想說自己以前有碰過VB,
應該可以寫出自己想要的程式,
結果在能寫出完整的程式前就換了工作,
當時想寫的程式現在自己還完全寫不出來,
太眼高手低了Orz....
能夠完整寫出程式是在這次的工作,
工作了一年多後有比較確認自己的工作內容後才再開始AutoLISP,
而且是練習好幾次基礎的練習,
看了不少簡單的程式,
並瞭解其運作後才開始寫簡單的程式.

話說這支程式是我動手寫的第三支程式,
第一支很簡單只是單純地用指令"TIME"計算關閉圖塊的時間,
第二支雖然一開始想要寫的東西很簡單,
但寫到一半想加進去的功能太多了,
目前還在難產中Orz...
這次就想別再這樣惡搞自己了,
所以就只寫了一個單一功能的程式;p

____________________________________________________________________________________


[分享]投影矩形.LSP Acad2010 [分享]投影矩形.LSP Acad1810
[分享]投影矩形.LSP Acad1211 [分享]投影矩形.LSP Acad1311 [分享]投影矩形.LSP Acad1511
RyanGuo
RyanGuo
初級會員
初級會員

文章總數 : 206
年齡 : 41
來自 : 屏東
職業 : 機械繪圖
愛好 : 玩遊戲
個性 : 嗚嗚男
使用年資 : 1年多
使用版本 : 2011
積分 : 3
經驗值 : 5444
威望值 : 316
注冊日期 : 2013-04-18
男 射手座 狗

回頂端 向下

[分享]投影矩形.LSP Empty 回復: [分享]投影矩形.LSP

發表 由 ZINE 2013-09-07, 10:35

謝謝分享,雖然還沒使用到lisp,但早有耳聞,想必這是一個趨勢,小的要來好好的研究了。

____________________________________________________________________________________
[分享]投影矩形.LSP Ioaoe110 [分享]投影矩形.LSP Zuoiy_10 [分享]投影矩形.LSP 2020-211 [分享]投影矩形.LSP Aizyao11 [分享]投影矩形.LSP Iyb_1510
[分享]投影矩形.LSP Aizyao10 [分享]投影矩形.LSP BPl3tjj.png [分享]投影矩形.LSP Ziao1510 [分享]投影矩形.LSP Oo-2-110 [分享]投影矩形.LSP Oooa_110
ZINE
ZINE
一般會員
一般會員

文章總數 : 22
年齡 : 27
來自 : 台中
職業 : 建築繪圖
愛好 : 電腦類、美食。。(其他:探索中)
個性 : 不外向
使用年資 : 約3-5年
使用版本 : 2011
經驗值 : 4748
威望值 : 6
注冊日期 : 2011-11-14
女 巨蟹座 牛

回頂端 向下

[分享]投影矩形.LSP Empty 回復: [分享]投影矩形.LSP

發表 由 crihy 2013-09-08, 11:48

多謝RyanGuo大大提供LISP分享,請以後也不吝多多分享...
avatar
crihy
初級會員
初級會員

文章總數 : 178
年齡 : 47
來自 : earth worth
職業 : 建築、結構、土木、水利、水保
愛好 : 學習專業知識
個性 : 認真上進
使用年資 : 自80年起
使用版本 : 2014
積分 : 2
經驗值 : 7086
威望值 : 435
注冊日期 : 2008-05-13
藍鵲366號
男 處女座 龍

回頂端 向下

[分享]投影矩形.LSP Empty 回復: [分享]投影矩形.LSP

發表 由 jin06w 2013-10-06, 20:07

雖然還看不太懂,遇是謝謝你的分亨!

____________________________________________________________________________________
[分享]投影矩形.LSP Acad1810
[分享]投影矩形.LSP Acad2010 [分享]投影矩形.LSP Acad1810
[分享]投影矩形.LSP Acad1211 [分享]投影矩形.LSP Acad1311 [分享]投影矩形.LSP Acad1511
jin06w
jin06w
一般會員
一般會員

文章總數 : 21
年齡 : 50
來自 : 新北市
職業 :
愛好 : 看電影
個性 : 安靜
使用年資 : 初學
使用版本 : 初學
經驗值 : 4126
威望值 : 12
注冊日期 : 2013-07-04
經典問與答讀者 女 金牛座 虎

回頂端 向下

[分享]投影矩形.LSP Empty 回復: [分享]投影矩形.LSP

發表 由 redlemon1103 2014-03-14, 16:03

哇哇!!

謝謝您的分享~

小弟想學lisp但是不知道改從何學起~

不知道大大有沒有好的建議呢?
redlemon1103
redlemon1103
一般會員
一般會員

文章總數 : 23
年齡 : 36
來自 : 台北市
職業 : 工程師
愛好 : 音樂
個性 : 熱情
使用年資 : 3年
使用版本 : 2014
經驗值 : 5050
威望值 : 0
注冊日期 : 2011-01-06
男 天蝎座 兔

回頂端 向下

[分享]投影矩形.LSP Empty 回復: [分享]投影矩形.LSP

發表 由 best0811 2014-05-16, 13:46

非常棒啊,又有另一種思維去作圖了。
個人也好想在LISP上有些成長

____________________________________________________________________________________
[分享]投影矩形.LSP Acad2010 [分享]投影矩形.LSP Acad1810
[分享]投影矩形.LSP Acad1211[分享]投影矩形.LSP Acad1311[分享]投影矩形.LSP Acad1511
best0811
best0811
一般會員
一般會員

文章總數 : 16
年齡 : 39
來自 : 台中
職業 : 景觀設計者
愛好 : 攝影
個性 : 沉悶
使用年資 : 1
使用版本 : 2012
經驗值 : 4383
威望值 : 6
注冊日期 : 2012-10-03
男 摩羯座 鼠

回頂端 向下

[分享]投影矩形.LSP Empty 回復: [分享]投影矩形.LSP

發表 由 蜜柑喵喵 2014-06-10, 11:39

謝謝分享  愛心 
蜜柑喵喵
蜜柑喵喵
一般會員
一般會員

文章總數 : 29
年齡 : 34
來自 : 台北
職業 : CAD繪圖員
愛好 : 動漫
個性 : 隨和
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 4625
威望值 : 12
注冊日期 : 2012-04-30
女 摩羯座 蛇

回頂端 向下

[分享]投影矩形.LSP Empty 回復: [分享]投影矩形.LSP

發表 由 jenniferaptg 2015-10-07, 00:17

感謝版主的犧牲與奉獻

____________________________________________________________________________________
[分享]投影矩形.LSP Ioaoe110 [分享]投影矩形.LSP Zuoiy_10 [分享]投影矩形.LSP 2020-211 [分享]投影矩形.LSP Aizyao11 [分享]投影矩形.LSP Iyb_1510
[分享]投影矩形.LSP Aizyao10 [分享]投影矩形.LSP BPl3tjj.png [分享]投影矩形.LSP Ziao1510 [分享]投影矩形.LSP Oo-2-110 [分享]投影矩形.LSP Oooa_110
avatar
jenniferaptg
一般會員
一般會員

文章總數 : 134
年齡 : 50
來自 : taiwan
職業 : cafe
愛好 : 電腦
個性 : 平易近人
使用年資 : 15
使用版本 : 用最熟的那一版
經驗值 : 6259
威望值 : 30
注冊日期 : 2009-01-30
藍鵲136號
女 雙子座 虎

回頂端 向下

[分享]投影矩形.LSP Empty 回復: [分享]投影矩形.LSP

發表 由 jackiehover 2015-10-26, 09:57

感謝大大分享,還不知道甚麼用處說,先下載備用。

____________________________________________________________________________________

jackiehover
jackiehover
初級會員
初級會員

文章總數 : 151
年齡 : 38
來自 : 桃園市八德區
職業 : 消防設備、水電設計
愛好 : 上網、遊戲、網拍
個性 : 平易近人
使用年資 : 2014/09至今
使用版本 : 2014、15、16
積分 : 1
經驗值 : 4028
威望值 : 96
注冊日期 : 2015-08-31
藍鵲699號
男 水瓶座 虎

回頂端 向下

[分享]投影矩形.LSP Empty 回復: [分享]投影矩形.LSP

發表 由 snoopyhot 2016-05-29, 12:40

謝謝 RyanGuo 師兄分享..................................
avatar
snoopyhot
一般會員
一般會員

文章總數 : 35
年齡 : 49
來自 : HK
職業 : draftman
經驗值 : 5802
威望值 : -3
注冊日期 : 2008-10-05
男 摩羯座 虎

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[分享]投影矩形.LSP Aoe1-113[分享]投影矩形.LSP Ioaoe110[分享]投影矩形.LSP 2020-310[分享]投影矩形.LSP Oiu15010[分享]投影矩形.LSP 2020-211[分享]投影矩形.LSP Ia15010[分享]投影矩形.LSP Aizyao10[分享]投影矩形.LSP Uos15010[分享]投影矩形.LSP BPl3tjj[分享]投影矩形.LSP Ziao1510
[分享]投影矩形.LSP Aoe15010[分享]投影矩形.LSP Oo-2-110[分享]投影矩形.LSP Zuoiy_10[分享]投影矩形.LSP Aizyao11[分享]投影矩形.LSP Iyb_1510[分享]投影矩形.LSP Aoe1-112[分享]投影矩形.LSP Uos15011[分享]投影矩形.LSP Aoe2da10[分享]投影矩形.LSP Aoe2da11[分享]投影矩形.LSP Aoe10