BIM

Xuống dòng trong CAD: vì sao Enter có lúc tạo thêm đối tượng mới

Xuống dòng trong CAD bằng Enter chỉ đúng với một trong hai lệnh viết chữ. Bài đo bốn cách trên AutoCAD 2027 và chỉ cách nào giữ được một đối tượng.

  • TS. Đỗ Quốc Hoàng
  • 8 phút đọc
Ba cách xuống dòng của MTEXT đo trên AutoCAD 2027: bề rộng khung bằng 0, bề rộng 4000, và mã xuống đoạn Ảnh: Ảnh chụp trên AutoCAD 2027 tại Viện

Gõ một ghi chú hai dòng, bấm Enter giữa chừng, rồi phát hiện hai dòng ấy là hai vật riêng: chọn một cái thì cái kia không theo, dời một cái là bản vẽ lệch. Đó là lúc người dùng đi tìm cách xuống dòng trong CAD cho đúng.

Nguyên nhân không nằm ở phím Enter mà nằm ở lệnh bạn đã dùng để viết. Bài này đo bốn cách trên AutoCAD 2027 tại Viện. Muốn học trọn khâu ghi chú và trình bày bản vẽ thì xem khóa AutoCAD Xây Dựng.

Hai lệnh viết chữ, và chỉ một lệnh xuống dòng được

AutoCAD có hai lệnh viết chữ, và chúng khác nhau ở đúng chỗ này.

LệnhTắtMột đoạn nhiều dòng
MTEXTMT, Tđược, cả đoạn là một đối tượng
TEXTDT, DTEXTkhông, mỗi dòng là một đối tượng riêng

Chỗ khác nhau ấy không phải do cách cư xử tuỳ hứng của phần mềm mà nằm trong chính cấu trúc dữ liệu. Chúng tôi đọc một đối tượng TEXT vừa tạo ra: nó lưu đúng một chuỗi ở mã nhóm 1. Một ô chứa một chuỗi thì không có chỗ nào để nhét dòng thứ hai vào.

Vì thế, mỗi lần bạn bấm Enter trong lệnh TEXT, phần mềm buộc phải đóng đối tượng đang viết lại và mở một đối tượng mới. Nhìn trên màn hình thì giống hệt hai dòng của một đoạn, nhưng khi chọn mới lộ ra.

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

Đọc thẳng từ tệp giao diện acad.cuix của bản 2027 trên máy.

Lối vàoMTEXTTEXT
Lệnh tắtMT, TDT, DTEXT
RibbonAnnotate → Text → Multiline TextAnnotate → Text → Single Line Text
Menu cổ điểnDraw → Text → Multiline TextDraw → Text → Single Line Text
Thanh công cụDraw → Multiline TextText → Single Line Text

Tên tắt T đáng nhớ nhất, vì nó chỉ một phím. Nhiều người quen tay gõ DT từ đời cũ, và đó chính là chỗ sinh ra chuyện mỗi dòng một vật.

Xuống dòng text trong CAD: ba cách của MTEXT

Đã dùng MTEXT thì có ba cách, và cả ba đều cho ra một đối tượng.

Ba trường hợp đo được Ảnh: Cùng một câu ghi chú. Bề rộng khung bằng 0 cho một dòng dài; bề rộng 4000 thì chữ tự ngắt trong khung; mã xuống đoạn cho hai dòng rời hẳn

Cách thứ nhất là bấm Enter ngay trong ô soạn thảo. Đây là cách tự nhiên nhất và cũng là cách đúng.

Cách thứ hai là để chữ tự ngắt theo bề rộng khung. Kéo mũi tên trên thước ngang của ô soạn thảo cho khung rộng ra hay hẹp lại, chữ tự xuống dòng theo.

Cách thứ ba là gõ thẳng mã xuống đoạn, dùng cho những chỗ không có ô soạn thảo — nói kỹ ở mục dưới.

Bề rộng khung quyết định chỗ ngắt

Đây là chỗ đáng đo, vì nó giải thích hiện tượng "ghi chú chạy dài mãi không chịu xuống dòng".

Chúng tôi lấy cùng một câu dài, dựng hai đối tượng MTEXT chỉ khác nhau ở bề rộng khung, rồi đo khung bao của từng cái.

Bề rộng khungKhung bao đo đượcKết quả
017400 × 400một dòng dài, không ngắt ở đâu cả
40003000 × 3400tự ngắt thành nhiều dòng trong khung

Bề rộng bằng 0 nghĩa là không giới hạn, nên chữ chạy thẳng. Đó là giá trị bạn hay nhận được khi tạo MTEXT bằng cách bấm một điểm rồi gõ luôn, thay vì kéo một khung.

Chữa thì dễ: chọn đối tượng, mở bảng Properties, đặt một con số vào ô bề rộng. Hoặc kéo mũi tên trên thước của ô soạn thảo.

Chuyển text thành mtext trong CAD, và cái bẫy của lệnh gom

Bản vẽ nhận về đã lỡ có một mớ dòng TEXT rời thì có lệnh gom sẵn trong bộ Express Tools, tên là TXT2MTXT. Trên ribbon nó nằm ở Insert → Import → Combine Text, còn menu cổ điển là Express → Text → Convert Text.

Dòng nhắc chép nguyên văn từ bản 2027:

Select text objects to combine ...
Select objects or [SEttings]:

Chúng tôi dựng hai dòng TEXT nằm sát nhau rồi chạy lệnh. Máy báo:

2 Text objects removed, 1 MText object added.

Đúng một đối tượng MTEXT như mong đợi. Nhưng nội dung thì không như mong đợi. Đọc lại chuỗi bên trong, nó là:

Dong mot Dong hai

Hai dòng bị nối thành một dòng liền, ngăn nhau bằng một dấu cách, chứ không giữ thành hai dòng. Đây là chỗ người dùng hay trách lệnh làm hỏng ghi chú của mình.

Lý do nằm ở chỗ lệnh coi các dòng ấy là một đoạn văn bị ngắt ra, nên gom lại thì nó trả về đoạn liền mạch. Muốn giữ từng dòng thì vào lựa chọn SEttings trước khi chọn đối tượng, hoặc chấp nhận gom xong rồi tự đặt lại chỗ ngắt.

Nói thêm cho rõ một chỗ hay gây nhầm: chuyển text sang mtext trong cad và gom nhiều dòng lại là hai việc khác nhau. Chuyển một dòng TEXT đơn lẻ thành MTEXT thì nội dung giữ nguyên, chẳng mất gì. Chỉ khi gom từ hai dòng trở lên mới gặp chuyện nối liền vừa nói.

Bốn cách và kết quả đo Ảnh: Bốn cách xuống dòng đo trên AutoCAD 2027, kèm khung bao đo được và số đối tượng mà mỗi cách để lại

Cách viết chữ, đổi cỡ và sửa chữ hàng loạt nằm ở bài chữ trong CAD.

Mã xuống đoạn, dùng ở những chỗ không có ô soạn thảo

Có mấy chỗ trong AutoCAD chỉ cho bạn một ô nhập một dòng, bấm Enter là nó đóng ô lại chứ không xuống dòng: ô Value của thuộc tính block, ô Text override của kích thước, và ô Contents trong bảng Properties.

Chỗ hay gặp nhất là thuộc tính của khối: một khung tên có dòng địa chỉ dài, muốn cắt thành hai dòng mà ô nhập chỉ cho một dòng. Cách tạo và sửa khối nằm ở bài block trong CAD.

Ở những chỗ ấy phải gõ mã xuống đoạn. Trang Format Codes for Alternate Text Editor của Autodesk ghi mã ấy là \P với mô tả gọn một câu: "Ends paragraph", kèm ví dụ Autodesk\PAutoCAD cho ra hai dòng.

Chúng tôi đo lại trên máy bằng cách dựng thẳng hai đối tượng MTEXT chỉ khác nhau ở mã ấy.

Chuỗi bên trongKhung bao đo được
Dong mot\PDong hai2300 × 900 — hai dòng
Dong mot Dong hai4800 × 400 — một dòng

Hai điều phải nhớ khi gõ mã này, vì sai một chút là nó hiện ra nguyên văn thành chữ. Chữ P phải viết hoa, và không có dấu cách nào quanh mã.

Cùng bảng mã ấy còn một dòng đáng biết: \~ chèn một dấu cách không ngắt, dùng khi bạn muốn hai chữ dính nhau không cho rơi xuống hai dòng khác nhau. Ví dụ quen thuộc trong hồ sơ Việt Nam là cặp số và đơn vị: viết 30\~kN thì con số và đơn vị không bao giờ bị tách ra hai dòng khi khung hẹp lại.

Một lưu ý cuối về mã này: nó chỉ có nghĩa với đối tượng MTEXT và những ô nhận định dạng MTEXT. Gõ \P vào một đối tượng TEXT đơn dòng thì nó hiện ra nguyên văn, vì TEXT không đọc bảng mã định dạng.

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

Điều hay ngheThực tế đo trên bản 2027
Bấm Enter là xuống dòng, lệnh nào cũng thếVới TEXT thì mỗi Enter sinh ra một đối tượng mới; đối tượng ấy chỉ lưu được một chuỗi
Chữ không tự xuống dòng là do lỗi kiểu chữLà do bề rộng khung đang bằng 0; đặt một con số vào là chữ tự ngắt
Gom TEXT thành MTEXT thì giữ nguyên các dòngMáy báo 2 Text objects removed, 1 MText object added. nhưng nội dung ra một dòng liền

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

Cách xuống dòng trong cad mà vẫn giữ một đối tượng?

Dùng lệnh MTEXT, gõ tắt MT hoặc T, rồi bấm Enter bình thường trong ô soạn thảo. Cả đoạn vẫn là một vật.

Đang viết bằng DT rồi thì sao?

Gom lại bằng TXT2MTXT, nhưng nhớ là nội dung sẽ nối thành một dòng liền. Hoặc xoá đi viết lại bằng MT nếu ghi chú ngắn.

Ghi chú chạy dài ra khỏi khung tên, làm sao cho nó xuống dòng?

Chọn đối tượng, mở Properties, đặt một con số vào ô bề rộng. Đo trên máy: cùng một câu, bề rộng 0 cho ra 17400 đơn vị dài, bề rộng 4000 thì gói gọn trong 3000.

\P mà nó hiện ra nguyên chữ P có gạch chéo?

Hai lỗi thường gặp: viết p thường, hoặc để dấu cách quanh mã. Phải viết hoa và dính liền.

Thuộc tính block muốn hai dòng thì làm thế nào?

Gõ mã \P vào ô giá trị. Hoặc mở trình quản lý thuộc tính rồi bật ô cho phép nhiều dòng, khi ấy ô nhập sẽ thành ô soạn thảo nhiều dòng.

Xuống dòng trong ô Text override của dim được không?

Được, bằng đúng mã \P. Đó là một trong những chỗ không có ô soạn thảo nhiều dòng, nên bấm Enter chỉ đóng ô lại.

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