티스토리 뷰

프로그래밍/CAD

블럭 삭제 VBA

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

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

 

VBA - DeleteBlock 

 

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
댓글