MSL(여러도면 자동정리) 기능과 함께 쓸만한 스크립트 목록 공유 > 공유

본문 바로가기

공유

MSL(여러도면 자동정리) 기능과 함께 쓸만한 스크립트 목록 공유

페이지 정보

작성자 Donguli 댓글 1건 조회 2,223회 작성일 23-02-07 12:08

본문

제가 MSL 명령어로 도면정리시에 자주 함께 사용하는 스크립트 목록을 공유드립니다.

사용방법은 MSL 명령어 도움말에서 [스크립트 목록] 부분을 참조해주세요
https://izzarder.com/265

이외에도 다른분들께서도 자주 사용하시는 스크립트가 있으시다면 공유해주시면 감사하겠습니다^^

<- 스크립트 목록->

(setvar "clayer" "0")
(setvar "cecolor" "bylayer")
(setvar "gridmode" 0)
(setvar "snapmode" 0)
(setvar "orthomode" 1)
(setvar "insunits" 4)

<- 스크립트 설명->

(setvar "clayer" "0")
: 현재 레이어를 "0"번으로 변경
(setvar "cecolor" "bylayer")
: 현재 색상을 "bylayer"로 변경
(setvar "gridmode" 0)
: 그리드 모드 끄기(F7)
(setvar "snapmode" 0)
: 그리드 스냅 끄기(F9)
(setvar "orthomode" 1)
: 직교 켜기(F8)
(setvar "insunits" 4)
: 블록, 이미지, 외부참조의 축척에 대한 도면 단위값 지정
4 - 밀리미터
참조) https://izzarder.com/300



-----------------------

(setq la (getvar 'CLAYER) sp (getvar 'CTAB))

(setvar 'CTAB "Model")

(if (not (tblsearch "LAYER" "blk")) (command "-LAYER" "_M" "blk" "_C" "65" "" ""))

(setvar 'CLAYER "blk")

(setq ss1 (ssget "A" '((0 . "INSERT"))))

(command "-BLOCK" "blkinblk" "0,0" ss1 "")

(command "-INSERT" "blkinblk" "0,0" "" "" "")

(if (not (tblsearch "LAYER" "해치레이어이름")) (command "-LAYER" "_M" "hatch" "_C" "50" "" ""))

(setvar 'CLAYER "hatch")

(setq ss2 (ssget "A" '((0 . "HATCH"))))

(command "-BLOCK" "hatchblk" "0,0" ss2 "")

(command "-INSERT" "hatchblk" "0,0" "" "" "")

(setvar 'CLAYER la)

(setvar 'CTAB sp)



설명

(setq la (getvar 'CLAYER))

;; 현재 레이어를 저장함

(setq sp (getvar 'CTAB))

;; 현재 작업공간을 저장함

(setvar 'CTAB "Model")

;; 모형공간으로 이동, 이미 모형공간이래도 상관없음

(if (not (tblsearch "LAYER" "blk")) (command "-LAYER" "_M" "blk" "_C" "65" "" ""))

;; "blk" 레이어가 없다면 레이어를 새로 만듦 (색이 65번으로 지정)

(setvar 'CLAYER "blk")

;; 현재 레이어를 "blk" 로 변경

(setq ss1 (ssget "A" (list '(0 . "INSERT") '(410 . "Model"))))

;; 화면의 모든 블럭을 모두 선택

(command "-BLOCK" "blkinblk" "0,0" ss1 "")

;; 선택한 것을 "blkinblk" 이라는 블럭으로 만듦

(command "-INSERT" "blkinblk" "0,0" "" "" "")

;; 만든 "blkinblk"  블럭을 화면에 삽입함

(if (not (tblsearch "LAYER" "hatch")) (command "-LAYER" "_M" "hatch" "_C" "50" "" ""))

;; "hatch" 레이어가 없다면, 레이어를 만듦

(setvar 'CLAYER "hatch")

;; 현재 레이어를 "hatch" 로 변경

(setq ss2 (ssget "A" (list '(0 . "HATCH") '(410 . "Model"))))

;; 화면의 해치를 모두 선택

(command "-BLOCK" "hatchblk" "0,0" ss2 "")

;; 선택한 것을 "hatchblk" 이라는 블럭으로 만듦

(command "-INSERT" "hatchblk" "0,0" "" "" "")

;; 만든 "blkinblk"  블럭을 화면에 삽입함

(setvar 'CLAYER la)
;; 현재 레이어를 저장된 레이어로 돌림

(setvar 'CTAB sp)

;; 현재 작업공간을 저장된 작업공간으로 돌림


댓글목록

이자더님의 댓글

이자더 작성일

감사합니다.^^
저도 하나 추가해 놓았습니다.


XICAD, Copyright © izzarder.com All rights reserved.