반응형

Inventor에서 3D 설계 후 2D 조립도, 부품도를 작성해서 PDF 출력을 아주 많이 하게 됩니다.

iLogic으로 PDF 출력을 쉽게 할 수 있는 방법에 대해 알아 보겠습니다.

물론! dwg를 열고 하나씩 수동으로 PDF출력을 할 수 있지만!!

2D 도면을 많이 출력 하는 회사의 경우 출력해야할 도면을 누락할 수도 있고,

은근히 도면을 PDF로 변환하는 시간도 오래 걸립니다.

오늘은 PDF 저장 방법을 두 가지 정도에 대해 알아보겠습니다.

  1. 하나의 2D 도면의 여러 시트를 개별의 PDF 파일로 저장하기
  2. 하나의 2D 도면의 여러 시트를 하나의 PDF 파일로 저장하기
  3. 추가로 저장 폴더가 없을 경우를 대비해서 VB.NET 의 폴더 유무 확인, 폴더 생성 코드

1. 하나의 2D 도면에서 여러시트를 개별의 PDF 파일로 저장하기

oDrawDoc = ThisApplication.ActiveDocument

oAllSheets = oDrawDoc.Sheets '→ 2D 도면 파일에서 생성된 모든 Sheet를 집합체로 가져옴.

For Each Sheet In oAllSheets '→ 집합체가 나오면 반드시 For Each문을 사용해서 접근.
	oSheetName = Sheet.Name '→ Sheet의 이름을 가져옴.
	
	oDrawDoc.Sheets(oSheetName).Activate '→ Sheet를 이름을 지정해서 활성화.
	
	oNewDWGName = oSheetName.Split(":")(0) '→ pdf 파일이름에 사용할 Sheet이름 재가공
    '※ 파일 이름에는 ":"가 사용이 안됨.
	
	oPrintMgr = Sheet.Parent.PrintManager '→ Sheet의 PrintManager를 가져옴.
    
	oPrintMgr.Printer = "Microsoft Print to PDF" '→ 프린터 이름 설정.
    '※ 만약 실제 종이로 프린터를 하고 싶다면 그 프린터 이름을 입력!

	oPrintMgr.AllColorsAsBlack = True '→ 인쇄 속성 : 모든 색상을 검은색으로

	oPrintMgr.NumberOfCopies = 1 '→ 인쇄 속성 : 인쇄 매수

	oPrintMgr.Orientation = kLandscapeOrientation '→ 인쇄 속성 : 인쇄 방향

	oPrintMgr.PaperSize = kPaperSizeA3 '→ 인쇄 속성 : 프린트 Size
    
	oPrintMgr.ScaleMode = kPrintBestFitScale '→ 인쇄 속성 : 축척
	
	oPrintMgr.PrintRange = kPrintCurrentSheet '→ 인쇄 속성 : 활성 시트에 대한 설정
	'※ 이 부분 때문에 oDrawDoc.Sheets(oSheetName).Activate를 적용했던 것!
    
	oPrintMgr.PrintToFile("E:\Inventor\iLogic\"+ oNewDWGName + ".pdf") '→ 프린트를 파일로 저장
    '※ PrintToFile() 괄호 안에 저장할 File Path(경로)와 파일이름.확장자 입력

Next

2. 하나의 2D 도면에서 여러시트를 하나의 PDF 파일로 저장하기

oDrawDoc = ThisApplication.ActiveDocument
oDrawDocName = oDrawDoc.DisplayName '→ pdf 파일 이름을 지정하기 위해 dwg File 이름을 가져옴.

oPrintMgr = oDrawDoc.PrintManager '→ PrintManager를 가져옴.

oPrintMgr.Printer = "Microsoft Print to PDF" '→ 프린터 이름 설정.
'※ 만약 실제 종이로 프린터를 하고 싶다면 그 프린터 이름을 입력!

oPrintMgr.AllColorsAsBlack = True '→ 인쇄 속성 : 모든 색상을 검은색으로

oPrintMgr.NumberOfCopies = 1 '→ 인쇄 속성 : 인쇄 매수

oPrintMgr.Orientation = kLandscapeOrientation '→ 인쇄 속성 : 인쇄 방향

oPrintMgr.PaperSize = kPaperSizeA3 '→ 인쇄 속성 : 프린트 Size

oPrintMgr.ScaleMode = kPrintBestFitScale '→ 인쇄 속성 : 축척

oPrintMgr.PrintRange = kPrintAllSheets '→ 인쇄 속성 : 활성 시트에 대한 설정
'※ kPrintAllSheets dwg File에 있는 모든 시트를 선택해서 프린트 함.

oPrintMgr.PrintToFile("E:\Inventor\iLogic\" + oDrawDocName + ".pdf") '→ 프린트를 파일로 저장
'※ PrintToFile() 괄호 안에 저장할 File Path(경로)와 파일이름.확장자 입력

※ 프린트의 인쇄 속성은 인벤터의 API도움말에 검색하면 자세히 나옵니다!!


3. 저장 폴더가 없을 경우를 VB.NET 의 폴더 유무 확인, 폴더 생성 코드

oFolder = "E:\Inventor\iLogic\" '→ 필요한 폴더 경로.
If System.IO.Directory.Exists(oFolder) = False Then '→ 폴더 경로가 실제로 있는지 확인하고 없다면,
	System.IO.Directory.CreateDirectory(oFolder) '→ 폴더를 생성.
ElseIf System.IO.Directory.Exists(oFolder) = True Then '→ 폴더 경로가 실제로 있다면,
	'※ 폴더가 있다면 해야할 명령 입력
End If

 

반응형

+ Recent posts