Đến nội dung


Hình ảnh
- - - - -

VBA Plot windows


  • Please log in to reply
1 reply to this topic

#1 mua_buon12

mua_buon12

    biết vẽ circle

  • Members
  • PipPip
  • 34 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 13 June 2009 - 06:53 PM

Em đang tìm hiểu về lệnh in trong cad.em muốn dùng VBA để in tự động 1 file cad được giới hạn bởi khung 400x300.em đã dùng VBA để plot vùng in bằng cách chọn 2 điểm chéo của khung 400x300.Em nhờ các bậc cao thủ trên diễn đàn giúp em sử lý 1 yêu cầu đặt ra như sau: Khi em pick chọn 2 điểm chéo của khung 400x300 thì chương trình sẽ tự động chia vùng đã chọn ra làm 4 vùng nhỏ bằng nhau và đánh số thứ tự 1,2,3,4 vào điểm bất kỳ trên 4 khung đó và cuối cùng là plot 4 vùng đó ra 4 bản(khổ giấy A4).em đang cần mong các cao thủ VBA giúp đỡ.em xin cảm ơn!
  • 0
Khi Lập Trình Kiến Thức Là Một Phần, Nghệ Thuật Mới Là Tất Cả.

#2 nghiautc

nghiautc

    biết lệnh copy

  • Members
  • PipPipPip
  • 112 Bài viết
Điểm đánh giá: 18 (tàm tạm)

Đã gửi 26 December 2010 - 12:14 PM

Em đang tìm hiểu về lệnh in trong cad.em muốn dùng VBA để in tự động 1 file cad được giới hạn bởi khung 400x300.em đã dùng VBA để plot vùng in bằng cách chọn 2 điểm chéo của khung 400x300.Em nhờ các bậc cao thủ trên diễn đàn giúp em sử lý 1 yêu cầu đặt ra như sau: Khi em pick chọn 2 điểm chéo của khung 400x300 thì chương trình sẽ tự động chia vùng đã chọn ra làm 4 vùng nhỏ bằng nhau và đánh số thứ tự 1,2,3,4 vào điểm bất kỳ trên 4 khung đó và cuối cùng là plot 4 vùng đó ra 4 bản(khổ giấy A4).em đang cần mong các cao thủ VBA giúp đỡ.em xin cảm ơn!

Mình đang viết một đoạn VBA để in trong một khung 297,420 có đoạn mã sau
Sub Plot()
Dim Layout As AcadLayout
Set Layout = ThisDrawing.ModelSpace.Layout
'kho giay
Layout.CanonicalMediaName = "ISO_A3_(297.00_x_420.00_MM)" 'hoac "ISO_A3_(420.00_x_297.00_MM)" ko dc
Layout.PaperUnits = acMillimeters
'Dieu chinh goc ban in
Layout.CenterPlot = True
'thiet lap vung in
Dim Pnt1(0 To 1) As Double: Pnt1(0) = 0: Pnt1(1) = 0
Dim Pnt2(0 To 1) As Double: Pnt2(0) = 420: Pnt2(1) = 297
ThisDrawing.ModelSpace.Layout.SetWindowToPlot Pnt1, Pnt2
Layout.GetWindowToPlot Pnt1, Pnt2
Layout.PlotType = acWindow
'thiet lap ti le in
ThisDrawing.ModelSpace.Layout.UseStandardScale = True
ThisDrawing.ModelSpace.Layout.StandardScale = ac1_1
'May in
Layout.ConfigName = "DWG To PDF.pc3"
ThisDrawing.Plot.PlotToDevice
End Sub

Nhưng không hiểu sao nó ko in được tất cả các đối tượng trong vùng 420,297 mong các bạn chỉ giúp
  • 0