AutoCAD – Bản vẽ

Polyline trong CAD: bốn nét rời thành một đường đo được diện tích

Polyline trong CAD gộp nhiều nét thành một đối tượng đo được diện tích. Bài đo lệnh join, lệnh pe và cả trường hợp giữa hai nét còn khe hở.

  • TS. Đỗ Quốc Hoàng
  • 12 phút đọc
Hai hình vuông giống hệt nhau, một bên là bốn nét rời còn một bên là một đường đo được diện tích Ảnh: AutoCAD 2027

Cần biết diện tích một khu đất đã vẽ xong. Bấm chọn thì ra bốn nét rời, không có con số nào. Đường bao ấy phải là polyline trong CAD thì máy mới trả về diện tích.

Bài này đo cách gộp bốn nét ấy lại, đo cả trường hợp giữa hai nét còn khe hở, trên AutoCAD 2027 tại Viện. Muốn học trọn cách dựng hình chính xác thì xem khóa AutoCAD Xây Dựng.

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

Ba lệnh dùng trong bài này, lối vào của từng cái theo tệp cấu hình của bản 2027.

ViệcLệnh đầy đủLệnh tắtRibbonMenu cổ điểnThanh công cụ
Vẽ mớiPLINEPLHome → Draw → PolylineDraw → PolylineDraw → Polyline
Gộp, sửaPEDITPEHome → Modify → Edit PolylineModify → Object → PolylineModify II → Edit Polyline
Nối nét thẳng hàngJOINJHome → Modify → JoinModify → JoinModify → Join

Hai chữ tắt PL và PE là hai chữ đáng thuộc nhất trong cả bài. Tên đầy đủ của PE là PEDIT, nên ai tìm theo lệnh PEDIT trong CAD cũng về đúng phần này. Nút của PEDIT nằm trong ngăn kéo của bảng Modify, phải bấm mũi tên xổ xuống mới thấy, nên gõ chữ tắt vẫn nhanh hơn.

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

Vẽ mới thì đơn giản, nhưng gộp cả cụm nét rời mới là việc hay phải làm. Bảng dưới là một lượt chạy đầy đủ của PE, cột giữa chép nguyên văn từ bản 2027.

BướcMáy hỏiBạn làm
1Select polyline or [Multiple]:Gõ M rồi Enter
2Select objects:Quét chọn cả cụm nét, rồi Enter
3Convert Lines, Arcs and Splines to polylines [Yes/No]? <Y>Enter để nhận Y
4Enter an option [Close/Open/Join/Width/Fit/Spline/Decurve/Ltype gen/Reverse/Undo]:Gõ J rồi Enter
5Enter fuzz distance or [Jointype] <0.0>:Enter nếu các nét chạm nhau
6Enter an option [Close/Open/Join/...]:Enter để thoát lệnh

Ba chỗ người dùng hay bỏ cuộc nằm ngay trong bảng này.

Bước 1 bắt buộc gõ M. Bỏ qua chữ ấy thì lệnh chỉ sửa đúng một đối tượng, và đó là lý do nhiều người kết luận lệnh này không gộp được cả cụm.

Bước 3 phải trả lời Y. Nét thẳng chưa phải đường đa tuyến, không đổi thì không gộp được.

Bước 5 là chỗ quyết định khi giữa các nét còn khe hở, và nói riêng ở mục dưới.

Lệnh polyline trong CAD vẽ ra một đối tượng, không phải nhiều nét

Vẽ một đường gấp khúc ba điểm rồi đọc lại đối tượng vừa sinh ra.

Kết quảKết quả
Loại đối tượngLWPOLYLINE
Số đỉnh3
Bề rộng0
Biến PLINETYPE2

Ba điểm, hai đoạn, mà chỉ một đối tượng. Đó là toàn bộ khác biệt so với lệnh vẽ đường thẳng thường, vốn sinh ra mỗi đoạn một đối tượng riêng. Cách lệnh ấy hoạt động nằm ở bài vẽ đường thẳng trong CAD.

Dòng nhắc chép nguyên văn từ bản 2027 cho thấy ngay những gì lệnh này làm được mà lệnh vẽ đường thẳng không làm được.

Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]:

Lựa chọn Arc chuyển sang vẽ cung tròn nối tiếp ngay trong cùng một đối tượng, Close khép kín, còn Width đổi bề rộng nét.

Lệnh pl trong CAD mà nét bị to: thủ phạm tên PLINEWID

Đây là câu hỏi rất hay gặp, và đo ra thì gọn.

Biến PLINEWID giữ bề rộng ngầm định của đường sắp vẽ. Máy đo được giá trị 0, tức nét mảnh. Đặt nó thành 30 rồi vẽ lại, và đối tượng mới mang mã bề rộng đúng bằng 30.

PLINEWIDBề rộng ghi trong đối tượng
00
3030

Vậy nếu nét vẽ ra bỗng dưng to đùng thì không phải hỏng gì cả. Ai đó, hoặc chính lựa chọn Width trong lần vẽ trước, đã đặt biến ấy khác 0. Gõ PLINEWID, nhập 0, là trở lại bình thường.

Nét đã vẽ rồi thì sửa bằng lệnh hiệu chỉnh đường đa tuyến, chọn Width rồi nhập 0.

Lệnh JOIN nối được gì và từ chối gì

Nhiều bài hướng dẫn viết rằng lệnh này chỉ dùng được cho đường vẽ bằng lệnh polyline. Ba tình huống cho kết quả khác hẳn.

Tình huốngMáy trả lờiKết quả
Hai nét thẳng hàng, chạm nhau1 line joined to sourcecòn 1 nét
Hai nét thẳng hàng, hở 501 line joined to sourcecòn 1 nét
Ba nét gấp khúc vuông góc0 lines joined to source, 2 objects discarded from the operationvẫn 3 nét

Hai dòng đầu cho thấy lệnh này làm việc tốt với nét thẳng thường, thậm chí bắc cầu qua khe hở mà không cần khai gì thêm. Dòng thứ ba mới là giới hạn thật: các nét phải nằm trên cùng một đường thẳng. Gấp khúc là nó từ chối, và câu trả lời của máy nói thẳng rằng hai đối tượng đã bị loại khỏi thao tác.

Thêm một chi tiết đáng nhớ: nối xong, kết quả vẫn là một nét thẳng chứ không thành đường đa tuyến. Muốn ra đường đa tuyến thì phải dùng lệnh ở mục sau.

Chuyển line thành polyline trong CAD: lệnh pe trong CAD làm cả cụm một lượt

Đây là lệnh giải quyết đúng bài toán đầu bài. Vẽ một hình vuông 2000 nhân 1500 bằng bốn nét rời, rồi gộp lại và đo.

Hai hình vuông vẽ y hệt nhau. Trái: bốn nét thẳng rời, đếm bằng máy ra 4 đối tượng. Phải: sau khi gộp, còn một đường đa tuyến khép kín và lệnh đo diện tích trả về 3000000, đúng bằng 2000 nhân 1500 Ảnh: AutoCAD 2027
Kết quảTrướcSau
Số đối tượng41
Loại đối tượngLINELWPOLYLINE
Diện tích đọc đượckhông có3000000

Con số 3000000 kiểm được ngay: 2000 nhân 1500. Máy còn in ra 3 segments added to polyline, tức ba nét đã được nhập vào nét thứ nhất.

Trình tự gõ gọn trong năm nhịp. Gõ PE, chọn lựa chọn Multiple, quét chọn cả cụm, Enter, rồi trả lời Y cho câu hỏi chuyển đổi và chọn Join.

Hai dòng nhắc đáng chép nguyên văn, vì chính chúng làm nhiều người bỏ cuộc giữa chừng.

Convert Lines, Arcs and Splines to polylines [Yes/No]? <Y>

Enter fuzz distance or [Jointype] <0.0>:

Câu đầu hỏi có đổi nét thẳng thành đường đa tuyến không, trả lời Y. Câu sau hỏi khoảng hở cho phép, và đó là chủ đề của mục ngay dưới.

Khe hở nhỏ: tăng fuzz thôi chưa đủ

Lời khuyên quen thuộc là "cứ tăng fuzz lên là nối được". Lời khuyên ấy thiếu một nửa.

Hai nét thẳng hàng, giữa chúng hở đúng 50. Fuzz đặt 100, tức thừa sức phủ khe hở ấy. Rồi thử lần lượt ba kiểu nối mà lệnh cho chọn.

Kiểu nốiMáy trả lờiKết quả
Extend, kiểu ngầm định0 segments added to polylinevẫn 2 đối tượng
Add2 segments added to polylinecòn 1 đối tượng
Both2 segments added to polylinecòn 1 đối tượng

Dòng đầu là chỗ làm người dùng nản: fuzz đủ lớn mà vẫn không nối. Lý do nằm ngay trong mô tả của Autodesk trên trang PEDIT. Kiểu Extend là "Joins the selected polylines by extending or trimming the segments to the nearest endpoints."

Hai đoạn nằm trên cùng một đường thẳng thì kéo dài thế nào cũng không có điểm giao để dừng lại. Kiểm lại chiều ngược: hai đoạn khác phương, cũng hở như thế, kiểu Extend nối được ngay, máy in 1 segments added to polyline.

Vậy quy tắc gọn lại thế này. Nét gấp khúc thì kiểu ngầm định là đủ; nét thẳng hàng có khe hở thì phải chọn Add hoặc Both, mà Autodesk mô tả là "Joins the selected polylines by adding a straight segment between the nearest endpoints."

Lệnh nối các line thành polyline trong CAD rồi thì được gì

Việc gộp không phải để cho đẹp. Bốn cái lợi đo được hoặc thấy ngay.

Đo được diện tích và chu vi. Đây là lợi ích lớn nhất trên bản vẽ xây dựng, và là con số 3000000 ở bảng trên.

Chọn một phát là chọn cả đường bao. Cụm nét rời phải quét chọn, dễ sót một đoạn mà không biết.

Bo góc, vát góc cả đường một lượt. Cách bo và vát nằm ở bài fillet trong CAD.

Đặt được bề rộng nét theo đối tượng, thay vì phải đổi bề dày nét của cả lớp.

Ngược lại, gộp rồi thì sửa một đoạn riêng sẽ vướng hơn, và với bản vẽ rất nhiều đối tượng thì việc dọn dẹp lại là chuyện khác, nằm ở bài làm nhẹ bản vẽ CAD.

Đường lui thì luôn có. Vẽ một đường đa tuyến khép kín bốn cạnh rồi phá nó ra bằng lệnh EXPLODE, và đếm lại được đúng 4 nét thẳng, còn đường đa tuyến ban đầu thì không còn trong bản vẽ nữa. Nghĩa là gộp và phá là hai chiều đi lại được, nhưng phá xong thì diện tích mất theo, vì bốn nét rời không mang thông tin ấy.

Lệnh nối liền trong CAD còn được gọi bằng nhiều tên khác

Cùng một việc mà người dùng gọi bằng nhiều cách: lệnh nối liền trong cad, lệnh nối các đường trong cad, hay lệnh nối nét trong cad. Bản thân lệnh vẽ cũng vậy — người quen gõ tắt tìm bằng lệnh pl trong cad, người quen tên đầy đủ tìm bằng lệnh pline trong cad, và cả hai đều trỏ về đúng lệnh PLINE ở bảng trên. Cũng có người tìm cách chuyển line thành pline — pline chính là tên tắt PL của lệnh polyline, nên chuyển line thành pline và chuyển line thành polyline là một việc.

Chọn lệnh nào thì tuỳ hình bạn đang có.

Bạn cóMuốn raDùng
hai nét thẳng hàngmột nét thẳngJOIN
cụm nét gấp khúcmột đường đa tuyếnPE, lựa chọn Multiple rồi Join
một cung trònmột đường tròn kínJOIN rồi lựa chọn cLose

Dòng nhắc thứ hai của JOIN đổi theo loại đối tượng bạn chọn đầu tiên, và đó là chỗ hay làm người dùng bối rối. Chép nguyên văn từ bản 2027:

Đối tượng gốcMáy hỏi tiếp
đoạn thẳngSelect lines to join to source:
cung trònSelect arcs to join to source or [cLose]:

Chọn một đoạn thẳng làm gốc thì máy chỉ nhận thêm đoạn thẳng, chọn một cung làm gốc thì chỉ nhận thêm cung. Trộn hai loại là không nối được, và máy không báo lỗi gì cả.

JOIN nối liền được cả khe hở. Hai đoạn thẳng dài 1500 nằm thẳng hàng, hở nhau 500. Gõ JOIN, máy trả 1 line joined to source, rồi đo lại đối tượng còn lại: đúng 3500. Khe hở được nối liền chứ không bị bỏ qua.

Lựa chọn cLose thì ít người biết tới. Chọn một cung làm gốc rồi gõ L, máy in Arc converted to a circle. và cung thành đường tròn kín — nhanh hơn vẽ lại một đường tròn rồi xoá cung đi.

Đường đa tuyến thường chỉ có một cao độ cho cả đường. Tuyến có cao độ đổi từng đỉnh phải vẽ bằng 3DPOLY, xem bài polyline 3D trong CAD.

Ba điều hay nghe nhưng không đúng

Điều hay ngheThực tế đo trên bản 2027
Lệnh JOIN chỉ làm được với đường vẽ bằng lệnh polylineNó nối hai nét thẳng thường, kể cả khi hở 50
Nét gấp khúc thì JOIN cũng nối đượcMáy trả về 0 lines joined to source và loại hai đối tượng ra
Có khe hở thì cứ tăng fuzz là nối đượcKiểu ngầm định Extend vẫn báo 0 segments added, phải đổi sang Add

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

Vì sao chọn đường bao mà không ra diện tích?

Vì đó là các nét rời chứ chưa phải một đường đa tuyến. Gộp lại bằng lệnh PE với lựa chọn Multiple rồi Join là đọc được.

Nét vẽ ra bị to thì sửa thế nào?

Gõ PLINEWID rồi nhập 0. Bề rộng ghi trong đối tượng đúng bằng giá trị của biến này lúc vẽ.

Lệnh JOIN và lệnh PE khác nhau chỗ nào?

JOIN chỉ nối các nét nằm trên cùng một đường thẳng và cho lại một nét thẳng. PE nối được cả cụm gấp khúc và cho ra một đường đa tuyến.

Có khe hở nhỏ mà không nối được?

Vào lựa chọn Jointype rồi chọn Add hoặc Both, sau đó mới nhập khoảng hở cho phép. Kiểu ngầm định không nối được hai đoạn thẳng hàng.

Gộp xong có tách lại được không?

Được, bằng lệnh EXPLODE. Phá một đường đa tuyến bốn cạnh thì ra đúng 4 nét thẳng. Diện tích thì mất theo.

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