1. Trang chủ
  2. » Giáo án - Bài giảng

Phát triển AutoCAD bằng ActiveX & VBA - Chương 3: Điều khiển môi trường AutoCAD

10 19 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 709,21 KB

Nội dung

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ỀUU KKHHIIỂNN MMÔÔII TTRRƯƯỜNNGG 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.To cnh 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.Hin th vùng gii hn 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ẽ

Ngày đăng: 10/03/2021, 13:54

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN