1 Fit polyline: làm ột đường cong trơn bao gồm các cung tròn nối các cặp đỉnh đường Fit polyline Các đường cong này sẽđi qua tất cả các đỉnh của đường đa tuyến và sử dụng một hướng tiếp tuyến
2.11. Hiệu chỉnh đường cong Splines
Ta có thể xoá hay thêm các điểm chuẩn để tăng độ
điểm chuẩn để thay đổi hình dáng đường cong Spline. Ta cũng có thể mở hay khép kín đường cong Spline, hiệu chỉnh tiếp tuyến đầu và cuối, đổi chiều đường cong Spline. Ngoài ra ta cũng có thể thay đổi dung sai của đường cong Spline. Dung sai thể hiện mức độ lệch của đường cong Spline so với tập hợp các điểm chuẩn mà ta
đã ấn định. Dung sai càng thấp thì đường cong Spline càng gần với các điểm chuẩn. Ta có thể tinh chỉnh một đường cong Spline bằng cách tăng sốđiểm điều khiển trên một đoạn hoặc thay đổi trọng số của các điểm điều khiển cụ thể. Gia tăng trọng số
của một điểm điều khiển sẽ kéo đường cong về gần điểm đó hơn. Chúng ta cũng có thể tinh chỉnh một đường cong Spline bằng cách thay đổi bậc của nó. Bậc của một
đường cong Spline chính bằng bậc của đa thức Spline cộng thêm 1. Chẳng hạn, một
đường cong Spline bậc 3 sẽ có bậc là 4. Một đường cong Spline có bậc càng cao thì càng có nhiều điểm điều khiển.
Xem ví dụ sau:
Ví dụ tạo một đường cong Spline biểu diễn đường đồng mức. Ta cần phải dịch chuyển điểm điều khiển thứ tư nhằm tăng độ chính xác. Sử dụng phương thức SetFitPoint để nhập toạđộ mới cho điểm chuẩn thứ tư.
Điểm chuẩn thứ tư
Vị trí ban đầu
Điểm chuẩn thứ tư
Vị trí mới
Kết quả Sử dụng các thuộc tính sau để thay đổi đường cong Spline:
Closed Mở hoặc khép kín đường cong Spline
ControlPoints Xác định các điểm điều khiển của một đường cong Spline
EndTangent Xác định tiếp tuyến cuối của đường cong Spline
FitPoints Xác định tất cả các điểm chuẩn của một đường cong Spline
FitTolerance Điều chỉnh đường cong Spline cho phù hợp với các điểm hiện có với giá trị dung sai mới
Knots Xác định vectơ nút cho đường cong Spline
StartTangent Xác định tiếp tuyến đầu cho đường cong Spline
Ngoài ra, ta còn có thể sử dụng các phương thức sau để hiệu chỉnh đường cong Spline:
AddFitPoint Thêm một điểm chuẩn vào đường cong Spline ở một vị trí cho trước
DeleteFitPoint Xoá điểm chuẩn của một đường cong Spline
ElevateOrder Nâng bậc của đường cong Spline
GetFitPoint Lấy lại điểm chuẩn của đường cong Spline tại chỉ số cho trước (chỉ
lấy một điểm duy nhất. Để tìm tất cả các điểm chuẩn ta dùng thuộc tính FitPoints)
Reverse Đổi chiều của một đường cong Spline
SetControlPoint Thiết lập điểm điều khiển của một đường cong Spline tại chỉ số
cho trước.
SetFitPoint Thiết lập điểm chuẩn cho đường cong Spline tại chỉ số cho trước (chỉ thiết lập một điểm chuẩn, để thay đổi tất cả các điểm chuẩn của đường cong Spline, ta sử dụng thuộc tính FitPoints)
SetWeight Lập trọng số cho điểm điều khiển tại chỉ số cho trước Sử dụng các thuộc tính chỉđọc sau để truy vấn đường cong Spline:
Degree Tìm bậc đa thức của đường cong Spline
Area Diện tíchvùng bao quanh bởi đường cong Spline
IsPeriodic Xác định xem đường Spline có tuần hoàn hay không
IsRational Xác định xem đường Spline có hữu tỷ hay không
NumberOfControlPoints
Sốđiểm điều khiển của đường cong Spline
NumberOfFitPoints
Sốđiểm chuẩn của đường cong Spline
Thay đổi điểm điều khiển của đường cong Spline
Ví dụ sau tạo một đường cong Spline và thay đổi điểm điều khiển đầu tiên của
đường cong Spline.
Sub Ch4_ChangeSplineControlPoint() ’ Tạo đường cong spline Dim splineObj As AcadSpline Dim noOfPoints As Integer Dim startTan(0 To 2) As Double Dim endTan(0 To 2) As Double Dim fitPoints(0 To 8) As Double noOfPoints = 3
startTan(0) = 0.5: startTan(1) = 0.5: startTan(2) = 0 endTan(0) = 0.5: endTan(1) = 0.5: endTan(2) = 0
fitPoints(0) = 1: fitPoints(1) = 1: fitPoints(2) = 0 fitPoints(3) = 5: fitPoints(4) = 5: fitPoints(5) = 0 fitPoints(6) = 10: fitPoints(7) = 0: fitPoints(8) = 0 Set splineObj = ThisDrawing.ModelSpace. _
AddSpline(fitPoints, startTan, endTan) splineObj.Update
’ Thay đổi tọa độ của điểm điều khiển đầu tiên Dim controlPoint(0 To 2) As Double
controlPoint(0) = 0 controlPoint(1) = 3 controlPoint(2) = 0 splineObj.SetControlPoint 0, controlPoint splineObj.Update End Sub 2.12. Hiệu chỉnh vùng tô mẫu
Ta có thể hiệu chỉnh cả đường biên và mẫu tô của vùng tô mẫu. Nếu hiệu chỉnh
đường biên của vùng tô mẫu có liên kết, mẫu tô sẽ được cập nhật tương ứng, miễn là đường biên vẫn phù hợp. Các vùng tô mẫu có liên kết cũng được cập nhật cho dù chúng nằm trong lớp đã bị tắt. Chúng ta có thể hiệu chỉnh mẫu tô hoặc chọn mẫu tô mới cho vùng tô mẫu hiện có, tuy nhiên thuộc tính liên kết chỉđược gán khi tạo đối tượng vùng tô mẫu. Ta có thể kiểm tra xem liệu một vùng tô mẫu có liên kết không bằng cách sử dụng thuộc tính AssociativeHatch. (Xem thêm phương thức AddHatch
để biết cách tạo ra một vùng tô mẫu)
Cần phải tính toán lại vùng tô mẫu bằng cách sử dụng phương thức Evaluate để
thấy được những thay đổi trên vùng tô mẫu.