AutoCAD – Bản vẽ

Lệnh extrim trong CAD: cắt cả trăm nét bằng hai cú chỉ chuột

Lệnh extrim trong CAD cắt mọi nét cắt qua một đường chặn, chỉ cần chỉ phía muốn bỏ. Bài có bài tập từng bước để bạn mở máy lên làm theo ngay.

  • TS. Đỗ Quốc Hoàng
  • 11 phút đọc
Cùng một bố trí nét, chỉ vào trong thì mất phần trong, chỉ ra ngoài thì mất phần ngoài Ảnh: AutoCAD 2027

Có một mặt bằng đầy nét, cần bỏ sạch phần nằm ngoài ranh giới lô đất. Dùng lệnh cắt thường thì phải chọn cạnh chặn rồi bấm từng nét một, cả trăm lần. Lệnh extrim trong CAD làm xong việc ấy bằng hai cú chỉ chuột.

Bài này có bài tập từng bước để bạn làm theo: cắt vào trong rồi cắt ra ngoài, trên cùng một hình chữ nhật. Muốn học trọn bộ công cụ làm nhanh hồ sơ thì xem khóa AutoCAD nâng cao.

Lệnh extrim trong CAD là gì, và vì sao máy có thể báo không biết lệnh

Đây là một công cụ của bộ Express Tools, không phải lệnh lõi. Autodesk mô tả nó trên trang EXTRIM bằng đúng một câu: "Trims all objects at the cutting edge specified by a selected polyline, line, circle, arc, ellipse, text, mtext, or attribute definition."

Hỏi máy xem tệp định nghĩa nằm ở đâu thì được đường dẫn C:\Program Files\Autodesk\AutoCAD 2027\Express\extrim.lsp. Lệnh này viết bằng chính AutoLISP, và điều đó kéo theo hai hệ quả đo được.

Hệ quả thứ nhất: máy nào không cài phần Express Tools thì gõ tên lệnh sẽ ra dòng Unknown command. Đó là lý do một số người làm theo hướng dẫn mà không chạy được.

Hệ quả thứ hai, dành cho người viết lisp: gọi nó bằng (command "EXTRIM" ...) trong một lisp khác thì không được, máy vẫn báo Unknown command "EXTRIM". Đó chính là dòng máy trả về. Lý do là hàm command chỉ gọi được lệnh lõi, còn đây là lệnh do lisp định nghĩa.

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

Dò cả tệp cấu hình giao diện của bản 2027 lẫn tệp của bộ Express Tools thì kết quả rất gọn.

Lối vàoNội dung
Lệnh đầy đủEXTRIM
Lệnh tắtkhông có
Ribbonkhông có nút
Menu cổ điểnkhông có mục
Thanh công cụkhông có nút

Năm dòng, bốn chữ "không có". Lệnh này chỉ gọi được bằng cách gõ tên. Tệp cấu hình của Express Tools khai 66 lệnh có nút và menu, nhưng không có lệnh này trong số đó.

Điều đó bác bỏ luôn một câu hay gặp trong các bài hướng dẫn tiếng Việt, kể cả autocad123: "chọn lệnh extrim trên thanh công cụ". Không có thanh công cụ nào chứa nó.

Vì phải gõ đủ sáu chữ mỗi lần, đây đúng là lệnh nên tự đặt một chữ tắt cho riêng mình, cách làm nằm ở bài lệnh tắt trong CAD.

Cách dùng lệnh extrim trong CAD: từng bước trên dòng lệnh

Cả lệnh chỉ có hai câu hỏi. Cột giữa chép nguyên văn từ bản 2027, đủ cả dấu ba chấm.

BướcMáy hỏiBạn làm
1Pick a POLYLINE, LINE, CIRCLE, ARC, ELLIPSE, IMAGE or TEXT for cutting edge...Bấm vào một đối tượng làm đường chặn
2Specify the side to trim on:Bấm một điểm bất kỳ ở phía muốn bỏ

Hết. Không có bước chọn đối tượng bị cắt, và đó chính là chỗ lệnh này nhanh hơn lệnh cắt thường.

Hai chỗ cần để ý ở bước 1. Thứ nhất, chỉ chỉ được một đối tượng, không quét chọn nhiều cái. Thứ hai, phải bấm trúng vào nét của nó, nên chọn chỗ nào chỉ có một mình đường chặn đi qua; bấm vào chỗ hai nét chồng nhau là máy lấy nhầm nét kia.

Đáng để ý là danh sách trong dòng nhắc và danh sách trên trang của Autodesk không trùng nhau. Dòng nhắc kể IMAGE, trang tài liệu thì không; trang tài liệu kể mtext và attribute definition, dòng nhắc thì không. Khi hai nguồn lệch nhau thế này, cái đáng tin là cái máy in ra lúc bạn chạy lệnh.

Làm thử: cắt trong và cắt ngoài cùng một hình chữ nhật

Mục này để bạn mở CAD lên làm theo. Làm một lượt là nhớ mãi chiều cắt, vì chính tay bạn thấy hai kết quả ngược nhau trên hai ô giống hệt nhau.

Hai ô dựng y hệt nhau. Trái: chỉ vào bên trong hình chữ nhật, phần nằm trong bị cắt sạch, còn lại các mẩu hai bên. Phải: chỉ ra bên ngoài, phần nằm ngoài bị cắt, chỉ còn phần trong. Cả hai ô, nét không cắt qua đường chặn đều còn nguyên Ảnh: AutoCAD 2027

Bước 1: dựng bài thử

Gõ đúng các toạ độ dưới đây thay vì chỉ chuột, để con số cuối cùng của bạn khớp với con số trong bài.

Vẽ gìGõToạ độ
Hình chữ nhật 3000 × 2000 làm đường chặnREC0,0 rồi 3000,2000
Nét ngang thứ nhất, dài 5000L-1000,500 rồi 4000,500 rồi Enter
Nét ngang thứ haiL-1000,1000 rồi 4000,1000 rồi Enter
Nét ngang thứ baL-1000,1500 rồi 4000,1500 rồi Enter
Nét dài 1800 nằm trọn bên trongL600,1750 rồi 2400,1750 rồi Enter
Nét dài 5000 nằm trọn bên ngoàiL-1000,3000 rồi 4000,3000 rồi Enter

Vậy là năm nét, cộng lại dài 21800. Hình chữ nhật không tính vào con số ấy vì nó là đường chặn chứ không phải nét bị cắt.

Giờ nhân đôi để có hai ô y hệt nhau. Gõ CO, quét chọn tất cả, Enter, điểm gốc 0,0, điểm đến 8000,0.

Bước 2: ô bên trái, chỉ vào trong

BướcMáy hỏiBạn làm
1Command:Gõ EXTRIM rồi Enter
2Pick a POLYLINE, LINE, CIRCLE, ARC, ELLIPSE, IMAGE or TEXT for cutting edge...Gõ 1500,2000 rồi Enter
3Specify the side to trim on:Gõ 1500,1000 rồi Enter

Điểm 1500,2000 nằm trên cạnh trên của hình chữ nhật, và chọn chỗ ấy là có lý do. Cạnh trái và cạnh phải đều bị ba nét ngang cắt qua, bấm vào đó thì máy dễ lấy nhầm nét ngang làm đường chặn. Cạnh trên không có nét nào khác đi qua nên chắc chắn trúng.

Điểm 1500,1000 là tâm hình chữ nhật, tức phía trong.

Bước 3: ô bên phải, chỉ ra ngoài

Làm y hệt, chỉ khác mỗi điểm cuối.

BướcMáy hỏiBạn làm
1Command:Gõ EXTRIM rồi Enter
2Pick a POLYLINE, LINE, CIRCLE, ARC, ELLIPSE, IMAGE or TEXT for cutting edge...Gõ 9500,2000 rồi Enter
3Specify the side to trim on:Gõ 9500,-500 rồi Enter

Điểm 9500,-500 nằm dưới hình chữ nhật, tức phía ngoài.

Bước 4: đếm lại rồi đối chiếu

Quét chọn từng ô, bỏ hình chữ nhật ra, rồi xem ô Length trong bảng Properties.

TrướcChỉ vào trongChỉ ra ngoài
Số nét585
Tổng chiều dài218001280015800

Cả hai cột kiểm được bằng tay, và đó là cách chắc chắn kết quả không nhầm.

Cột chỉ vào trong. Mỗi nét xuyên qua dài 5000, phần nằm trong hình chữ nhật dài 3000, nên cắt xong còn hai mẩu 1000 ở hai đầu. Ba nét thành sáu nét, cộng 6000. Thêm nét 1800 nằm trọn bên trong và nét 5000 nằm trọn bên ngoài là 8 nét, cộng lại 12800. Đúng bằng con số trong bảng.

Cột chỉ ra ngoài. Lần này mất hai mẩu 1000 ở mỗi nét xuyên qua, còn lại phần giữa dài 3000. Ba nét vẫn là ba nét, cộng 9000. Thêm 1800 và 5000 nữa là 5 nét, cộng lại 15800. Cũng đúng.

Nét không cắt qua đường chặn thì không bị đụng tới

Đây là chỗ hay làm người dùng hụt hẫng, và nó lộ ra ngay trong hai con số trên.

Nét dài 1800 nằm gọn bên trong hình chữ nhật vẫn còn nguyên ở cả hai lần cắt. Nét dài 5000 nằm gọn bên ngoài cũng vậy. Chúng không giao với đường chặn ở điểm nào nên lệnh không có chỗ để cắt.

Nói cách khác, lệnh này cắt chứ không xoá. Muốn dọn sạch mọi thứ bên trong hay bên ngoài một ranh giới thì sau khi cắt vẫn phải quét chọn rồi xoá nốt những nét nằm lọt thỏm. Bỏ qua bước ấy là để sót, và cái sót ấy chỉ lộ ra khi in.

Chuyện rác còn nằm lại trong tệp sau những thao tác dọn dẹp, viết kỹ ở bài làm nhẹ bản vẽ CAD.

Ba chỗ dùng đáng giá nhất trên bản vẽ thật

Lệnh này không phải để dùng hằng ngày. Nó để dành cho đúng những lúc có một ranh giới rõ ràng và rất nhiều nét thừa cùng một phía.

Cắt bản vẽ theo ranh giới lô đất. Nhận bản đồ hiện trạng của cả khu, chỉ cần phần trong ranh giới. Vẽ ranh giới thành một đường khép kín rồi cắt một nhát, thay cho hàng trăm lần bấm.

Dọn phần thừa của lưới trục. Lưới trục vẽ dài tràn ra ngoài công trình cho dễ bắt điểm, tới lúc in thì thừa. Một hình chữ nhật bao quanh khung in làm đường chặn là gọn.

Cắt nền chèn từ bản vẽ khác. Chèn một mặt bằng kiến trúc vào làm nền rồi chỉ cần một khu, phần còn lại cắt bỏ để tệp nhẹ và màn hình đỡ rối.

Cả ba trường hợp có chung một đặc điểm: đường chặn là thứ bạn vẽ ra chứ không có sẵn. Vẽ nó cẩn thận và khép kín là nửa phần việc, phần còn lại chỉ là hai cú chỉ chuột.

Lệnh extrim so với lệnh trim trong CAD

Hai lệnh cùng cắt nhưng cách làm việc khác hẳn nhau.

EXTRIMLệnh cắt thường
Chọn cạnh chặnđúng một đối tượngmột hoặc nhiều
Chọn đối tượng bị cắtkhông phải chọnphải chỉ từng nét
Quyết định phần bị bỏchỉ một điểm ở phía ấychỉ vào từng phần thừa
Hoàn tácmột nhịpmột nhịp

Cách chọn dứt khoát: một ranh giới, hàng chục nét thừa cùng một phía thì dùng EXTRIM. Vài nét lẻ, mỗi nét thừa một kiểu thì dùng lệnh cắt thường, vì nó cho bạn quyết định từng chỗ.

Chiều ngược lại, tức kéo dài nét tới một biên, nằm ở bài lệnh extend trong CAD. Còn cắt một khe hở ở giữa một nét thì nằm ở bài lệnh break trong CAD.

Express Tools autocad có sẵn hay phải cài thêm

Bộ Express Tools đi kèm bản AutoCAD đầy đủ, nhưng là một mục chọn được bỏ lúc cài. Cách kiểm nhanh là hỏi máy đường dẫn của tệp định nghĩa lệnh.

Ba cách kiểm nhanh trên máy bạn, xếp theo thứ tự nên làm.

Gõ thẳng tên lệnh. Ra dòng nhắc hỏi đường chặn là có; ra Unknown command là chưa có.

Hỏi thẳng máy. Gõ vào dòng lệnh đoạn lisp một dòng (findfile "extrim.lsp"). Trả về một đường dẫn là đã cài, trả về nil là chưa. Đây là cách kiểm nhanh nhất.

Tìm thư mục Express trong thư mục cài AutoCAD. Có tệp extrim.lsp trong đó là đủ.

Chưa có thì chạy lại bộ cài và chọn thêm mục Express Tools, không phải tải gì từ trang lạ. Tiện thể, nếu bạn hay quên tên lệnh dài thì đặt một chữ tắt riêng cho nó, cách làm nằm ở bài lệnh tắt 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 này xoá sạch mọi thứ ở phía bạn chỉNét không giao với đường chặn còn nguyên, cả hai phía
Chọn được nhiều đường chặn một lúcDòng nhắc chỉ cho chỉ vào một đối tượng
Gọi được từ lisp bằng hàm commandMáy trả về Unknown command "EXTRIM"

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

Gõ tên lệnh mà máy báo không biết lệnh?

Máy chưa cài Express Tools. Chạy lại bộ cài AutoCAD và chọn thêm mục ấy, không cần tải gì từ nơi khác.

Đường chặn dùng được những hình gì?

Dòng nhắc của bản 2027 kể polyline, line, circle, arc, ellipse, image và text. Trang tài liệu của Autodesk còn kể thêm mtext và attribute definition.

Vì sao cắt xong vẫn còn nét ở phía tôi chỉ?

Vì những nét ấy không cắt qua đường chặn. Cả nét nằm trọn bên trong lẫn nét nằm trọn bên ngoài đều còn nguyên. Phải quét chọn rồi xoá nốt.

Lỡ tay cắt nhầm phía thì sao?

Hoàn tác một nhịp là toàn bộ phép cắt quay lại, vì cả lệnh chỉ là một bước trong nhật ký thao tác.

Gọi được lệnh này trong lisp của mình không?

Không gọi bằng hàm command được. Thử và máy trả về Unknown command "EXTRIM", vì đây là lệnh do lisp định nghĩa chứ không phải lệnh lõi.

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