BIM

Sửa text hàng loạt trong CAD: một lệnh đổi 551 dòng chữ

Sửa text hàng loạt trong CAD không phải là ngồi bấm từng dòng. Bài đo một lệnh đổi phông cho cả 551 dòng chữ mà không đụng vào đối tượng nào.

  • TS. Đỗ Quốc Hoàng
  • 8 phút đọc
Sáu dòng chữ cùng một kiểu chữ, đổi phông cho cả sáu bằng đúng một lệnh Ảnh: Ảnh chụp trên AutoCAD 2027 tại Viện

Hồ sơ đổi tên công trình, đổi mã hiệu, đổi phông chữ cho đúng quy định. Người vẽ mở bản vẽ ra và bấm đúp vào từng dòng chữ. Một buổi trôi qua.

Sửa text hàng loạt trong CAD có ba công cụ làm việc ấy trong vài giây, và bài này đo cả ba trên AutoCAD 2027 tại Viện. Muốn học trọn phần chữ và bảng biểu thì xem khóa AutoCAD Xây Dựng.

Một bản vẽ thật có bao nhiêu dòng chữ

Trước khi bàn công cụ, hãy nhìn con số. Chúng tôi đếm toàn bộ chữ trong một bản vẽ mặt bằng kết cấu thật đang dùng ở Viện:

Kiểu chữSố dòng chữ
RMS551
ROMANS376
VN144
TU-195
TRUNG48
STANDARD14
Tổng1.333

Một nghìn ba trăm dòng trong một bản vẽ. Bấm đúp từng dòng, mỗi dòng ba giây, là hơn một tiếng đồng hồ không nghỉ. Đó là lý do phải biết ba công cụ dưới đây.

Thay đổi font chữ hàng loạt trong CAD chỉ mất một lệnh

Đây là chỗ hiểu nhầm phổ biến nhất. Phông chữ không nằm trên từng dòng chữ; nó nằm trên kiểu chữ. Đổi phông của kiểu là mọi dòng chữ dùng kiểu ấy đổi theo, ngay lập tức.

Chúng tôi đo hẳn trên bản vẽ ở trên. Kiểu RMS đang dùng phông romans.shx kèm bigfont vns.shx. Chạy một lệnh -STYLE đổi phông sang simplex.shx, rồi đọc lại:

Phép đoKết quả
Phông của kiểu RMS trướcromans.shx, bigfont vns.shx
Phông sau một lệnh -STYLEsimplex.shx
Số dòng chữ đổi theo551
Mã kiểu chữ ghi trên từng đối tượngvẫn là RMS, không đổi

Dòng cuối là dòng quan trọng nhất. Không một đối tượng chữ nào bị sửa. Chúng vẫn trỏ về kiểu RMS như cũ; chỉ có định nghĩa của kiểu ấy là khác đi.

Đổi phông cho cả sáu dòng bằng một lệnh Ảnh: Sáu dòng chữ cùng dùng một kiểu chữ. Trái là phông romans.shx, phải là sau một lệnh -STYLE đổi sang italicc.shx. Không đối tượng nào bị chọn hay bị sửa

Dòng nhắc của lệnh, chép nguyên văn từ bản 2027.

Enter name of text style or [?] <TU-1>:

Specify font name or font filename (for SHX) <romans.shx,vns.shx>:

Specify height of text or [Annotative] <0.0>:

Trả lời hai câu đầu rồi nhấn Enter cho hết các câu sau là xong. Cả bản vẽ đổi phông.

Lệnh tìm kiếm trong CAD: FIND làm cả tìm lẫn thay

Khi phải đổi nội dung chứ không phải phông, công cụ là FIND. Trang FIND của Autodesk mô tả bằng một câu: "Finds the text that you specify, and can optionally replace it with other text."

Chữ đáng chú ý là optionally. Nhiều người chỉ dùng nó để tìm, không biết nó thay được. Trong dân vẽ ở ta, lệnh find trong cad thường bị nhắc tới như một công cụ tra chữ, trong khi nửa sức mạnh của nó nằm ở ô thay thế.

Cách làm gọn nhất cho việc đổi tên công trình trên cả tập hồ sơ:

  1. FIND rồi Enter.
  2. Ô trên điền chuỗi cần tìm, ô dưới điền chuỗi thay thế.
  3. Chọn phạm vi là cả bản vẽ.
  4. Bấm nút thay tất cả.

Điểm mạnh của nó so với việc bấm từng dòng là nó tìm được cả những chỗ bạn không nghĩ tới: chữ trong thuộc tính của khối, chữ trong bảng, chữ ghi đè trên kích thước. Những chỗ ấy bấm đúp không ra, hoặc ra rồi lại quên.

Một mẹo nhỏ đáng nhớ: lệnh thay thế trong CAD không phân biệt hoa thường trừ khi bạn tích ô phân biệt. Đổi mã hiệu mà quên tích ô ấy là dễ thay nhầm.

QSELECT: chọn đúng nhóm chữ cần sửa rồi sửa một lần

FIND đổi nội dung, -STYLE đổi phông. Còn đổi chiều cao, lớp, màu hay kiểu chữ cho một nhóm thì dùng QSELECT cộng với bảng Properties.

Trình tự bốn bước:

  1. QSELECT.
  2. Chọn loại đối tượng là Text hoặc Mtext.
  3. Thêm điều kiện lọc, ví dụ kiểu chữ bằng RMS, hoặc lớp bằng TEXT.
  4. Bấm đồng ý, cả nhóm được chọn; mở Properties rồi sửa một ô là cả nhóm đổi.

Cách này mạnh ở chỗ điều kiện lọc rất linh hoạt. Lọc theo chiều cao chữ để tìm những dòng bị đặt sai cỡ, lọc theo lớp để dọn chữ bị vẽ nhầm lớp, lọc theo màu để tìm chữ bị đặt màu cứng thay vì theo lớp.

Với bản vẽ 1.333 dòng chữ ở trên, lọc theo kiểu chữ cho ra đúng 551 đối tượng trong chưa tới một giây. Chúng tôi đo bằng cách chọn theo bộ lọc và đếm lại.

Ba công cụ, ba việc khác nhau

Chọn nhầm công cụ là mất thời gian nhất, nên bảng này đáng nhớ.

Muốn đổiDùngGhi chú
Nội dung chữFINDtìm được cả chữ trong khối và trong bảng
Phông chữ-STYLEmột lệnh cho mọi dòng dùng kiểu ấy
Cỡ chữ, lớp, màu, kiểuQSELECT rồi Propertieslọc được theo nhiều điều kiện
Sửa từng dòng theo thứ tựTEXTEDIT lựa chọn Multiplebấm lần lượt, không phải gọi lại lệnh

Dòng cuối ít người biết. Lệnh TEXTEDIT có lựa chọn cho phép bấm hết dòng này tới dòng khác mà không thoát lệnh, tiện khi nội dung mỗi dòng mỗi khác nên không tự động hoá được.

Cái bẫy phông chữ tiếng Việt khi đổi hàng loạt

Đổi phông cho cả bản vẽ là việc nhanh, nhưng với bản vẽ tiếng Việt thì có một cái bẫy.

Kiểu RMS trong bản vẽ chúng tôi đo dùng romans.shx kèm bigfont vns.shx. Cái bigfont ấy chính là thứ làm chữ tiếng Việt hiện đúng theo bảng mã cũ. Đổi phông mà quên khai lại bigfont là mọi dấu tiếng Việt biến mất.

Dòng nhắc có gợi ý sẵn cả cặp, ngay trong ngoặc nhọn:

Specify font name or font filename (for SHX) <romans.shx,vns.shx>:

Dấu phẩy giữa hai tên chính là cách khai cặp phông kèm bigfont. Muốn đổi phông chính mà giữ bigfont thì gõ cả hai, ngăn bằng dấu phẩy. Chuyện phông chữ tiếng Việt trong AutoCAD chúng tôi đo kỹ ở bài lisp xuất toạ độ, trong đó có kết quả thử toàn bộ 41 phông .shx Unicode đi kèm phần mềm.

Trước khi thay hàng loạt, hãy thử trên một bản sao

Thay hàng loạt nhanh bao nhiêu thì sai hàng loạt cũng nhanh bấy nhiêu. Ba thói quen dưới đây tốn vài giây mà tránh được cả buổi làm lại.

Thói quen thứ nhất: tìm trước, thay sau. Bấm nút tìm để xem danh sách kết quả trước khi bấm thay tất cả. Số kết quả lớn hơn nhiều so với dự đoán là dấu hiệu chuỗi tìm quá ngắn.

Thói quen thứ hai: chuỗi tìm càng dài càng an toàn. Đổi mã hiệu C1 thành C1a mà gõ đúng hai chữ C1 thì mọi chỗ có C1 đều dính, kể cả C12C15. Gõ cả cụm dài hơn, ví dụ COT C1 , thì an toàn hơn hẳn.

Thói quen thứ ba: kiểm ngay sau khi thay. Thay xong thì soát lại luôn, đừng làm việc khác rồi mới soát. Càng nhiều thao tác xen vào giữa thì việc lần ngược bằng hoàn tác càng rối, và có những chỗ sai chỉ lộ ra khi đọc lại cả bản vẽ.

Với hồ sơ nhiều tệp, cách chắc chắn nhất vẫn là chép cả thư mục ra một bản sao rồi thay trên bản sao. Cách hạ đời và sao lưu tệp hàng loạt nằm ở bài chuyển CAD đời cao về đời thấp.

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

Điều hay ngheThực tế đo trên bản 2027
Muốn đổi phông thì phải chọn hết chữ rồi sửaĐổi phông của kiểu chữ là xong; 551 dòng đổi mà không dòng nào bị chọn
FIND chỉ tìm được, không thay đượcAutodesk ghi rõ "can optionally replace it with other text"
Chữ trong khối thì phải phá khối mới sửa đượcFIND đọc được cả giá trị thuộc tính trong khối

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

Sửa text hàng loạt trong CAD bằng lệnh nào?

Tuỳ thứ cần đổi. Nội dung thì FIND, phông thì -STYLE, còn cỡ chữ và lớp thì QSELECT rồi sửa trong Properties.

Thay đổi font chữ hàng loạt trong CAD có làm hỏng chữ không?

Không. Chúng tôi đọc lại mã kiểu chữ trên từng đối tượng sau khi đổi và vẫn là RMS như cũ. Chỉ định nghĩa của kiểu thay đổi.

Đổi phông xong mất hết dấu tiếng Việt thì sửa thế nào?

Khai lại cặp phông kèm bigfont, ngăn bằng dấu phẩy, ví dụ romans.shx,vns.shx ngay ở câu hỏi tên phông.

Tìm kiếm trong CAD có tìm được chữ trong khối không?

Có. Đó chính là điểm mạnh của FIND so với việc bấm đúp từng dòng.

Làm sao chọn riêng những dòng chữ đặt sai cỡ?

QSELECT, chọn loại đối tượng là Text, thêm điều kiện chiều cao bằng giá trị sai, rồi sửa cả nhóm trong Properties.

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