Re: 作中垂線的 AutoCAD AutoLISP 程式
這是 行數最短的 版本
不到 十行吧
; 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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Cad_Cae 近期熱門文章
PTT數位生活區 即時熱門文章