Lisp 用于多条选定行的维度连续。需要帮忙
Lisp 用于多条选定行的维度连续。需要帮忙。;************************************************ MAIN PROGRAM **********************
;************************************************************************************,
(defun c:DiMRAH (/ olderr snp os orth cot1 a Lyns n index Ln1 Ln2 Lst1 Lst2 Pt1 Pt2
ang Pt1a tipe )
;VARIABLES TO SAVE FOR ERROR HANDLER FOLLOW:,
(setq snp (getvar "snapmode")
os(getvar "osmode")
orth(getvar "orthomode")
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,
(setvar "snapmode"0)
(setvar "osmode" 0)
(setvar "orthomode" 1)
;;;*******************************************************************************,
(if (= gvr nil)
(setq gvr 1.0)
);end if,
(princ "\nDistancia entre Cota y Linea:<")
(princ gvr)
(princ "> ")
(setq a (getdist))
(if (= a nil)
(setq a gvr)
);end if,
(setq gvr a)
;;;****************************************************************************,
(PROMPT "Select lines or <Fence> ")
(setq Lyns (ssget)
n (sslength Lyns)
index 0
) ;cierra setq,
(repeat (- n 1)
(setq Ln1 (ssname Lynsindex);
Ln2 (ssname Lyns (+ 1 index));
Lst1 (entget Ln1)
Lst2 (entget Ln2)
Pt1 (cdr (assoc 10 Lst1))
Pt2 (cdr (assoc 10 Lst2))
index (+ 1 index)
ang (angle Pt1 Pt2)
Pt1a(list
(- (car pt1) a) (+ (cadr pt1) a );
)
) ;cierra setq,
;;;****************************************************************************,
(cond
(
(or
(= ang 0.0 )
(= ang 180.0 )
)
(setq tipe "HOR")
)
(
(or
(= ang 90.0 )
(= ang 270.0)
)
(setq tipe "VER")
)
(
T
(setq tipe "ALI")
)
)
;;;*****************Acotaciones********************************************,
(command "_dimlinear" pt1 pt2 pt1a ) ;
) ;
;;;****************************************************************************,
(setvar "snapmode"0) ;
(setvar "osmode" 39)
(setvar "orthomode"0)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,
(setq *error* olderr) ;
(princ)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,
(PRINC)
)
;;;;;;;;;;;;,
需要尺寸帮助以使其与选定的线相关联 。 QDIM ?
页:
[1]