||||wondows 버젼으로...
지금 사용 하는 것 windows95용 또는 도스 버젼임.
windows xp 에서 실행 않됨
고수님들 부탁합니다
(defun c:imm(/ t_style pt1 file tline bmdist1 bmdist2 bmdist3 bmdist4
bmdist5 bmdist6 bmdist7 bmdist8 bmtxt)
(setiso1)
(command "zoom" "all")
(command "attext" "e" (ssget "X" (list (cons 2 "ghkiso"))) "" "s" "c:/ghk/iso/isobm.txt" "bm.txt")
(command "SH" "DOO")
(setvar "osmode" 0)
(setq t_style(getvar "textstyle"))
(setvar "textstyle" "standard")
(setq FILE (OPEN "c:/ghk/iso/bmcfg.cfg" "r"))
(setq bmdist7 (Read-line FILE))
(setq bmdist8 (Read-line FILE))
(setq bmdist1 (Read-line FILE))
(setq bmdist2 (Read-line FILE))
(setq bmdist3 (Read-line FILE))
(setq bmdist4 (Read-line FILE))
(setq bmdist5 (Read-line FILE))
(setq bmdist6 (Read-line FILE))
(setq bmtxt (Read-line FILE))
(setq pt1 (list (atof bmdist7) (+ (atof bmdist8) 0.5) 0.0))
(setq FILE (OPEN (strcat c_dwgname ".txt") "r"))
(setq TLINE (Read-line FILE))
(if (= (atoi bmdist1) 0) (import1)(import2))
(setvar "textstyle" t_style)
(setiso2)
)

(defun import1()
(command "layer" "s" "2c" "")
(if (= (substr tline 13 5) "START")
(setq TLINE (Read-line FILE))
)
(discrip (substr tline 13 7))
(setq mclass-t (strcat "-" text2 "-"))
(if (< (atof bmdist2) (atof bmdist3))
(command "text" "bc" (list (+ (car pt1) (+ (atof bmdist1) (/ (atof bmdist2) 2))) (cadr pt1)) (* (atof bmtxt) s) "0" mclass-t)
(command "text" "bc" (list (+ (car pt1) (+ (atof bmdist1) (/ (atof bmdist3) 2))) (cadr pt1)) (* (atof bmtxt) s) "0" mclass-t)
)
(setq PT1 (List (car PT1)(- (cadr PT1) (atof bmdist5))))
(While (or nil TLINE)
(discrip (substr tline 13 7))
(setq class-t (strcat "-" text2 "-"))
(if (= mclass-t class-t)
(progn
(if (< (atof bmdist2) (atof bmdist3))
(setq item_pt(polar pt1 (dtr 0) (+ (atof bmdist1) (/ (atof bmdist2) 2))))
(setq item_pt(polar pt1 (dtr 0) (+ (atof bmdist1) (/ (atof bmdist3) 2))))
)
(discrip1 (substr tline 19 8))
(command "text" "bc" item_pt (* (atof bmtxt) s) "0" text2)
(if (< (atof bmdist2) (atof bmdist3))
(setq qty_pt(polar pt1 (dtr 0) (+ (atof bmdist2) (/ (- (atof bmdist3) (atof bmdist2)) 2))))
(setq qty_pt(polar pt1 (dtr 0) (+ (atof bmdist2) (/ (- (atof bmdist4) (atof bmdist2)) 2))))
)
(command "text" "bc" qty_pt (* (atof bmtxt) s) "0" (substr tline 42 6))
(command "text" "bl" (list (+ (car pt1) (+ (atof bmdist3) 1)) (cadr pt1)) (* (atof bmtxt) s) "0" (substr tline 27 13))
(discrip2 (substr tline 48 49))
(command "text" "bl" (list (+ (car pt1) (+ (atof bmdist4) 3)) (cadr pt1)) (* (atof bmtxt) s) "0" text2)
(setq PT1 (List (car PT1)(- (cadr PT1) (atof bmdist5))))
(setq TLINE (Read-line FILE))
)
(progn
(discrip (substr tline 13 7))
(setq mclass-t (strcat "-" text2 "-"))
(if (< (atof bmdist2) (atof bmdist3))
(command "text" "bc" (list (+ (car pt1) (+ (atof bmdist1) (/ (atof bmdist2) 2))) (cadr pt1)) (* (atof bmtxt) s) "0" mclass-t)
(command "text" "bc" (list (+ (car pt1) (+ (atof bmdist1) (/ (atof bmdist3) 2))) (cadr pt1)) (* (atof bmtxt) s) "0" mclass-t)
)
(setq PT1 (List (car PT1)(- (cadr PT1) (atof bmdist5))))
(if (< (atof bmdist2) (atof bmdist3))
(setq item_pt(polar pt1 (dtr 0) (+ (atof bmdist1) (/ (atof bmdist2) 2))))
(setq item_pt(polar pt1 (dtr 0) (+ (atof bmdist1) (/ (atof bmdist3) 2))))
)
(discrip1 (substr tline 19 8))
(command "text" "bc" item_pt (* (atof bmtxt) s) "0" text2)
(if (< (atof bmdist2) (atof bmdist3))
(setq qty_pt(polar pt1 (dtr 0) (+ (atof bmdist2) (/ (- (atof bmdist3) (atof bmdist2)) 2))))
(setq qty_pt(polar pt1 (dtr 0) (+ (atof bmdist2) (/ (- (atof bmdist4) (atof bmdist2)) 2))))
)
(command "text" "bc" qty_pt (* (atof bmtxt) s) "0" (substr tline 42 6))
(command "text" "bl" (list (+ (car pt1) (+ (atof bmdist3) 1)) (cadr pt1)) (* (atof bmtxt) s) "0" (substr tline 27 13))
(discrip2 (substr tline 48 49))
(command "text" "bl" (list (+ (car pt1) (+ (atof bmdist4) 3)) (cadr pt1)) (* (atof bmtxt) s) "0" text2)
(setq PT1 (List (car PT1)(- (cadr PT1) (atof bmdist5))))
(setq TLINE (Read-line FILE))
)
)
)
)

(defun import2()
(command "layer" "s" "2c" "")
(if (= (substr tline 13 5) "START")
(setq TLINE (Read-line FILE))
)
(While (or nil TLINE)
(discrip (substr tline 13 7))
(setq mclass-t text2)
(command "text" "bc" (polar pt1 (dtr 0) (/ (atof bmdist1) 2)) (* (atof bmtxt) s) "0" mclass-t)
(discrip1 (substr tline 19 8))
(if (< (atof bmdist2) (atof bmdist3))
(setq item_pt(polar pt1 (dtr 0) (+ (atof bmdist1) (/ (- (atof bmdist2) (atof bmdist1)) 2))))
(setq item_pt(polar pt1 (dtr 0) (+ (atof bmdist1) (/ (- (atof bmdist3) (atof bmdist1)) 2))))
)
(command "text" "bc" item_pt (* (atof bmtxt) s) "0" text2)
(if (< (atof bmdist2) (atof bmdist3))
(setq qty_pt(polar pt1 (dtr 0) (+ (atof bmdist2) (/ (- (atof bmdist3) (atof bmdist2)) 2))))
(setq qty_pt(polar pt1 (dtr 0) (+ (atof bmdist2) (/ (- (atof bmdist4) (atof bmdist2)) 2))))
)
(command "text" "bc" qty_pt (* (atof bmtxt) s) "0" (substr tline 42 6))
(command "text" "bl" (list (+ (car pt1) (+ (atof bmdist3) 1)) (cadr pt1)) (* (atof bmtxt) s) "0" (substr tline 27 13))
(discrip2 (substr tline 48 49))
(command "text" "bl" (list (+ (car pt1) (+ (atof bmdist4) 3)) (cadr pt1)) (* (atof bmtxt) s) "0" text2)
(setq PT1 (List (car PT1)(- (cadr PT1) (atof bmdist5))))
(setq TLINE (Read-line FILE))
)
)

(defun bmreset(/ bmbase bmitem bmqty bmsize bmdisc bmnext bmdist1
bmdist2 bmdist3 bmdist4 bmdist5 bmdist7 bmdist8 fp)
(setiso1)
(setvar "osmode" 33)
(setq bmbase (GETPOINT "\n BM List Base & Class Point : "))
(setq bmitem (GETPOINT bmbase "\n BM Item Point : "))
(setq bmsize (GETPOINT bmbase "\n BM Size Point : "))
(setq bmqty (GETPOINT bmbase "\n BM Q'ty Point : "))
(setq bmdisc (GETPOINT bmbase "\n BM Disc Point : "))
(setq bmend (GETPOINT bmbase "\n BM Chart End Point : "))
(setq bmnext (GETPOINT bmbase "\n BM List Next Point : "))
(setq bmtxt (getreal "\n BM Text Hight : "))
(setvar "osmode" 0)
(setq bmdist1(- (car bmitem) (car bmbase)))
(setq bmdist2(- (car bmqty) (car bmbase)))
(setq bmdist3(- (car bmsize) (car bmbase)))
(setq bmdist4(- (car bmdisc) (car bmbase)))
(setq bmdist6(- (car bmend) (car bmbase)))
(setq bmdist5(- (cadr bmbase)(cadr bmnext)))
(setq bmdist7(car bmbase))
(setq bmdist8(cadr bmbase))
(setq fp (open "C:/GHK/ISO/BMCFG.CFG" "w"))
(write-line (rtos bmdist7 2 2) fp)
(write-line (rtos bmdist8 2 2) fp)
(write-line (rtos bmdist1 2 2) fp)
(write-line (rtos bmdist2 2 2) fp)
(write-line (rtos bmdist3 2 2) fp)
(write-line (rtos bmdist4 2 2) fp)
(write-line (rtos bmdist5 2 2) fp)
(write-line (rtos bmdist6 2 2) fp)
(write-line (rtos bmtxt 2 2) fp)
(close fp)
(setiso2)
)

(defun discrip(ch1 / qty1 qty2 text1)
(setq qty1 1)
(setq qty2 1)
(while qty1
(setq text1 (substr ch1 (- (strlen ch1) qty2) 1))
(if (= " " text1)
(setq qty2 (+ qty2 1))
(progn
(setq text2(substr ch1 1 (- (strlen ch1) qty2)))
(setq qty1 nil)
)
)
)
)

(defun discrip1(ch1 / qty1 qty2 text1)
(setq qty1 1)
(setq qty2 1)
(while qty1
(setq text1 (substr ch1 qty2 1))
(if (= " " text1)
(progn
(setq text2(substr ch1 1 (- qty2 1)))
(setq qty1 nil)
)
(setq qty2 (+ qty2 1))
)
)
)
(defun discrip2(ch1 / qty1 qty2 text1)
(setq qty1 1)
(setq qty2 1)
(while qty1
(setq text1 (substr ch1 (- (strlen ch1) qty2) 1))
(if (= " " text1)
(setq qty2 (+ qty2 1))
(progn
(setq text2(substr ch1 1 (- (strlen ch1) (- qty2 1))))
(setq qty1 nil)
)
)
)
)