Re: 作中垂線的 AutoCAD AutoLISP 程式
這是 行數 比較少的版本
; 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: 218.34.222.10
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 2 之 3 篇):
Cad_Cae 近期熱門文章
PTT數位生活區 即時熱門文章