선택한 블럭을 영역내에서 삭제하는 소스입니다. 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 ..
블럭 선택과 필터에 대하여...본 코드는 BricsCAD에서 사용중인 코드입니다. AutoCAD와 다를수 있으니 참고바랍니다.코드 전체글: [CAD/VBA] - 자동출력 VBA 이 글은 코드 전체 중 블록 설정에 대한 부분만 있습니다.코드 중 수정이 필요하다고 판단되는 부분은 블록이름입니다.블럭 이름 '출력 폼 블럭의 이름 Dim BName(2) As String BName(0) = "A$C7E9A3D3E" BName(1) = "A$C220D1AB8" BName(2) = "Form A4" Dim BNC As Integer BNC = UBound(BName) + 2 ReDim FilterType(BNC) As Integer ReDim FilterData(BNC) As Variant FilterType(0)..
프린터 설정에 대하여...본 코드는 BricsCAD에서 사용중인 코드입니다. AutoCAD와 다를수 있으니 참고바랍니다.코드 전체글: [CAD/VBA] - 자동출력 VBA 이 글은 코드 전체 중 프린터 설정에 대한 부분만 있습니다.프린터 설정중 수정이 필요하다고 판단되는 부분은 프린터 이름, 플롯 스타일 이름입니다.프린터 Dim Layout As AcadLayout Set Layout = Doc.ActiveLayout With Layout .ConfigName = PrntName .StandardScale = acScaleToFit .StyleSheet = "acad.ctb" .PlotWithPlotStyles = True .PlotType = acWindow .PlotRotation = ac90degr..
도면 정렬에 대하여...본 코드는 BricsCAD에서 사용중인 코드입니다. AutoCAD와 다를수 있으니 참고바랍니다.코드 전체글: [CAD/VBA] - 자동출력 VBA 이 글은 코드 전체 중 출력 순서에 대한 부분만 있습니다.회사마다 도면을 정렬하는 방식이 달라 4가지 방식으로 구분 하였으니 그 중 자신의 회사와 맞는 방식을 확인하여 코드를 수정하시기 바랍니다. 출력 순서Enum 문(열거형변수)으로 정의. Enum PrtSquence TD TU DD DU End Enum 1. TD : 한줄 출력후 아래로 내려오며 반복. 정렬기준점은 좌측하단.2. TU : 한줄 출력후 아래로 내려오며 반복. 정렬기준점은 좌측상단.3. DD : 한줄 출력후 위로 올라가며 반복. 정렬기준점은 좌측하단.4. DU : 한줄 출..
한 파일내 다중도면 출력.. 본 코드는 BricsCAD에서 사용중인 코드입니다. AutoCAD와 다를수 있으니 참고바랍니다. 한 프로젝트 혹은 하나의 장비 도면을 관리할때 한개의 캐드 파일에서 관리하는곳이 많습니다.리비전 이력이나 부품의 조립관계 확인등,, 한 파일에서 관리하는게 가장 이상적이지만 가장 큰 걸림돌은 도면 출력이라 생각 됩니다. 여러 캐드 서드파티 프로그램들이 그 문제를 해결하기위해 다양한 방법으로 도면을 관리하고 있습니다.저 또한 캐드에서 가장 먼저 만들고 자주 쓰는 프로그램이 출력 프로그램입니다. 그래서 제가 사용하는 프로그램 소스를 공개하며, 이 글을 보시는 분도 자신에게 맞게 수정, 사용하셔서 출력에 보내는 시간이 줄었으면 합니다. '출력 순서 정의 Enum PrtSquence TD..
리습에 관해 몇가지... 리습에 대한 내용은 VBA 사용에 필요한 몇가지만 정리하고 넘어가야 할것 같아 시작합니다. 지난글 2018/02/05 - [CAD/VBA] - CAD VBA 시작 지난시간 단축키 만들기에 사용한 코드 내용과 몇가지 간단한 사용법만 하겠습니다. 지난시간 리습코드: (defun c:test()(command “-vbarun” ”Test”)(princ)) VBA 코드를 캐드에서 바로 사용할수 있게 연결시켰던 리습입니다.위 코드에 대해 설명 드리고 넘어가야할것 같아 다시 가져왔습니다.첫 문장부터 하나씩 설명드리겠습니다. defun VB의 Sub 와 같은 계념으로 함수 선언 시작을 알리는 구문입니다. c:test() 함수 이름부분입니다 첫 부분에 c: 붙으면 캐드에서 바로 사용 할수 있습..
처음 시작하며...강좌 시작에 앞서 본 블로그는 프로그램 소스를 기반으로 설명을 첨부하는 방식으로 강좌를 진행 하려 합니다.본 강좌는 VisualBasic 기본문법은 숙지한분을 대상으로 강좌를 진행하오니 이점 유의 바라며 강좌에 소개된 소스는 무료 배포 가능하며 수정또한 자유롭게 가능함을 알립니다. 3d 설계 프로그램의 기술이 점점 발전함에 따라 3d 설계 프로그램의 사용자가 점차 늘고있는 상황이지만 아직까지 2d 사용자가 더 많고, 컨셉부터 도면 출도까지의 전 과정을 3d 프로그램에서 관리 하는곳 보다 2d 캐드와 병행해 사용하는곳이 아직은 더 많은것이 현실입니다. 그래서 2d(AutoCad)강좌와 3d(SolodEdge)강좌를 병행할까 합니다. AutoCad 프로그래밍은 필요하다고 생각되는 몇 가지만..