상큼메론님 너무 감사합니다 실행을 해보니 인서트는 되는데 한번인서트 하고 (회전각도 넣고) 다음 반복이 안되고 ****엔터***를 쳐야 인서트가 나오는데 여기서 **엔터***안치고 반복으로 실행을 했으면 해서요 즉 삽입점 다음 회전각도하고 다음 **엔터안치고*** 삽입점 다음 회전각도이렇게
상큼메론님 어제준 소스로 했는데 성공했습니다 근데 또다른 난관에 부딪쳤습니다 하루종일 해서 일부 성공했는데
레이어 구문에서 값에다 엔터를 치면2번으로만 인식이 됩니다 물론 레이어구문에 값을 넣어서 엔터치면 되구요 값을 안넣고 엔터치면 2번으로 인식되구요
근데 레이어값 1을 넣었으면 다음에 할때 이전값이 기억이 (***레이어<1>***) <-이렇게 되야되는데 (***레이어<2>***) <-:이렇게 됩니다
레이어 ***구문에 1번을 치면*** 다음에 실행할때 그 값이 기억되어 **재 실행**을 하면 이렇게 (***레이어<1>***) 되게 하고 싶은데
즉 이전값이 기억되고 값을 안넣어도 엔터치면 되게끔 할려니 도저히 안되네요 ㅠ.ㅠ 참고로 ****핵심***은 아래 리습에 포함된 ***옵셋 간격구문방식***처럼 레이어구문도 비슷한방식으로 하면 되는데 아무리 해도 안되네요 이프문을 지울건지우고 건드리면 될거같은데 하루종일 해도 안되네요 마지막으로 부탁드릴게요
상큼메론님 너무 감사합니다 실행을 해보니 인서트는 되는데 한번인서트 하고 (회전각도 넣고) 다음 반복이 안되고 ****엔터***를 쳐야 인서트가 나오는데 여기서 **엔터***안치고 반복으로 실행을 했으면 해서요 즉 삽입점 다음 회전각도하고 다음 **엔터안치고*** 삽입점 다음 회전각도이렇게
죄송합니다 좋은하루보내세요
상큼 메론님 만들어 주신 리습은 작동은 둘다 잘되는데요 처음 인서트파일 불러와서 각도(작업자가 점과 점을 찍으면 각도가 0도든 90도든 만들어짐 <-여기까지는 작업자가 함 )를설정합니다 그다음 가령90도로 돌린상태에서 작업이 끈나는게 저희가 만든 리습인데요 90도 돌린상태에서 카피식으로 계속 연속적을 대게끔 할수 없을가 해서요 물록 저 리습으로 되는데 그럴려니 리습이 너무 많아 지네여
그나마 근사하게 아래 리습(w111)이 작동이 되는데 바로 각도 없이 찍혀지내요 반복은 잘 되구요 각도는 처음 한번만 적용이 되고 적용된 그값을 바로 인서트 반복 되게끔요
(defun c:w111 (/ po)
(setvar “cmdecho” 0)
(while (setq po (getpoint “ninsert point:”))
(command “-insert” “c:/insert/w1” po “” “”)
);while
(princ)
)
그리고 매론님이 만들어 주신 w1 리습은 작동은 되는데 제가 만든리습하고 그대로구요
(defun c:w1 (/ lp)
(command “-insert” “c:/insert/w1” pause “” “”)
(command “copy” “last” “” “m” “@”)
(setq lp 1)
(while lp
(if (> (getvar “cmdactive”) 0) (command pause) (setq lp nil))
)
(princ)
)
정리를 하면 처음에 각도 지정은 작업자가 한번만 하고 그다음 돌린 그값을 반복으로 실행되게끔요
말솜씨가 없어서 죄송합니다^^
상큼메론님 너무 감사합니다 메론님이 주신걸 토대로 짜집기 해서 성공했습니다
하나만 더 부탁해도 되겠습니까?
아래리습으 OFFSET리습인데 간격은 이전값이 저장이 되는데 레이어 (이전)
값을 저장을 못해서 해매고 있습니다 혹시 좀 수정해주실수 있겠습니까
(defun c:o55 ( / os sf sv s a b d)
(setvar “cmdecho” 0)
(setq sf (getint “n 레이어:”))
(command “-layer” “s” sf “”)
(command “offset” “L” “c” “” “e”)
(setq sv (if (and (setq s (getcfg “AppData/offset”)) (/= s “”)) (strcat “<” s “>”) “”))
(if (setq a (cond ((setq d (getdist (strcat “n옵셋 간격 ” sv “:”))) (setcfg “AppData/offset” (rtos d)) d) (atof s)))
(while (setq b (entsel))
(command “offset” a b “_non” (mapcar ‘+ (cadr b) ‘(0 0)) “”)
)
)
(setvar “clayer” os)
(princ)
)
메론님 마지막으로 부탁드리겠습니다 죄송합니다 리습공부 열심히 하겠습니다
상큼메론님 어제준 소스로 했는데 성공했습니다 근데 또다른 난관에 부딪쳤습니다 하루종일 해서 일부 성공했는데
레이어 구문에서 값에다 엔터를 치면2번으로만 인식이 됩니다 물론 레이어구문에 값을 넣어서 엔터치면 되구요 값을 안넣고 엔터치면 2번으로 인식되구요
근데 레이어값 1을 넣었으면 다음에 할때 이전값이 기억이 (***레이어<1>***) <-이렇게 되야되는데 (***레이어<2>***) <-:이렇게 됩니다
레이어 ***구문에 1번을 치면*** 다음에 실행할때 그 값이 기억되어 **재 실행**을 하면 이렇게 (***레이어<1>***) 되게 하고 싶은데
즉 이전값이 기억되고 값을 안넣어도 엔터치면 되게끔 할려니 도저히 안되네요 ㅠ.ㅠ 참고로 ****핵심***은 아래 리습에 포함된 ***옵셋 간격구문방식***처럼 레이어구문도 비슷한방식으로 하면 되는데 아무리 해도 안되네요 이프문을 지울건지우고 건드리면 될거같은데 하루종일 해도 안되네요 마지막으로 부탁드릴게요
이리습이 많이 쓰여서 금형설계를 하는데 손이 많이가네요 수고하십시요
(defun c:o55 ( / os ds sf sv s a b d)
(setvar “cmdecho” 0)
(setq os (getvar “clayer”))
(if (= ds nil)
(setq ds 2)
)
(setq sf (getint (strcat “n 레이어<” (rtos ds) “> : “)));;;레이어 구문 2번으로만 인식됨
(if (= read sf)
(setq sf ds)
(setq ds sf)
)
(command “-layer” “s” sf “”)
(command “offset” “L” “c” “” “e”)
(setq sv (if (and (setq s (getcfg “AppData/offset”)) (/= s “”)) (strcat “<” s “>”) “”))
(if (setq a (cond ((setq d (getdist (strcat “n옵셋 간격 ” sv “:”))) (setcfg “AppData/offset” (rtos d)) d) (atof s)))
(while (setq b (entsel))
(command “offset” a b “_non” (mapcar ‘+ (cadr b) ‘(0 0)) “”)
)
)
(setvar “clayer” os)
(princ)
)