AutoCAD를 위한 기본적인 VBA Subroutine 정리2
- 최초 등록일
- 2017.04.02
- 최종 저작일
- 2017.04
- 19페이지/
MS 워드
- 가격 1,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
AutoCAD Program을 조금더 효율적으로 활용하기위해 VBA(Visual Basic for Application)를 공부하면서 기본적으로 필요한 Subroutine들을 사용방법과 함께 정리한 문서를 Uadate 하여 추가로 올려봄니다.
목차
Ⅰ. AutoCAD VBA Sub-routine 정리
1. Point 생성하기
2. Click하여 Point 생성하기
3. Line 생성하기
4. 한번에 많은 Line 생성하기
5. Circle 생성하기
6. 각도 단위 변환하기
7. Arc 생성하기
8. Rectangle 생성하기
9. Polyline으로 Rectangle 생성하기
10. Text 삽입하기
11. Dimension 삽입하기
12. 포인트를 받아 그 주변을 Polyline으로 Boundary 만들기
13. 포인트를 받아 그 주변을 Polyline으로 Boundary를 만들고, 그 Polyline 반환하기
14. 포인트를 받아서 그 주변 면적 반환하기
15. Current DVB파일의 위치 불러오기
16. Current 도면의 위치 불러오기
17. Block 만들기
18. 한 개의 객체를 선택하고 추가적인 확장 데이터(XDATA)를 첨부하기
19. 여러 개체를 선택하고 추가적인 확장 데이터(XDATA)를 첨부하기
20. 선택 객체에 추가적으로 첨부된 확장 데이터(XDATA)를 불러오기
Ⅱ. VBA Sub-routine 정리
1. 필요한 광역변수 정의하기
2. 아크탄젠트(Arctangent)
3. 아크싸인(Arcsine)
4. 아크코싸인(Arccosine)
5. 셀주소중 알파벳만 불리하기
6. 셀주소중 숫자만 불리하기
7. 현재 Sheet에서 지정한 범위의 Data 불러오기
8. 파일 열지않고 값불러오기
9. 버튼 만들고 매크로 연결하기
10. 다른 이름으로 저장하기
11. 셀의 색변경하기
12. Array 안의 값들을 Collection에 넣기
본문내용
AutoCAD VBA Sub-routine 정리
1. Point 생성하기
Sub CreatePoint(PointName() As Double, ParamArray Coordinates() As Variant)
Dim i As Integer
For i = 0 To UBound(Coordinates())
PtName(i) = Coordinates(i)
Next i
End Sub
사용 방법) Dim PointName(2) As Double
CreatePoint PointName, 0, 100
좌표(0, 100, 0)에 Point 생성
2. Click하여 Point 생성하기
Sub ClickPoint(ByRef ReturnPt)
ReturnPt = ThisDrawing.Utility.GetPoint(, "Click a Point !!")
End Sub
사용 방법) ClickPoint ReturnPt
Click한 위치의 Point를 ReturnPt에 담는다
3. Line 생성하기
Sub DrawLine(StartPt As ACAD_POINT, EndPt As ACAD_POINT, Layer As String)
With AcadApplication.ActiveDocument.ModelSpace
With .AddLine(StartPt, EndPt)
On Error Resume Next
.Layer = Layer
On Error GoTo 0
'.Update
End With
End With
End Sub
사용 방법) DrawLine Point1, Point2, “Layer”
“Layer” 에 Point1과 Point2를 잇는 Line 생성
4. 한번에 많은 Line 생성하기
Sub PtsForLine(PtsForLine As ACAD_POINT, Layer As String)
For i = 1 To (UBound(PtsForLine) + 1) / 2
P1 = PtsForLine(2 * (i - 1))
P2 = PtsForLine(2 * (i - 1) + 1)
DrawLine P1, P2, Layer
참고 자료
없음