2011년 11월 8일 화요일
;basic도면의 부재 싸이즈를 txt파일로
(defun c:ab( / stp1 edp1 stp10 edp10 stp2 edp2 v_len1 v_len2 v_len3 fd file_m)
;;; stp~영역
;;; edp~영역
;;; v_len~선택영역교체용
;;; fd 파일포인터
;;; file_~파일이름
(setq var_osmode(getvar "osmode"))
(setvar "osmode" 33)
(prompt"\n한줄의 영역을 지정해주세요.")
(setq stp1(getpoint"\n시작점"))
(setq edp1(getcorner stp1 "\n두번째점"))
(prompt"\n문자열이 포함된 영역을 지정해주세요")
(setq stp10(getpoint"\n시작점"))
(setq edp10(getcorner stp10 "\n두번째점"))
(setq file_m(file_name))
(if (= file_m nil)
(setq file_m file_i)
(setq file_i file_m)
)
;;; 파일입력시 이전 입력값 을 쓴다.
(setvar "osmode" 0)
(setq v_len1(abs(- (cadr stp1)(cadr edp1))))
(setq v_len2(abs(- (cadr stp10)(cadr edp10))))
(setq v_len3(atoi(rtos(/ v_len2 v_len1)2 0)))
;(while (<= (abs(cadr stp1))(abs(cadr edp10)))
;(while (/= rl nil)
(repeat v_len3
(setq a1(ssget "w" stp1 edp1))
(if(/= a1 nil)
(progn
(setq fd(open file_m "a"))
(princ (basic_mark a1)fd)
(princ "\n" fd)
(close fd)
)
)
;;;선택영역에 텍스트가없으면 파일에 쓰지않음
(setq stp2(polar stp1 (+ pi(/ pi 2)) v_len1))
(setq edp2(polar edp1 (+ pi(/ pi 2)) v_len1))
(setq stp1 stp2
edp1 edp2)
)
(setvar "osmode" var_osmode)
(princ)
)
;;;text를 선택해서 파일로저장하는거
(defun basic_mark(a1 / num n a2 a3 a4 a5 b1 b2 b3 len_b1 len_b2 b6 b11 b22)
;;;a1~a5선택세트
;;;n 반복용
;;;len~ 길이를 이용한 정렬
;;;b~ 출력
; (setq a1(ssget "w" stp1 edp1))
(setq num(sslength a1))
(setq n 0)
(repeat 2
(setq a2(ssname a1 n))
(setq a3(entget a2))
(setq a4(assoc 1 a3))
(setq a5(cdr a4))
(if (= n 0)
(setq b1 a5)
(setq b2 a5)
)
(setq n(+ n 1))
)
(setq len_b1(strlen b1))
(setq len_b2(strlen b2))
;(setq b6 nil)
(if (> len_b1 len_b2)
(progn
(setq b6 b1)
(setq b1 b2)
(setq b2 b6)
)
)
(setq b11(strcat "\"" b1 "\""))
(setq b22(strcat "\"" b2 "\""))
(setq b3(list b11 b22))
)
;;;선택세트에서 문자열을 정리해서 리턴
피드 구독하기:
댓글
(
Atom
)
댓글 없음 :
댓글 쓰기