Giáo trình tự động hoá thiết kế cầu đường - Pdf 44

G
G
I
I
Á
Á
O
O
 
 
T
T
R
R
Ì
Ì
N
N
H
H
 
 
T
T


 
 
Đ
Đ



 
 
C
C


U
U
 
 
Đ
Đ
Ư
Ư


N
N
G
G
 
 256
radius = 5#
' Tạo đường tròn trong không gian mô hình
Set circleObj = ThisDrawing.ModelSpace.AddCircle(centerPoint,
radius)

DimRotated, MText, Text
Kiểu Double. Xác định góc xoay của đối tượng so với
phương ngang, được tính bằng Radian.
5.4.3. Hiệu chỉnh đường đa tuyến
Như đã được giới thiệu ở phần trước, đối với đường đa tuyến 2D, có hai loại đối tượng là:
LWPolyline

Polyline,
cách thức hiệu chỉnh hai đối tượng này là tương tự nhau. Tuy
nhiên, cần phải chú ý một điểm khác biệt lớn giữa hai đối tượng này: toạ độ tại một đỉnh của
đường
LWPolyline
chỉ có 2 thành phần X và Y, còn toạ độ tại một đỉnh của đường
Polyline

có cả 3 thành phần X, Y và Z nhưng thành phần thứ 3 sẽ không được sử dụng. Ở đây sẽ tập
trung giới thiệu về cách hiệu chỉnh đường đa tuyến dạng
LWPolyline
.
Khi hiệu chỉnh đường đa tuyến, ngoài những cách thức đã được đề cập ở trên, người lập trình
thường sử dụng các phương thức và thuộc tính sau:
Thuộc tính Giải thích
Area Double, chỉ đọc. Diện tích của vùng khép kín tạo bởi đường đa tuyến.
Closed Boolean. Bằng TRUE: đường đa tuyến sẽ được khép kín, bằng FALSE:
đường đa tuyến sẽ được mở.
ConstantWidth Double. Chiều dày của tất cả các đoạn của đường đa tuyến.
Simpo PDF Merge and Split Unregistered Version -
C
C
H

Ì
N
N
H
H
 
 
T
T
R
R
Ê
Ê
N
N
 
 
A
A
U
U
T
T
O
O
C
C
A
A
D

Dim points(0 To 9) As Double
' Xác định các đỉnh của đường đa tuyến
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
' Tạo đường đa tuyến trong không gian mô hình
Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
ZoomAll
MsgBox "Them dinh vao duong da tuyen.", , "Vi du AddVertex"

' Định nghĩa toạ độ đỉnh mới
Dim newVertex(0 To 1) As Double
newVertex(0) = 1.5: newVertex(1) = 1
' Thêm một đỉnh cào đường đa tuyến
plineObj.AddVertex 2, newVertex
plineObj.Update
MsgBox "Da them dinh vao duong da tuyen.", , "Vi du AddVertex"
End Sub
Đọc hoặc thay đổi toạ độ đỉnh của đường đa tuyến 
Simpo PDF Merge and Split Unregistered Version -
G
G
I
I
Á
Á
O
O

H
H
O
O
Á
Á
 
 
T
T
H
H
I
I


T
T
 
 
K
K


 
 
C
C



' Xác định các đỉnh của đường đa tuyến
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
' Tạo đường đa tuyến trong không gian mô hình
Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
ZoomAll
MsgBox "Thay doi toa do dinh 2.", , "Vi du Coordinate"

' Thay đổi toạ độ của đỉnh thứ 2
Dim newVertex(0 To 1) As Double
newVertex(0) = 2: newVertex(1) = 1
plineObj.Coordinate(2) = newVertex
plineObj.Update

' Đọc lại toạ độ của đỉnh thứ 2
Dim reaVertex As Variant
reaVertex = plineObj.Coordinate(2)
MsgBox "Toa do moi cua dinh 2: (" & _
reaVertex(0) & "," & reaVertex(1) & ")", , "Vi du Coordinate"
End Sub
5.4.4. Hiệu chỉnh văn bản đơn
Đối tượng văn bản đơn (
Text
) được sử dụng rất nhiều trong các bản vẽ thiết kế, vì vậy, phần
này chỉ tập trung giới thiệu cách thức hiệu chỉnh văn bản đơn thường dùng
Thay đổi nội dung của văn bản 
Để thay đổi nội dung của văn bản đơn, sử dụng thuộc tính

G
G
 
 
V
V
:
:
 
 
L
L


P
P
 
 
T
T
R
R
Ì
Ì
N
N
H
H
 
 

vbInformation, "Vi du TextString"
textObj.TextString = "Chao cac ban!"
textObj.Update
MsgBox " TextString duoc thay doi thanh: " & textObj.TextString, _
vbInformation, "Vi du TextString"
End Sub
Thay đổi chế độ canh hàng 
Để thay đổi chế độ canh hàng của văn bản đơn, sử dụng thuộc tính
Alignment
. Giá trị của
thuộc tính này có thể là một trong những hằng số
acAlignment
sau:
Hằng số Hằng số Hằng số
acAlignmentLeft acAlignmentFit acAlignmentMiddleCenter
acAlignmentCenter acAlignmentTopLeft acAlignmentMiddleRight
acAlignmentRight acAlignmentTopCenter acAlignmentBottomLeft
acAlignmentAligned acAlignmentTopRight acAlignmentBottomCenter
acAlignmentMiddle acAlignmentMiddleLeft acAlignmentBottomRight
Ý nghĩa của các hằng số này được minh hoạ trong hình sau:

Hình II-89: Minh hoạ các hằng số
acAlignment
.
Khi thực hiện thay đổi chế độ canh hàng của đối tượng, cần lưu ý đến toạ độ điểm được sử
dụng để làm điểm canh hàng. Với từng chế độ canh hàng khác nhau, toạ độ điểm này có thể là
toạ độ chứa trong thuộc tính InsertionPoint hoặc thuộc tính TextAlignmentPoint:




T
R
R
Ì
Ì
N
N
H
H
 
 
T
T


 
 
Đ
Đ


N
N
G
G
 
 
H
H
O

 
Đ
Đ
Ư
Ư


N
N
G
G
 
 260
Sub VD_Alignment()
Dim textObj As AcadText
Dim textString As String
Dim insPoint(0 To 2) As Double, aliPoint(0 To 2) As Double
Dim height As Double
Dim oldPDMODE As Integer
Dim pointObj As AcadPoint
' Định nghĩa đối tượng văn bản đơn
textString = "Hello, World."
insPoint(0) = 3: insPoint(1) = 3: insPoint(2) = 0
aliPoint(0) = 3: aliPoint(1) = 3: aliPoint(2) = 0
height = 0.5
' Tạo đối tượng văn bản trong không gian mô hình
Set textObj = ThisDrawing.ModelSpace.AddText _

Lớp là các tầng trong suốt mà trên đó ta có thể tổ chức và nhóm nhiều loại đối tượng hình học
khác nhau của bản vẽ, Việc sắp xếp các lớp và đối tượng trên lớp giúp quản lý thông tin của
bản vẽ dễ dàng hơn.
Quá trình vẽ luôn được thực hiện trên một lớp nào đó. Đó có thể là lớp mặc định hoặc một lớp
tự tạo ra. Mỗi lớp đều có một màu và kiểu đường tương ứng. Chẳng hạn, người lập trình có thể
tạo ra một lớp mà trên đó chỉ vẽ các đường trục và gắn cho nó màu xanh với kiểu đường là
CENTER. Tiếp đó, cứ khi nào muốn vẽ các đường trục ta chỉ cần chuyển sang lớp đó và bắt
đầu vẽ. Không nhất thiết là phải thiết lập kiểu đường và màu sắc mỗi khi muốn vẽ một đường
trục. Ngoài ra, cũng có thể tắt lớp đường trục nếu không muốn hiển thị hoặc in các đối tượng
này. Sử dụng lớp là một trong những ưu điểm lớn khi vẽ bằng AutoCAD so với khi sử dụng với
giấy bút thông thường.
Simpo PDF Merge and Split Unregistered Version -
C
C
H
H
Ư
Ư
Ơ
Ơ
N
N
G
G
 
 
V
V
:
:

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

261

Hình II-90: Minh hoạ việc sử dụng lớp
5.5.1. Tạo lớp mới
Người lập trình có thể tạo và đặt tên lớp cho một nhóm các đối tượng có ý nghĩa chung nào đó
(chẳng hạn như lớp các bức tường hoặc lớp kích thước) và gán màu và kiểu đường cho những
lớp này. Khi sắp xếp sơ đồ lớp, nên chọn tên lớp sao cho có ý nghĩa.
Khi bắt đầu một bản vẽ mới, AutoCAD sẽ tạo ra một lớp đặc biệt có tên là 0. Lớp 0 này được
mặc định gá
n cho màu số 7 (màu trắng hoặc màu đen tuỳ thuộc vào giá trị màu nền) và với kiểu
đường

"Freeze Status: " & layerObj.Freeze & vbCrLf & _
"Lock Status: " & layerObj.Lock & vbCrLf & _
"Color: " & layerObj.Color, , "Add Example"
End Sub
Tường
Điện
Đồ gỗ
Tất cả các lớp
Simpo PDF Merge and Split Unregistered Version -
G
G
I
I
Á
Á
O
O
 
 
T
T
R
R
Ì
Ì
N
N
H
H
 

I


T
T
 
 
K
K


 
 
C
C


U
U
 
 
Đ
Đ
Ư
Ư


N
N
G

”:
Sub VD_DuyetLop()
Dim layerNames As String
Dim ent As AcadLayer
layerNames = ""
For Each ent In ThisDrawing.Layers
If ent.Name = "New_Layer" Then
ent.Name = "Tuong_Canh"
End If
layerNames = layerNames + ent.Name + vbCrLf
Next
MsgBox "Danh sach cac lop: " + vbCrLf + layerNames
End Sub
5.5.3. Thiết lập lớp hiện hành
Quá trình vẽ luôn được thực hiện trên lớp hiện hành. Sau khi chọn lớp thành lớp hiện hành, các
đối tượng hình học mới được tạo ra đều được đặt trên lớp đó và tất cả các đối tượng này đều sử
dụng màu và kiểu đường của lớp đó. Cần lưu ý là: không thể thiết lập thành lớp hiện hành cho
một lớp nào đó nếu như lớp đó đã đông cứng (
Freeze
).
Để chọn một lớp làm lớp hiện hành, ta sử dụng thuộc tính
ActiveLayer
trong đối tượng
Document
. Đoạn mã dưới đây sẽ tạo một lớp mới và biến lớp đó thành lớp hiện hành:
Dim newlayer As AcadLayer
Set newlayer = ThisDrawing.Layers.Add("LAYER1")
ThisDrawing.ActiveLayer = newlayer
5.5.4. Thiết lập các chế độ hiển thị của lớp
AutoCAD không hiển thị hay in các đối tượng được vẽ trên các lớp ẩn. Nếu muốn không bị

 
 
T
T
R
R
Ì
Ì
N
N
H
H
 
 
T
T
R
R
Ê
Ê
N
N
 
 
A
A
U
U
T
T

thấy vòng tròn nữa.
Sub VD_LayerInvisble()
’ Tạo đường tròn
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 = 1
Set circleObj = ThisDrawing.ModelSpace. _
AddCircle(center, radius)
circleObj.Color = acByLayer
’ Tạo lớp "ABC"
Dim layerObj As AcadLayer
Set layerObj = ThisDrawing.Layers.Add("ABC")
layerObj.Color = acRed
’ Gán đường tròn vào lớp "ABC"
circleObj.Layer = "ABC"
circleObj.Update
’ Tắt lớp "ABC"
layerObj.LayerOn = False
ThisDrawing.Regen acActiveViewport
End Sub
Đông cứng/Tan lớp 
Người lập trình có thể làm đông cứng các lớp không cần hiển thị trong thời gian dài để tăng tốc
độ hiển thị những thay đổi, cải thiện quá trình lựa chọn đối tượng và giảm thời gian tái tạo cho
những bản vẽ phức tạp. AutoCAD không hiển thị, in hay tái tạo các đối tượng trên các lớp đông
cứng. Khi ta làm “tan” một lớp bị đông cứng, AutoCAD sẽ phục hồi và hiển thị các đối tượng
trên lớp đó.
Để làm đông cứng hay làm tan một lớp bị đông cứng, ta sử dụng thuộc tính
Freeze


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status