1
7
6
初来乍到
使用道具 举报
63
6297
6283
后起之秀
(defun c:Test (/ entities i number integer layers lst object point1 p st height point2 result selectionset selectionsetname singlelayer space table r c inc ang ) (vl-load-com);;; Tharwat 15. May. 2012 ;;; (if (not char1) (setq char1 65 char2 66 ) (setq char1 (+ char1 2) char2 (+ char2 2) ) ) (if (> char2 90) (setq char1 65 char2 66 ) ) (if (and (setq point1 (getpoint "\n Specify first point :")) (setq point2 (getpoint point1 "\n Specify Second point :")) (setq selectionset (ssget "_F" (list point1 point2) '((0 . "LINE,*POLYLINE")) ) ) (setq p (getpoint "\n Table insertion point :")) ) (progn (vl-cmdf "_.pline" "_non" point1 "_non" point2 "") (setq height (if (zerop (cdr (assoc 40 (setq st (entget (tblobjname "STYLE" (getvar 'textstyle)) ) ) ) ) ) (cdr (assoc 42 st)) (cdr (assoc 40 st)) ) ) (entmakex (list '(0 . "TEXT") (cons 40 (* height 3.)) (cons 10 (polar point1 (setq ang (angle point2 point1)) (* height 1. ) ) (cons 50 ang) (cons 1 (chr char1)) ) ) (entmakex (list '(0 . "TEXT") (cons 40 (* height 3.)) (cons 10 (polar point2 (setq ang (angle point1 point2)) (* height 3.5) ) ) (cons 50 (angle point2 point1)) (cons 1 (chr char2)) ) ) (repeat (setq integer (sslength selectionset)) (setq entities (cons (setq selectionsetname (ssname selectionset (setq integer (1- integer)) ) ) entities ) ) (if (not (member (setq singlelayer (cdr (assoc 8 (entget selectionsetname))) ) layers ) ) (setq layers (cons singlelayer layers)) ) ) (setq i 0) (foreach layer layers (repeat (setq number (length entities)) (if (eq (cdr (assoc 8 (entget (nth (setq number (1- number)) entities)) ) ) layer ) (setq lst (cons layer (setq i (1+ i)))) ) ) (setq result (cons lst result)) (setq i 0) ) (setq space (if (> (vla-get-activespace (setq acdoc (vla-get-activedocument (vlax-get-acad-object) ) ) ) 0 )