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

Phát triển AutoCAD bằng ActiveX & VBA - Chương 9: Tạo bố cục và in ấn

7 12 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 7
Dung lượng 585,14 KB

Nội dung

Để chuyển sang khung nhìn xếp cạnh nhau thì thực hiện thêm bước sau:. ƒ Gán thu ộ c tính ActiveSpace thành acModelSpace : ThisDrawing.ActiveSpace=acModelSpace[r]

(1)

T

TOO BB CCỤCC VVÀÀ IINN ẤNN

9

Trong chương này

ƒ Khái niệm khơng gian mơ hình khơng gian in ƒ Bố cục vẽ

ƒ Khái niệm khung nhìn ƒ In vẽ

(2)

1 Khái nim khơng gian mơ hình khơng gian in

Khơng gian mơ hình (Model Space): nơi để vẽ, nơi mà người dùng tạo đối tượng hình học mơ hình Thông thường, bắt đầu vẽ không gian mô hình, ta cần rõ giới hạn đơn vị vẽ

Không gian in (Paper Space): nơi thể trình bày giấy mơ hình in Trong khơng gian in, ta bố trí khung nhìn khác vẽ, thu phóng khung nhìn cách độc lập xếp khung nhìn khác vẽ để in Có thể có nhiều khơng gian in, khơng gian in cách trình bày vẽ

2 B cc bn v

Tất cấu tạo hình học vẽ chứa Layout1 Khơng gian mơ hình hình học chứa Layout riêng có tên Model Ta thay đổi tên Layout tạo Layout khác để chứa không gian mơ hình hình học Chỉ có Layout chứa khơng gian mơ hình vẽ Khơng gian in hình học để nhiều Layout Trong vẽ có nhiều Layout, thể cấu hình in khác ta thay đổi tên Layout

Trong ActiveX Automation, đối tượng ModelSpace bao gồm toàn đối tượng hình học Layout khơng gian mơ hình Bởi Layout khơng gian in nhiều vẽ nên đối tượng PaperSpace đến Layuot không gian in hành cuối

2.1 Mối quan hệ Layout Block

Nội dung Layout đặt hai đối tượng ActiveX khác nhau, đối tượng Layout đối tượng Block Đối tượng Layout chứa thiết lập in ấn đặc tính hiển thị Layout cách thể giao diện AutoCAD Đối tượng Block chứa thuộc tính hình học cho Layout Mỗi đối tượng Layout liên kết với đối tượng Block Để truy cập vào đối tượng Block liên kết với Layout trước, sử dụng thuộc tính Block Layout Ngược lại, đối tượng Block liên kết với đối tượng Layout, để truy cập vào đối tượng Layout liên kết với Block trước, sử dụng thuộc tính Layout cho Block

2.2 Khái niệm cấu hình in

Đối tượng PlotConfiguration giống với đối tượng Layout chỗ chúng chứa thông tin in ấn Khác biệt chúng chỗ: đối tượng Layout liên kết với

1Layout: một khái niệm AutoCAD, thể hiện cách bố trí đối tượng hình học vẽ Bởi AutoCAD có hai loại khơng gian dùng để vẽ với mục đích khác (Model Space

(3)

một đối tượng Block chứa đối tượng hình học cần in cịn đối tượng PlotConfiguration khơng liên kết với đối tượng Block nào, tên tập hợp thơng số in ấn có sẵn dùng cho bất cứđối tượng hình học

2.3 Xác định cấu hình Layout

Các cấu hình Layout điều khiển kết in sau Những cấu hình liên quan đến khổ giấy, tỷ lệ in, vùng in, gốc in tên thiết bị in Việc hiểu rõ cách sử dụng cách hợp lý cấu hình đảm bảo kết in mong muốn Tất cấu hình cần thiết lập thay đổi Layout thực thơng qua thuộc tính phương thức đối tượng Layout

2.3.1. Lựa chọn khổ giấy đơn vị in

Khổ giấy lựa chọn phụ thuộc vào cấu hình thiết bị in thiết lập hệ thống Mối thiết bị in khác có sẵn danh sách khổ giấy tiêu chuẩn Để thay đổi khổ giấy Layout, sử dụng thuộc tính CanonicalMedia-Name

Đơn vị in xác định thông qua thuộc tính PaperUnits Thuộc tính

có thể lấy giá trị là: acInches, acMillimeters, acPixels Nếu thiết bị in cấu hình in theo chế độ Raster buộc phải xác định kích thước theo đơn vị Pixels (điểm ảnh)

2.3.2. Điều chỉnh gốc in

Gốc in (plot origin) nằm góc phía bên trái vùng in xác định điều khiển thông qua thuộc tính PlotOrigin Vị trí mặc định gốc (0,0) Tuy nhiên, ta chuyển sang chế độ in canh cách gán thuộc tính CenterPlot TRUE, gốc in sẽđược tựđộng thay đổi

2.3.3. Thiết lập vùng in

Khi chuẩn bị in Layout cần rõ vùng in để xác định cần in vẽ Để chỉđịnh vùng in, ta sử dụng thuộc tính PlotType Thuộc tính nhận giá trị đây:

acDisplay In tất đối tượng thể khơng gian mơ hình Tuỳ chọn khơng có hiệu lực in từ Layout không gian in acExtents In tất đối tượng nằm đường biên không

gian lựa chọn

acLimits In tất đối tượng giới hạn không gian acView In cảnh nhìn đặt tên thuộc tính ViewToPlot

acWindow In tất đối tượng cửa sổđược chỉđịnh phương thức SetWindowToPlot

acLayout In tất đối tượng nằm phần lề khổ giấy sử dụng Tuỳ chọn khơng có hiệu lực in khơng gian mơ hình Khi tạo Layout không gian in mới, giá trị mặc định tùy chọn

(4)

2.3.4.Thiết lập Tỷ lệ in

Thông thường, ta vẽ theo kích thước thật đối tượng, cịn in ta tỷ lệ xác hay tỷ lệ tương đối để vẽ phù hợp với khổ giấy Tỷ lệ in theo chuẩn tự chọn

Để nhập tỷ lệ tiêu chuẩn, trước hết gán thuộc tính UseStandardScalethành TRUE,

sau nhập tỷ lệ mong muốn thơng qua thuộc tính StandardScale

Để nhập tỷ lệ tự chọn, trước hết gán thuộc tính UseStandardScale thành FALSE,

sau nhập tỷ lệđó thơng qua phương thức SetCustomScale

Khi cần xem vẽ hay phác thảo tỷ lệ xác khơng quan trọng, trường hợp sử dụng giá trị acScaleToFitcủa thuộc tính StandardScale để in có tỷ lệ lớn vừa với trang giấy in

2.3.5.Thiết lập tỷ lệ cho độ dày nét vẽ

Độ dày nét vẽ phóng đại cách cân đối phù hợp với tỷ lệ in Layout Điển hình độ dày nét vẽ xác định bề rộng nét đối tượng in in với bề rộng nét không phụ thuộc vào tỷ lệ in Thông thường nên sử dụng tỷ lệ in mặc định Layout 1:1 Tuy nhiên muốn in Layout vừa vào khổ giấy in khác với khổ Layout cần rõ độ dày nét phóng đại phù hợp với tỷ lệ in

Để phóng đại độ dày nét gán thuộc tính ScaleLineWeights thành TRUE khơng cần phóng đại nét vẽ gán thuộc tính thành FALSE

2.3.6.Thiết lập thiết bị in

Tên thiết bị in xác định thuộc tính ConfigName, thuộc tính nhận giá trị tên thiết bị có hiệu lực hệ thống1 Khi khơng thiết lập giá trị cụ thể cơng cụ in sử dụng thiết bị in mặc định hệ thống

3 Khái nim khung nhìn

Khi làm việc khơng gian mơ hình, ta vẽ khung nhìn xếp cạnh (tương ứng với đối tượng Viewport ActiveX Automation) Có thể hiển thị hay vài khung nhìn khác lúc Nếu vài khung nhìn hiển thị, việc hiệu chỉnh khung nhìn sẽảnh hưởng đến tất khung nhìn cịn lại Tuy nhiên gán độ phóng đại, điểm nhìn, lưới bắt điểm độc lập cho khung nhìn

(5)

Khung nhìn xếp cạnh Khung nhìn

Trong khơng gian in, ta làm việc khung nhìn (ứng với đối tượng PViewport ActiveX Automation) để thể tất ảnh khác mơ hình Khung nhìn kiểu coi đối tượng nên di chuyển, thay đổi kích thước định hình dạng cho phù hợp với Layout Ta vẽ đối tượng, chẳng hạn tên khối hay thích, cách trực tiếp không gian in mà không ảnh hưởng đến vẽ khơng gian mơ hình

Trong khơng gian in, hiệu chỉnh đối tượng vẽ khơng gian mơ hình Để truy cập vào mơ hình đối tượng PViewport, cần chuyển từ không gian in sang khơng gian mơ hình thơng qua thuộc tính ActiveSpace Khi ta làm việc với mơ hình quan sát Layout đối tượng PViewport, việc hiệu chỉnh thay đổi góc nhìn gần giống Viewport Tuy nhiên, ta có thêm quyền điều khiển cho khung nhìn Ví dụ: đóng băng tắt lớp vài khung nhìn mà khơng ảnh hưởng đến khung nhìn khác, thể tất hay số khung nhìn, hàng vị trí khung nhìn tỷ lệ quan sát cho phù hợp với toàn Layout

Minh họa làm thể cách hiển thị cảnh nhìn khác mơ hình khơng gian in Mỗi khơng gian in đại diện cho đối tượng Pviewport với cảnh nhìn khác Trong cảnh nhìn, lớp đường kích thước tắt Chú ý phần tiêu đề, khung ghi vẽ không gian in khơng xuất khơng gian mơ hình Ngồi ra, lớp chứa khung khung nhìn tắt

Mơ hình Mơ hình hiển thị thơng qua khung nhìn

(6)

nhận hai giá trị acModelSpace acPaperSpace, cho phép

chuyển không gian in sang không gian mơ hình ngược lại cần thiết

Các đối tượng PViewport, Viewport thuộc tính ActiveSpace

Kiểu khung nhìn Trạng thái Sử dụng

PViewport ActiveSpace =

acPaperspace Bnổối, có thêm tiêu trí Layout cách tđề, khung hay thích Các ạo khung nhìn thay đổi khơng làm ảnh hưởng đến mơ hình

PViewport ActiveSpace=

acModelspace hoLàm viặc thay ệc khung nhìn nđổi cảnh nhìn Có thổi ểđểđóng b thay ăđổng hoi mơ hình ặc tắt lớp khung nhìn

Viewport ActiveSpace=

acModelspace Chia hình thành khung nhìn xđể hiệu chỉnh cảnh nhìn khác cếp cạnh mơ hình

Trong AutoCAD ActiveX Automation, thuộc tính ActiveSpace sử dụng để

điều khiển biến hệ thống TILEMODE Gán ThisDrawing.ActiveSpace=acModelSpace tương đương với gán TILEMODE=on

khi gán ThisDrawing.AciveSpace=acPaperSpace tương đương với gán TILEMODE=off

Tương tự, thuộc tính MSpace tương đương với hai lệnh AutoCAD MSPACEvà PSPACE Khi gán ThisDrawing.MSpace=TRUE tương đương với sử dụng lệnh MSPACEđể chuyển sang không gian mơ hình, thuộc tính gán giá trị FALSEsẽ tương đương với lệnh PSPACEđể chuyển sang không gian in

Cần ý trước gán thuộc tính MSPACEthành TRUEcần sử dụng phương thức Displayđể khởi tạo thông sốđồ hoạ ban đầu trước chuyển sang khơng gian

mơ hình để AutoCAD thực thao tác cần thiết khác Tuy nhiên, giao tiếp ActiveX Automation, người lập trình cần phải cẩn trọng với phương thức khởi tạo

CHÚ Ý Nên ghi nhớ cần phải bật hình cách gọi phương thức Display cho đối tượng Pviewport trước gán thuộc tính Mspace TRUE Nếu khơng bật hình làm phát sinh lỗi thuộc tính MSpace

3.1 Chuyển sang Layout không gian in

Từ khơng gian mơ hình, chuyển sang Layout khơng gian in kích hoạt gần theo bước sau:

1 Gán thuộc tính ActiveSpace thành acPaperSpace: ThisDrawing.ActiveSpace=acPaperSpace

(7)

Khi không gian in, AutoCAD hiển thị biểu tượng UCS khơng gian in góc bên trái hình đồ họa Con trỏ vẽ AutoCAD thể vùng Layout không gian in (chứ vùng hiển thị khung nhìn) có thểđược hiệu chỉnh

3.2 Chuyển sang Layout không gian mô hình

Từ khơng gian in, chuyển sang khơng gian mơ hình khung nhìn xếp cạnh khung nhìn theo bước sau:

1 Dùng phương thức Displayđể khởi tạo thông sốđồ hoạ ThisDrawing.ActivePViewport.Display TRUE

2 Chuyển thuộc tính MSpacethành TRUE: ThisDrawing.MSpace=TRUE

Các bước thực chuyển sang khơng gian mơ hình khung nhìn

CHÚ Ý Phải tạo khung nhìn trước chuyển sang khơng gian mơ hình Để chuyển sang khung nhìn xếp cạnh thực thêm bước sau:

ƒ Gán thuộc tính ActiveSpace thành acModelSpace: ThisDrawing.ActiveSpace=acModelSpace

3.3 Tạo khung nhìn khơng gian in

Các khung nhìn khơng gian in tạo phương thức AddPViewport Phương thức cần có điểm giữa, bề rộng chiều cao khung nhìn Trước tạo khung nhìn, sử dụng thuộc tính ActiveSpace không gian in thành không gian vẽ (thông thường sử dụng cách gán TILEMODE=0)

Sau tạo đối tượng PViewport, gán thuộc tính chúng như: Direction, LensLength, GridOn, điều khiển thuộc tính thân

khung nhìn nhưLayer, LineType, LinetypeScale Chuyển từ khơng gian mơ hình sang khơng gian in

Ví dụ chuyển AutoCAD sang không gian in, tạo khung nhìn nổi, gán kích hoạt khung nhìn

Sub Ch9_SwitchToPaperSpace()

’ Gán không gian vẽ thành không gian in ThisDrawing.ActiveSpace = acPaperSpace

’ Tạo khung nhìn khơng gian in Dim newVport As AcadPViewport

Dim center(0 To 2) As Double center(0) = 3.25

center(1) = center(2) =

Set newVport = ThisDrawing.PaperSpace.AddPViewport _ (center, 6, 5)

’ Thay đổi hướng nhìn cho khung nhìn Dim viewDir(0 To 2) As Double

Ngày đăng: 09/03/2021, 04:46

TỪ KHÓA LIÊN QUAN