26
145
122
初露锋芒
;;bbs.mjtd.com ;;Author:SunSpring (vl-load-com) (setq *number* 1) (defun makeleader (lst) (if (> (length lst) 1) (entmakex (append (list '(0 . "LEADER") '(100 . "AcDbEntity") '(100 . "AcDbLeader")) (mapcar '(lambda (pt) (cons 10 pt)) lst) ) ) ) ) (defun entlist (ss / enlst ent lst n x) (cond ((= (type ss) 'pickset) (repeat (setq n (sslength ss)) (setq ent (ssname ss (setq n (1- n)))) (setq lst (cons ent lst)) ) lst ) ((= (type ss) 'list) (setq enlst (ssadd)) (foreach x ss (if (= (type x) 'ename) (ssadd x enlst) ) ) enlst ) ) ) (defun delgrp (entgrp) (if (= (type entgrp) 'ename) (setq entgrp (ssadd entgrp)) ) (if entgrp (mapcar 'entdel (entlist entgrp)) ;(mapcar 'vla-delete (vobjlist entgrp)) ) ) (defun lt:ss-entnext (en / ss) (if en (progn (setq ss (ssadd)) (while (setq en (entnext en)) (if (not (member (cdr (assoc 0 (entget en))) '("ATTRIB" "VERTEX" "SEQEND") ) ) (ssadd en ss) ) ) (if (zerop (sslength ss)) (setq ss nil)) ss ) (ssget "_x") ) ) (defun maketext (locationpoint textheight text rowtype) (entmakex (list '(0 . "TEXT") '(100 . "AcDbText") (cons 40 textheight) '(41 . 0. (cons 1 text) (cons 72 rowtype) '(10 0.0 0.0 0.0) (cons 11 (trans locationpoint 1 0)) '(73 . 2) ) ) ) (defun makeline (start_point end_point) (entmakex (list '(0 . "line") (cons 10 (trans start_point 1 0)) (cons 11 (trans end_point 1 0)) ) ) ) (defun getmidpoint (p1 p2) (mapcar '(lambda (x) (/ x 2)) (mapcar '+ p1 p2)) ) (defun c:cba ( / #errexit $orr ang bpt ent gr lastent n num number pp1 pp2 pp3 pp4 pt1 pt2 sxlen textheight textline zxlen) (defun #errexit (s) (delgrp (lt:ss-entnext lastent)) (setq *error* $orr) ) (setq $orr *error*) (setq *error* #errexit) (setq lastent (entlast)) (princ "\nPlease input the starting number :<") (princ *number*) (if (setq number (getint ">:")) (setq *number* number) ) (while (setq pt1 (getpoint "\nSpecify the starting point : ")) ;(titleplace pt1) (cond ((= (getvar "textsize") 3.5) (setq textheight (* (getvar "dimscale") 5)) ) ((= (getvar "textsize") 5) (setq textheight (* (getvar "dimscale") 7)) ) ) (setq textline (* 2 textheight)) (setq zxlen (* 0.25 textline)) (setq sxlen (* 2 textheight)) (setq local (* 0.7 textheight)) (setq lastent (entlast))