페이지 정보
작성자 유순희 조회 378회 작성일 23-10-06 08:30본문
ctrl+마우스오른버튼 설정후 실행하면 엔터가 한번 더 먹히는 경우
몇일 전에 문의 드렸던 내용입니다. 해결이 안되서 lisp 파일 찾았습니다.
(defun seterr (err)
(setq *error* nil)
(if (/= err "Function cancelled")
(princ (strcat "\nError: " err))
)
(setq *error* olderr)
(undraw)
(setvar "CMDECHO" 1)
(setvar "BLIPMODE" 1)
(princ)
)
;==============================================================================
(defun oset (/ err olderr sc sp lx ly hx hy ppp pp px py chk )
(setq olderr *error*
*error* seterr)
(SETVAR "CMDECHO" 0)
(setvar "blipmode" 0)
(setq c1 0 ; color set
c2 6
c3 7
c4 1
)
(setq sc (/ (getvar "VIEWSIZE") 6))
(setq scp (cadr (grread 5)))
(setq x1 (- (car scp) (/ sc 2.0)))
(setq x4 (+ (car scp) (/ sc 2.0)))
(setq y1 (- (cadr scp) (/ sc 2.0)))
(setq y4 (+ (cadr scp) (/ sc 2.0)))
(setq scale (/ sc 3.0))
(setq x2 (+ x1 scale))
(setq x3 (+ x2 scale))
(setq y2 (+ y1 scale))
(setq y3 (+ y2 scale))
(draw)
(setq chk t)
(while chk
(setq ppp (grread))
(if (/= (car ppp) 3) (setq chk nil)
(progn
(setq pp (cadr ppp))
(setq px (car pp))
(setq py (cadr pp))
(if (and (and (> px x1) (> py y1)) (and (< px x4) (< py y4)))
(setq chk nil)
(setq chk t))
)
)
)
(undraw)
(setvar "blipmode" 1)
(setvar "cmdecho" 1)
(if (= (car ppp) 3)
(progn
(if (and (< py y2) (< px x2)) (command "_quad")
(if (and (< py y2) (< px x3)) (command "_tan")
(if (and (< py y2) (< x3 px)) (command "_none")
(if (and (< py y3) (< px x2)) (command "_near")
(if (and (< py y3) (< px x3)) (command "_int")
(if (and (< py y3) (< x3 px)) (command "_endpoint")
(if (< px x2) (command "_cen")
(if (< px x3) (command "_mid")
(command "_per")
)
)
)
)
)
)
)
)
)
)
(setq *error* olderr)
(princ)
)
;==============================================================================
(defun oset1 (/ err olderr sc sp lx ly hx hy ppp pp px py chk)
(setq olderr *error*
*error* seterr)
(SETVAR "CMDECHO" 0)
(setvar "blipmode" 0)
(setq c1 0 ; color set
c2 3
c3 7
c4 1
)
(setq sc (/ (getvar "VIEWSIZE") 6))
(setq scp (cadr (grread 5)))
(setq x1 (- (car scp) (/ sc 2.0)))
(setq x4 (+ (car scp) (/ sc 2.0)))
(setq y1 (- (cadr scp) (/ sc 2.0)))
(setq y4 (+ (cadr scp) (/ sc 2.0)))
(setq scale (/ sc 3.0))
(setq x2 (+ x1 scale))
(setq x3 (+ x2 scale))
(setq y2 (+ y1 scale))
(setq y3 (+ y2 scale))
(draw)
(setq chk t)
(while chk
(setq ppp (grread))
(if (/= (car ppp) 3) (setq chk nil)
(progn
(setq pp (cadr ppp))
(setq px (car pp))
(setq py (cadr pp))
(if (and (and (> px x1) (> py y1)) (and (< px x4) (< py y4)))
(setq chk nil)
(setq chk t))
)
)
)
(undraw)
(setvar "blipmode" 1)
(setvar "cmdecho" 1)
(if (= (car ppp) 3)
(progn
(if (and (< py y2) (< px x2)) (setq get_osnp "_quad")
(if (and (< py y2) (< px x3)) (setq get_osnp "_tan")
(if (and (< py y2) (< x3 px)) (setq get_osnp "_none")
(if (and (< py y3) (< px x2)) (setq get_osnp "_near")
(if (and (< py y3) (< px x3)) (setq get_osnp "_int")
(if (and (< py y3) (< x3 px)) (setq get_osnp "_end")
(if (< px x2) (setq get_osnp "_cen")
(if (< px x3) (setq get_osnp "_mid")
(setq get_osnp "_per")
)
)
)
)
)
)
)
)
)
)
(setq *error* olderr)
(princ)
)
(defun osnap (get_msg get_buf / get_point1 osnap_old)
(setq get_point1 "(OSET)")
(setq osnap_old (getvar "osmode"))
(while (= get_point1 "(OSET)")
(initget 1 "(OSET)")
(if (= get_buf nil)
(setq get_point (getpoint get_msg))
(setq get_point (getpoint get_msg get_buf))
)
(setq get_point1 get_point)
(cond ((eq get_point1 "(OSET)") (oset1)
(cond ((eq get_osnp "_end") (setvar "osmode" 1))
((eq get_osnp "_mid") (setvar "osmode" 2))
((eq get_osnp "_cen") (setvar "osmode" 4))
((eq get_osnp "_quad") (setvar "osmode" 16))
((eq get_osnp "_int") (setvar "osmode" 32))
((eq get_osnp "_per") (setvar "osmode" 128))
((eq get_osnp "_tan") (setvar "osmode" 256))
((eq get_osnp "_near") (setvar "osmode" 512))
((eq get_osnp "_none") (setvar "osmode" 0))
(t get_osnp)
))
(t get_point1)
)
)
(setvar "osmode" osnap_old)
(setvar "cmdecho" 0)
)
;==============================================================================
(defun undraw ( / d1x1 d1x2 d1y1 d1y2)
(grdraw (list x1 y4) (list x4 y4) c1)
(grdraw (list x1 y3) (list x4 y3) c1)
(grdraw (list x1 y2) (list x4 y2) c1)
(grdraw (list x1 y1) (list x4 y1) c1)
(grdraw (list x1 y4) (list x1 y1) c1)
(grdraw (list x2 y4) (list x2 y1) c1)
(grdraw (list x3 y4) (list x3 y1) c1)
(grdraw (list x4 y4) (list x4 y1) c1)
; 1 area
(setq d1x1 (+ x1 (/ scale 2.0)))
(setq d1y1 (- y4 (/ scale 5.0)))
(setq d1y2 (+ y3 (/ scale 5.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c1)
(setq d1x1 (+ x1 (/ scale 5.0)))
(setq d1x2 (- x2 (/ scale 5.0)))
(setq d1y1 (- y4 (/ scale 2.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c1)
(setq d1x1 (+ x1 (/ scale 5.0)))
(setq d1x2 (- x2 (/ scale 5.0)))
(setq d1y1 (- y4 (/ scale 5.0)))
(setq d1y2 (+ y3 (/ scale 5.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y2) c1)
(grdraw (list d1x2 d1y1) (list d1x1 d1y2) c1)
; 2 area
(setq d1x1 (+ x2 (/ scale 8.0)))
(setq d1x2 (- x3 (/ scale 8.0)))
(setq d1y1 (- y4 (/ scale 2.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c1)
(setq d1x1 (+ x2 (/ scale 2.0)))
(setq d1y1 (+ (- y4 (/ scale 2.0)) (/ scale 8.0)))
(setq d1y2 (- (- y4 (/ scale 2.0)) (/ scale 8.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c1)
; 3 area
(setq d1x1 (+ x3 (/ scale 8.0)))
(setq d1x2 (- x4 (/ scale 8.0)))
(setq d1y1 (+ y3 (/ scale 5.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c1)
(setq d1x1 (+ x3 (/ scale 2.0)))
(setq d1y1 (- y4 (/ scale 5.0)))
(setq d1y2 (+ y3 (/ scale 5.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c1)
; 4 area
(setq d1x1 (+ x1 (/ scale 5.0)))
(setq d1x2 (- x2 (/ scale 5.0)))
(setq d1y1 (- y3 (/ scale 5.0)))
(setq d1y2 (+ y2 (/ scale 5.0)))
(grdraw (list d1x1 d1y2) (list d1x2 d1y1) c1)
(setq d1x1 (- (- x2 (/ scale 5.0)) (/ scale 8.0)))
(setq d1x2 (- x2 (/ scale 5.0)))
(setq d1y1 (- (- y3 (/ scale 5.0)) (/ scale 8.0)))
(setq d1y2 (- y3 (/ scale 5.0)))
(grdraw (list d1x1 d1y2) (list d1x2 d1y1) c1)
; 5 area
(setq d1x1 (+ x2 (/ scale 5.0)))
(setq d1x2 (- x3 (/ scale 5.0)))
(setq d1y1 (- y3 (/ scale 5.0)))
(setq d1y2 (+ y2 (/ scale 5.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y2) c1)
(grdraw (list d1x2 d1y1) (list d1x1 d1y2) c1)
; 6 area
(setq d1x1 (+ x3 (/ scale 8.0)))
(setq d1x2 (- x4 (/ scale 8.0)))
(setq d1y1 (- y3 (/ scale 2.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c1)
(setq d1x1 (- x4 (/ scale 8.0)))
(setq d1y1 (+ (- y3 (/ scale 2.0)) (/ scale 8.0)))
(setq d1y2 (- (- y3 (/ scale 2.0)) (/ scale 8.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c1)
; 7 area
(setq d1x1 (+ x1 (/ scale 8.0)))
(setq d1x2 (+ (+ x1 (/ scale 8.0)) (/ scale 8.0)))
(setq d1y1 (- y2 (/ scale 2.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c1)
(setq d1x1 (+ (+ x1 (/ scale 8.0)) (/ scale 16.0)))
(setq d1y1 (+ (- y2 (/ scale 2.0)) (/ scale 16.0)))
(setq d1y2 (- (- y2 (/ scale 2.0)) (/ scale 16.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c1)
(setq d1x1 (- x2 (/ scale 8.0)))
(setq d1x2 (- (- x2 (/ scale 8.0)) (/ scale 8.0)))
(setq d1y1 (- y2 (/ scale 2.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c1)
(setq d1x1 (- (- x2 (/ scale 8.0)) (/ scale 16.0)))
(setq d1y1 (+ (- y2 (/ scale 2.0)) (/ scale 16.0)))
(setq d1y2 (- (- y2 (/ scale 2.0)) (/ scale 16.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c1)
(setq d1x1 (- x2 (/ scale 2.0)))
(setq d1y1 (- y2 (/ scale 8.0)))
(setq d1y2 (- (- y2 (/ scale 8.0)) (/ scale 8.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c1)
(setq d1x1 (- (- x2 (/ scale 2.0)) (/ scale 16.0)))
(setq d1x2 (+ (- x2 (/ scale 2.0)) (/ scale 16.0)))
(setq d1y1 (- (- y2 (/ scale 8.0)) (/ scale 16.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c1)
(setq d1x1 (- x2 (/ scale 2.0)))
(setq d1y1 (+ y1 (/ scale 8.0)))
(setq d1y2 (+ (+ y1 (/ scale 8.0)) (/ scale 8.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c1)
(setq d1x1 (- (- x2 (/ scale 2.0)) (/ scale 16.0)))
(setq d1x2 (+ (- x2 (/ scale 2.0)) (/ scale 16.0)))
(setq d1y1 (+ (+ y1 (/ scale 8.0)) (/ scale 16.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c1)
(setq d1x1 (+ (+ x1 (/ scale 8.0)) (/ scale 16.0)))
(setq d1x2 (+ x1 (/ scale 2.0)))
(setq d1y1 (+ y1 (/ scale 2.0)))
(setq d1y2 (- (- y2 (/ scale 8.0)) (/ scale 16.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y2) c1)
(setq d1x1 (- (- x2 (/ scale 8.0)) (/ scale 16.0)))
(setq d1y1 (+ y1 (/ scale 2.0)))
(grdraw (list d1x2 d1y2) (list d1x1 d1y1) c1)
(setq d1x2 (+ x1 (/ scale 2.0)))
(setq d1y2 (+ (+ y1 (/ scale 8.0)) (/ scale 16.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y2) c1)
(setq d1x1 (+ (+ x1 (/ scale 8.0)) (/ scale 16.0)))
(setq d1y1 (+ y1 (/ scale 2.0)))
(grdraw (list d1x2 d1y2) (list d1x1 d1y1) c1)
;8 area
(setq d1x1 (+ x2 (/ scale 4.0)))
(setq d1x2 (- x3 (/ scale 4.0)))
(setq d1y1 (- y2 (/ scale 4.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c1)
(setq d1y2 (+ y1 (/ scale 4.0)))
(grdraw (list d1x2 d1y1) (list d1x1 d1y2) c1)
(setq d1x2 (- x3 (/ scale 4.0)))
(grdraw (list d1x1 d1y2) (list d1x2 d1y2) c1)
;9 area
(setq d1x1 (+ x3 (/ scale 4.0)))
(setq d1y1 (+ y1 (/ scale 4.0)))
(setq d1y2 (- y2 (/ scale 4.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c1)
(setq d1x2 (- x4 (/ scale 4.0)))
(grdraw (list d1x1 d1y2) (list d1x2 d1y1) c1)
(setq d1y1 (+ y1 (/ scale 4.0)))
(grdraw (list d1x2 d1y2) (list d1x2 d1y1) c1)
)
(defun draw ( / d1x1 d1x2 d1y1 d1y2)
(grdraw (list x1 y4) (list x4 y4) c2)
(grdraw (list x1 y3) (list x4 y3) c2)
(grdraw (list x1 y2) (list x4 y2) c2)
(grdraw (list x1 y1) (list x4 y1) c2)
(grdraw (list x1 y4) (list x1 y1) c2)
(grdraw (list x2 y4) (list x2 y1) c2)
(grdraw (list x3 y4) (list x3 y1) c2)
(grdraw (list x4 y4) (list x4 y1) c2)
; 1 area
(setq d1x1 (+ x1 (/ scale 2.0)))
(setq d1y1 (- y4 (/ scale 5.0)))
(setq d1y2 (+ y3 (/ scale 5.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c3)
(setq d1x1 (+ x1 (/ scale 5.0)))
(setq d1x2 (- x2 (/ scale 5.0)))
(setq d1y1 (- y4 (/ scale 2.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c3)
(setq d1x1 (+ x1 (/ scale 5.0)))
(setq d1x2 (- x2 (/ scale 5.0)))
(setq d1y1 (- y4 (/ scale 5.0)))
(setq d1y2 (+ y3 (/ scale 5.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y2) c3)
(grdraw (list d1x2 d1y1) (list d1x1 d1y2) c3)
; 2 area
(setq d1x1 (+ x2 (/ scale 8.0)))
(setq d1x2 (- x3 (/ scale 8.0)))
(setq d1y1 (- y4 (/ scale 2.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c3)
(setq d1x1 (+ x2 (/ scale 2.0)))
(setq d1y1 (+ (- y4 (/ scale 2.0)) (/ scale 8.0)))
(setq d1y2 (- (- y4 (/ scale 2.0)) (/ scale 8.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c4)
; 3 area
(setq d1x1 (+ x3 (/ scale 8.0)))
(setq d1x2 (- x4 (/ scale 8.0)))
(setq d1y1 (+ y3 (/ scale 5.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c3)
(setq d1x1 (+ x3 (/ scale 2.0)))
(setq d1y1 (- y4 (/ scale 5.0)))
(setq d1y2 (+ y3 (/ scale 5.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c3)
; 4 area
(setq d1x1 (+ x1 (/ scale 5.0)))
(setq d1x2 (- x2 (/ scale 5.0)))
(setq d1y1 (- y3 (/ scale 5.0)))
(setq d1y2 (+ y2 (/ scale 5.0)))
(grdraw (list d1x1 d1y2) (list d1x2 d1y1) c3)
(setq d1x1 (- (- x2 (/ scale 5.0)) (/ scale 8.0)))
(setq d1x2 (- x2 (/ scale 5.0)))
(setq d1y1 (- (- y3 (/ scale 5.0)) (/ scale 8.0)))
(setq d1y2 (- y3 (/ scale 5.0)))
(grdraw (list d1x1 d1y2) (list d1x2 d1y1) c4)
; 5 area
(setq d1x1 (+ x2 (/ scale 5.0)))
(setq d1x2 (- x3 (/ scale 5.0)))
(setq d1y1 (- y3 (/ scale 5.0)))
(setq d1y2 (+ y2 (/ scale 5.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y2) c3)
(grdraw (list d1x2 d1y1) (list d1x1 d1y2) c3)
; 6 area
(setq d1x1 (+ x3 (/ scale 8.0)))
(setq d1x2 (- x4 (/ scale 8.0)))
(setq d1y1 (- y3 (/ scale 2.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c3)
(setq d1x1 (- x4 (/ scale 8.0)))
(setq d1y1 (+ (- y3 (/ scale 2.0)) (/ scale 8.0)))
(setq d1y2 (- (- y3 (/ scale 2.0)) (/ scale 8.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c4)
; 7 area
(setq d1x1 (+ x1 (/ scale 8.0)))
(setq d1x2 (+ (+ x1 (/ scale 8.0)) (/ scale 8.0)))
(setq d1y1 (- y2 (/ scale 2.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c3)
(setq d1x1 (+ (+ x1 (/ scale 8.0)) (/ scale 16.0)))
(setq d1y1 (+ (- y2 (/ scale 2.0)) (/ scale 16.0)))
(setq d1y2 (- (- y2 (/ scale 2.0)) (/ scale 16.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c3)
(setq d1x1 (- x2 (/ scale 8.0)))
(setq d1x2 (- (- x2 (/ scale 8.0)) (/ scale 8.0)))
(setq d1y1 (- y2 (/ scale 2.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c3)
(setq d1x1 (- (- x2 (/ scale 8.0)) (/ scale 16.0)))
(setq d1y1 (+ (- y2 (/ scale 2.0)) (/ scale 16.0)))
(setq d1y2 (- (- y2 (/ scale 2.0)) (/ scale 16.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c3)
(setq d1x1 (- x2 (/ scale 2.0)))
(setq d1y1 (- y2 (/ scale 8.0)))
(setq d1y2 (- (- y2 (/ scale 8.0)) (/ scale 8.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c3)
(setq d1x1 (- (- x2 (/ scale 2.0)) (/ scale 16.0)))
(setq d1x2 (+ (- x2 (/ scale 2.0)) (/ scale 16.0)))
(setq d1y1 (- (- y2 (/ scale 8.0)) (/ scale 16.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c3)
(setq d1x1 (- x2 (/ scale 2.0)))
(setq d1y1 (+ y1 (/ scale 8.0)))
(setq d1y2 (+ (+ y1 (/ scale 8.0)) (/ scale 8.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c3)
(setq d1x1 (- (- x2 (/ scale 2.0)) (/ scale 16.0)))
(setq d1x2 (+ (- x2 (/ scale 2.0)) (/ scale 16.0)))
(setq d1y1 (+ (+ y1 (/ scale 8.0)) (/ scale 16.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c3)
(setq d1x1 (+ (+ x1 (/ scale 8.0)) (/ scale 16.0)))
(setq d1x2 (+ x1 (/ scale 2.0)))
(setq d1y1 (+ y1 (/ scale 2.0)))
(setq d1y2 (- (- y2 (/ scale 8.0)) (/ scale 16.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y2) c3)
(setq d1x1 (- (- x2 (/ scale 8.0)) (/ scale 16.0)))
(setq d1y1 (+ y1 (/ scale 2.0)))
(grdraw (list d1x2 d1y2) (list d1x1 d1y1) c3)
(setq d1x2 (+ x1 (/ scale 2.0)))
(setq d1y2 (+ (+ y1 (/ scale 8.0)) (/ scale 16.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y2) c3)
(setq d1x1 (+ (+ x1 (/ scale 8.0)) (/ scale 16.0)))
(setq d1y1 (+ y1 (/ scale 2.0)))
(grdraw (list d1x2 d1y2) (list d1x1 d1y1) c3)
;8 area
(setq d1x1 (+ x2 (/ scale 4.0)))
(setq d1x2 (- x3 (/ scale 4.0)))
(setq d1y1 (- y2 (/ scale 4.0)))
(grdraw (list d1x1 d1y1) (list d1x2 d1y1) c3)
(setq d1y2 (+ y1 (/ scale 4.0)))
(grdraw (list d1x2 d1y1) (list d1x1 d1y2) c3)
(setq d1x2 (- x3 (/ scale 4.0)))
(grdraw (list d1x1 d1y2) (list d1x2 d1y2) c3)
;9 area
(setq d1x1 (+ x3 (/ scale 4.0)))
(setq d1y1 (+ y1 (/ scale 4.0)))
(setq d1y2 (- y2 (/ scale 4.0)))
(grdraw (list d1x1 d1y1) (list d1x1 d1y2) c3)
(setq d1x2 (- x4 (/ scale 4.0)))
(grdraw (list d1x1 d1y2) (list d1x2 d1y1) c3)
(setq d1y1 (+ y1 (/ scale 4.0)))
(grdraw (list d1x2 d1y2) (list d1x2 d1y1) c3)
)
- 이전글Re: TEXTMASK 적용시 Wipeout 할때 WIPEOUTFRAME 변수가 1에서 0으로 자동변경됨 23.12.11
- 다음글OLE 그림판 이용해서 이미지 삽입하는데 그림판 창이 안 떠요 23.10.05