BIM

Làm nhẹ bản vẽ CAD: ba lệnh và con số đo trên bản vẽ thật

Làm nhẹ bản vẽ CAD bằng ba lệnh có sẵn trong phần mềm. Bài đo trên một mặt bằng kết cấu thật: dọn 13 lớp, 18 khối, 9 kiểu chữ và 109 nét thừa.

  • TS. Đỗ Quốc Hoàng
  • 8 phút đọc
Số lượng các bảng định nghĩa trước và sau khi dọn trên một bản vẽ kết cấu thật Ảnh: Sơ đồ của Viện Tin học Xây dựng

Tệp mở chậm, kéo chuột giật, gửi qua mạng thì nặng. Câu hỏi làm nhẹ bản vẽ CAD thường được trả lời bằng những mẹo truyền miệng, trong khi AutoCAD có sẵn ba lệnh làm đúng việc ấy.

Bài này chạy cả ba trên một bản vẽ mặt bằng kết cấu đang dùng thật tại Viện và đo lại từng con số. Muốn học trọn cách chuẩn hoá hồ sơ thì xem khóa AutoCAD Xây Dựng.

Bản vẽ nặng vì hai thứ khác nhau

Trước khi dọn phải biết mình dọn cái gì. Một tệp DWG nặng vì hai nhóm hoàn toàn khác nhau.

Nhóm thứ nhất là đối tượng hình học: nét, chữ, kích thước, mảng tô. Đây là phần nhìn thấy được.

Nhóm thứ hai là các bảng định nghĩa: lớp, khối, kiểu chữ, kiểu kích thước, kiểu nét. Phần này không nhìn thấy, nằm lặng lẽ trong tệp, và thường là phần phình to nhất sau nhiều lần chép qua chép lại.

Ba lệnh dưới đây mỗi lệnh đánh vào một chỗ.

LệnhDọn cái gì
PURGEcác định nghĩa không còn ai dùng
OVERKILLnét trùng nhau và nét chồng lên nhau
AUDITlỗi cấu trúc bên trong tệp

Lệnh PU trong CAD dọn được bao nhiêu

PU là vào PURGE. Trang PURGE của Autodesk mô tả lệnh purge trong cad bằng một câu: "Removes unused items, such as block definitions and layers, from the drawing." Chúng tôi chạy bản dòng lệnh của nó, -PURGE, với lựa chọn dọn hết và không hỏi lại từng cái, rồi đếm lại các bảng định nghĩa.

Trước và sau khi dọn Ảnh: Số lượng các bảng định nghĩa trước và sau khi chạy -PURGE trên một bản vẽ kết cấu đang dùng thật
Bảng định nghĩaTrướcSauDọn được
Lớp301713
Khối55353518
Kiểu chữ19109
Kiểu kích thước624
Kiểu nét1055

Gần một nửa số lớp trong bản vẽ ấy không có đối tượng nào. Chúng tồn tại vì ai đó từng chép một cụm hình từ tệp khác sang, rồi xoá hình đi mà lớp thì ở lại.

Máy còn báo thêm vài dòng nữa, chép nguyên văn.

1 shape file deleted.

1 mlinestyle deleted.

4 groups deleted.

Và những dòng báo không có gì để dọn, cũng đáng đọc vì nó cho biết lệnh đã quét tới đâu.

No unreferenced plotstyles found.

No unreferenced multileader styles found.

OVERKILL: chỗ giấu nét thừa mà PURGE không đụng tới

PURGE chỉ dọn định nghĩa. Nét thừa nằm chồng lên nhau thì nó không thấy, vì mỗi nét ấy vẫn là một đối tượng hợp lệ.

Đó là việc của OVERKILL. Chúng tôi chạy nó ngay sau PURGE trên cùng bản vẽ, và máy báo:

11 duplicate(s) deleted

98 overlapping object(s) or segment(s) deleted

Đếm lại số đối tượng trong không gian mô hình: từ 5.237 xuống 5.169, tức là 68 đối tượng biến mất.

Con số 98 đoạn chồng nhau mới đáng nói. Đó không phải nét trùng khít mà là những nét nằm đè lên nhau một phần, thứ mà mắt thường không bao giờ thấy. Chúng sinh ra từ thói quen vẽ đè rồi cắt, hoặc từ việc chép một cụm hình vào đúng chỗ cũ.

Lệnh có một danh sách lựa chọn đáng đọc, chép nguyên văn từ dòng nhắc.

Enter an option to change [Done/Ignore/tOlerance/optimize Plines/combine parTial overlap/combine Endtoend/Associativity] <done>:

Lựa chọn tOlerance là chỗ nên cẩn thận. Đặt dung sai lớn thì lệnh gộp cả những nét chỉ gần giống nhau, và bản vẽ bị sửa theo cách bạn không muốn. Để mặc định là an toàn nhất.

Cách làm nhẹ bản vẽ CAD theo đúng thứ tự

Thứ tự quan trọng, vì mỗi lệnh dọn đường cho lệnh sau.

  1. AUDIT trước tiên, chọn sửa lỗi. Tệp có lỗi cấu trúc thì các lệnh sau chạy không đáng tin.
  2. OVERKILL tiếp theo, để xoá nét trùng và nét chồng.
  3. PURGE sau cùng, vì xoá nét xong có thể lại dôi ra thêm định nghĩa không ai dùng.
  4. PURGE lần nữa. Dọn khối lồng nhau thường phải hai lượt mới hết.
  5. Lưu bằng SAVEAS đè lên chính nó. Lưu thường chỉ ghi thêm phần thay đổi, còn SAVEAS viết lại cả tệp.

Bước cuối là bước nhiều người bỏ qua và cũng là bước làm dung lượng tụt rõ nhất. Cách lưu và hạ đời tệp nằm ở bài chuyển CAD đời cao về đời thấp. Còn cách dọn những lớp thừa mà bài này vừa đếm ra thì nằm ở bài layer trong CAD.

Khối không dọn được và cách tìm ra chúng

Có những khối chạy PURGE mãi vẫn ở lại. Trang trợ giúp của Autodesk có hẳn một mục hướng dẫn tìm chúng, nên đây không phải chuyện hiếm.

Ba lý do thường gặp, xếp theo mức hay gặp.

Lý do thứ nhất: khối đang được dùng ở chỗ bạn không nhìn thấy. Một khối nằm trên lớp đang tắt, hoặc nằm trong một layout mà bạn không mở tới, vẫn tính là đang dùng.

Lý do thứ hai: khối lồng trong khối khác. Khối A không ai dùng, nhưng bên trong khối A có khối B. Chạy lượt đầu xoá A, lượt sau mới tới lượt B. Đây chính là lý do phải chạy PURGE hai lượt.

Lý do thứ ba: khối bị khoá bởi một đối tượng đặc biệt. Kiểu kích thước, kiểu đường dẫn, hay một bảng đều có thể đang trỏ vào khối ấy làm ký hiệu mũi tên hay ký hiệu đầu.

Cách dò nhanh nhất là dùng bảng liệt kê khối rồi so với danh sách khối còn lại sau khi dọn. Khối nào còn mà bạn không biết nó ở đâu thì dùng bộ lọc tìm theo tên khối để xem nó đang nằm chỗ nào.

Những thứ làm bản vẽ nặng mà ba lệnh trên không dọn nổi

Chạy đủ ba lệnh mà tệp vẫn nặng thì nguyên nhân nằm ở chỗ khác. Bốn chỗ hay gặp nhất.

Ảnh chèn vào. Một ảnh chụp công trình chèn thẳng vào bản vẽ có thể nặng gấp nhiều lần phần hình vẽ. Kiểm bằng cách mở bảng quản lý tham chiếu ngoài.

Mảng tô quá dày. Một vùng tô với bước gạch nhỏ trên diện rộng sinh ra rất nhiều nét. Tăng bước gạch lên là nhẹ ngay.

Đường cong nhiều đỉnh. Đường đa tuyến số hoá từ ảnh quét thường có hàng nghìn đỉnh cho một đường cong trơn. Dùng lệnh giản lược đỉnh là bớt được nhiều.

Dữ liệu ứng dụng bám theo. Tệp đi qua các phần mềm kết cấu hay hạ tầng thường mang theo dữ liệu riêng của chúng. Lệnh PURGE bản mới có mục dọn dữ liệu không dùng, nhưng không phải lúc nào cũng dọn sạch được.

Dọn xong có mất gì không

Câu hỏi ai cũng lo. Phép đo ở trên trả lời khá rõ: số đối tượng trong không gian mô hình chỉ giảm 9 sau PURGE, trong khi số định nghĩa giảm hàng chục.

Chín đối tượng ấy chính là các nhóm rỗng bị xoá. Không một nét hình học nào của bản vẽ bị đụng tới, vì PURGE theo định nghĩa chỉ xoá thứ không còn ai dùng.

OVERKILL thì khác, và đây là chỗ phải cẩn thận. Nó xoá nét thật, dù là nét thừa. Trước khi chạy nó trên hồ sơ quan trọng, hãy chép ra một bản sao.

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

Điều hay ngheThực tế đo trên bản 2027
Chạy PURGE một lần là sạchKhối lồng nhau thường phải hai lượt; bản vẽ đo được còn dọn tiếp ở lượt sau
PURGE xoá mất nét của bản vẽSố đối tượng chỉ giảm 9, và đó là các nhóm rỗng
Bản vẽ nặng là do nhiều nét quáBản đo được có 30 lớp mà 13 lớp rỗng; phần không nhìn thấy mới là chỗ phình

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

Lệnh pu trong CAD là lệnh gì?

Là lệnh tắt của PURGE, lệnh dọn các định nghĩa không còn đối tượng nào dùng tới.

Làm nhẹ file CAD nên chạy lệnh nào trước?

AUDIT trước để sửa lỗi cấu trúc, rồi OVERKILL, rồi PURGE hai lượt, cuối cùng lưu lại bằng SAVEAS.

Chạy PURGE có mất bản vẽ không?

Không. Trên bản vẽ chúng tôi đo, số đối tượng hình học gần như không đổi; thứ bị xoá là định nghĩa rỗng và nhóm rỗng.

Giảm dung lượng file CAD mà vẫn nặng thì vì sao?

Kiểm bốn chỗ: ảnh chèn vào, mảng tô quá dày, đường cong nhiều đỉnh, và dữ liệu do phần mềm khác để lại.

OVERKILL có an toàn không?

Nó xoá nét thật nên hãy chép ra bản sao trước. Giữ dung sai ở giá trị mặc định, vì đặt lớn thì lệnh gộp cả những nét chỉ gần giống nhau.

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