프로그램
캐드 분류

단품 저장 리습 또는 프로그램

컨텐츠 정보

  • 205 조회
  • 2 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

안녕하십니까?

다름이 아니라 캐드상 단품도면을 외부 dxf파일로 저장하는 리습또는 프로그램이 있는지 궁금합니다.
예를 들면, 
                 SS 10T 4EA 제품이 여러 종류 같은 이름이 있다고 가정하고
                 DXF파일 이름으로 저장하는 리습으로 사용시 이름이 같아 중복으로 덮어쓰기가 되어서 제외
                 DXF파일 저장시 —> SS 10T 4EA -임의숫자(1,2.3~) 저장가능한 리습이 있을까요?
                그게 아니라면,  비슷한 유사한 프로그램이 있는지 궁금합니다.

오늘도 즐거운 하러 되세요~
                                       

관련자료

댓글 2 / 1 페이지

엔씨벤딩님의 댓글

보아하니 레이저 가공쪽에 일하시는분 같으시네요. 일단 질문내용의 요약정리가  미흡한듯 하여 어떤걸 원하시는지 정확한 이해는 못했지만… 일단 이해한 대로 답을 드리자면…

질문하신 해결책은 리습과 vba 두가지 방법 모두 해결이 가능하구요. 리습이 좀 더 간편하니 리습으로 해결하는 것을 추천합니다.

일단 핵심은 각각의 단품도를 각각의 파일명으로 저장하는 것이 되겠네요. 다품일도도면에서 일품일도 도면으로 바꾸는 거는 기본명령어인 wblock을 리습상에서 응용하셔서 쓰시면 되구요.

그다음 파일이 존재하면 덮어쓰기를 할 지 패쓰할지 물어보는 거는 vba 에서 api의 영역으로 넘어가야하니 일단 패스합니다. (아니면 최소한 dcl이라도 건드려야 하니 파일 이름이 중복되지 않게 선작업하는 걸 추천)

여기서 선작업이란 wblock에서 파일명을 줄때 자동으로 텍스트에~1 ~2 를 붙이도록 하며 되겠네요. 물론 순환루프를 돌면서요. 이러면 최소한 덮어쓰기 문제는 해결

(dufun c:test ()  ;이거는 단품도면을 wblock으로 dwg형식으로 내보내는 리습입니다.                             (setq pt1 (getpoint "객체선택 윈도우 첫번째점 클릭…n"))    (setq pt2 (getcorner pt1 "객체선택 윈도우 두번째점 클릭…n"))

  (setq filename (entsel "n 파일명 문자를 선택.. (단일행 문자)..n"))

   (WHILE (= filename NIL)  ;선택이  nil이라면 루프를 돌려주고       (setq filename (entsel "n 파일명 문자를 선택.. (단일행 문자)..n"))     )

  (setq fn (car filename))   (setq fntxt (cdr (assoc 1 (entget fn))))       (setq dwgname (strcat "d:\test\" fntxt ))     (command "zoom" "w" pt1 pt2) ; 새도면 정의 = 엔터   (command "wblock" dwgname "" pt1 "cross" pt1 pt2 "" "undo" "")   (princ dwgname)   (princ)

) ;defun end

저렇게까지 하고 나면 결과물은 d드라이브에 test 라는 폴더안에 dwg 형식의 단품파일들로 저장이 되있을 겁니다.

이제 마지막으로 dxf형식 저장의 문제를 보겠습니다. wblock명령에서 출력형식을 dxf로 저장되게 하기 위해서는 명령어 옵션만 살짝 변경해주면 되는데요.

(defun c:test( )  ;;; dxf로 저장해주는 리습

  (setq pt1 (getpoint "객체선택 윈도우 첫번째점 클릭…n"))   (setq pt2 (getcorner pt1 "객체선택 윈도우 두번째점 클릭…n"))

  (setq filename (entsel "n 파일명 문자를 선택.. (단일행 문자)..n"))

   (WHILE (= filename NIL)  ;선택이  nil이라면 루프를 돌려주고       (setq filename (entsel "n 파일명 문자를 선택.. (단일행 문자)..n"))     )

  (setq fn (car filename))   (setq fntxt (cdr (assoc 1 (entget fn))))       (setq dwgname (strcat "d:\test\" fntxt ))     (setq dwgname (strcat dwgname ".dxf" ))   

  (command "zoom" "w" pt1 pt2)   ; 새도면 정의 = 엔터   (command "wblock" dwgname "16″ "" pt1 "cross" pt1 pt2 "" "undo" "")   (princ dwgname)   (princ)

) ;defun end

 

;순환문 추가하고 꼬리텍스트 추가하는거는 빼먹었네요. 따로 추가해서 쓰시길…

전체 6,983 / 1 페이지
번호
제목
이름

최근글


새댓글


알림 0