(defun c:aa( )
(setvar "cmdecho" 0) ;指令執行過程不回應
(setq en (entsel "Select a LINE:")) ;要求碰選一條線
(setq en_data (entget (car en))) ;取得元體資料串列
;******************** 求得 pt1 & px1、py1 *********************
(setq pts (assoc 10 en_data)) ;取得群碼10的子串列
(setq pt1 (cdr pts)) ;取得起點pt1座標
(setq px1 (car pt1)) ;取得pt1座標的x值
(setq py1 (cadr pt1)) ;取得pt1座標的y值
;******************** 求得 pt2 & px2、py2 ***********************
(setq pte (assoc 11 en_data)) ;取得群碼11的子串列
(setq pt2 (cdr pte)) ;取得終點pt2座標
(setq px2 (car pt2)) ;取得pt2座標的x值
(setq py2 (cadr pt2)) ;取得pt2座標的y值
;******************** 求得 等分线 两点 pta ptb *********************** ;??????????????出现问题 等分线画在一起??????? (setq n (getreal "上亮等分几等分")) (setq cd (/ (- py2 py1) n)) ;等分的长度 (setq i 1) (while (< i n) (progn (setq cdl (* cd i)) ; (setq pta (mapcar '+ pt1 (list cdl 0))) (setq ptb (mapcar '+ pt1 (list cdl 1000))) (command "line" pta ptb "") ) (setq i (+ i 1)) )
(prin1)
)
(prompt "*************** <<等分 C:aa >> *****************")
(prin1)
|