Ký hiệu tên phòng, số trục, cao độ, khung tên: những khối lặp lại hàng trăm lần trên bộ bản vẽ, mỗi lần một nội dung khác. Vẽ mỗi cái một khối riêng thì quá nhiều; dùng một khối rồi phá ra sửa chữ thì mất tính đồng bộ. Block thuộc tính trong CAD giải quyết việc ấy: khối giữ hình cố định, còn chữ là một ô "thuộc tính" được điền mỗi lần chèn.
Bài này đi qua cách tạo thuộc tính bằng ATTDEF, gom vào khối, chèn khối có hỏi giá trị, và cái bẫy khi phá khối, trên AutoCAD 2027. Cuối bài có tệp thư viện ba khối thuộc tính mẫu để tải về dùng ngay. Sửa giá trị và định nghĩa thuộc tính của khối có sẵn có ở bài sửa block trong CAD. Muốn học bài bản về khối và chuẩn hoá bản vẽ, Viện có khoá AutoCAD nâng cao.
Lệnh attdef trong CAD: tạo một ô thuộc tính
ATTDEF mở hộp thoại; bản dòng lệnh -ATTDEF hỏi lần lượt, chép nguyên văn trên bản 2027:
| Bước | Máy hỏi | Ví dụ trả lời |
|---|---|---|
| 1 | Enter an option to change [Invisible/Constant/Verify/Preset/Lock position/Annotative/Multiple lines] <done>: | Enter giữ chế độ mặc định |
| 2 | Enter attribute tag name: | TEN_PHONG, tên thẻ, không dấu cách |
| 3 | Enter attribute prompt: | Ten phong, câu máy sẽ hỏi khi chèn |
| 4 | Enter default attribute value: | PHONG, giá trị mặc định |
| 5 | Specify start point of text or [Justify/Style]: | J, MC, rồi điểm giữa |
| 6 | Specify height, Specify rotation angle of text | 250, 0 |
Trước bước 1, máy in các chế độ đang dùng: Invisible=N Constant=N Verify=N Preset=N Lock position=Y Annotative=N Multiple line=N. Kết quả là một đối tượng AttributeDefinition hiện chữ TEN_PHONG trên màn hình. Tài liệu Autodesk về ATTDEF mô tả thuộc tính là đối tượng được đưa vào định nghĩa khối để lưu dữ liệu như mã hiệu hay tên sản phẩm.
Dòng chế độ ấy đáng đọc một lần. Chữ N sau Invisible nghĩa là thuộc tính hiện trên bản vẽ; Constant=N nghĩa là giá trị được nhập mỗi lần chèn chứ không cố định; Lock position=Y nghĩa là chữ thuộc tính nằm yên tại chỗ trong khối. Muốn đổi chế độ nào thì gõ chữ cái viết hoa của nó ở bước 1, ví dụ I cho Invisible, trước khi nhấn Enter để sang bước đặt tên thẻ. Với khối tên phòng, số trục, cao độ, giữ nguyên các chế độ mặc định là đủ.
Ba khái niệm dễ lẫn:
| Thành phần | Ví dụ | Vai trò |
|---|---|---|
| Tag (thẻ) | TEN_PHONG | Tên nội bộ, dùng để trích xuất dữ liệu |
| Prompt (câu hỏi) | Ten phong | Câu hiện ra khi chèn khối |
| Default (mặc định) | PHONG | Giá trị dùng nếu không nhập gì |
Cách tạo block attribute trong CAD
Vẽ hình, đặt thuộc tính, rồi gom cả hai thành khối:
- Vẽ khung tên phòng bằng
RECTANG3000 × 1000. - Tạo thuộc tính bằng
-ATTDEFnhư bảng trên, đặt chữ ở giữa khung. - Gõ
-BLOCK, đặt tênO_PHONG, chọn điểm gốc, chọn cả khung lẫn thuộc tính.
Ở bước 3, dòng lệnh báo Current settings: Object conversion=Convert: các đối tượng gốc được thay ngay bằng một bản chèn của khối vừa tạo, số đối tượng từ 2 thành 1. Chế độ này làm AutoCAD mở hộp Edit Attributes để hỏi giá trị cho bản chèn ấy. Nếu không muốn giữ lại bản chèn ở chỗ cũ, đổi chế độ bằng lựa chọn mOde ngay trong lệnh.
Chèn khối: ATTREQ quyết định có hỏi hay không
Chèn khối O_PHONG bằng -INSERT. Máy có hỏi giá trị thuộc tính hay không tuỳ biến ATTREQ:
| ATTREQ | Máy hỏi | Giá trị bản chèn |
|---|---|---|
| 1 | Enter attribute values rồi Ten phong <PHONG>: | Giá trị bạn gõ, ví dụ KHACH |
| 0 | Không hỏi gì | Giá trị mặc định PHONG |
Trên máy dùng cho bài này, ATTREQ đang bằng 0, nghĩa là chèn khối thuộc tính mà máy im lặng lấy giá trị mặc định. Chèn xong mới thấy mọi phòng đều tên "PHONG". Nếu gặp tình trạng ấy, gõ ATTREQ và đặt về 1. Với ATTDIA bằng 0 như trên máy này, câu hỏi hiện ngay trên dòng lệnh, như bảng trên.
Cách phá block attribute trong CAD: EXPLODE hay BURST
Bản chèn O_PHONG có giá trị NGU 1. Phá khối bằng hai lệnh khác nhau:
| Lệnh | Còn lại sau khi phá | Chữ hiện ra |
|---|---|---|
EXPLODE | Khung + một AttributeDefinition | TEN_PHONG, tên thẻ; giá trị NGU 1 mất |
BURST (Express Tools) | Khung + một Text | NGU 1, giữ đúng giá trị |
Đây là cái bẫy lớn nhất: EXPLODE trả thuộc tính về dạng định nghĩa, nên trên bản vẽ hiện tên thẻ thay cho nội dung. Một mặt bằng có hai mươi phòng, phá bằng EXPLODE, là hai mươi chữ TEN_PHONG giống hệt nhau. Muốn phá khối mà giữ chữ, dùng BURST của bộ Express Tools.
Thư viện block thuộc tính trong CAD: tải về dùng ngay
Viện chuẩn bị sẵn một tệp gồm ba khối thuộc tính hay dùng trên bản vẽ kiến trúc, kết cấu, đều dùng kiểu chữ Arial để gõ được tiếng Việt có dấu. Nội dung từng khối như bảng dưới.
| Khối | Thuộc tính (thẻ · câu hỏi · mặc định) |
|---|---|
TEN_PHONG | TEN · Tên phòng · PHÒNG; DIEN_TICH · Diện tích (m2) · 0.00 |
TRUC | SO_TRUC · Số trục · A |
CAO_DO | CAO_DO · Cao độ · +0.000 |
Trong tệp đã chèn sẵn mỗi khối một bản mẫu: phòng khách 18.50 m², trục 1, cao độ +3.600, như ảnh đầu bài. Để dùng trong bản vẽ của bạn, mở tệp, sao chép bản mẫu sang bản vẽ đang làm. Định nghĩa khối đi theo bản chèn: bản vẽ nhận có ngay khối TEN_PHONG với đủ hai thuộc tính, và bản chèn giữ nguyên giá trị PHÒNG KHÁCH, 18.50. Tệp lưu định dạng AutoCAD 2018 nên mở được trên các bản từ 2018 trở đi.
Dữ liệu trong các thuộc tính trích ra bảng được, cách làm có ở bài xuất CAD sang Excel.
Đánh tên cho cả mặt bằng: thứ tự làm
Gộp các kết quả trên, đây là thứ tự để ghi tên và diện tích cho mọi phòng trên một mặt bằng:
- Gõ
ATTREQ, đặt bằng 1, để mỗi lần chèn máy hỏi giá trị. - Mở tệp thư viện, sao chép một bản
TEN_PHONGsang mặt bằng; định nghĩa khối có sẵn từ đây. - Gõ
-INSERT, tênTEN_PHONG, bấm vào giữa từng phòng. Máy hỏiTên phòng, rồiDiện tích (m2); gõ giá trị cho từng phòng. - Diện tích lấy từ đường bao phòng, cách làm có ở bài lệnh boundary trong CAD.
- Tuyệt đối không phá khối bằng
EXPLODEsau khi đã điền. Nếu buộc phải phá, dùngBURST. - Xong, trích toàn bộ tên và diện tích ra bảng tính để lập bảng thống kê phòng.
Làm theo cách này, bảng thống kê phòng lấy thẳng từ bản vẽ, không phải gõ lại bằng tay, và sửa tên một phòng trên bản vẽ là bảng thống kê lần sau cũng đúng theo.
Ba điều hay nghe nhưng không đúng
| Hay nghe | Thực tế trên bản 2027 |
|---|---|
| Chèn khối thuộc tính thì máy luôn hỏi giá trị | Chỉ hỏi khi ATTREQ bằng 1 |
| EXPLODE giữ nguyên chữ của thuộc tính | Chữ hiện ra là tên thẻ; giá trị bị mất |
| Tạo khối xong thì hình gốc vẫn là nét rời | Chế độ Convert thay hình gốc bằng một bản chèn |
Câu hỏi thường gặp
Lệnh tạo thuộc tính cho block là gì?
ATTDEF, hoặc -ATTDEF cho bản dòng lệnh. Tạo thuộc tính trước, rồi gom cùng hình vào khối bằng BLOCK.
Vì sao chèn khối mà máy không hỏi giá trị?
Biến ATTREQ đang bằng 0. Đặt về 1.
Vì sao phá khối xong chữ biến thành tên thẻ?
EXPLODE trả thuộc tính về định nghĩa. Dùng BURST để giữ giá trị thành chữ thường.
Tag, Prompt, Default khác nhau thế nào?
Tag là tên nội bộ, Prompt là câu hỏi khi chèn, Default là giá trị dùng khi không nhập gì.
Có thư viện block thuộc tính sẵn không?
Có tệp mẫu ba khối ở mục tải về trong bài: tên phòng, số trục, cao độ. Tệp lưu định dạng AutoCAD 2018, sao chép bản mẫu sang bản vẽ của bạn là dùng được ngay.
Gõ tiếng Việt vào thuộc tính được không?
Được, nếu kiểu chữ của thuộc tính dùng font TrueType như Arial. Các khối trong tệp mẫu đã đặt sẵn kiểu chữ ấy.