AutoCAD – Bản vẽ

Lệnh nối nét trong CAD (JOIN): nét nào nối được, nét nào không, và vì sao

Lệnh nối nét trong CAD nối thẳng hàng dù hở 200, nhưng hở một phần triệu giữa nét thẳng và cung là từ chối. Sáu ví dụ làm theo, kèm câu máy báo nguyên văn.

  • TS. Đỗ Quốc Hoàng
  • 9 phút đọc
Sáu tình huống của lệnh JOIN: bốn nối được, hai không, kèm kết quả máy trả về Ảnh: Sơ đồ của Viện Tin học Xây dựng

Bạn chọn hai nét, gõ J, và máy báo "0 objects joined". Lần khác hai nét cách nhau hẳn 200 đơn vị mà vẫn nối được. Lệnh nối nét trong CAD có hai quy tắc khác hẳn nhau tuỳ loại nét, và không nắm hai quy tắc ấy thì cứ thử mò mãi.

Bài này đi qua sáu ví dụ bạn làm lại được trên máy, mỗi ví dụ kèm câu máy báo nguyên văn. Muốn học trọn bộ lệnh dựng và sửa hình, Viện có khoá AutoCAD cho ngành xây dựng.

Lệnh join trong CAD làm gì

Tài liệu Autodesk tóm lệnh trong một câu: "Joins the endpoints of linear and curved objects to create a single object." Nối các đầu mút của nét thẳng và nét cong để thành một đối tượng duy nhất.

Danh sách đối tượng nối được cũng ghi rõ trên trang JOIN của Autodesk: "Select lines, polylines, 3D polylines, arcs, elliptical arcs, helixes, or splines." Tức đoạn thẳng, đa tuyến, đa tuyến 3D, cung tròn, cung elip, đường xoắn và spline.

Để ý là trong danh sách ấy không có đường tròn. Một số trang hướng dẫn viết rằng lệnh này nối được hình tròn thành đa tuyến. Đường tròn đã kín, không có đầu mút nào để nối.

Cách gọi lệnh

Bốn lối vào, đọc thẳng từ tệp cấu hình của bản 2027.

Lối vàoNội dung
Lệnh đầy đủJOIN
Lệnh tắtJ
RibbonHome → Modify → Join
Menu cổ điểnModify → Join

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

Bảng dưới chép nguyên văn dòng nhắc bản 2027 hiện ra khi bạn gõ lệnh.

BướcMáy hỏiBạn làm
1Select source object or multiple objects to join at once:Bấm nét thứ nhất
2Select objects to join:Bấm các nét còn lại, rồi Enter
32 lines joined into 1 lineMáy báo kết quả

Câu máy báo ở bước 3 là thứ đáng đọc nhất. Có ba dạng bạn sẽ gặp.

Câu máy báoNghĩa là
2 lines joined into 1 lineHai đoạn thẳng thành một đoạn thẳng
2 objects converted to 1 polylineCác nét khác phương hoặc khác loại thành một đa tuyến
0 objects joined, 2 objects discarded from the operationKhông nối được gì

Có một chi tiết cho người viết LISP. Gọi lệnh này bằng (command "_.JOIN" ...) từ trong một chương trình LISP thì máy dùng lối hỏi cũ Select source object:Select lines to join to source:. Theo lối cũ ấy, hai đoạn thẳng vuông góc chạm nhau vẫn bị loại, dù gõ tay thì nối được.

Ví dụ 1 và 2: lệnh nối 2 đường thẳng trong CAD

Hai ví dụ đầu cho thấy quy tắc thứ nhất: đoạn thẳng thẳng hàng thì được phép hở.

Ví dụ 1 — thẳng hàng, chạm nhau. Vẽ một đoạn từ 0,0 đến 500,0, đoạn thứ hai từ 500,0 đến 1000,0. Gõ J, bấm cả hai, Enter. Máy báo 2 lines joined into 1 line, và bạn còn đúng một đoạn thẳng dài 1000.

Ví dụ 2 — thẳng hàng, hở 200. Vẽ 0,0 đến 400,0600,0 đến 1000,0. Làm y hệt. Kết quả vẫn là một đoạn thẳng dài 1000, khe hở 200 được lấp luôn.

Autodesk ghi đúng điều ấy: "The line objects must all be collinear, but can have gaps between them." Đoạn thẳng phải cùng nằm trên một đường, nhưng được phép có khe giữa chúng.

Đây là điều rất tiện khi dọn bản vẽ. Một bức tường bị cắt vụn thành nhiều khúc thẳng hàng thì một lệnh là gom lại thành một, không cần vẽ lại. Kết quả là đoạn thẳng chứ không phải đa tuyến, nên vẫn dùng được với mọi lệnh cho đoạn thẳng.

Ví dụ 3: lệnh nối 2 đường thẳng vuông góc trong CAD

Quy tắc thứ hai bắt đầu từ đây: nét khác phương thì phải chạm nhau đúng đầu mút.

Vẽ 0,0 đến 1000,01000,0 đến 1000,500. Hai đoạn gặp nhau tại góc 1000,0. Gõ J, bấm cả hai, Enter. Máy báo 2 objects converted to 1 polyline: hai đoạn thẳng đã thành một đa tuyến hình chữ L.

Giờ làm lại, nhưng cho đoạn đứng bắt đầu từ 1000,100 thay vì 1000,0, tức hở 100 ở góc. Máy báo 0 objects joined, 2 objects discarded from the operation. Không có khe nào được tha.

Vậy với hai đường vuông góc chưa chạm, JOIN không phải công cụ. Cách làm là dùng lệnh bo góc với bán kính bằng 0, hoặc giữ Shift khi chọn nét thứ hai để kéo hai nét gặp nhau thành một góc nhọn. Cách này nằm ở bài lệnh fillet trong CAD. Góc đã kín rồi thì mới J để gom lại.

Ví dụ 4: lệnh nối 2 đường thẳng giao nhau trong CAD

Vẽ 0,0 đến 1000,0, và một đoạn đứng từ 500,-300 đến 500,300 cắt ngang giữa nó thành hình chữ thập. Gõ J, bấm cả hai.

Máy báo 0 objects joined, 2 objects discarded from the operation. Hai nét giao nhau ở giữa chứ không gặp nhau ở đầu mút, nên lệnh không có chỗ để nối.

Với tình huống này, người ta thường thực ra muốn cắt bỏ phần thò ra rồi mới nối. Cắt trước bằng lệnh trim trong CAD, để hai nét chỉ còn chạm nhau ở một đầu, rồi dùng J.

Ví dụ 5: lệnh nối 2 đường cong trong CAD, và cái bẫy một phần triệu

Đây là ví dụ đáng làm thử nhất, vì nó cho thấy quy tắc thứ hai khắt khe đến mức nào.

Vẽ một đoạn thẳng từ -1000,500 đến 0,500. Rồi vẽ một cung tâm 0,0, bán kính 500, từ góc 0 đến góc 90 độ, nên đầu trên của cung nằm đúng tại 0,500. Gõ J, bấm cả hai. Máy báo 2 objects converted to 1 polyline, và đa tuyến mới dài 1.785,40. Con số ấy khớp với 1000 cộng một phần tư chu vi bán kính 500.

Giờ làm lại, nhưng cho đoạn thẳng lệch lên đúng 0,000001 đơn vị. Máy báo 0 objects joined. Lệch 0,0001 hay 0,01 cũng vậy.

Khe hở giữa nét thẳng và cungKết quả
0 — chạm khít1 đa tuyến dài 1.785,40
0,000001Không nối
0,0001Không nối
0,01Không nối

Nghĩa là mắt thường không thể phân biệt hai trường hợp, nhưng máy thì phân biệt rạch ròi. Khi nét thẳng và cung không chịu nối, gần như chắc chắn là đầu mút lệch nhau một chút. Bật bắt điểm Endpoint rồi kéo đầu nét trùng lên đầu cung là giải quyết được.

Hai cung chung tâm, chung bán kính và kề nhau thì nối thẳng thành một cung. Ví dụ cung 0 đến 90 độ với cung 90 đến 180 độ thành một cung 0 đến 180 độ.

Ví dụ 6: biến một cung thành đường tròn

Lựa chọn này ít người biết. Vẽ một cung tâm 0,0, bán kính 500, từ 0 đến 270 độ. Gõ J, bấm chỉ một cung ấy, rồi Enter ngay ở dòng Select objects to join:.

Máy hỏi tiếp Select arcs to join to source or [cLose]:. Gõ L rồi Enter. Máy báo Arc converted to a circle. và cung thành một đường tròn trọn vẹn cùng tâm, cùng bán kính.

Autodesk mô tả lựa chọn này là "The Close option converts the source arc into a circle." Cách này nhanh hơn nhiều so với xoá cung rồi vẽ lại đường tròn, vì tâm và bán kính được giữ nguyên chính xác.

Lệnh nối đường line trong CAD: JOIN hay PEDIT

Hai lệnh cùng nối được nét, nhưng khác nhau ở kết quả.

JOINPEDIT rồi Join
Đoạn thẳng thẳng hàngThành đoạn thẳngThành đa tuyến
Nét khác phương chạm nhauThành đa tuyếnThành đa tuyến
Khe hởChỉ tha cho đoạn thẳng thẳng hàngCó ô nhập dung sai khe hở

Khi các khúc hở nhau chút ít ở góc, PEDIT với dung sai là lựa chọn đúng. Cách làm chi tiết nằm ở bài polyline trong CAD.

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

Hay ngheBản 2027 thực sự làm gì
Nét vẽ bằng Line thì Join không nối đượcHai đoạn Line nối thành một đoạn Line, hoặc thành đa tuyến nếu khác phương
Join nối được đường trònĐường tròn không có trong danh sách đối tượng nối được
Chỉ nối được nét thẳng hàngNét vuông góc chạm nhau ở góc vẫn nối thành đa tuyến

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

Lệnh nối nét trong CAD là lệnh gì?

JOIN, gõ tắt J. Bấm các nét cần nối rồi Enter.

Vì sao máy báo "0 objects joined"?

Các nét không gặp nhau đúng ở đầu mút. Riêng đoạn thẳng thẳng hàng thì được phép hở; mọi trường hợp khác phải chạm khít.

Hai đoạn thẳng thẳng hàng nối xong là đoạn thẳng hay đa tuyến?

Là một đoạn thẳng. Chỉ khi các nét khác phương hoặc khác loại thì kết quả mới thành đa tuyến.

Có biến một cung thành đường tròn được không?

Được. Gõ J, bấm chỉ một cung, Enter, rồi gõ L để chọn cLose.

Nét thẳng và cung nhìn thì chạm mà không nối được?

Chúng lệch nhau một chút. Khe chỉ 0,000001 là máy đã từ chối, nên hãy kéo đầu nét trùng đầu cung bằng bắt điểm Endpoint.

Nối hai đường vuông góc chưa chạm nhau thế nào?

Dùng lệnh bo góc với bán kính 0 để chúng gặp nhau trước, rồi mới J.

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 phát triển phần mềm cho ngành xây dựng