Tải bản đầy đủ (.pdf) (5 trang)

Giáo trình hướng dẫn thiết kế bản vẽ với việc lập tham số phần 9 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (631.42 KB, 5 trang )

C
C
H
H
Ư
Ư
Ơ
Ơ
N
N
G
G


V
V
:
:


L
L


P
P


T
T
R


R
Ì
Ì
N
N
H
H


T
T
R
R
Ê
Ê
N
N


A
A
U
U
T
T
O
O
C
C
A

A
D
D



243

Dim circleObj As AcadCircle
Dim center(0 To 2) As Double
Dim radius As Double
center(0) = 2#: center(1) = 2#: center(2) = 0#
radius = 0.5
Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius)
ZoomAll

' Xác định 2 điểm tạo nên vec-tơ tịnh tiến
Dim point1(0 To 2) As Double
Dim point2(0 To 2) As Double
point1(0) = 0: point1(1) = 0: point1(2) = 0
point2(0) = 2: point2(1) = 0: point2(2) = 0

MsgBox "Di chuyển theo trục X 2 đơn vị."

' Thực hiện di chuyển đối tượng
circleObj.Move point1, point2

ZoomAll
MsgBox "Quá trình dịch chuyển đã kết thúc."
End Sub

Lấyđốixứng–PhươngthứcMirror
Sử dụng phương thức
Mirror để lấy đối xứng một đối tượng qua một trục được xác định trước.
Cú pháp của phương thức này như sau:
Set RetVal = object.Mirror(Point1, Point2)
Tham số Giải thích
Object Đối tượng hình học, là đối tượng gốc sẽ được lấy đối xứng.
Point1, Point2 Tham số đầu vào, là mảng 3 phần tử kiểu Double chứa toạ độ của điểm thứ nhất
và thứ hai của trục đối xứng.
RetVal Tham chiếu đến đối tượng sau khi đã được lấy đối xứng

Minh hoạ: Phương thức Mirror.
Khi sử dụng phương thức
Mirror, cần lưu ý đến giá trị của biến hệ thống MIRRTEXT. Biến này
sẽ điều khiển cách thức lấy đối xứng với đối tượng văn bản:



244
Trước khi lấy đối xứng Sau khi lấy đối xứng
(MIRRTEXT=1)
Sau khi lấy đối xứng
(MIRRTEXT=0)
Hình V-12: Biến hệ thống MIRRTEXT và phương thức Mirror
Ví dụ sau sẽ tạo một đường đa tuyến, sau đó lấy đối xứng qua trục y=4.25 và đổi màu đối
tượng vừa mới được lấy đối xứng thành màu đỏ:
Sub VD_Mirror()

' Tạo đường đa tuyến
Dim plineObj As AcadLWPolyline

Dim points(0 To 11) As Double
points(0) = 1: points(1) = 1
points(2) = 1: points(3) = 2
points(4) = 2: points(5) = 2
points(6) = 3: points(7) = 2
points(8) = 4: points(9) = 4
points(10) = 4: points(11) = 1
Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
plineObj.Closed = True
ZoomAll

' Xác định trục đối xứng
Dim point1(0 To 2) As Double
Dim point2(0 To 2) As Double
point1(0) = 0: point1(1) = 4.25: point1(2) = 0
point2(0) = 4: point2(1) = 4.25: point2(2) = 0

MsgBox "Lấy đối xứng đường đa tuyến.", , "VD Mirror"

' Thực hiện lấy đối xứng đường đa tuyến
Dim mirrorObj As AcadLWPolyline
Set mirrorObj = plineObj.Mirror(point1, point2)
mirrorObj.Color = acRed

ZoomAll
MsgBox "Mirror completed.", , " VD Mirror"
End Sub
LấyOff‐set–PhươngthứcOffset
Phương thức Offset sẽ tạo ra một đối tượng mới với đường biên nằm cách đường biên của đối
tượng cũ một khoảng được xác định trước. Phương thức này có thể được áp dụng với các đối

tượng như:
Arc, Circle, Ellipse, Line, LightweightPolyline, Polyline, Spline, và
Xline. Phương thức này sẽ trả về mảng chứa các đối tượng vừa mới được tạo. Tuy nhiên,
thông thường mảng này chỉ chứa một đối tượng. Cú pháp của phương thức này như sau:
Set RetVal = object.Offset(Distance)
Tham số Giải thích
Object Là đối tượng gốc sẽ được lấy Off-set.
C
C
H
H
Ư
Ư
Ơ
Ơ
N
N
G
G


V
V
:
:


L
L



P
P


T
T
R
R
Ì
Ì
N
N
H
H


T
T
R
R
Ê
Ê
N
N


A
A
U

U
T
T
O
O
C
C
A
A
D
D



245

Distance Tham số đầu vào, kiểu Double, là khoảng cách lấy off-set. Giá trị của tham số này
có thể là số âm hoặc dương. Nếu là số âm thì phương thức này sẽ tạo ra những
đối tượng có xu hướng “bán kính nhỏ hơn” đối tượng gốc, trong trường hợp “bán
kính nhỏ hơn” không có ý nghĩa thì phương thức này sẽ tạo ra đối tượng có toạ độ
X, Y và Z nhỏ hơn đối tượng gốc.
RetVal Biến kiểu Variant, là mảng chứa các đối tượng mới được tạo ra. Thông thường,
mảng này chỉ có một đối tượng.
Ví dụ sau sẽ tạo một đường đa tuyến trong không gian mô hình và lấy off-set đối tượng này
một khoảng là 0,25. Đối tượng vừa mới được tạo ra sẽ được đổi màu thành màu đỏ.
Sub VD_Offset()
' Tạo đường đa tuyến
Dim plineObj As AcadLWPolyline
Dim points(0 To 11) As Double
points(0) = 1: points(1) = 1

points(2) = 1: points(3) = 2
points(4) = 2: points(5) = 2
points(6) = 3: points(7) = 2
points(8) = 4: points(9) = 4
points(10) = 4: points(11) = 1
Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
plineObj.Closed = True
ZoomAll

MsgBox "Off-set đa tuyến với khoảng cách 0.25.", , "Ví dụ Offset"

' Lấy Off-set đường đa tuyến
Dim offsetObj As Variant
offsetObj = plineObj.Offset(0.25)
offsetObj(0).Color = acRed

ZoomAll
End Sub
Xoayđốitượng–PhươngthứcRotate
Sử dụng phương thức
Rotate để xoay một đối tượng quanh một điểm cố định. Cú pháp của
phương thức này như sau:
object.Rotate BasePoint, RotationAngle
Tham số Giải thích
Object Là đối tượng sẽ được xoay.
BasePoint Là mảng 3 phần tử kiểu Double chứa toạ độ điểm gốc, đối tượng sẽ được quay
quanh điểm này.
RotationAngle Là tham số kiểu Double, xác định góc xoay đối tượng (tính bằng Radian).
Đoạn mã sau sẽ minh hoạ cách thức sử dụng phương thức Rotate:
Sub VD_Rotate()

' Tạo đường đa tuyến
Dim plineObj As AcadLWPolyline
Dim points(0 To 11) As Double
points(0) = 1: points(1) = 2


246
points(2) = 1: points(3) = 3
points(4) = 2: points(5) = 3
points(6) = 3: points(7) = 3
points(8) = 4: points(9) = 4
points(10) = 4: points(11) = 2
Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
plineObj.Closed = True
ZoomAll

MsgBox "Xoay góc 45 độ.", , "VD Rotate "
' Định góc xoay và toạ độ điểm cơ sở
Dim basePoint(0 To 2) As Double
Dim rotationAngle As Double
basePoint(0) = 4: basePoint(1) = 4.25: basePoint(2) = 0
rotationAngle = 45/180*3.1416 ' 45 độ

' Xoay đối tượng
plineObj.Rotate basePoint, rotationAngle
ZoomAll
End Sub
Thayđổitỷlệđốitượng–PhươngthứcScaleEntity
Sử dụng phương thức
ScaleEntity để thay đổi tỷ lệ đối tượng đồng đều theo các phương X,

Y và Z. Cú pháp của phương thức này như sau:
object.ScaleEntity BasePoint, ScaleFactor
Tham số Giải thích
Object Là đối tượng sẽ được thay đổi tỷ lệ.
BasePoint Mảng 3 phần tử kiểu Double chứa toạ độ điểm gốc, đối tượng sẽ được thay đổi tỷ
lệ theo các phương X, Y và Z quanh điểm này quay quanh điểm này.
ScaleFactor Tham số kiểu Double, xác định hệ số tỷ lệ khi thay đổi tỷ lệ. Kích thước của đối
tượng sẽ được nhân với hệ số tỷ lệ này. Tham số ScaleFactor chỉ nhận giá trị lớn
hơn không, nếu nhỏ hơn hoặc bằng không thì VBAIDE sẽ báo lỗi. Giá trị
ScaleFactor<1 sẽ thu nhỏ đối tượng, ngược lại sẽ phóng to đối tượng lên.

Đốitượngvớivịtrí
vàkíchthướcmới
Đốitượngvớivịtrívà
kíchthướcbanđầu
C
C
H
H
Ư
Ư
Ơ
Ơ
N
N
G
G


V

V
:
:


L
L


P
P


T
T
R
R
Ì
Ì
N
N
H
H


T
T
R
R
Ê

Ê
N
N


A
A
U
U
T
T
O
O
C
C
A
A
D
D



247

Hình V-13: Minh hoạ phương thức ScaleEntity
Đoạn mã sau tạo một đường đa tuyến trong không gian mô hình và sử dụng phương thức
ScaleEntity để thay đổi tỷ lệ của đường đa tuyến đó quanh điểm (4 , 4.25 , 0) với hệ số
tỷ lệ là
0.5
Sub VD_ScaleEntity()

' Tạo đường đa tuyến
Dim plineObj As AcadLWPolyline
Dim points(0 To 11) As Double
points(0) = 1: points(1) = 2
points(2) = 1: points(3) = 3
points(4) = 2: points(5) = 3
points(6) = 3: points(7) = 3
points(8) = 4: points(9) = 4
points(10) = 4: points(11) = 2
Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
plineObj.Closed = True
ZoomAll

MsgBox "Thay đổi tỷ lệ với hệ số 0.5", , "Ví dụ ScaleEntity"

' Xác định các tham tham số của phương thức
Dim basePoint(0 To 2) As Double
Dim scalefactor As Double
basePoint(0) = 4: basePoint(1) = 4.25: basePoint(2) = 0
scalefactor = 0.5

' Thay đổi tỷ lệ đường đa tuyến
plineObj.ScaleEntity basePoint, scalefactor
ZoomAll
End Sub
5.4.2. Hiệu chỉnh đối tượng sử dụng các thuộc tính
Không giống như các khi sử dụng các phương thức, người lập trình có thể sử dụng các thuộc
tính để hiệu chỉnh sự hiển thị của các đối tượng hình học trong bản vẽ AutoCAD. Sau khi thay
đổi thuộc tính của các đối tượng, nên sử dụng phương thức
Update có trong đối tượng đó để

cập nhật những thay đổi trên bản vẽ.
Dưới đây là các thuộc tính thường được sử dụng khi hiệu chỉnh các đối tượng hình học.
ThuộctínhColor–Màucủađốitượng
Sử dụng thuộc tính
Color để lấy hoặc gán màu cho một đối tượng hình học. Thuộc tính này
cũng có trong đối tượng Layer với ý nghĩa tương đương.
object.Color
Tham số Giải thích
Object Là đối tượng hình học, hoặc đối tượng Layer.
Color Số nguyên hoặc hằng số acColor, xác định màu của đối tượng. Khi một đối tượng
mới được tạo ra, giá trị mặc định của thuộc tính này acByLayer

×