티스토리 뷰

프로그래밍/CAD

블럭 삭제 VBA

.가끔은 2018. 2. 9. 20:28
반응형

선택한 블럭을 영역내에서 삭제하는 소스입니다.

 

VBA - DeleteBlock 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Sub DeleteBlock()
AppActivate ThisDrawing.Application.Caption
On Error Resume Next
 
Dim Doc As AcadDocument
Set Doc = ThisDrawing
 
Doc.Utility.Prompt vbCr & "블럭 제거프로그램..."
 
Dim SelObjO As AcadObject
Dim P1 As Variant
Doc.Utility.GetEntity SelObjO, P1, "영역내 찾을 블럭을 선택하세요..."
 
If SelObjO.ObjectName <> "AcDbBlockReference" Then
Doc.Utility.Prompt vbCr & "블럭이 아닙니다..."
Exit Sub
End If
 
Doc.Utility.Prompt vbCr & "삭제할 영역을 선택하세요..."
 
Dim FilterType(0) As Integer
Dim FilterData(0) As Variant
Dim ObjSS As AcadSelectionSet
 
Doc.SelectionSets("DelBlock").Delete
Set ObjSS = Doc.SelectionSets.Add("DelBlock")
 
FilterType(0) = 2
FilterData(0) = SelObjO.Name
ObjSS.SelectOnScreen FilterType, FilterData
 
If ObjSS.Count = 0 Then Exit Sub
 
ObjSS.Erase
ObjSS.Delete
 
End Sub

이 코드중 필터에 대한 설명은 아래 링크를 참조 바랍니다.
참고글 :  출력 블럭 설정

 

반응형

'프로그래밍 > CAD' 카테고리의 다른 글

자동출력 VBA - 출력 블럭 설정  (0) 2018.02.09
자동출력 VBA - 프린터 설정  (0) 2018.02.09
자동출력 VBA - 출력순서  (0) 2018.02.09
자동출력 VBA  (1) 2018.02.08
VBA에서 사용하는 기초 LISP  (0) 2018.02.06
댓글