Re: 作中垂線的 AutoCAD AutoLISP 程式

看板Cad_Cae (電腦輔助設計)作者 (sjgau)時間18年前 (2007/01/11 11:41), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
這是 行數最短的 版本 不到 十行吧 ; file: mid-per4.LSP (defun c:mid-per4( / ) (setq en1 (entsel "\n Select Line: ")) (setq ent1 (car en1)) (setq p1 (cadr en1)) (command "-array" ent1 "" "p" (osnap p1 "mid") 2 90 "") (princ) ); end defun ; end of file ※ 引述《sjgau (sjgau)》之銘言: : 這是 行數 比較少的版本 : ; mid-per2.LSP : (defun dtor(d1 / ) : (* (/ d1 180.0) pi) : ); end of defun : ; ----------------------------------------------- : (defun c:mid-per2( / ) : (setq ent1 (entsel "\n pick the line: ")) : (setq p1 (cadr ent1)) : (setq pm (osnap p1 "mid")) : (setq p2 (osnap p1 "end")) : (setq t1 (angle pm p2)) : (setq s1 (distance pm p2)) : (setq t2 (+ t1 (dtor 90.0))) : (setq t3 (- t1 (dtor 90.0))) : (setq p3 (polar pm t2 s1)) : (setq p4 (polar pm t3 s1)) : (command "LINE" p3 p4 "") : (princ) : ); end of defun : ; end of file : ※ 引述《sjgau (sjgau)》之銘言: : : 以下,一共 40行。 : : 其實,簡單的話,10行就可以解決了。 : : 為了教學起見,採用 中規中矩的模式, : : 讓大家一看 就懂 : : ; fle: mid-per.LSP : : (defun mid-pt(p1 p2 / ) : : (list (/ (+ (car p1) (car p2)) 2.0) : : (/ (+ (cadr p1) (cadr p2)) 2.0)) : : ); end defun : : ; ----------------------------------------------- : : (defun dtor(d1 / ) : : (* (/ d1 180.0) pi) : : ); end defun : : ; ----------------------------------------------- : : (defun c:mid-per( / ss1 entn1 ent1 p1 p2 p3 p4 pm t1 t3 t4 s1) : : (princ "\n pick the Line: ") : : (setq ss1 (ssget)) : : (setq entn1 (ssname ss1 0)) : : (setq ent1 (entget entn1)) : : (setq p1 (cdr (assoc '10 ent1))) : : (setq p2 (cdr (assoc '11 ent1))) : : (setq pm (mid-pt p1 p2)) : : (setq t1 (angle pm p2)) : : (setq s1 (distance pm p1)) : : (setq t3 (+ t1 (dtor 90.0))) : : (setq t4 (- t1 (dtor 90.0))) : : (setq p3 (polar pm t3 s1)) : : (setq p4 (polar pm t4 s1)) : : (command "LINE" p3 p4 "") : : (princ) : : ); end defun : : (princ) : : ; end of file -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.228.165.65

01/17 01:20, , 1F
這個還蠻有創意的
01/17 01:20, 1F
文章代碼(AID): #15fR7a25 (Cad_Cae)
文章代碼(AID): #15fR7a25 (Cad_Cae)