BIM

Lệnh region trong CAD: biến hình vẽ thành mặt tính được

Lệnh region trong CAD biến hình kín thành một mặt cộng trừ được. Bài đo bốn con số diện tích trên AutoCAD 2027, tính tay lại thì khớp từng chữ số.

  • TS. Đỗ Quốc Hoàng
  • 8 phút đọc
Hai miền chồng nhau và kết quả của UNION, SUBTRACT, INTERSECT trên AutoCAD 2027, kèm diện tích đo được Ảnh: Ảnh chụp trên AutoCAD 2027 tại Viện

Một hình vẽ trong CAD chỉ là mấy nét viền. Nó không có "ruột". Muốn cộng hai hình lại, khoét hình này ra khỏi hình kia, hay hỏi máy mô men quán tính của một tiết diện, bạn phải cho nó cái ruột ấy trước. Lệnh region trong CAD làm đúng việc đó.

Bài này đo từng phép trên AutoCAD 2027 tại Viện, và bốn con số diện tích thu được khớp với phép tính tay đến từng chữ số. Muốn học đủ bộ công cụ dựng hình, mời bạn xem khóa học AutoCAD xây dựng.

Cách gọi lệnh, và điều kiện hình phải kín

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

LệnhLệnh tắtRuy băngTrình đơn cổ điển
REGIONREGHome → Draw → RegionDraw → Region
UNIONUNIkhông cóModify → Solid Editing → Union
SUBTRACTSUkhông cóModify → Solid Editing → Subtract
INTERSECTINkhông cóModify → Solid Editing → Intersect
BOUNDARYBO, BPOLYHome → Draw → Hatch Drop-down → BoundaryDraw → Boundary
MASSPROPkhông cókhông cóTools → Inquiry → Region/Mass Properties

Ba lệnh toán tử nằm trong nhóm Solid Editing, tức nhóm dành cho khối 3D. Nhiều người vì thế không nghĩ là chúng dùng được cho hình phẳng. Chúng dùng được.

Autodesk mô tả lệnh chính ở trang REGION (Command) cho bản 2027: "Converts objects that enclose an area into a 2D region object". Và liệt kê thứ dùng được: "Valid objects include polylines, lines, circular arcs, circles, elliptical arcs, ellipses, and splines".

Chữ enclose là điều kiện. Chúng tôi thử một đường gấp khúc hở, chỉ gồm hai đoạn thẳng. Máy trả lời nguyên văn:

0 loops extracted.
0 Regions created.

Và đối tượng vẫn nằm đó dưới dạng LWPOLYLINE, không đổi gì. Làm lại với một hình chữ nhật 2000 × 1000 thì máy báo tạo được một miền, và đọc diện tích ra đúng 2.000.000.

Autodesk cũng nói rõ cách nó xử lý nhiều hình một lúc: "Each closed loop is converted into a separate region". Chọn hai hình tròn, máy in ra 2 loops extracted. rồi 2 Regions created. — hai miền riêng, không tự gộp.

Lệnh union trong CAD: cộng hai miền, phần chung chỉ tính một lần

Đây là phép hay dùng nhất, và cũng là chỗ dễ hiểu sai nhất.

Bốn phép toán trên miền Ảnh: Bốn con số diện tích đo trên AutoCAD 2027 và phép tính tay để đối chiếu

Chúng tôi dựng hai hình tròn bán kính 600, tâm cách nhau 800 nên chúng chồng lên nhau. Đổi cả hai thành miền, đọc diện tích: mỗi hình 1.130.973,4, đúng bằng π nhân 600 bình phương.

Chạy UNION, đọc lại: 2.014.148,1. Tức là không bằng tổng 2.261.946,8. Phần chồng nhau chỉ được đếm một lần, đúng như phép hợp trong toán học.

Có một điều nhiều trang nói ngược, nên chúng tôi đo riêng. Họ bảo hai miền phải giao nhau thì mới hợp được. Chúng tôi lấy hai hình tròn rời hẳn nhau, cách nhau 1.400 đơn vị, rồi chạy UNION. Kết quả: từ hai đối tượng còn lại một, diện tích 2.261.946,7, đúng bằng tổng hai hình tròn.

Vậy là hợp được, và khi ấy một miền duy nhất chứa hai vòng rời nhau. Chọn một cái là được cả hai.

Lệnh subtract trong CAD và intersect: khoét và lấy phần chung

Hai phép còn lại dùng đúng cặp hình ấy, nên ba kết quả so sánh được với nhau.

Phép toánDiện tích đo đượcTính lại bằng tay
Một hình tròn1.130.973,4π × 600²
UNION2.014.148,1hai hình trừ phần chung
SUBTRACT883.174,8một hình trừ phần chung
INTERSECT247.798,6chính là phần chung

Lấy máy tính ra kiểm: 1.130.973,4 nhân 2 rồi trừ 247.798,6 được 2.014.148,2, khớp với số UNION. Còn 1.130.973,4 trừ 247.798,6 được đúng 883.174,8, khớp với số SUBTRACT.

Bốn con số khép kín với nhau. Đó là bằng chứng rằng máy làm đúng phép toán tập hợp chứ không phải xấp xỉ.

Riêng SUBTRACT có một chỗ khác hai lệnh kia: nó hỏi hai lượt chọn. Lượt đầu là miền giữ lại, Enter, lượt sau là miền đem khoét. Chọn ngược thứ tự là ra hình khác hẳn.

Lệnh massprop cho ngay mô men quán tính của tiết diện

Đây là phần đáng giá nhất với người làm kết cấu, và gần như không hướng dẫn tiếng Việt nào nhắc tới.

Khi hình đã thành miền, gõ MASSPROP rồi chọn nó. Máy in ra một bảng đầy đủ. Chúng tôi chạy trên miền chữ nhật 2000 × 1000 và nhận được:

Dòng máy in raGiá trị
Area2000000.00
Perimeter6000.00
CentroidX: 81000.00, Y: -39500.00
Principal momentsI: 166666666666.50 và J: 666666666666.00

Con số cuối mới là điều đáng nói. Công thức trong sách sức bền vật liệu cho mô men quán tính của tiết diện chữ nhật quanh trục qua trọng tâm là b nhân h mũ ba chia 12.

Thay số: 2000 nhân 1000 mũ ba chia 12 bằng 166.666.666.666,7. Máy in ra 166.666.666.666,50. Khớp.

Nghĩa là với một tiết diện bất kỳ, kể cả tiết diện phức tạp ghép từ nhiều hình, bạn vẽ nó ra, đổi thành miền, rồi để AutoCAD tính hộ mô men quán tính thay vì chia nhỏ tính tay. Cuối bảng máy còn hỏi Write analysis to a file? [Yes/No] <N>: để bạn xuất ra tệp văn bản.

Lệnh boundary trong CAD: lấy miền mà không phải chọn từng nét

Khi hình được ghép từ chục nét rời, chọn đủ để đổi thành miền rất mất công. BOUNDARY, lệnh tắt BO, làm việc ấy bằng một cú bấm.

BO, trong hộp thoại đổi Object type từ Polyline sang Region, bấm Pick Points, rồi bấm một điểm bên trong vùng cần lấy. Máy tự dò biên và tạo miền.

Cách này có hai cái lợi so với chọn tay. Thứ nhất là nhanh. Thứ hai, và quan trọng hơn: nó không đụng vào các nét gốc, nên bản vẽ giữ nguyên.

Cách đo diện tích bằng những lệnh khác nằm ở bài tính diện tích trong CAD.

Hình gốc bị xoá mất: biến DELOBJ

Đây là cái bẫy làm người mới hoảng nhất. Đổi hình thành miền xong, hình viền ban đầu biến mất.

Chúng tôi đo trên máy: biến DELOBJ đang bằng 3, và sau khi chạy REGION, hình chữ nhật gốc không còn trong bản vẽ nữa. Autodesk ghi đúng vậy: "REGION deletes the original objects after converting them to regions unless the system variable DELOBJ is set to 0".

Có hai cách xử lý.

Cách thứ nhất là đặt DELOBJ bằng 0, máy sẽ giữ lại hình gốc. Cách này tiện khi bạn chỉ muốn đo một lần.

Cách thứ hai, và an toàn hơn: dùng COPY nhân bản hình ra một chỗ trống, đổi bản sao thành miền, đo xong thì xoá sạch. Bản vẽ gốc không đổi một nét nào.

Muốn quay ngược lại, gõ X để gọi EXPLODE. Chúng tôi thử trên một miền ghép từ hai hình tròn: nó vỡ ra thành các đối tượng ARC. Tức là bạn lấy lại được các nét viền, nhưng dưới dạng cung rời chứ không phải hình tròn ban đầu.

Muốn nối các cung rời ấy lại thành một đường liền, xem cách làm ở bài polyline trong CAD.

Ba điều nhiều người nói mà máy làm khác

Điều hay ngheMáy bản 2027 thực sự làm gì
Hai miền phải giao nhau mới hợp đượcKhông. Hai hình tròn rời hẳn nhau vẫn hợp thành một đối tượng, diện tích bằng đúng tổng
UNION cộng diện tích hai hình lạiChỉ khi chúng không chồng nhau. Chồng nhau thì phần chung chỉ đếm một lần
Ba lệnh cộng trừ chỉ dùng cho khối 3DChúng nằm trong nhóm Solid Editing nhưng chạy tốt trên hình phẳng, như bốn con số ở trên

Nói cho gọn, lệnh region trong CAD là bước bắt buộc để hình vẽ trở thành thứ tính toán được. Sau bước ấy thì cộng, trừ, lấy phần chung và tra mô men quán tính đều chỉ là một lệnh.

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

Lệnh tắt của region là gì?

REG. Ba lệnh đi kèm là UNI cho UNION, SU cho SUBTRACTIN cho INTERSECT.

Vì sao máy báo 0 Regions created?

Hình chưa kín. Đường gấp khúc hở không tạo được miền nào, và đối tượng gốc vẫn nằm nguyên tại chỗ.

Vì sao hình của tôi biến mất sau khi chạy lệnh?

DELOBJ bằng 3 nên máy xoá hình gốc. Đặt DELOBJ bằng 0, hoặc nhân bản hình ra chỗ khác trước khi đổi.

SUBTRACT chọn hình nào trước?

Chọn hình giữ lại trước, Enter, rồi mới chọn hình đem khoét. Ngược thứ tự là ra kết quả khác.

Tính mô men quán tính của tiết diện bằng cách nào?

Vẽ tiết diện cho kín, đổi thành miền, gõ MASSPROP rồi chọn nó. Đọc dòng Principal moments.

Có cách nào tạo miền mà không phải chọn từng nét không?

Có. Gõ BO, đổi Object type sang Region, rồi bấm một điểm bên trong vùng.

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