本帖最后由 作者 于 2006-7-19 21:38:48 编辑
单独选点
(defun c:test() (setq ent (ssget "x" "\N 选一个点:")) (SETQ zzz (cadddr(assoc 10 (ENTGET (CAR ENT))))) (SETQ xxx (car(cdr(assoc 10 (ENTGET (CAR ENT)))))) (SETQ yyy (cadr(cdr(assoc 10 (ENTGET (CAR ENT)))))) (setq zzz1 (rtos zzz)) (setq point (list xxx yyy)) (COMMAND "style" "宋体" "宋体" "0" "1" "0" "" "") (command "text" point "1" "" zzz1) )
想批量处理框选内容,不会写,请大家给改改!!
(defun c:test() (setq ent (ssget "c" '((0 . "point")))) ; 框选
(if ent (progn (setq long (sslength ent)) ;计算选择集个数 (setq num 0) (repeat long (setq ty (ssname ent num)) ;ssname 选择集索引值 ;根据索引值取出选择集中的对象名称 (setq data (entget ty)) (setq typ (cdr (assoc 0 data))) (if (= "point" TYP) (PROGN (SETQ zzz (cadddr(assoc 10 data))) (SETQ xxx (car(cdr(assoc 10 data)))) (SETQ yyy (cadr(cdr(assoc 10 data)))) (setq zzz1 (rtos zzz)) (setq point (list xxx yyy)) (command "text" point "1" "" zzz1) ) );if (setq num (1+ num)) );repeat ));if ) |