1. 선 그리기 [VBA]


여기서는 선 그리기의 VBA 버젼을 만들면서 VB와 VBA의 제작상의 차이점을 살펴보겠습니다.

AutoCAD를 위한 VBA 프로그램 제작 과정은 다음과 같습니다.

1) AutoCAD를 실행한 후 VBAIDE를 실행합니다.
2) View 메뉴의 Code(F7)를 실행합니다.
3) VB와 마찬가지로 모듈의 맨 처음에 다음과 같은 선언문을 넣어둡니다.

Option Explicit

4) 마찬가지로 AutoCAD와 현재 사용중인 도면에 대한 객체를 저장하게될 변수를 선언합니다.

Public objAcApp As AcadApplication
Public objAcDoc As AcadDocument

5) Insert 메뉴의 Procedure를 실행합니다. Add Procedure 대화상자에서 Draw1Line 함수명을 입력하고 OK를 선택합니다.
6) 우선, VB에서 제작했던 Draw1Line 함수의 내용을 복사하여 가져온 후 다음 두 문장을 추가하여 함수를 완성합니다.

  Set objAcApp = ThisDrawing.Application
  Set objAcDoc = ThisDrawing

이런 방식을 사용하여 VB와 VBA에서 사용되는 코드를 손쉽게 변환할 수 있습니다.

' 사용자로 부터 시작점과 끝점을 입력받아 선분을 그린다.
Public Sub Draw1Line()
  
  Set objAcApp = ThisDrawing.Application
  Set objAcDoc = ThisDrawing
  
  Dim objLine As AcadLine
  Dim vsp, vep As Variant

  ' 시작점을 입력받는다.
  vsp = objAcDoc.Utility.GetPoint(, "시작점: ")
  ' 끝점을 입력받는다.
  vep = objAcDoc.Utility.GetPoint(vsp, "끝점: ")
  ' 선을 그린다.
  Set objLine = objAcDoc.ModelSpace.AddLine(vsp, vep)
  ' 화면을 갱신한다.
  objAcApp.Update

End Sub

7) Run 메뉴의 Run Sub/UserForm(F5)을 실행하여 잘 동작하는지 확인해 봅니다.



관련 자료
disk [1] 선 그리기 [VBA] (14.5KB)

Last updated 2002-09-07 by choi@moon-sun.com
Home