BIM

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 đo số nét và tổng chiều dài trước và sau ở cả hai phía.

  • TS. Đỗ Quốc Hoàng
  • 9 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: Ảnh chụp trên AutoCAD 2027 tại Viện

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 đo số nét và tổng chiều dài trước và sau khi cắt, ở cả hai phía, trên AutoCAD 2027 tại Viện. 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."

Chúng tôi hỏi máy xem tệp định nghĩa nó nằm ở đâu và đượ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úng tôi thử và đó 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 dùng lệnh extrim trong CAD: hai câu hỏi rồi hết

Dòng nhắc chép nguyên văn từ bản 2027, đủ cả dấu ba chấm.

Pick a POLYLINE, LINE, CIRCLE, ARC, ELLIPSE, IMAGE or TEXT for cutting edge...

Specify the side to trim on:

Câu đầu hỏi đường chặn, chỉ vào một đối tượng thôi. Câu sau hỏi phía nào cần bỏ, chỉ một điểm bất kỳ ở phía ấy. Xong, máy tự cắt hết.

Đá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ể mtextattribute 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.

Đo thật: chỉ vào trong và chỉ ra ngoài cho hai kết quả ngược nhau

Chúng tôi dựng hai ô thử y hệt nhau. Mỗi ô có một hình chữ nhật 3000 nhân 2000 làm đường chặn, ba nét dài 5000 xuyên ngang qua nó, một nét dài 1800 nằm trọn bên trong, và một nét dài 5000 nằm trọn bên ngoài. Tổng cộng 5 nét, cộng lại dài 21800.

Chỉ vào trong và chỉ ra ngoài Ảnh: 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

Rồi chạy lệnh, ô bên trái chỉ vào trong, ô bên phải chỉ ra ngoài, và đếm lại bằng máy.

Phép đoTrướ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 phép đo 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ố máy đếm.

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, chúng tôi 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, chúng tôi viết ở 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. Máy chúng tôi có sẵn, và chúng tôi kiểm bằng cách 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 đúng là cách chúng tôi kiểm khi đo bài này.

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. Chúng tôi đo và 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. Chúng tôi 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