AutoCAD – Bản vẽ

Lệnh field trong CAD: con số trên bản vẽ tự đổi theo hình, khỏi gõ lại

Lệnh field trong CAD gắn con số vào chính hình vẽ, sửa hình là chữ tự đổi. Bài đo diện tích đổi 3 triệu thành 4,5 triệu mà không gõ lại một chữ.

  • TS. Đỗ Quốc Hoàng
  • 8 phút đọc
Đổi đa tuyến từ 2000×1500 sang 3000×1500, ô chữ tự đổi từ 3.000.000 sang 4.500.000 Ảnh: Sơ đồ của Viện Tin học Xây dựng

Bảng diện tích phòng trên mặt bằng là chỗ sai nhiều nhất trong cả bộ hồ sơ. Không phải vì ai tính sai, mà vì mặt bằng đổi mà bảng thì quên đổi. Kiến trúc dịch một bức tường 200, diện tích phòng đổi, bảng vẫn giữ con số cũ, và nó đi thẳng vào dự toán.

Lệnh field trong CAD cắt đứt chuỗi ấy: nó gắn con số trên bản vẽ vào chính hình vẽ, nên sửa hình là chữ tự đổi. Bài này đo hẳn một lần để thấy nó đổi thật. Muốn học trọn cách trình bày và thống kê từ bản vẽ thì xem khóa AutoCAD Xây Dựng.

Trường dữ liệu trong CAD là gì

Một dòng chữ bình thường chứa ký tự chết: bạn gõ 3000000 thì nó là ba triệu mãi mãi, dù hình bên cạnh có đổi thế nào.

Một trường dữ liệu trong CAD thì khác. Nó không chứa con số, nó chứa một câu hỏi: "diện tích của đa tuyến kia là bao nhiêu". Mỗi lần bản vẽ vẽ lại màn hình, máy hỏi lại câu ấy và in ra câu trả lời mới nhất.

Trường hỏi được nhiều thứ, không riêng diện tích:

NhómVí dụ hay dùng trong xây dựng
Thuộc tính đối tượngdiện tích, chu vi, chiều dài, bán kính, toạ độ
Thông tin bản vẽtên tệp, đường dẫn, ngày sửa gần nhất, người sửa
Thông tin tờ insố tờ, tổng số tờ, tên khung nhìn
Biến hệ thốngtỉ lệ in, đơn vị, giá trị của một biến bất kỳ

Nhóm thứ ba là chỗ tiết kiệm nhất khi làm hồ sơ nhiều tờ: số tờ trong khung tên tự chạy, khỏi sửa tay khi chèn thêm một tờ giữa bộ.

Cách gọi lệnh field trong CAD

Đường vàoDùng gì
Lệnh đầy đủFIELD
Lệnh tắtkhông có
Trong lúc gõ chữbấm chuột phải trong ô soạn chữ rồi chọn Insert Field
Phím tắt trong ô chữCtrl + F

Cách hay dùng nhất là cách thứ ba: đang gõ ghi chú thì chèn luôn một trường vào giữa câu, kiểu Diện tích: <trường> m². Chữ và ô soạn chữ có trong bài chữ trong CAD.

Đo một lần cho chắc: con số có tự đổi không

Đây là phép thử đáng làm trước khi tin vào bất cứ cơ chế tự động nào.

Vẽ một đa tuyến kín 2000 × 1500, diện tích tính tay là 3.000.000. Đặt cạnh nó một ô chữ mang trường diện tích của chính đa tuyến ấy.

Đo cái gìGiá trị
Diện tích tính tay3.000.000
Diện tích máy đọc trên đa tuyến3.000.000
Ô chữ mang trường hiện raS = 3000000

Khớp. Bây giờ kéo đa tuyến rộng thêm 1000, thành 3000 × 1500, tức diện tích phải là 4.500.000. Không đụng gì tới ô chữ. Vẽ lại màn hình rồi đọc:

Đo cái gìGiá trị
Diện tích tính tay sau khi kéo4.500.000
Ô chữ mang trường hiện raS = 4500000
Số lần phải gõ lại con số0

Con số tự đổi. Đây chính là thứ làm bảng diện tích không bao giờ lệch với mặt bằng nữa.

Trường tự cập nhật Ảnh: Đổi đa tuyến từ 2000×1500 sang 3000×1500, ô chữ tự đổi từ 3.000.000 sang 4.500.000

Khi hình gốc bị xoá: dấu thăng

Câu hỏi tiếp theo phải hỏi: nếu ai đó xoá mất đa tuyến thì con số cũ có nằm lại đánh lừa người đọc không?

Xoá đa tuyến rồi vẽ lại màn hình, ô chữ hiện ra:

S = #######

Dấu thăng, không phải con số cũ. Đó là điều đáng mừng: trường mất đối tượng gốc thì báo ngay bằng mắt thường, chứ không lặng lẽ giữ giá trị cũ. Trên một bộ hồ sơ, một hàng dấu thăng dễ thấy hơn nhiều so với một con số đúng định dạng nhưng đã lỗi thời.

Cách chữa: hoặc dựng lại hình rồi gắn trường vào hình mới, hoặc sửa ô chữ thành chữ thường nếu con số ấy không còn nguồn.

Diện tích tự cập nhật trong hồ sơ thật

Ba chỗ dùng đáng công nhất, theo thứ tự hay gặp.

Bảng diện tích phòng. Mỗi phòng một đa tuyến kín trên lớp riêng, mỗi ô diện tích là một trường trỏ vào đa tuyến ấy. Kiến trúc dịch tường, bảng tự chạy theo. Cách lấy diện tích bằng lệnh có trong bài tính diện tích trong CAD.

Khung tên. Số tờ, tổng số tờ, tên tệp, ngày in. Bốn ô này sửa tay là bốn chỗ quên.

Ghi chú chiều dài. Đường ống, tim đường, hàng rào — gắn trường chiều dài vào chính đường ấy thì kéo dài đường là con số đổi theo.

Có một chỗ nữa đáng cân nhắc, và nó quyết định bộ hồ sơ sạch hay rối: đặt đa tuyến nguồn lên một lớp riêng rồi tắt lớp ấy khi in. Diện tích tự cập nhật chỉ đáng tin khi mỗi phòng có đúng một đường bao kín, mà đường bao ấy thì không cần hiện trên bản in. Một lớp riêng cho chúng giải quyết cả hai việc cùng lúc, và người sau mở bản vẽ ra là hiểu ngay cơ chế. Quản lý lớp có trong bài layer trong CAD.

Điểm chung: trường chỉ đáng dùng khi hình là nguồn sự thật. Nếu con số đến từ chỗ khác, ví dụ tính tay theo tiêu chuẩn, thì đừng gắn trường — gắn vào là con số sai theo hình.

Lệnh dataextraction trong CAD: rút cả bảng ra một lượt

Trường giải bài toán một con số. Khi cần cả một bảng — đếm block, liệt kê thuộc tính, cộng diện tích hàng loạt — thì có lệnh khác.

LệnhLệnh tắtViệc nó làm
DATAEXTRACTIONDXRút thuộc tính của hàng loạt đối tượng thành bảng
DATALINKDLGắn một bảng trong bản vẽ với một tệp Excel

DATAEXTRACTION chạy theo từng bước hỏi đáp: chọn nguồn, chọn loại đối tượng, chọn thuộc tính cần lấy, rồi chọn đưa kết quả vào bảng trên bản vẽ hay ghi ra tệp ngoài. Kết quả là một bảng thật trong AutoCAD chứ không phải chữ rời.

Lệnh DATALINK trong CAD đi chiều ngược lại. Tài liệu Autodesk ghi: "A table can be linked to data in a Microsoft Excel (XLS, XLSX, or CSV) file." Sửa tệp Excel rồi cập nhật thì bảng trên bản vẽ đổi theo.

Ba lệnh này đều là công cụ sẵn có của bản 2027, không phải tiện ích bên ngoài. Người tìm hay gõ theo tên tiếng Anh — field autocad, dataextraction, datalink — nhưng cả ba đều gõ thẳng ở dòng lệnh là ra.

Ba công cụ, ba hướng dữ liệu khác nhau: trường lấy số từ hình, rút bảng lấy số từ nhiều đối tượng, liên kết dữ liệu lấy số từ tệp ngoài. Việc đưa toạ độ từ Excel vào bản vẽ có trong bài nhập toạ độ từ Excel.

Mấy điều hay nghe nhưng không đúng

Người ta hay nóiThực tế đo được
Trường chỉ ghi được tên tệp và ngày thángGhi được cả diện tích, chu vi, chiều dài, toạ độ của một hình cụ thể
Sửa hình xong phải gõ lại con sốĐổi 2000 × 1500 thành 3000 × 1500, ô chữ tự đổi, gõ lại 0 lần
Xoá hình thì trường giữ số cũNó hiện dấu thăng #######
FIELD có lệnh tắtKhông có; trong ô soạn chữ thì bấm Ctrl + F
Trường và bảng Excel là một thứTrường lấy số từ hình, DATALINK lấy số từ tệp Excel

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

Chèn trường vào giữa một dòng ghi chú thế nào?

Đang gõ chữ thì bấm Ctrl + F, hoặc chuột phải chọn Insert Field. Trường nằm lẫn trong câu như một từ bình thường.

Con số không đổi sau khi tôi sửa hình?

Vẽ lại màn hình. Trường lấy giá trị mới khi bản vẽ vẽ lại, không đổi ngay từng giây.

Ô chữ hiện toàn dấu thăng là sao?

Trường mất đối tượng gốc, thường vì hình đã bị xoá. Gắn lại vào hình mới, hoặc đổi thành chữ thường.

Trường có in ra giấy không?

Có, in ra đúng giá trị đang hiện. Nền xám bạn thấy trên màn hình chỉ là dấu hiệu để nhận ra trường, nó không in.

Muốn cả một bảng chứ không phải một con số?

Dùng DATAEXTRACTION, gõ tắt DX. Nó rút thuộc tính của hàng loạt đối tượng thành bảng.

Bảng đã làm sẵn trong Excel thì sao?

Dùng DATALINK, gõ tắt DL. Bảng trong bản vẽ gắn với tệp Excel và cập nhật theo nó.

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