AutoCAD – Bản vẽ

Lệnh spline trong CAD: hai kiểu vẽ cho ra hai đường cong khác hẳn nhau

Lệnh spline trong CAD có hai kiểu vẽ cho hai kết quả khác hẳn. Bài viết đo đường cong vồng ra ngoài bao nhiêu và cách chuyển spline thành đa tuyến.

  • TS. Đỗ Quốc Hoàng
  • 9 phút đọc
Cùng bốn điểm, kiểu Fit cho đường cong cao 1011,46 còn kiểu CV chỉ 510 Ảnh: Sơ đồ của Viện Tin học Xây dựng

Đường đồng mức trên bản vẽ san nền, tim đường cong, mép hồ cảnh quan, đường ống mềm. Bốn thứ ấy đều là đường cong trơn không theo cung tròn nào, và vẽ bằng nhiều cung tròn nối nhau thì vừa lâu vừa gãy khúc.

Lệnh spline trong CAD sinh ra đúng loại đường ấy. Có điều nó có hai kiểu vẽ, và cùng một loạt điểm nhưng hai kiểu cho hai đường cong lệch nhau tới hai lần. Không biết mình đang ở kiểu nào là vẽ ra thứ mình không muốn. Muốn học trọn bộ công cụ vẽ thì xem khóa AutoCAD Xây Dựng.

Cách gọi lệnh spline trong CAD

Đọc từ tệp giao diện acad.cuix và tệp acad.pgp của bản 2027.

Đường vàoDùng gì
Lệnh đầy đủSPLINE
Lệnh tắtSPL
RibbonHome → Draw → Spline CV
Menu cổ điểnDraw → Spline → Control Vertices
Thanh công cụDraw → Spline

Để ý nút trên ribbon ghi rõ Spline CV. Bấm nút ấy là vào thẳng kiểu CV, còn gõ SPL ở dòng lệnh lại vào kiểu nào tuỳ lần dùng trước. Đó là nguyên nhân sâu xa của chuyện "hôm qua vẽ ra đường khác, hôm nay ra đường khác".

Từng bước trên dòng lệnh

Chép nguyên văn từ AutoCAD 2027, kiểu mặc định.

Command: SPLINE
Current settings:  Method=Fit    Knots=Chord
Specify first point or [Method/Knots/Object]:
Enter next point or [start Tangency/toLerance]:
Enter next point or [end Tangency/toLerance/Undo]:
Enter next point or [end Tangency/toLerance/Undo/Close]:
BướcMáy hỏi nguyên vănBạn làm
1Specify first point or [Method/Knots/Object]:Chỉ điểm đầu
2Enter next point or [start Tangency/toLerance]:Chỉ điểm thứ hai
3Enter next point or [end Tangency/toLerance/Undo/Close]:Chỉ tiếp, Enter để kết thúc

Dòng đầu là dòng quan trọng nhất và hầu như ai cũng bỏ qua: Current settings: Method=Fit Knots=Chord. Máy in sẵn kiểu đang dùng ngay trước khi hỏi điểm. Liếc dòng ấy một cái là biết mình sắp vẽ ra loại đường nào.

Chuyển sang kiểu kia thì gõ m rồi cv, và dòng nhắc đổi theo:

Specify first point or [Method/Knots/Object]: m
Enter spline creation method [Fit/CV] <Fit>: cv
Current settings:  Method=CV    Degree=3
Specify first point or [Method/Degree/Object]:
Enter next point:
Enter next point or [Undo]:
Enter next point or [Close/Undo]:

Danh sách lựa chọn khác hẳn: kiểu Fit có Knots, kiểu CV có Degree. Nhìn vào ngoặc vuông cũng đủ biết mình đang ở đâu.

Spline kiểu Fit và spline kiểu CV khác nhau chỗ nào

Đây là phần cốt lõi, và cách hiểu rõ nhất là đo.

Lấy bốn điểm cố định, điểm thấp nhất và điểm cao nhất cách nhau 700 theo phương đứng. Vẽ ba thứ qua đúng bốn điểm ấy rồi đo chiều cao khung bao.

Vẽ bằng gìChiều cao khung bao
Đa tuyến gãy khúc qua bốn điểm700
Spline kiểu Fit1.011,46
Spline kiểu CV510

Ba con số nói hết.

Kiểu Fit đi qua đúng các điểm bạn chỉ, nhưng để đường cong trơn tru, nó phải vồng ra ngoài phạm vi của chúng — vồng thêm 311,46, tức hơn 44% so với khoảng cách gốc.

Kiểu CV không đi qua điểm nào cả. Các điểm bạn chỉ chỉ là khung nắn, và đường cong nằm gọn bên trong khung ấy: 510 so với 700.

Hai kiểu spline Ảnh: Cùng bốn điểm: kiểu Fit vồng lên 1011,46 còn kiểu CV chỉ tới 510

Chọn kiểu nào cho việc gì

Từ hai con số trên suy ra ngay cách chọn.

Việc bắt buộc đường phải qua đúng điểm thì dùng kiểu Fit: nối các điểm đo đạc, vẽ đường đồng mức qua cao độ đã biết, dựng tim đường qua các mốc. Nhưng phải nhớ đường sẽ vồng ra ngoài, nên nếu hai bên có vật cản sát thì phải kiểm lại.

Việc chỉ cần hình dáng đẹp thì dùng kiểu CV: mép hồ cảnh quan, đường bao cây xanh, nét trang trí. Kéo một điểm khung là cả đoạn cong đổi mềm mại, dễ nắn hơn nhiều.

Còn số liệu đọc được trên chính đối tượng:

Kiểu FitKiểu CV
Số điểm đi qua40
Số điểm khung64
Bậc của đường cong33

Kiểu Fit tự sinh thêm hai điểm khung mà bạn không chỉ, chính là để ép đường cong đi qua đủ bốn điểm.

Trang SPLINE của Autodesk mô tả đúng hai cách ấy: "Splines are defined either with fit points, or with control vertices."

Lựa chọn Knots đổi độ vồng của đường cong

Kiểu Fit còn một lựa chọn nữa ít người mở: Knots. Dòng đầu của lệnh in sẵn giá trị đang dùng, mặc định là Knots=Chord.

Lựa chọn này quyết định máy chia đường cong giữa các điểm ra sao. Tài liệu Autodesk mô tả ba cách.

Cách chiaAutodesk ghi
Chord"Spaces the knots connecting each component curve to be proportional to the distances between each associated pair of fit points."
Square root"Spaces the knots connecting each component curve to be proportional to the square root of the distance between each associated pair of fit points."
Uniform"Spaces the knots of each component curve to be equal, regardless of the spacing of the fit points."

Tóm lại: Chord chia theo khoảng cách thật giữa các điểm, Square root chia theo căn bậc hai của khoảng cách nên đường cong dịu hơn, còn Uniform chia đều bất kể các điểm gần hay xa nhau. Khi các điểm đo đạc thưa dày không đều mà đường cong bị vồng quá, đổi sang Square root thường cho hình hợp lý hơn.

Chuyển spline thành đa tuyến

Nhiều phần mềm tính toán, nhiều máy cắt CNC và một số phần mềm dự toán không đọc được spline. Khi ấy phải đổi nó thành đa tuyến.

Cách làm: gõ PEDIT, chọn spline, máy hỏi nguyên văn:

Command: PEDIT
Select polyline or [Multiple]: l
Object selected is not a polyline
Do you want to turn it into one? <Y>

Enter là nhận. Kết quả đo được trên chính đối tượng sau khi đổi:

Trước (spline)Sau (đa tuyến)
Số đỉnh4 điểm đi qua37 đỉnh
Diện tích dưới đường436.032,437434.800,636
Sai khác diện tích0,28%

Đường cong trơn biến thành 37 đoạn thẳng nối nhau, lệch 0,28% so với đường cong gốc. Với bản vẽ xây dựng thì sai số ấy không đáng kể. Nhưng cần nhớ hai điều. Đổi xong là không quay lại được. Và độ mịn phụ thuộc biến SPLINESEGS, mặc định 8, nên muốn mịn hơn thì tăng biến ấy lên trước khi đổi. Đa tuyến có trong bài đa tuyến trong CAD.

Lựa chọn Spline của PEDIT không cho ra spline

Đây là chỗ nhầm lẫn phổ biến nhất quanh lệnh này.

Lấy một đa tuyến gãy khúc qua bốn điểm, gõ PEDIT rồi chọn lựa chọn Spline. Nghe tên thì tưởng ra một spline, nhưng đo lại thì không phải:

Đa tuyến ban đầuSau lựa chọn Spline
Loại đối tượngđa tuyếnvẫn là đa tuyến, không phải spline
Chiều dài2.422,2821.663,481
Diện tích325.000114.257,813

Hai điều cùng lúc. Thứ nhất, đối tượng vẫn là đa tuyến — chỉ là một đa tuyến được vẽ cong đi, nên mọi phần mềm không đọc được spline vẫn đọc được nó. Thứ hai, đường cong cắt góc rất mạnh: chiều dài rút từ 2.422 xuống 1.663, diện tích chỉ còn hơn một phần ba.

Nghĩa là lựa chọn ấy dùng để làm mềm một đường gãy khúc, chứ không phải để chuyển sang spline, và nó không giữ các đỉnh gốc. Cần đường đi qua đúng điểm thì phải dùng chính lệnh spline kiểu Fit.

Vẽ đường cong trong CAD: chọn công cụ nào

Bốn cách vẽ đường cong, mỗi cách một chỗ dùng.

CáchĐường đi qua điểm?Dùng khi nào
Cung tròn ARCCong theo bán kính xác định
Đa tuyến có đoạn congCần vừa thẳng vừa cong, cần bề rộng nét
Spline kiểu FitCong trơn qua nhiều điểm đo đạc
Spline kiểu CVkhôngCần hình dáng đẹp, dễ nắn

Cung tròn có trong bài vẽ cung tròn trong CAD, và cách đo chiều dài các đường ấy có trong bài tính diện tích trong CAD.

Mấy điều hay nghe nhưng không đúng

Người ta hay nóiBản 2027 thực tế thế nào
Spline luôn đi qua các điểm mình chỉChỉ kiểu Fit mới đi qua; kiểu CV không chạm điểm nào
Hai kiểu chỉ khác cách bấm chuộtCùng bốn điểm cho khung bao 1.011,46 và 510
PEDIT lựa chọn Spline biến đa tuyến thành splineVẫn là đa tuyến, và đường cắt góc: dài 2.422 còn 1.663
Đổi spline sang đa tuyến là mất hìnhLệch 0,28% diện tích, nhưng thành 37 đoạn thẳng và không quay lại được

Câu hỏi thường gặp

Lệnh spline trong AutoCAD gõ tắt là gì?

SPL. Nút trên ribbon nằm ở Home → Draw → Spline CV.

Làm sao biết mình đang ở kiểu Fit hay kiểu CV?

Đọc dòng đầu ngay khi gọi lệnh: Current settings: Method=Fit hoặc Method=CV. Máy in sẵn trước khi hỏi điểm.

Đổi kiểu thì gõ gì?

Ở dòng nhắc đầu gõ m, rồi gõ fit hoặc cv.

Vì sao đường cong vồng ra ngoài các điểm của tôi?

Vì đang ở kiểu Fit. Bốn điểm cách nhau 700 theo phương đứng cho khung bao 1.011,46, tức vồng thêm 311,46.

Chuyển spline thành đa tuyến thế nào?

PEDIT, chọn spline, Enter khi máy hỏi Do you want to turn it into one?. Muốn mịn hơn thì tăng biến SPLINESEGS trước khi đổi.

Phần mềm bên kia không mở được spline thì sao?

Đổi sang đa tuyến như trên trước khi xuất tệp. Nên giữ một bản gốc còn spline để sau này còn sửa.

Về tác giả

TS. Đỗ Quốc Hoàng — Phó Viện trưởng Viện Tin học Xây dựng – Trường Đại học Xây dựng Hà Nội, chuyên gia lập trình phần mềm trong xây dựng