Bằng cách sử dụng các phương thức và thuộc tính trong đối tượng Application, ta có thể thay đổi vị trí, kích thước và tính nhìn thấy của cửa sổ ứng dụng.. Ngoài ra ta cũng có thể thu n[r]
(1)Đ
ĐIIỀUỀU KKHHIIỂNỂN MMÔÔII TTRRƯƯỜNỜNGG A
AuuttooCCAADD
3
Trong chương này
Mở, Lưu Đóng vẽ
Thiết lập lựa chọn trong AutoCAD
Điều khiển cửa sổứng dụng
Điều khiển cửa sổ vẽ
Thiết lập lại đối tượng hành
Gán lấy biến hệ thống Vẽ với độ xác cao Nhắc người dùng nhập
dữ liệu
Truy xuất dòng lệnh AutoCAD
Thao tác không mở bản vẽ
Nhập vào định dạng khác
Xuất sang định dạng khác
(2)1 Mở, Lưu Đóng vẽ
Tập Documents đối tượng Document cho phép thực hàm liên quan đến tệp AutoCAD
Để tạo vẽ mới, mở vẽ có, ta phải sử dụng phương thức tập đối tượng Documents Phương thức Add tạo vẽ thêm vẽ vào tập đối tượng Documents Phương thức Open mở vẽ có Ngồi cịn có phương thức Close tập đối tượng Documents dùng để đóng tất các vẽ mở phiên làm việc AutoCAD
Để lưu, nhập xuất vẽ, ta sử dụng phương thức đối tượng Document: Save, Save As, Import Export
1.1 Mở vẽ
Ví dụ sau sử dụng phương thức Open để mở vẽ có Hàm Dir Visual Basic dùng để kiểm tra tồn tệp trước tiến hành mở vẽ Ta nên thay đổi tên vẽ đường dẫn để đến vẽ có hệ thống Sub Ch3_OpenDrawing()
Dim dwgName As String
dwgName = "c:\Program Files\acad2000\sample\campus.dwg" If Dir(dwgName) <> "" Then
ThisDrawing.Application.Documents.Open dwgName Else
MsgBox "File " & dwgName & " does not exist." End If
End Sub
1.2 Tạo vẽ
Ví dụ sử dụng phương thức Add để tạo vẽ dựa khuôn thức mặc định
Sub Ch3_NewDrawing()
Dim docObj As AcadDocument
Set docObj = ThisDrawing.Application.Documents.Add End Sub
1.3 Lưu vẽ
Có thể dụng phương thức Save Save As để lưu vẽ Lưu vẽ hành
Ví dụ sau lưu vẽ hành sử dụng tên tệp sẵn có đồng thời lưu vẽ với tên khác
Sub Ch3_SaveActiveDrawing()
’ Lưu vẽ hành sử dụng tên tệp sẵn có ThisDrawing.Save
(3)Thông thường, ta muốn kiểm tra xem vẽ hành có lưu thay đổi hay chưa trước thoát khỏi phiên làm việc AutoCAD bắt đầu vẽ mới, sử dụng thuộc tính Saved để kiểm tra chắn vẽ lưu thay đổi trước
Kiểm tra xem vẽđã lưu hay chưa
Ví dụ sau kiểm tra xem vẽ lưu hay chưa hỏi người dùng xem có đồng ý để lưu vẽ hay khơng (Nếu khơng đồng ý, khỏi chương trình) Nếu đồng ý, sử dụng phương thức Save để lưu vẽ hành
Sub Ch3_TestIfSaved()
If Not (ThisDrawing.Saved) Then
If MsgBox("Do you wish to save this drawing?", _ vbYesNo) = vbYes Then
ThisDrawing.Save End If
End If End Sub
2 Thiết lập lựa chọn AutoCAD
Có chín đối tượng gắn với lựa chọn khác nhau, đối tượng tương ứng với thẻ hộp thoại Options Thơng qua đối tượng này, ta truy cập tất liệu lựa chọn lưu giữ hộp thoại Options Do vậy, người lập trình tuỳ biến thiết lập AutoCAD thơng qua thuộc tính có đối tượng Chín đối tượng bao gồm:
PreferencesDisplay
PreferencesDrafting
PreferencesFiles
PreferencesOpenSave
PreferencesOutPut
PreferencesProFile
PreferencesSelection
PreferencesSystem
PreferencesUser
Tất đối tượng truy xuất thơng qua đối tượng Preferences Để có quyền truy cập đến đối tượng Preferences, ta sử dụng thuộc tính Preferences đối tượng Application sau:
Truy xuất đối tượng Preference
Dim acadPref As AcadPreferences
Set acadPref = ThisDrawing.Application.Preferences
(4)
System User Ví dụ: người lập trình điều chỉnh kích thước dấu thập trỏ với thuộc tính CursorSize
Thiết lập kích thước dấu thập trỏ thành tồn hình
Ví dụ thiết lập kích thước dấu thập trỏ thành tồn hình acadPref.Display.CursorSize=100
Người lập trình muốn ứng dụng kích hoạt vơ hiệu hố số tính giao diện AutoCAD
Hiển thị screen menu1 cuộn
Ví dụ sau kích hoạt screen menu vơ hiệu hố cuộn sử dụng thuộc tính DisplayScreenMenu DisplayScrollBars
acadPref.Display.DisplayScreenMenu = True acadPref.Display.DisplayScrollBars = False
2.2 Lựa chọn CSDL
Ngoài đối tượng Preferences, đối tượng DatabasePrefernces bao gồm lựa chọn lưu vẽ Đối tượng tách biệt dùng để chứa lựa chọn lưu vẽ sử dụng cho ứng dụng truy xuất vào vẽ AutoCAD mà không cần phải có trước chương trình AutoCAD (ứng dụng ObjectDBXTM2)
Đối tượng DatabasePreferences nằm đối tượng Document 3 Điều khiển cửa sổ ứng dụng
Khả điều khiển cửa sổ ứng dụng đem đến cho người phát triển ứng dụng tính linh hoạt để tạo chương trình thật hiệu thơng minh Sẽ có lúc ứng dụng cần phải thu nhỏ cửa sổ AutoCAD, có lẽ lúc chương trình thực thao tác chương trình khác, chẳng hạn Excel Thêm nữa, ta cần phải thường xuyên kiểm tra trạng thái cửa sổ ứng dụng AutoCAD trước thực thao tác, chẳng hạn nhắc nhập liệu từ người dùng
Bằng cách sử dụng phương thức thuộc tính đối tượng Application, ta thay đổi vị trí, kích thước tính nhìn thấy cửa sổ ứng dụng Ngồi ta thu nhỏ phóng to cửa sổ ứng dụng, kiểm tra trạng thái hành cửa sổ
1 Screen menu: một dạng trình đơn được tổ chức theo phương thẳng đứng của hình (thường bên phải) để thực chức hỗ trợ cho lệnh thực thi AutoCAD
2 ObjectDBXTM, hiện đã được đổi tên thành RealDWG, thư viện phần mềm cho phép người
(5)3.1 Thay đổi vị trí kích thước cửa sổ ứng dụng
Người lập trình cịn sử dụng đối tượng Application để điều chỉnh vị trí kích thước cửa sổ ứng dụng AutoCAD
Định vị trí cửa sổứng dụng
Ví dụ sử dụng thuộc tính WindowTop, WindowLeft, Width, Height để định vị trí cửa sổ ứng dụng AutoCAD góc bên trái hình định kích thước cửa sổ 400 điểm theo chiều rộng 400 điểm theo chiều cao Sub Ch3_PositionApplicationWindow()
ThisDrawing.Application.WindowTop = ThisDrawing.Application.WindowLeft = ThisDrawing.Application.Width = 400 ThisDrawing.Application.Height = 400 End Sub
3.2 Thu phóng cửa sổ ứng dụng AutoCAD
Cửa sổ AutoCAD thu nhỏ phóng to cách sử dụng thuộc tính WindowState Những ví dụ sau minh hoạ điều
Phóng to cửa sổứng dụng
ThisDrawing.Application.WindowState = acMax
Thu nhỏ cửa sổứng dụng
ThisDrawing.Application.WindowState = acMin
3.3 Xác định trạng thái hành cửa sổ AutoCAD
Trạng thái hành cửa sổ AutoCAD xác định cách sử dụng thuộc tính WindowState
Xác định trạng thái hành cửa sổứng dụng
Ví dụ sau truy vấn trạng thái cửa sổ ứng dụng hiển thị trạng thái cửa sổ hộp thông báo
Sub Ch3_CurrentWindowState()
Dim CurrWindowState As Integer Dim msg As String
CurrWindowState = ThisDrawing.Application.WindowState msg = Choose _
(CurrWindowState, "Bình thường", "Thu nhỏ", "Phóng to") MsgBox "Trạng thái hành cửa sổ là: " + msg
End Sub
3.4 Ẩn cửa sổ ứng dụng
Có thể ẩn cửa sổ ứng dụng khỏi hình người dùng Ẩn cửa sổứng dụng
(6)4 Điều khiển cửa sổ vẽ
Cũng giống cửa sổ ứng dụng AutoCAD, ta thu nhỏ, phóng to, định lại vị trí, thay đổi kích thước kiểm tra trạng thái cửa sổ vẽ Tuy nhiên, ta cịn thay đổi cách thức thể vẽ cửa sổ cách sử dụng phương thức cảnh nhìn (views), khung nhìn (viewports) thu phóng (zooming)
AutoCAD ActiveX cung cấp nhiều cách thức thể vẽ Ta điều khiển hiển thị vẽ để di chuyển nhanh đến vùng khác vẽ theo dõi tồn hiệu ứng thay đổi Ngồi thay đổi độ phóng đại vẽ trượt vẽ để định lại vị trí quan sát vùng đồ hoạ, lưu cảnh nhìn khơi phục lại cần để in tham khảo đến chi tiết cụ thể đó, thể vài cảnh nhìn lúc cách phân hình thành vài khung nhìn xếp cạnh
4.1 Thay đổi vị trí kích thước cửa sổ vẽ
Sử dụng đối tượng Document để điều chỉnh vị trí kích thước cửa sổ vẽ
Định vị trí cửa sổ vẽ
Ví dụ sau sử dụng thuộc tính Width Height để thiết lập kích thước cửa sổ vẽ hành với bề rộng 400 điểm chiều cao 400 điểm
ThisDrawing.Width = 400 ThisDrawing.Height = 400
4.2 Thu phóng cửa sổ vẽ
Cửa sổ vẽ thu nhỏ phóng to sử dụng thuộc tính WindowState Phóng to cửa sổ vẽ hành
ThisDrawing.WindowState = acMax
Thu nhỏ cửa sổ vẽ hành
ThisDrawing.WindowState = acMin
4.3 Xác định trạng thái hành cửa sổ vẽ
Có thể xác định cửa sổ hành cửa sổ vẽ cách sử dụng thuộc tính WindowState
Xác định trạng thái hành cửa sổ vẽ hành
Sub Ch3_CurrentWindowState()
Dim CurrWindowState As Integer Dim msg As String
CurrWindowState = ThisDrawing.WindowState
msg = Choose(CurrWindowState, "Bình thường", "Thu nhỏ", "Phóng to")
(7)4.4 Sử dụng chức thu phóng
Cảnh nhìn quan sát vẽ với độ phóng đại, vị trí hướng định Cách phổ biến để thay đổi cảnh nhìn sử dụng nhiều lựa chọn lệnh Zoom để tăng hay giảm kích thước hình ảnh hiển thị vùng đồ hoạ
Phóng hình ảnh để quan sát chi tiết gọi phóng to Cịn thu hình ảnh lại để quan sát tổng quát gọi thu nhỏ
Thu nhỏ (Zoom out) Phóng to (Zoom in)
Phóng to khơng thay đổi kích thước tuyệt đối vẽ, thay đổi kích thước thể vùng đồ hoạ AutoCAD đưa nhiều cách để thay đổi cảnh nhìn, bao gồm xác định vùng hiển thị, phóng đại đến tỷ lệ định thể toàn vẽ
4.4.1. Xác định cửa sổ phóng đại
Người lập trình nhanh chóng phóng đại vùng vẽ cách xác định góc định vị cho vùng
Cửa sổ
phóng đại
Cảnh nhìn ban đầu Cảnh nhìn
Vùng xác định góc định vị lựa chọn canh vào vùng đồ hoạ vùng phóng đại khơng có kích thước tỷ lệ với khung nhìn hành Để thực phóng đại vùng theo đường bao cho trước, ta sử dụng hai phương thức ZoomWindow ZoomPickWindow Phương thức ZoomWindow cho phép lập trình để định nghĩa hai điểm để làm cửa sổ bao Còn phương thức ZoomPickWindow lại yêu cầu người dùng phải chọn hai điểm hình hai điểm trở thành điểm để làm cửa sổ bao
Phóng đại vẽ hành theo cửa sổ bao xác định hai điểm
Sub Ch3_ZoomWindow()
MsgBox "Dùng phương thức ZoomWindow với:" & vbCrLf & _ "1.3, 7.8, 0" & vbCrLf & _
"13.7, -2.6, 0", , "ZoomWindow" Dim point1(0 To 2) As Double
Dim point2(0 To 2) As Double
(8)point2(0) = 13.7: point2(1) = -2.6: point2(2) = ThisDrawing.Application.ZoomWindow point1, point2
MsgBox " Dùng phương thức ZoomPickWindow", , "ZoomPickWindow" ThisDrawing.Application.ZoomPickWindow
End Sub
4.4.2.Tỷ lệ cảnh nhìn
Nếu cần tăng giảm mức phóng đại hình ảnh theo tỷ lệ xác, ta thực theo cách:
Tương đối so với vùng giới hạn vẽ
Tương đối so với cảnh nhìn hành
Tương đối so với đơn vị trang in
Khi thay đổi tỷ lệ cảnh nhìn tương đối so với vùng giới hạn vẽ, cần nhập giá trị để tất giới hạn vùng vẽ vùng đồ hoạ tất canh theo điểm cảnh nhìn trước Để phóng to hay thu nhỏ, cần nhập vào số lớn nhỏ Ví dụ, nhập vào số cho cảnh nhìn lớn gấp lần so với quan sát toàn vẽ 0.5 cảnh nhìn nửa so với quan sát toàn vẽ
Khi thay đổi tỷ lệ cảnh nhìn tương đối so với cảnh nhìn hành, cần nhập vào số để nhân đôi hay 0.5 để nửa kích thước so với cảnh nhìn hành Và đương nhiên nhập vào số khơng có hiệu ứng
Khi thay đổi tỷ lệ cảnh nhìn tương đối so với đơn vị trang in, giá trị tỷ lệ nhập vào tăng giảm cảnh nhìn tương đối so với tỷ lệ không gian in sử dụng để thay đổi tỷ lệ khung nhìn trước in
4.4.2.1.Tạo cảnh nhìn theo tỷ lệ
Để tạo cảnh nhìn theo tỷ lệ, phải sử dụng phương thức ZoomScaled Phương thức cần có hai thơng số đầu vào: tỷ lệ loại tỷ lệ Tỷ lệ: đơn giản số Việc xử lý số AutoCAD phụ thuộc vào loại tỷ lệ lựa chọn Loại tỷ lệ xác định cách thức cần thể theo tỷ lệ, bao gồm: tương đối so với vùng giới hạn vẽ, so với cảnh nhìn hành, hay so với đơn vị trang in Để thay đổi tỷ lệ tương đối so với vùng giới hạn vẽ, ta sử dụng số
acZoomScaledAbsolute Để thay đổi tỷ lệ so với cảnh nhìn hành, sử dụng số acZoomScaledRelative Để thay đổi tỷ lệ so với đơn vị trang in, sử
dụng số acZoomScaledRelativePSpace
Phóng đại vẽ hành với tỷ lệ cho trước
Sub Ch3_ZoomScaled()
MsgBox "Perform a ZoomScaled using:" & vbCrLf & _ "Scale Type: acZoomScaledRelative" & vbCrLf & _ "Scale Factor: 2", , "ZoomScaled"
Dim scalefactor As Double Dim scaletype As Integer scalefactor =
(9)ThisDrawing.Application.ZoomScaled scalefactor, scaletype End Sub
4.4.3. Căn
Ta di chuyển điểm vẽ vào vùng đồ hoạ Phương thức ZoomCenter hữu ích việc thay đổi tỷ lệ hiển thị đối tượng di chuyển đối tượng vào khung nhìn Ví dụ sau làm rõ cách sử dụng lệnh ZoomCenter để hiển thị đối tượng mà giữ nguyên tỷ lệ mức phóng đại gấp hai lần:
Điểm
trọng tâm
Cảnh nhìn hành ZoomCenter giữ nguyên tỷ lệ
ZoomCenter sử dụng tỷ lệ 2x
Bằng cách sử dụng ZoomCenter, ta xác định tỷ lệ cách nhập vào giá trị phóng đại so với cảnh nhìn hành
Phóng đại vẽ với chếđộ
Sub Ch3_ZoomCenter()
MsgBox "Perform a ZoomCenter using:" & vbCrLf & _ "Center 3, 3, 0" & vbCrLf & _
"Magnification: 10", , "ZoomCenter" Dim Center(0 To 2) As Double
Dim magnification As Double
Center(0) = 3: Center(1) = 3: Center(2) = magnification = 10
ThisDrawing.Application.ZoomCenter Center, magnification End Sub
4.4.3.2.Hiển thị vùng giới hạn vẽ vùng đối tượng
(10)Phương thức ZoomAll hiển thị toàn vẽ Nếu có đối tượng vẽ ngồi vùng giới hạn vẽ, phương thức ZoomAll thị toàn đối tượng Nếu đối tượng vẽ bên vùng giới hạn vẽ, phương thức ZoomAll hiển thị toàn vùng giới hạn vẽ
Phương thức ZoomExtents xác định tỷ lệ phóng đại dựa vùng đối tượng khung nhìn hành (khơng phải cảnh nhìn hành) Thơng thường, tồn khung nhìn hành nhìn thấy được, đó, kết rõ ràng, trực quan Tuy nhiên, sử dụng phương thức Zoom không gian mô hình làm việc khung nhìn khơng gian in, phóng to bên ngồi biên khung nhìn khơng gian in khơng nhìn thấy số khu vực phóng đại
Phương thức ZoomExtents thay đổi cảnh nhìn để bao quát tất đối tượng vẽ hành Trong vài trường hợp (đối với phương thức ZoomAll phương thức ZoomExtents), điều kích hoạt q trình tái tạo vẽ1 Q trình tái tạo vẽ khơng kích hoạt với lớp đóng băng lớp bị tắt Nếu vẽ khơng có đối tượng cả, phương thức ZoomExtents hiển thị vùng giới hạn vẽ
Cảnh nhìn Phóng đại vùng đối tượng
Phóng thể tồn vẽ