2
47
45
初来乍到
(vl-load-com)(defun sslist (ss / n lst) (if (= (type ss) 'pickset) (repeat (setq n (ssLength ss)) (setq n (1- n) lst (cons (ssname ss n) lst)))))(defun coolineal (p1 p2 ptchk / ang ang1 absang fuzz) (setq fuzz 0.00001) (if (or (equal p1 ptchk fuzz) (equal p2 ptchk fuzz)) (setq retval t) (progn (setq ang (angle p1 ptchk) ang1 (angle p1 p2) absang (abs (- ang ang1))) (if (or (equal absang 0.0 fuzz) (equal absang pi fuzz) (equal absang (* pi 2) fuzz))tnil))))(defun lincool (l1 l2 / p1 p2 p3 p4) (setq p1 (cdr (assoc 10 (entget l1)))p2 (cdr (assoc 11 (entget l1)))p3 (cdr (assoc 10 (entget l2)))p4 (cdr (assoc 11 (entget l2)))) (if (and (coolineal p1 p2 p3) (coolineal p1 p2 p4)) t))(if (not thisdwg) (setq thisdwg (vla-get-activedocument (vlax-get-acad-object))))(if (not modelspace) (setq modelspace (vla-get-modelspace thisdwg)))(defun paperspace () (vla-get-paperspace thisdwg))(defun rcmd-get-activespace () (if (= acmodelspace (vla-get-activespace thisdwg)) modelspace (if (= (vla-get-mspace thisdwg) :vlax-true) modelspace (paperspace))))(defun adddimrotated (xline1point xline2point dimlinelocation rotationangle / vla_dim) (if (not (vl-catch-all-error-p (setq vla_dim (vl-catch-all-apply 'vla-adddimrotated (list (rcmd-get-activespace) (vlax-3d-point xline1point) (vlax-3d-point xline2point) (vlax-3d-point dimlinelocation) rotationangle))))) vla_dim))(defun arrowhead-blk (bname) (cond ((= bname "_DOT") acArrowDot) ((= bname "_DOTSMALL") acArrowDotSmall) ((= bname "_DOTBLANK") acArrowDotBlank) ((= bname "_ORIGIN") acArrowOrigin) ((= bname "_ORIGIN2") acArrowOrigin2) ((= bname "_OPEN") acArrowOpen) ((= bname "_OPEN90") acArrowOpen90) ((= bname "_OPEN30") acArrowOpen30) ((= bname "_CLOSED") acArrowClosed) ((= bname "_SMALL") acArrowSmall) ((= bname "_NONE") acArrowNone) ((= bname "_OBLIQUE") acArrowOblique) ((= bname "_BOXFILLED") acArrowBoxFilled) ((= bname "_BOXBLANK") acArrowBoxBlank) ((= bname "_CLOSEDBLANK") acArrowClosedBlank) ((= bname "_DATUMFILLED") acArrowDatumFilled) ((= bname "_DATUMBLANK") acArrowDatumBlank) ((= bname "_INTEGRAL") acArrowIntegral) ((= bname "_ARCHTICK") acArrowArchTick)))(defun C:REDODIM (/ ss lst lst_lines lst_blocks lst_solids ints int1 int2 int3 line1 line2 line3 lst3) (if (setq ss (ssget)) (progn (setq lst (sslist ss) lst_lines (vl-remove-if-not (function (lambda (ent) (eq (cdadr (entget ent)) "LINE"))) lst)) (if (not (setq lst_blocks (vl-remove-if-not (function (lambda (ent) (eq (cdadr (entget ent)) "INSERT"))) lst)))(setq lst_solids (vl-remove-if-not (function (lambda (ent) (eq (cdadr (entget ent)) "SOLID"))) lst))) (setq l_a lst_lines L_a2 l_a lTemp T lTot nil lst_not nil