Phát triển AutoCAD bằng ActiveX & VBA - Chương 5: Kích thước và dung sai

ƒ Khái niệm về kích thước

ƒ Tạo kích thước

ƒ Hiệu chỉnh kích thước

ƒ Kiểu kích thước

ƒ Kích thước trong không

gian mô hình và không

gian in

ƒ Tạo đường dẫn và chú

thích

ƒ Tạo dung sai hình học

Định kích thước là quá trình vẽ các đường kích

thước cho bản vẽ. Còn dung sai xác định khoảng sai

số cho phép của kích thước bản vẽ. Với ActiveX

Automation, kích thước của bản vẽ được quản lý

bằng các kiểu kích thước.

pdf 19 trang dienloan 2140
Bạn đang xem tài liệu "Phát triển AutoCAD bằng ActiveX & VBA - Chương 5: Kích thước và dung sai", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Phát triển AutoCAD bằng ActiveX & VBA - Chương 5: Kích thước và dung sai

Phát triển AutoCAD bằng ActiveX & VBA - Chương 5: Kích thước và dung sai
 Phát triển ứng dụng ActiveX và VBA | 155 
KÍCH THƯỚC VÀ DUNG SAI 
5 
Trong chương này
ƒ Khái niệm về kích thước 
ƒ Tạo kích thước 
ƒ Hiệu chỉnh kích thước 
ƒ Kiểu kích thước 
ƒ Kích thước trong không 
gian mô hình và không 
gian in 
ƒ Tạo đường dẫn và chú 
thích 
ƒ Tạo dung sai hình học 
Định kích thước là quá trình vẽ các đường kích 
thước cho bản vẽ. Còn dung sai xác định khoảng sai 
số cho phép của kích thước bản vẽ. Với ActiveX 
Automation, kích thước của bản vẽ được quản lý 
bằng các kiểu kích thước. 
 156 | Chương 5: Kích thước và dung sai 
1. Khái niệm về kích thước 
Kích thước cho biết các số đo hình học của đối tượng như khoảng cách, góc giữa 
các đối tượng và toạ độ XY của một điểm. AutoCAD cung cấp 3 loại kích thước cơ 
bản: dạng đường, dạng tia và dạng góc. Kích thước dạng đường bao gồm các kiểu 
đo theo cạnh1, đo góc và kiểu tọa độ. Dưới đây là ví dụ về mỗi loại kích thước: 
Ta có thể vẽ kích thước cho từng đường thẳng, nhiều đường thẳng một lúc, đường 
cong, đường tròn và các đoạn của đường đa tuyến hoặc cũng có thể xác định các 
kích thước đơn lẻ. 
Kích thước theo kiểu tọa độ 
AutoCAD vẽ kích thước trên lớp hiện hành. Mỗi kích thước đều thuộc một kiểu 
kích thước nhất định, có thể là mặc định hoặc tuỳ chọn. Kiểu kích thước xác định 
các đặc tính như màu, kiểu chữ, và tỷ lệ kiểu đường, nhưng lại không được hỗ trợ 
thông số về độ dày. Các họ đường kích thước cho phép tạo những kiểu kích thước 
1 Trong kích thước đo theo cạnh, đường kích thước song song với hai điểm gốc của đường kéo dài. 
Ví dụ dưới đây minh họa hai ví dụ về kích thước đo theo cạnh. Đầu tiên chọn đối tượng (1), sau đó 
xác định vị trí của kích thước đo theo cạnh (2). Đường dóng sẽ được vẽ tự động. 
 Phát triển AutoCAD bằng ActiveX và VBA | 157 
khác dựa trên một kiểu kích thước cơ bản. Chế độ ghi đè1 cho phép chỉnh sửa chi 
tiết chỉ cho một kích thước cụ thể. 
1.1. Thành phần của một kích thước 
Phần này định nghĩa sơ lược về các thành phần của một kích thước. 
Chữ kích thước
Đầu mũi tên
Đường kích thước
Đường dóng
Đường dẫn 
Đường kích thước là một đường thẳng biểu thị hướng và độ rộng của một kích 
thước. Đối với kích thước đo góc, đường kích thước là một cung tròn. Đường dóng 
là một đường nối từ điểm được đo đến đường kích thước. Đầu mũi tên, còn gọi là 
ký hiệu điểm kết thúc hay điểm kết thúc, được thêm vào hai đầu của đường kích 
thước. Chữ kích thước là một chuỗi ký tự thường biểu thị số đo thực. Chuỗi ký tự 
cũng có thể bao gồm tiền tố, hậu tố và sai số. Đường dẫn là đường thẳng dẫn từ 
dòng chú thích đến đối tượng được chú thích. Dấu tâm là một dấu cộng nhỏ chỉ tâm 
của một đường tròn hay cung tròn. Đường tâm là các đường nét đứt xác định tâm 
của một đường tròn hay đường cung. 
Đường 
tâm 
1.2. Định nghĩa biến hệ thống kích thước 
Biến hệ thống kích thước điều kiển sự hiển thị của kích thước. Biến hệ thống kích 
thước gồm có: DIMAUNIT, DIMUPT, DIMTOFL, DIMFIT, DIMTIH, DIMTOH, 
DIMJUST, và DIMTAD. Ta có thể gán các biến này bằng cách sử dụng phương thức 
SetVariable. Ví dụ, đoạn mã sau gán biến hệ thống DIMAUNIT (dạng đơn vị cho 
kích thước góc) là rađian (3). 
ThisDrawing.SetVariable "DIMAUNIT", 3 
1.3. Thiết lập kiểu chữ cho kích thước 
Chữ kích thước là tất cả các đối tượng văn bản gắn với kích thước, bao gồm số đo, 
sai số, tiền tố, hậu tố và các ghi chú một dòng hoặc nhiều dòng. Ta có thể sử dụng 
1 Ghi đè kiểu đường kích thước (dimension style override) là những thay đổi nhỏ cho một cấu 
hình nào đó cho kiểu kích thước hiện hành. Chế độ này tương đương với việc thay đổi biến hệ thống 
về đường kích thước mà không làm thay đổi kiểu kích thước hiện hành. 
 158 | Chương 5: Kích thước và dung sai 
các số đo mặc định của AutoCAD làm chữ kích thước hoặc tự nhập vào hoặc có thể 
bỏ đi hoàn toàn. Ta cũng có thể thêm vào chữ kích thước các thông tin như quy 
trình sản xuất hoặc hướng dẫn lắp đặt. 
Chữ kích thước một dòng sử dụng kiểu chữ hiện hành được xác định trong thuộc 
tính ActiveTextStyle. Chữ kích thước nhiều dòng cũng sử dụng kiểu chữ hiện hành 
cho các chuỗi văn bản đó. 
1.4. Khái niệm về đường dẫn 
Đường dẫn mặc định là một đường thẳng có một đầu mũi tên chỉ tới một đối tượng 
trong bản vẽ. Thông thường, chức năng của một đường dẫn là nối phần chú thích 
với đối tượng. Chú thích trong trường hợp này là một đoạn văn bản, khối hoặc 
khung điều chỉnh đối tượng. Các đường dẫn này khác với loại đường dẫn đơn giản 
do AutoCAD tự động tạo ra cho các kích thước bán kính, đường kính hay kích 
thước theo cạnh vốn có chuỗi ký tự không đặt giữa các đường dóng. 
đường dẫn- 
Các đối tượng đường dẫn được liên kết với chú thích, do đó khi chú thích được 
chỉnh sửa, đường dẫn cũng được cập nhật theo. Ta có thể sao chép chú thích được 
sử dụng ở một nơi khác trong bản vẽ và gắn thêm đường dẫn vào hoặc ta có thể tạo 
một chú thích mới. Ta cũng có thể tạo một đường dẫn mà không cần có chú thích. 
1.5. Khái niệm về kích thước liên kết 
Kích thước liên kết là kích thước mà trong đó tất cả các đường thẳng, đầu mũi tên, 
cung tròn và chữ kích thước đều được vẽ như một đối tượng kích thước đơn nhất. 
Biến hệ thống DIMASO điều khiển tính liên kết và mặc định là giá trị on (bật). Nếu 
biến DIMASO có giá trị là off (tắt), đường kích thước, đường dóng, đầu mũi tên, 
đường dẫn và chữ kích thước được vẽ như là các đối tượng riêng biệt. Ta có thể tạo 
kích thước không liên kết nếu cần thay đổi kích thước mà không bị các biến số chi 
phối. Tuy nhiên, nói chung, các kích thước liên kết dễ sử dụng hơn vì chúng được 
xem như là một đối tượng đơn nhất. 
Để gán hoặc lấy biến hệ thống, sử dụng phương thức SetVariable và GetVariable. 
 Phát triển AutoCAD bằng ActiveX và VBA | 159 
2. Tạo kích thước 
Ta có thể tạo kích thước dạng đường, dạng tia, dạng góc và kiểu toạ độ. 
Khi tạo kích thước, kiểu kích thước hiện hành sẽ được sử dụng. Sau khi đã được tạo 
ra, ta có thể điều chỉnh gốc của các đường dóng, vị trí chữ kích thước và nội dung 
chữ kích thước và góc hợp của nó so với đường kích thước. Ta cũng có thể thay đổi 
kiểu kích thước được sử dụng. 
2.1. Tạo kích thước dạng đường 
Các kích thước dạng đường có thể là kiểu đo theo cạnh hoặc kiểu đo nghiêng. Kích 
thước kiểu đo theo cạnh có đường kích thước song song gốc của đường dóng. Các 
kích thước đo nghiêng có đường kích thước nằm nghiêng một góc so với gốc của 
đường dóng. 
Để tạo một kích thước dạng đường, sử dụng các lệnh AddDimAligned, 
AddDimRotated hoặc AddDim3PointAligned. Sau khi đã tạo xong các kích thước 
đo thẳng, ta có thể điều chỉnh chuỗi ký tự, góc của chuỗi ký tự hoặc góc của đường 
kích thước. Hình vẽ sau hiển thị rõ gốc của đường dóng cũng như vị trí đặt đường 
kích thước: 
nằm ngang thẳng đứng
 theo cạnh nghiêng góc 315 độ
Để tạo kích thước kiểu đo theo cạnh, ta sử dụng phương thức AddDimAligned. 
Phương thức này cần phải nhập vào 3 toạ độ: gốc của hai đường dóng và vị trí của 
chuỗi ký tự. 
2.2. Tạo kích thước dạng tia 
Kích thước dạng tia dùng để đo bán kính, đường kính của cung và đường tròn. Để 
tạo kích thước dạng tia, sử dụng phương thức AddDimRadial. 
Các dạng khác nhau của kích thước dạng tia được tạo dựa trên kích cỡ của đường 
tròn hay đường cung, thuộc tính TextPosition (vị trí chuỗi ký tự) và các giá trị trong 
các biến hệ thống kích thước như DIMUPT, DIMTOFL, DIMFIT, DIMTIH, DIMTOH, 
 160 | Chương 5: Kích thước và dung sai 
DIMJUST và DIMTAD. (Có thể lấy hoặc gán biến hệ thống bằng cách sử dụng 
phương thức GetVariable và SetVariable.) 
Đối với chuỗi ký tự của kích thước nằm ngang, nếu góc nghiêng của đường kích 
thước lớn hơn 15 độ so với phương ngang và ở bên ngoài đường tròn hay cung tròn, 
AutoCAD vẽ một đường móc. Đường móc là một đường có mũi tên đặt bên cạnh 
chuỗi ký tự kích thước, như được minh họa dưới đây: 
Để tạo kích thước dạng tia, sử dụng phương thức AddDimRadial hoặc 
AddDimDiametric. Các phương thức này cần phải nhập vào các giá trị: toạ độ tâm 
đường tròn hoặc cung tròn, toạ độ vị trí gắn đường dẫn và độ dài của đường dẫn. 
Các phương thức này sử dụng tham số LeaderLength làm khoảng cách từ điểm gắn 
đường dẫn đến điểm mà kích thước sẽ tạo một đường móc nằm ngang chỉ đến dòng 
chú thích (hoặc dừng lại nếu không cần vẽ đường móc). 
Tạo một kích thước dạng tia 
Ví dụ sau tạo đường kích thước dạng tia trong không gian mô hình. 
Sub Ch5_CreateRadialDimension() 
Dim dimObj As AcadDimRadial 
Dim center(0 To 2) As Double 
Dim chordPoint(0 To 2) As Double 
Dim leaderLen As Integer 
’ Định nghĩa kích thước 
center(0) = 0 
center(1) = 0 
center(2) = 0 
chordPoint(0) = 5 
chordPoint(1) = 5 
chordPoint(2) = 0 
leaderLen = 5 
’ Tạo kích thước dạng tia trong không gian mô hình 
Set dimObj = ThisDrawing.ModelSpace. _ 
AddDimRadial(center, chordPoint, leaderLen) 
ZoomAll 
End Sub 
 Phát triển AutoCAD bằng ActiveX và VBA | 161 
CHÚ Ý Việc đặt thông số LeaderLength chỉ được sử dụng trong quá trình tạo kích thước. 
Sau khi kích thước đã được thiết lập xong lần đầu, mọi thay đổi giá trị LeaderLength đều 
không có tác dụng, nhưng các thiết lập mới sẽ được lưu lại và hiển thị trong các ứng dụng 
DXF, LISP và ADSRX. 
2.3. Tạo kích thước đo góc 
Kích thước đo góc dùng để đo góc giữa hai đường thẳng hoặc giữa 3 điểm. Ví dụ, ta 
có thể sử dụng chúng để đo góc giữa hai đường bán kính của một đường tròn. 
Đường kích thước là một cung tròn. 
Để tạo kích thước đo góc, sử dụng phương thức AddDimAngular. Phương thức này 
cần nhập 3 giá trị sau: đỉnh của góc, gốc của các đường dóng, và vị trí của chuỗi ký 
tự. Đỉnh của góc là tâm của đường tròn hay đường cong, hoặc giao điểm của hai 
đường thẳng được đo. Gốc của đường dóng là điểm mà hai đường dóng đi qua. 
Đỉnh của góc có thể trùng với một trong những điểm gốc. Các đường dóng sẽ được 
tự động thêm vào nếu cần. 
Tạo một kích thước dạng góc 
Sau đây là ví dụ thiết lập một kích thước dạng góc trong không gian mô hình 
Sub Ch5_CreateAngularDimension() 
Dim dimObj As AcadDimAngular 
Dim angVert(0 To 2) As Double 
Dim FirstPoint(0 To 2) As Double 
Dim SecondPoint(0 To 2) As Double 
Dim TextPoint(0 To 2) As Double 
’ Định nghĩa đường kích thước 
angVert(0) = 0 
angVert(1) = 5 
angVert(2) = 0 
FirstPoint(0) = 1 
FirstPoint(1) = 7 
FirstPoint(2) = 0 
SecondPoint(0) = 1 
SecondPoint(1) = 3 
SecondPoint(2) = 0 
TextPoint(0) = 3 
TextPoint(1) = 5 
TextPoint(2) = 0 
’ Tạo đường kích thước đo góc trong không gian mô hình 
Set dimObj = ThisDrawing.ModelSpace. _ 
AddDimAngular(angVert, FirstPoint, SecondPoint, TextPoint) 
ZoomAll 
End Sub 
 162 | Chương 5: Kích thước và dung sai 
2.4. Tạo kích thước dạng tọa độ 
Kích thước dạng toạ độ đo khoảng cách vuông góc từ một điểm, gọi là điểm mốc, 
đến đối tượng cần đo, như một lỗ trong một phần hình nào đó. Các kích thước này 
tránh được các sai số cộng dồn vì khoảng cách được đo trực tiếp từ điểm gốc đến 
đối tượng. 
Kích thước dạng toạ độ bao gồm một toạ độ X hoặc Y và một đường dẫn. Kích 
thước dạng toạ độ theo trục X đo khoảng cách từ một đối tượng đến điểm mốc theo 
trục X. Kích thước dạng toạ độ theo trục Y đo khoảng cách đó theo với trục Y. 
AutoCAD sử dụng gốc của UCS hiện hành để xác định các toạ độ được đo và sử 
dụng giá trị tọa độ tuyệt đối. 
Chuỗi ký tự được canh thẳng với toạ độ đường dẫn bất kể hướng của chuỗi ký tự 
này được quy định thế nào trong kiểu kích thước hiện hành. Ta có thể chấp nhận ký 
tự mặc định hoặc có thể điều chỉnh sau. 
Để tạo một kích thước dạng toạ độ, sử dụng phương thức AddDimOrdinate. Phương 
thức này cần 3 giá trị: một toạ độ xác định điểm cần đo (A), một toạ độ xác định 
đầu mút của đường dẫn (B) và tham biến kiểu “Boolean” xác định kích thước là 
kích thước theo trục X hay Y. Nếu chọn TRUE cho “Boolean”, phương thức sẽ tạo 
một kích thước theo trục X, nếu chọn FALSE thì sẽ tạo một kích thước theo trục Y. 
Tạo một kích thước dạng toạ độ 
Sub Ch5_CreatingOrdinateDimension() 
Dim dimObj As AcadDimOrdinate 
Dim definingPoint(0 To 2) As Double 
Dim leaderEndPoint(0 To 2) As Double 
Dim useXAxis As Long 
’ Định nghĩa kích thước 
definingPoint(0) = 5 
definingPoint(1) = 5 
definingPoint(2) = 0 
leaderEndPoint(0) = 10 
leaderEndPoint(1) = 5 
leaderEndPoint(2) = 0 
useXAxis = 5 
’ Tạo kích thước dạng tọa độ trong không gian mô hình 
Set dimObj = ThisDrawing.ModelSpace. _ 
AddDimOrdinate(definingPoint, _ 
leaderEndPoint, useXAxis) 
ZoomAll 
End Sub 
 Phát triển AutoCAD bằng ActiveX và VBA | 163 
3. Hiệu chỉnh kích thước 
Cũng giống như các đối tượng đồ hoạ khác trong AutoCAD, ta có thể hiệu chỉnh 
kích thước bằng cách sử dụng các thuộc tính và phương thức chuẩn của đối tượng 
đó. 
Các thuộc tính sau đây dùng cho hầu hết các đối tượng kích thước: 
Rotation Xác định góc nghiêng cho đường kích thước theo đơn vị rađian 
StyleName Xác định tên của kiểu kích thước 
Text Xác định chuỗi ký tự của kích thước 
TextPosition Xác định vị trí của chuỗi ký tự kích thước 
TextRotation Xác định góc nghiêng của chuỗi ký tự kích thước 
Measurement Xác định số đo thực của kích thước 
Bên cạnh đó, một số đối tượng kích thước nhất định có những thuộc tính khác dùng 
để hiệu chỉnh gốc của đường dóng và chiều dài đường dẫn. 
Các phương thức sau đây có thể sử dụng khi hiệu chỉnh đối tượng kích thước: 
ArrayPolar Nhân bản dạng cực 
ArrayRectangular Nhân bản dạng chữ nhật 
Copy Sao chép đối tượng kích thước 
Erase Xoá đối tượng kích thước 
Mirror Lấy đối xứng đối tượng kích thước 
Move Di chuyển đối tượng kích thước 
Rotate Xoay đối tượng kích thước 
ScaleEntity Co dãn đối tượng kích thước 
Ghi đè chuỗi ký tự kích thước 
Giá trị kích thước được hiển thị có thể thay thế được bằng cách dùng thuộc tính 
TextOverride. Thuộc tính này có thể thay thế hoàn toàn giá trị hiển thị của kích 
thước, hoặc ta có thể thêm ký tự vào giá trị hiển thị. Ví dụ sau đây sẽ thêm một 
chuỗi ký tự vào giá trị kích thước để cả chuỗi ký tự đó và giá trị kích thước cùng 
được hiển thị. 
Sub Ch5_OverrideDimensionText() 
Dim dimObj As AcadDimAligned 
Dim point1(0 To 2) As Double 
Dim point2(0 To 2) As Double 
Dim location(0 To 2) As Double 
’ Định nghĩa kích thước 
point1(0) = 5#: point1(1) = 3#: point1(2) = 0# 
point2(0) = 10#: point2(1) = 3#: point2(2) = 0# 
location(0) = 7.5: location(1) = 5#: location(2) = 0# 
’ Tạo kích thước đo theo cạnh trong không gian mô hình 
Set dimObj = ThisDrawing.ModelSpace. _ 
AddDimAligned(point1, point2, location) 
’ Thay đổi chuỗi ký tự của kích thước 
 164 | Chương 5: Kích thước và dung sai 
dimObj.TextOverride = "The value is " 
dimObj.Update 
End Sub 
4. Kiểu kích thước 
Một kiểu kích thước có đặt tên là một nhóm các thiết lập quy định hình thức hiển thị 
của kích thước. Với các kiểu kích thước có đặt tên, ta có thể thiết lập và áp dụng các 
tiêu chuẩn phác thảo cho bản vẽ. 
Tất cả các kích thước đều được tạo ra đều dựa trên kiểu kích thước hiện hành. Nếu 
không định nghĩa hoặc áp dụng một kiểu nào đó trước khi  ... sai 
ArrowheadSize Quy định cỡ đầu mũi tên của đường kích thước, đường dẫn và 
đường móc. 
CenterMarkSize Quy định cỡ của dấu tâm cho các kích thước dạng tia. 
CenterType Quy định dạng của dấu tâm cho kích thước dạng tia. 
DecimalSeparator Quy định ký tự dùng làm dấu cách thập phân trong kích thước 
thập phân và các giá trị dung sai. 
DimensionLineColor 
Quy định màu cho đường kích thước của một kích thước, đối 
tượng đường dẫn hoặc dung sai. 
DimensionLineWeight 
Quy định độ dày của đường kích thước 
DimLine1Suppress, DimLine2Suppress 
Quy định sự hiển thị (có/không) của đường kích thước. 
DimLineInside Quy định chỉ hiển thị đường kích thước trong vòng các đường 
dóng. 
ExtensionLineColor 
Quy định màu của các đường dóng. 
ExtensionLineExtend 
Quy định khoảng cách từ đường dóng đến đường kích thước. 
ExtensionLineOffset 
Quy định khoảng cách từ đường dóng đến điểm gốc của đường 
dóng. 
ExtensionLineWeight 
Quy định độ dày của đường dóng. 
ExtLine1EndPoint, ExtLine2EndPoint 
 Xác định điểm cuối của đường dóng. 
ExtLine1StartPoint, ExtLine2StartPoint 
 Xác định điểm khởi đầu của đường dóng. 
ExtLine1Suppress, ExtLine2Suppress 
 Quy định hiển thị (có/không) đường dóng. 
Fit Quy định vị trí của chuỗi ký tự và mũi tên ở trong hay ngoài các 
đường dóng. 
ForceLineInside Quy định một đường kích thước có được vẽ giữa các đường dóng 
hay không ngay cả khi chuỗi ký tự được đặt bên ngoài các đường 
mở rộng. 
FractionFormat Quy định định dạng của các giá trị phân số trong kích thước và 
dung sai 
HorizontalTextPosition 
Quy định canh lề ngang cho chuỗi ký tự kích thước 
 Phát triển AutoCAD bằng ActiveX và VBA | 167 
LinearScaleFactor Quy định hệ số tỷ lệ toàn cục cho các số đo kích thước dạng 
đường. 
PrimaryUnitsPrecision 
Quy định số chữ số thập phân hiển thị trong đơn vị chính của kích 
thước hoặc dung sai. 
SuppressLeadingZeros, SuppressTrailingZeros 
 Quy định làm ẩn các số 0 ở trước hoặc ở sau của các số trong các 
giá trị kích thước. 
SuppressZeroFeet, SuppressZeroInches 
 Quy định làm ẩn các số đo 0 foot và 0 inche trong các giá trị kích 
thước. 
TextColor Quy định màu của chuỗi ký tự trong đối tượng kích thước và dung 
sai. 
TextGap Quy định khoảng cách giữa chuỗi ký tự kích thước và đường kích 
thước khi ngắt đường kích thước để chèn chuỗi ký tự vào. 
TextHeight Quy định độ cao của chuỗi ký tự kích thước hoặc dung sai. 
TextInside Quy định chuỗi ký tự có/không xuất hiện ở trong đường dóng. 
TextInsideAlign Quy định vị trí của chuỗi kích thước là nằm trong đường dóng cho 
tất cả các loại kích thước trừ loại theo toạ độ. 
TextMovement Quy định cách thức vẽ chuỗi ký tự kích thước khi di chuyển chuối 
ký tự. 
TextOutsideAlign Quy định vị trí của chuỗi ký tự kích thước bên ngoài đường dóng 
cho tất cả các loại kích thước trừ loại theo toạ độ. 
TextPosition Quy định vị trí của chuỗi ký tự kích thước. 
TextPrecision Quy định độ chính xác của chuỗi ký tự kích thước dạng góc. 
TextPrefix Quy định tiền tố giá trị kích thước. 
TextRotation Quy định góc nghiêng của chuỗi ký tự kích thước. 
TextSuffix Quy định hậu tố giá trị kích thước. 
ToleranceDisplay Quy định dung sai có hiển thị cùng chuỗi ký tự kích thước hay 
không. 
ToleranceHeightScale 
Quy định hệ số tỷ lệ cho độ của cao chuỗi ký tự dung sai so với độ 
cao của chuỗi ký tự kích thước. 
ToleranceJustification 
Quy định chế độ canh hàng thẳng đứng của các giá trị dung sai so 
với chuỗi ký tự kích thước. 
ToleranceLowerLimit 
Quy định giới hạn dung sai nhỏ nhất cho chuỗi ký tự kích thước. 
 168 | Chương 5: Kích thước và dung sai 
TolerancePrecision 
Quy định độ chính xác của các giá trị dung sai trong giá trị kích 
thước chính. 
ToleranceSuppressLeadingZeros 
 Quy định làm ẩn các số 0 ở đầu giá trị dung sai. 
ToleranceSuppressTrailingZeros 
 Quy định làm ẩn các số 0 ở cuối giá trị dung sai. 
ToleranceUpperLimit 
Quy định dung sai lớn nhất cho chuỗi ký tự kích thước. 
UnitsFormat Quy định định dạng đơn vị cho tất cả các kích thước trừ kích 
thước dạng góc. 
VerticalTextPosition 
Quy định vị trí thẳng đứng của chuỗi ký tự so với đường kích 
thước. 
Nhập hậu tố do người dùng định nghĩa vào một kích thước đo theo cạnh 
Ví dụ dưới đây tạo một kích thước đo theo cạnh trong không gian mô hình và sử 
dụng thuộc tính TextSuffix để cho phép người dùng thay đổi hậu tố của chuỗi ký tự 
kích thước. 
Sub Ch5_AddTextSuffix() 
Dim dimObj As AcadDimAligned 
Dim point1(0 To 2) As Double 
Dim point2(0 To 2) As Double 
Dim location(0 To 2) As Double 
Dim suffix As String 
’ Định nghĩa kích thước 
point1(0) = 0: point1(1) = 5: point1(2) = 0 
point2(0) = 5: point2(1) = 5: point2(2) = 0 
location(0) = 5: location(1) = 7: location(2) = 0 
’ Tạo kích thước đo theo cạnh trong không gian mô hình 
Set dimObj = ThisDrawing.ModelSpace. _ 
AddDimAligned(point1, point2, location) 
ThisDrawing.Application.ZoomAll 
’ Cho phép người dùng nhập vào hậu tố 
suffix=InputBox("Enter a new text suffix for the dimension" _ 
, "Set Dimension Suffix", ":SUFFIX") 
’ Áp dụng thay đối cho các kích thước 
dimObj.TextSuffix = suffix 
ThisDrawing.Regen acAllViewports 
End Sub 
5. Kích thước trong không gian mô hình và không 
gian in 
Ta có thể vẽ kích thước trong cả không gian mô hình và không gian in. Tuy nhiên, 
nếu đối tượng đồ họa đang định kích thước nằm trong không gian mô hình thì nên 
 Phát triển AutoCAD bằng ActiveX và VBA | 169 
vẽ kích thước trong không gian mô hình, bởi vì AutoCAD sẽ đặt các điểm định 
nghĩa trong không gian mà đối tượng đồ hoạ được vẽ. 
Nếu một đường kích thước vẽ trong không gian in mô tả đối tượng đồ họa trong 
không gian mô hình thì đường kích thước trong không gian in sẽ không thay đổi 
mỗi khi hiệu chỉnh hoặc thay đổi độ phóng đại của khung nhìn trong không gian in. 
Vị trí của đường kích thước trong không gian in luôn giữ nguyên khi thay đổi từ 
không gian in sang không gian mô hình. 
Nếu vẽ kích thước trong không gian in và hệ số tỷ lệ chung của kích thước dạng 
đường (biến hệ thống DIMLFAC) là nhỏ hơn 0 thì khoảng cách đo được sẽ được 
nhân lên với giá trị tuyệt đối của DIMLFAC. Nếu vẽ kích thước trong không gian mô 
hình, giá trị 1.0 được sử dụng ngay cả khi DIMLFAC nhỏ hơn 0. AutoCAD tính toán 
giá trị của DIMLFAC nếu ta thay đổi biến số ở dòng lệnh Dim và chọn tùy chọn 
Viewport. AutoCAD tính tỷ lệ của không gian mô hình với không gian in và gán 
dấu âm của giá trị này cho DIMLFAC. 
6. Tạo đường dẫn và chú thích 
Một đường dẫn là một đường nối từ chú thích đến một đối tượng trong bản vẽ. 
Đường dẫn và chú thích luôn liên kết với nhau, nghĩa là nếu chỉnh sửa chú thích thì 
đường dẫn cũng sẽ thay đổi theo. Không nên nhầm lẫn giữa đối tượng đường dẫn 
với đường dẫn AutoCAD tự động tạo ra trong một đường kích thước. 
6.1. Tạo đường dẫn 
Ta có thể tạo một đường dẫn từ bất cứ điểm nào hoặc đối tượng nào trong bản vẽ và 
điều khiển sự hiển thị trong khi vẽ. Đường dẫn có thể là đoạn thẳng hoặc các đường 
cong Spline. Màu của các đường dẫn được lấy theo màu của đường kích thước hiện 
hành. Tỷ lệ các đường dẫn cũng được điều khiển thông qua hệ số tỷ lệ chung được 
thiết lập trong kiểu kích thước hiện hành. Loại và cỡ của đầu mũi tên, nếu có, được 
lấy giống như mũi tên thứ nhất định nghĩa trong kiểu kích thước hiện hành. 
Một đoạn thẳng nhỏ gọi là đường móc thường nối chú thích với đường dẫn. Đường 
móc xuất hiện với đối tượng Mtext và khung điều chỉnh nếu đoạn đường dẫn cuối 
cùng ở một góc lớn hơn 15 độ so với phương ngang. Nếu đường dẫn không có chú 
thích sẽ không có đường móc. 
đường móc 
đường dẫn 
Phương thức AddLeader dùng để tạo mới một đường dẫn. Phương thức này cần 
phải nhập ba giá trị: mảng toạ độ để đặt đường dẫn, chú thích (hoặc NULL nếu đường 
dẫn không có chú thích) và loại đường dẫn muốn tạo. Loại đường dẫn quy định 
đường dẫn là đường thẳng hay đường cong Spline và quyết định đường dẫn có mũi 
tên hay không. Sử dụng một trong những hằng số sau đây để xác định loại của 
đường dẫn: acLineNoArrow, acLineWithArrow, acSplineNoArrow, hoặc 
acSplineWithArrow. Các hằng số này độc lập với nhau. 
 170 | Chương 5: Kích thước và dung sai 
Tạo mới đường dẫn 
Ví dụ sau đây tạo một đường dẫn trong không gian mô hình. Không có chú thích 
gắn với đường dẫn. 
Sub Ch5_CreateLeader() 
Dim leaderObj As AcadLeader 
Dim points(0 To 8) As Double 
Dim leaderType As Integer 
Dim annotationObject As AcadObject 
points(0) = 0: points(1) = 0: points(2) = 0 
points(3) = 4: points(4) = 4: points(5) = 0 
points(6) = 4: points(7) = 5: points(8) = 0 
leaderType = acLineWithArrow 
Set annotationObject = Nothing 
’ Tạo đường dẫn trong không gian mô hình 
Set leaderObj = ThisDrawing.ModelSpace. _ 
AddLeader(points, annotationObject, leaderType) 
ZoomAll 
End Sub 
6.2. Thêm chú thích vào đường dẫn 
Chú thích của đường dẫn có thể là đối tượng Tolerance, Mtext hoặc BlockRef. Ta 
có thể tạo một chú thích mới, hoặc thêm vào một chú thích có sẵn. Chú thích được 
thêm vào đường dẫn chỉ khi nào nó được tạo ra. 
Để thêm một chú thích khi tạo đường dẫn, nhập chú thích trong phương thức 
AddLeader. 
6.3. Liên kết của đường dẫn 
Đường dẫn được liên kết với chú thích để khi chú thích di chuyển, điểm cuối của 
đường dẫn cũng di chuyển theo. Khi di chuyển chuỗi ký tự và khung điều chỉnh đối 
tượng chú thích, đoạn đường dẫn cuối cùng hoặc sẽ gắn vào phía bên trái hoặc bên 
phải của chú thích tuỳ theo vị trí của chú thích đó so với điểm áp chót của đường 
dẫn. Nếu điểm giữa của chú thích ở bên trái điểm áp chót của đường dẫn, đường 
dẫn sẽ gắn vào bên phải, và với tất cả các trường hợp khác, đường dẫn sẽ được gắn 
vào bên trái chú thích. 
Bỏ đi một trong hai đối tượng (chú thích và đường dẫn) khỏi bản vẽ bằng một trong 
các phương thức Erase, Add (để thêm vào một block) hoặc Wblock sẽ làm phá vỡ 
liên kết. Nếu đường dẫn và chú thích của nó được sao chép cùng nhau, bản sao chép 
mới vẫn có liên kết. Nếu được sao chép riêng lẻ thì sẽ không còn liên kết. Nếu sự 
liên kết bị phá vỡ vì một lý do nào đó, chẳng hạn như do chỉ sao chép đối tượng 
đường dẫn hoặc do xoá chú thích, đường móc bị xóa đi. 
Liên kết đường dẫn với chú thích 
Ví dụ sau đây tạo đối tượng Mtext. Sau đó tạo một đường dẫn và tạo liên kết với 
chuỗi ký tự vừa tạo để làm chú thích. 
Sub Ch5_AddAnnotation() 
Dim leaderObj As AcadLeader 
Dim mtextObj As AcadMText 
Dim points(0 To 8) As Double 
Dim insertionPoint(0 To 2) As Double 
 Phát triển AutoCAD bằng ActiveX và VBA | 171 
Dim width As Double 
Dim leaderType As Integer 
Dim annotationObject As Object 
Dim textString As String, msg As String 
’ Tạo đối tượng Mtext trong không gian mô hình 
textString = "Hello, World." 
insertionPoint(0) = 5 
insertionPoint(1) = 5 
insertionPoint(2) = 0 
width = 2 
Set mtextObj = ThisDrawing.ModelSpace. _ 
AddMText(insertionPoint, width, textString) 
’ Thông số của đường dẫn 
points(0) = 0: points(1) = 0: points(2) = 0 
points(3) = 4: points(4) = 4: points(5) = 0 
points(6) = 4: points(7) = 5: points(8) = 0 
leaderType = acLineWithArrow 
’ Tạo đối tượng đường dẫn trong không gian mô hình và 
’ liên kết với đối tượng Mtext làm chú thích 
Set annotationObject = mtextObj 
Set leaderObj = ThisDrawing.ModelSpace. _ 
AddLeader(points, annotationObject, leaderType) 
ZoomAll 
End Sub 
6.4. Hiệu chỉnh liên kết của đường dẫn 
Trừ liên kết giữa đường dẫn và chú thích, đường dẫn và chú thích của nó là hai đối 
tượng hoàn toàn tách biệt trong bản vẽ. Chỉnh sửa đường dẫn sẽ không làm ảnh 
hưởng đến chú thích và ngược lại. 
Dù được tạo ra dựa trên các biến hệ thống DIMCLRT, DIMTXT, và DIMTXSTY (để 
xác định màu, chiều cao và kiểu) nhưng chuỗi ký tự chú thích không bị thay đổi bởi 
các biến số này bởi vì thực chất nó không phải là đối tượng kích thước. 
Sử dụng phương thức Evaluate để định mối quan hệ giữa đường dẫn và chú thích 
liên kết với nó. Lệnh này sẽ cập nhật lại đường dẫn khi cần. 
6.5. Hiệu chỉnh đường dẫn 
Bất cứ điều chỉnh nào làm thay đổi vị trí chú thích của đường dẫn đều ảnh hưởng 
đến vị trí điểm cuối của đường dẫn có liên kết. Tương tự, khi xoay chú thích sẽ 
khiến đường móc của đường dẫn (nếu có) xoay theo. 
Để thay đổi kích cỡ của đường dẫn, ta có thể đặt lại tỷ lệ cho nó. Việc đặt tỷ lệ chỉ 
thay đổi tỷ lệ của đối tượng được chọn. Chẳng hạn, nếu bạn đặt tỷ lệ đường dẫn, vị 
trí chú thích sẽ thay đổi theo điểm cuối của đường dẫn nhưng không bị biến đổi tỷ 
lệ. 
Ngoài việc thay đổi tỷ lệ, ta cũng có thể di chuyển, lấy đối xứng và xoay đường 
dẫn. Ta cũng có thể thay đổi kiểu chữ liên kết với chú thích bằng cách sử dụng 
thuộc tính StyleName. 
 172 | Chương 5: Kích thước và dung sai 
7. Tạo dung sai hình học 
Dung sai hình học thể hiện độ lệch của hình dạng, mặt cắt, hướng, vị trí của một 
chi tiết. Ta thêm dung sai hình học vào khung điều chỉnh đối tượng. Khung này 
chứa tất cả các thông tin về dung sai cho một đường kích thước. 
Để tạo dung sai hình học, ta sử dụng phương thức AddTolerance. Phương thức này 
cần phải nhập ba giá trị: chuỗi ký tự gồm các biểu tượng dung sai, vị trí đặt dung sai 
trên bản vẽ và một vectơ chỉ phương xác định chiều của dung sai. 
Đối tượng dung sai cũng có thể được sao chép, di chuyển, xoá, thay đổi tỷ lệ và 
xoay. 
Khung điều chỉnh đối tượng bao gồm ít nhất hai phần. Phần đầu chứa các ký tự thể 
hiện loại dung sai được áp dụng, chẳng hạn như hình dạng, hướng hoặc biên. Sai số 
hình dạng điều chỉnh độ thẳng, độ phẳng, độ tròn, dạng trụ và mặt cắt của đường và 
mặt phẳng. 
thứ nhất, hai và ba 
Ký tự tham chiếu chuẩn 
Giá trị dung sai 
Ký hiệu đặc tính hình 
học – trong trường hợp 
này là độ thẳng 
Ký hiệu đường kính (lựa 
chọn) 
Điều kiện vật liệu chuẩn 
Thành phần thứ hai chứa các giá trị dung sai. Khi được áp dụng, phía trước giá trị 
dung sai là biểu tượng đường kính và theo sau là biểu tượng điều kiện vật liệu. 
Tạo dung sai hình học 
Ví dụ sau đây tạo một dung sai hình học đơn giản trong không gian mô hình. 
Sub Ch5_CreateTolerance() 
Dim toleranceObj As AcadTolerance 
Dim textString As String 
Dim insertionPoint(0 To 2) As Double 
Dim direction(0 To 2) As Double 
’ Định nghĩa đối tượng dung sai 
textString = "Here is the Feature Control Frame" 
insertionPoint(0) = 5 
insertionPoint(1) = 5 
insertionPoint(2) = 0 
direction(0) = 1 
direction(1) = 1 
direction(2) = 0 
’ Tạo đối tượng dung sai trong không gian mô hình 
Set toleranceObj = ThisDrawing.ModelSpace. _ 
AddTolerance(textString, insertionPoint, direction) 
ZoomAll 
End Sub 
 Phát triển AutoCAD bằng ActiveX và VBA | 173 
7.1. Hiệu chỉnh dung sai 
Dung sai chịu ảnh hưởng bởi một vài biến hệ thống: DIMCLRD điều khiển màu của 
khung điều chỉnh đối tượng; DIMCLRT điều khiển màu của chuỗi ký tự dung sai, 
DIMGAP điều khiển khoảng trống giữa khung điều chỉnh đối tượng và chuỗi ký tự; 
DIMTXT điều chỉnh cỡ của ký tự dung sai. Sử dụng phương thức SetVariable để gán 
giá trị của biến hệ thống. 

File đính kèm:

  • pdfphat_trien_autocad_bang_activex_vba_chuong_5_kich_thuoc_va_d.pdf