프로그램
캐드 분류

vb.net 도면 일괄 작업관련 질문이요.

컨텐츠 정보

  • 282 조회
  • 4 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

아래처럼 도면을 열어서 미리 리습으로 작업해 놓은 "rst"라는 명령어를 수행 후

저장후 닫기 명령을 주었는데요

도면이 한장 열린 후 모든 명령 수행이 끝난 후 다음 도면이 열리는 것이 아니라

한번에 선택한 모든 도면이 다 열리게 됩니다.

cad dream의 도면 일괄처리 방식 처럼 한 도면의 명령 수행이 끝난 후

다음 도면을 열려면 어디를 수정해야 하나요??ㅠ

도움 부탁드리겠습니다.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim flis = lb1
Dim flis2 = lb2

Dim fliscount = flis.Items.Count

Dim i = 0

Do While i < fliscount

Dim vAcadDwg = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.Open(flis.Items.Item(i), False)
vAcadDwg.SendStringToExecute("rst" & vbCrLf, 0, 0, 0)
vAcadDwg.SendStringToExecute("_qSave" & vbCrLf, 0, 0, 0)
vAcadDwg.Window.Close()
i = i + 1
Loop


End Sub

관련자료

댓글 4

이럴꺼냐진짜님의 댓글

됩니다!!! 감사드립니다!!!

한참 고민하던걸 해결했네요 ㅠ

뭐하남님의 댓글

SendStringToExecute 쓰지말구요. SendCommand 사용하시면 됩니다.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click         Dim flis = lb1         Dim flis2 = lb2         Dim fliscount = flis.Items.Count         Dim i = 0         Dim app As Object = Application.AcadApplication         Do While i < fliscount             Dim vAcadDwg = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.Open(flis.Items.Item(i), False)             app.ActiveDocument.SendCommand("rst" & vbCrLf)             vAcadDwg.CloseAndSave(flis.Items.Item(i))             i = i + 1         Loop     End Sub

이럴꺼냐진짜님의 댓글

이렇게 하면 rst 명령을 수행하기도전에 저장하고 꺼버리게 됩니다 ㅠ

결국에는 그냥 열었다가 닫은것과 같이 아무런 동작을 실행을 안하게 되더라구요 ㅠ

뭐하남님의 댓글

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click         Dim flis = lb1         Dim flis2 = lb2         Dim fliscount = flis.Items.Count         Dim i = 0         Do While i < fliscount             Dim vAcadDwg = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.Open(flis.Items.Item(i), False)             vAcadDwg.SendStringToExecute("rst" & vbCrLf, 0, 0, 0)             vAcadDwg.CloseAndSave(flis.Items.Item(i))             i = i + 1         Loop     End Sub

여분필드1 여분필드2 여분필드3
전체 7,337 / 1 페이지
번호
제목
이름
알림 0