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ệnh | Dọn cái gì |
|---|---|
PURGE | các định nghĩa không còn ai dùng |
OVERKILL | nét trùng nhau và nét chồng lên nhau |
AUDIT | lỗi cấu trúc bên trong tệp |
Lệnh PU trong CAD dọn được bao nhiêu
Gõ 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.
| Bảng định nghĩa | Trước | Sau | Dọn được |
|---|---|---|---|
| Lớp | 30 | 17 | 13 |
| Khối | 553 | 535 | 18 |
| Kiểu chữ | 19 | 10 | 9 |
| Kiểu kích thước | 6 | 2 | 4 |
| Kiểu nét | 10 | 5 | 5 |
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.
AUDITtrướ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.OVERKILLtiếp theo, để xoá nét trùng và nét chồng.PURGEsau cùng, vì xoá nét xong có thể lại dôi ra thêm định nghĩa không ai dùng.PURGElần nữa. Dọn khối lồng nhau thường phải hai lượt mới hết.- Lưu bằng
SAVEASđè lên chính nó. Lưu thường chỉ ghi thêm phần thay đổi, cònSAVEASviế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 nghe | Thực tế đo trên bản 2027 |
|---|---|
Chạy PURGE một lần là sạch | Khố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.