Đếm block trong CAD là việc phải làm mỗi khi bóc khối lượng hay kiểm tra bảng thống kê. Từ bản 2022 AutoCAD có lệnh COUNT làm sẵn việc ấy, và Autodesk mô tả nó gọn trong một câu — "Counts and highlights the instances of the selected object in the drawing". Xem trang COUNT.
Bài này nói cả phần ít ai nói: những gì lệnh bỏ qua. Đó là lý do con số đếm ra hay lệch với bản vẽ mà người dùng tưởng phần mềm sai. Nếu bạn chưa nắm phần gốc về khối thì đọc block trong CAD trước. Muốn học trọn khâu dựng hình và triển khai hồ sơ thì xem khóa AutoCAD Xây Dựng.
Đếm block trong CAD có ba cách, chọn cách nào
Ba cách dưới đây cùng trả về một con số. Khác nhau ở chỗ có sẵn hay phải cài thêm, và kết quả có xuất được thành bảng hay không.
| Cách | Có từ | Kết quả |
|---|---|---|
COUNT | Bản 2022 trở lên, sẵn trong máy | Tô sáng trên bản vẽ, bảng Count, xuất được thành bảng |
BCOUNT | Express Tools, bản LT không có | Chữ in ra dòng lệnh, bấm F2 để đọc hết |
QSELECT | Mọi bản | Số đối tượng đang chọn, không xuất thành bảng |
Cách thứ nhất là cách nên quen tay. Hai cách còn lại có chỗ dùng riêng, và bài sẽ nói ở dưới.
Lệnh đếm block trong CAD: COUNT và bảng Count
Gõ COUNT rồi Enter. Lệnh hỏi hai câu, chép nguyên văn dưới đây.
```
Specify first corner point of the count area or [Current area/Entire model space/Object/Polygonal] <Current area>:
Select target objects or [List all blocks] <List all blocks>:
```
Câu đầu hỏi phạm vi đếm. Câu sau hỏi đếm khối nào, và Enter là liệt kê mọi khối trong phạm vi ấy. Bảng Count hiện ra bên cạnh vùng vẽ.
Mỗi dòng là một tên khối kèm số lần xuất hiện. Có một chi tiết đáng dừng lại ở ảnh trên. Dòng mang tên bắt đầu bằng chữ A kèm dấu đô la là khối vô danh, sinh ra khi ai đó phá một khối rồi gom lại. Chúng đếm được nhưng không thống kê được, vì không ai đọc ra tên ấy nghĩa là gì.
Bảng này còn làm được ba việc nữa. Ô Search lọc danh sách ngay khi bạn gõ vài chữ đầu của tên khối. Bấm chuột phải vào một khối rồi chọn Expand By thì bảng tách con số ra theo thuộc tính, ví dụ theo lớp, theo tỷ lệ, hay theo trạng thái lật gương. Chi tiết từng nút nằm ở trang Count Palette.
Đóng bảng bằng lệnh COUNTLISTCLOSE, hoặc bấm End Count trên thanh đếm phía trên vùng vẽ. Thanh ấy còn có nút lùi và tiến để phóng lần lượt tới từng đối tượng đang đếm, rất tiện khi soát lại.
Vì sao con số đếm ra không khớp với bản vẽ
Đây là phần hầu như không hướng dẫn nào nhắc tới, mà lại là nguyên nhân thường gặp nhất khi người dùng thấy số lạ.
Autodesk nói rõ ở trang Count Palette rằng "Objects from external references or on paper space are filtered out from the count". Vậy khối nằm trong tham chiếu ngoài và mọi thứ trên không gian giấy đều không vào số đếm. Cùng trang ấy còn ghi "Counting objects from an area in a specified viewport is not supported".
Trang Count Feature Limitations liệt kê tiếp mười bốn loại đối tượng không đếm được. Đáng nhớ nhất là chữ, mặt cắt tô, đối tượng ba chiều, ảnh, đám mây điểm, và khai báo thuộc tính.
Còn một dòng ngắn mà hậu quả lớn — "Only visible objects in the model space are displayed in the Count palette". Khối nằm trên lớp đang tắt hoặc đang đóng băng thì không có trong bảng. Cách quản lý trạng thái lớp nói kỹ ở bài layer trong CAD.
Bảng Count còn báo riêng ba loại lỗi đếm. Autodesk gọi tên chúng là "overlapping, exploded, or renamed objects" — khối chồng khít lên nhau, khối đã bị phá, và khối bị đổi tên. Bấm vào dòng lỗi là phần mềm phóng tới đúng chỗ ấy trên bản vẽ.
Cách đếm block trong CAD theo từng tầng hoặc từng khu
Đếm cả bản vẽ một lượt thì nhanh, nhưng hồ sơ nhà nhiều tầng cần số của từng tầng. Lựa chọn Polygonal giải quyết việc đó: bạn khoanh một vùng đa giác quanh mặt bằng tầng cần đếm, và bảng Count chỉ tính trong vùng ấy.
Lựa chọn Object thì lấy một đối tượng có sẵn làm ranh giới, tiện khi mỗi tầng đã có sẵn một khung bao. Autodesk nêu điều kiện của đối tượng ấy ở trang To Work with Counting Objects — "A valid boundary object must be a closed polyline that consists of line segments and does not intersect with itself". Đường đa tuyến phải khép kín, chỉ gồm đoạn thẳng, và không được tự cắt.
Muốn đổi vùng đếm giữa chừng thì gõ COUNTAREA, hoặc bấm Count in a Specified Area ngay trên bảng.
Đưa kết quả vào bản vẽ: bảng đếm hay trường đếm
Đếm xong mà chỉ nhìn rồi ghi tay thì phí. AutoCAD có hai cách đưa con số vào thẳng bản vẽ.
Cách thứ nhất là nút Create Table trên bảng Count. Tích chọn những khối muốn đưa vào, bấm Insert, rồi đặt bảng vào bản vẽ. Bấm vào một đường lưới của bảng là chỉnh được cỡ hàng và cỡ cột.
Cách thứ hai là nút Insert Count Field trên thanh đếm. Autodesk mô tả nó là "Inserts a field that's set to the current count value". Trường này đặt được ngay giữa câu chữ của một ghi chú, nên hợp khi bạn cần viết "toàn nhà có 48 bộ cửa" mà con số tự cập nhật.
Cả hai cách đều dính chung một nếp, và Autodesk nhắc nó hai lần trong cùng một trang: "Use REGEN to update the count field". Sửa bản vẽ xong mà không gọi REGEN thì con số cũ nằm yên đó, trông vẫn như thật. Đây là chỗ dễ gửi đi một bộ hồ sơ mang số sai mà không ai biết.
Lệnh đếm đối tượng trong CAD khi COUNT bỏ qua
COUNT chỉ đếm khối và một số nét hình học. Muốn đếm chữ, đếm nét rời, hay đếm theo một thuộc tính nào đó thì phải đi đường khác.
QSELECT là đường gọn nhất. Gõ lệnh, chọn loại đối tượng, đặt điều kiện lọc, bấm OK. Phần mềm chọn hết những đối tượng khớp điều kiện, và số lượng hiện ngay trên dòng trạng thái. Cách này đếm được thứ mà COUNT không đụng tới, đổi lại kết quả không xuất thành bảng.
FILTER làm việc tương tự nhưng lưu lại được bộ điều kiện để dùng cho lần sau. SELECTSIMILAR thì nhanh hơn cả hai: bấm vào một đối tượng, gọi lệnh, phần mềm chọn hết những đối tượng cùng loại và cùng lớp.
BCOUNT và lisp đếm block trong CAD
Trước khi có COUNT, người vẽ dùng BCOUNT. Lệnh này vẫn còn và vẫn chạy tốt, nhưng có hai điều cần biết.
Thứ nhất, BCOUNT thuộc bộ Express Tools, không phải lệnh lõi. Bản AutoCAD LT không kèm Express Tools nên không có lệnh này. Autodesk cũng khuyến nghị dùng COUNT thay thế từ bản 2022. Trang tham khảo là BCOUNT.
Thứ hai, kết quả của BCOUNT chỉ là chữ in ra dòng lệnh. Muốn đọc hết danh sách phải mở rộng cửa sổ lệnh. Không có tô sáng, không có bảng, không xuất được ra bản vẽ.
Còn lisp thì sao. Nhiều người vẫn tìm lisp để đếm khối, và các bộ lisp ấy hầu hết ra đời khi AutoCAD chưa có COUNT. Chúng vẫn chạy được, nhưng có ba rủi ro thực tế. Lisp tải trên mạng không rõ nguồn gốc có thể mang mã lạ. Lisp viết cho bản cũ đôi khi trả số sai trên bản mới. Và kết quả của lisp không có phần báo lỗi đếm mà bảng Count làm sẵn.
Trình tự đếm một bộ hồ sơ
Ba bước đầu là dọn dẹp, và bỏ chúng thì con số đếm ra vô nghĩa.
Bước một là biến nét rời thành khối. Hồ sơ vẽ tay lâu năm thường có hàng trăm cánh cửa vẽ rời, và chúng không đếm được. Bản 2027 có nút Detect and Convert quét bản vẽ tìm những cụm nét lặp đi lặp lại rồi đề nghị đổi thành khối. Phải xem lại danh sách trước khi đồng ý, vì công cụ đoán theo hình dạng và có thể gộp nhầm hai cấu kiện chỉ giống nhau về hình.
Bước hai là đặt tên tử tế cho mọi khối, để bảng Count đọc ra được.
Bước ba là dọn bản vẽ. PURGE bỏ những định nghĩa chưa dùng lần nào, và nên chạy vài lần cho tới khi không xoá được gì nữa. Sau đó AUDIT rà lỗi cấu trúc và sửa. Có một bẫy ở dạng dòng lệnh: đừng gõ -PURGE với loại LAyers và tên dấu sao trên bản vẽ đang làm dở, vì lệnh xoá sạch mọi lớp đang trống, kể cả bộ lớp mẫu của văn phòng chưa kịp vẽ gì lên.
Bước bốn mới là đếm. Sau khi sửa định nghĩa khối bằng cách nói ở bài sửa block trong CAD, nhớ đếm lại để chắc con số vẫn đúng.
Câu hỏi thường gặp
Đếm block trong CAD ra số ít hơn thực tế, vì sao?
Ba nguyên nhân hay gặp nhất, xếp theo thứ tự nên kiểm. Thứ nhất, có lớp đang tắt hoặc đang đóng băng nên khối nằm trên đó không vào bảng. Thứ hai, có khối nằm trong tham chiếu ngoài nên bị lọc ra. Thứ ba, bạn đang đứng ở không gian giấy.
Máy tôi không có lệnh COUNT thì làm sao?
COUNT chỉ có từ bản 2022. Bản cũ hơn thì dùng BCOUNT nếu máy có Express Tools, còn không thì dùng QSELECT.
Bảng Count hiện nhiều dòng tên lạ bắt đầu bằng A và dấu đô la là gì?
Đó là khối vô danh, sinh ra khi ai đó phá một khối rồi gom lại. Chúng đếm được nhưng không thống kê được. Bản vẽ giao đi nên đặt tên tử tế cho mọi khối.
Con số trong bảng đếm không đổi sau khi tôi sửa bản vẽ?
Gọi REGEN. Autodesk nêu rõ điều này cho cả bảng đếm lẫn trường đếm, và đây là lỗi hay gặp khi giao hồ sơ.
Đếm chữ hoặc đếm nét rời bằng lệnh gì?
COUNT không đếm chữ và không đếm nhiều loại nét. Dùng QSELECT hoặc FILTER, đặt điều kiện lọc rồi đọc số đối tượng đang chọn trên dòng trạng thái.