←Dashboard
0/0
← Quay lại Bài Giảng: Tối Ưu QS + AI

Hướng Dẫn Sử Dụng: Bóc Khối Lượng Cột / Vách / Móng
Qua AutoCAD MCP + Claude

Tài liệu hướng dẫn thao tác thực tế trên bản vẽ của bạn. Toàn bộ các lệnh bên dưới là lệnh của bộ QSTools bản DLL — đúng các nút bạn thấy trên ribbon. Qua AutoCAD MCP, Claude gọi thẳng chính những lệnh đó, dừng lại đúng chỗ bạn cần kiểm tra bằng mắt (nhất là các đối tượng bị tô màu đỏ — tức chưa xác minh được), rồi mới đi tiếp.

🎗️ Phần lớn các nút dùng trong tài liệu này nằm trên ribbon tab AI_CWF, gồm các panel: OBJ Name & Take Off (OO1, OO2, OO3, CS11, EXVF, EXVS) · Col FW & Take Off (ALO2, CS12) · Slab Name & Take Off (ALO, ALO1, ALO1B, S22) · Auto Room Area (QSRM1…QSRM5) · Select & Text (CBT, BWH) · Drawing Check (CDL) · Layer Management (STL, QSLR) · QS Options (QS Settings, STSET). Lệnh nằm ở tab khác: BM10A, BMD ở tab AI_STR; QSBS ở tab QS_UTY; BBW và QSULK không có nút — gõ tên lệnh.

🔗 Quy trình này đi cặp với Hướng dẫn bóc khối lượng DẦM (tab AI_STR) — phần ván khuôn cột/vách cần dữ liệu dầm nên hai bên dùng chung nhiều bước. Tường xây nằm ở Hướng dẫn tab AI_WALL  ·  Hoàn thiện: Sàn / Trần / Tô trát.

🎯 Bạn sẽ đạt được gì

📌 Ngoài cột/vách/móng, tài liệu còn có: hai lệnh EXVF/EXVS bóc đào — đắp — lót — bê tông cho móng đơn và sàn đáy hầm; QSBS dựng biên cho cột vẽ bằng 2D SOLID; S22 xuất khối lượng sàn; bộ QSRM1…QSRM5 khoanh diện tích phòng.

🗺️ Bản đồ quy trình — bấm vào lệnh để nhảy tới bước đó
Cấu hình QSUNITS→ STSET
Chuẩn bị STL→ CDL→ CBT→ BBW/BWH→ QSBS khi cột vẽ bằng 2D SOLID
Gán tên OO1→ OO2/ OO3
Ván khuôn ALO+ ALO1+ BM10A→ ALO2
Bổ trụ ALO1B cần BM10A + ALO trước
Xuất Excel CS11+ CS12 · S22 khối lượng SÀN
Đào đất EXVF móng đơn EXVS sàn đáy hầm
Diện tích phòng QSRM1→ QSRM2/ QSRM3→ QSRM4→ QSRM5
Tiện ích QSULK QSLR BMD
Cam = bước bắt buộc  ·  Vàng = chỉ chạy khi bản vẽ cần  ·  Xanh = tiện ích.
Tick ô "đã xong" ở mỗi bước để đánh dấu bạn đang làm tới đâu — trình duyệt tự nhớ.
✅ Chuẩn bị trước khi chạy

📥 Bản vẽ mẫu để chạy thử: dùng một mặt bằng kết cấu của chính bạn, hoặc nhận bộ bản vẽ mẫu trong buổi học.

  1. Bản vẽ có sẵn polyline kín khoanh vùng Cột/Vách/Móng và text tên/kích thước đặt gần từng đối tượng. Cột tròn/elip cần đổi sang polyline trước khi bóc (xem CS11)
  2. Bản vẽ chưa có bộ layer chuẩn QS_Slab_* thì chạy STL trước — ALO cần nó
  3. Cài đặt QSTools theo link sau: Circleqstools_SetupAI.exe
  4. AutoCAD MCP đã kết nối với Claude Desktop — kiểm tra bằng system(operation="status") thấy backend: "file_ipc"
  5. Mở sẵn Excel để nhận kết quả xuất khối lượng
  6. Đã kiểm Floor height trong QSUNITS — chưa đặt thì ALO2 dùng mặc định 3300, bằng 0 thì lệnh dừng
⚠️ Cách Claude gọi lệnh: mọi lệnh trong tài liệu này đều là lệnh của bản DLL, gọi qua MCP bằng execute_lisp với cú pháp (command "OO1"). Gọi kiểu (C:OO1) sẽ không chạy — dạng (C:xxx) chỉ dùng được cho hàm AutoLISP, còn lệnh DLL nằm trong bảng lệnh của AutoCAD nên phải gọi bằng (command "…").
📦 Cài đặt Skill cho Claude

Toàn bộ quy trình bên dưới đã đóng gói sẵn thành Skill tên autocad-column-wall-footing-workflow — Claude tự nhận diện và chạy đúng thứ tự khi bạn gõ yêu cầu như "bóc khối lượng cột", "tính ván khuôn cột vách theo từng mặt"...

📥 Tải file skill: autocad-column-wall-footing-workflow.zip  ·  kèm theo nên tải cả autocad-beam-workflow.zip vì bước ALO2 cần dữ liệu dầm.

  1. Tải và giải nén — sẽ được 1 thư mục chứa SKILL.md và evals.json.
  2. Copy nguyên thư mục đó vào đường dẫn skill cá nhân trên máy bạn:
    C:\Users\<Tên_của_bạn>\.claude\skills\
    (tự tạo thư mục skills nếu máy bạn chưa có).
  3. Mở lại Claude Desktop / Claude Code — skill tự được nhận diện, không cần cài đặt gì thêm.
  4. Kiểm tra bằng cách gõ: "Chạy quy trình bóc khối lượng cột vách".
⚠️ Skill chỉ chứa quy trình gọi lệnh (hướng dẫn cho Claude) — máy bạn vẫn cần có sẵn AutoCAD MCP kết nối và QSTools bản DLL đã cài thì mới chạy được các lệnh.
📜 Quy trình từng bước — chạy theo đúng thứ tự
⏸ Gần như mọi lệnh bên dưới đều dừng lại chờ tương tác — hãy nhìn dòng lệnh AutoCAD xem nó đang chờ gì, xử lý xong rồi mới đi tiếp; đừng yêu cầu Claude gọi liên tiếp nhiều lệnh trong 1 lần chat.
STL
Chuẩn bị (khi cần) — Tạo bộ layer chuẩn QS
Chạy một phát
Việc lệnh làm

Tạo (hoặc cập nhật lại màu, kiểu nét, nét in) bộ layer chuẩn QS trong bản vẽ, trong đó có nhóm QS_Slab_Full_Area_, QS_Slab_Step_Area_, QS_Slab_Open_* mà ALO dùng để khoanh vùng sàn. Chạy lại nhiều lần cũng an toàn: layer đã có chỉ được cập nhật, không sinh bản trùng.

"Chạy STL để tạo bộ layer chuẩn cho bản vẽ này."
execute_lisp → (command "STL")
⏸ Điểm dừng

Không hỏi gì — chạy xong báo số layer đã tạo/cập nhật.

✅ Xong đúng thì thấy

Danh sách layer có đủ nhóm QS_Slab_*.

❌ Hay sai chỗ này

Bỏ qua trên bản vẽ chưa có bộ layer chuẩn ⇒ ALO báo "No QS_Slab_* layers found… Run STL first" và dừng.

CDL
Chuẩn bị (tuỳ chọn) — Xoá đối tượng bị nhân bản chồng khít
Chọn loại + phạm vi + Delete/Mark
Việc lệnh làm

Phát hiện đối tượng bị copy-paste chồng khít lên nhau rồi xoá bản thừa (hoặc chỉ đánh dấu), mỗi nhóm giữ lại một. Polyline / hình tròn / elip / hatch so theo bounding box + diện tích; text và block so thêm điểm chèn, chiều cao, góc xoay. Kiểm được 12 loại: polyline, circle, ellipse, line, text, mtext, block, spline, arc, hatch, point, mleader. Không dọn thì mọi thứ phía sau đều nhân đôi: gán tên hai lần, và khối lượng cộng hai lần ở CS11.

Ba dung sai điều khiển việc này nằm trong STSET: CdlBboxTol, CdlAreaTolPct, CdlAngleTol.

"Chạy CDL để dọn các đối tượng cột/vách bị trùng lặp trước khi bắt đầu."
execute_lisp → (command "CDL")
⏸ Điểm dừng

① Hộp thoại chọn loại đối tượng cần kiểm (6 loại đầu tick sẵn) → ② hỏi phạm vi: Yes = cả bản vẽ, No = quét chọn một vùng, Cancel = thôi → ③ nếu có trùng thì hỏi trên dòng lệnh [Delete/Mark] (nhớ lựa chọn lần trước) → ④ với Delete, hiện bảng liệt kê từng nhóm và hỏi xác nhận trước khi xoá.

✅ Xong đúng thì thấy

Bảng tổng kết cho biết số nhóm trùng và đối tượng nào được giữ lại. Chế độ Mark không xoá gì: khoanh tròn đỏ từng bản thừa trên layer QS_DUP_MARK và chọn sẵn chúng để bạn soát rồi xoá tay. Xoá nhầm thì một lần Ctrl+Z hoàn tác toàn bộ.

❌ Hay sai chỗ này

Bỏ qua bước này trên bản vẽ nhận từ người khác — bản vẽ chồng hình rất hay gặp, và sai số đi thẳng vào bảng khối lượng. Với bản vẽ lạ nên chọn Mark trước để xem rồi mới xoá.

BBW / BWH
Chuẩn bị (hỗ trợ nhìn) — Tô màu text theo nhóm tiết diện
Chọn text
Việc lệnh làm

Quét text kích thước, gom theo tiết diện rồi tô màu từng nhóm — nhìn mặt bằng là thấy ngay cột nào cùng loại. BBW gom theo bề rộng; BWH cho chọn [Width/Height/Both/Face] — Face không dùng text mà đo bề rộng từ 2 mép rồi ghi vào danh sách bề rộng.

BWH có nút ở panel Select & Text của tab AI_CWF; BBW (chạy thẳng chế độ Width) không có nút — gõ tên lệnh.

📌 Đây là công cụ nhìn, không phải điều kiện bắt buộc — OO1 đọc text trực tiếp chứ không cần nhóm màu. Bỏ qua cũng không sao; chạy thì dễ soát hơn.

Đơn vị mm/cm lấy từ ô Beam dimension unit trong QS Settings.

"Chạy BWH, tôi chọn text tên cột rồi gom theo Both."
execute_lisp → (command "BWH")
⏸ Điểm dừng

Chờ quét chọn text/mtext; riêng BWH hỏi thêm tiêu chí gom trên dòng lệnh.

✅ Xong đúng thì thấy

Text đổi màu theo nhóm tiết diện, bảng tổng kết liệt kê từng nhóm kèm số lượng.

❌ Hay sai chỗ này

Ô Beam dimension unit để sai mm/cm ⇒ nhóm ra sai 10 lần.

QSBS
Chuẩn bị (khi cần) — Dựng biên polyline cho cột vẽ bằng 2D SOLID
Chọn SOLID + [Keep/Delete]
Việc lệnh làm

Nhiều bản vẽ tô đặc cột/vách bằng 2D SOLID thay vì polyline. SOLID không có thuộc tính diện tích và không lệnh CAD nào rút được biên của nó, nên cả OO1 lẫn CS11 đều không bóc được. Lệnh này dựng một polyline kín trùm khít lên từng SOLID, cùng layer, cùng màu. Nút nằm ở tab QS_UTY (panel Export text to excel).

"Chạy QSBS để tạo biên polyline cho các cột đang vẽ bằng 2D SOLID."
execute_lisp → (command "QSBS")
⏸ Điểm dừng

Chọn các 2D SOLID → hỏi [Keep/Delete]: giữ hay xoá luôn SOLID gốc.

✅ Xong đúng thì thấy

Mỗi SOLID có một polyline kín nằm chồng khít. Lệnh tự kiểm diện tích: lệch quá 0,1% thì bỏ polyline đó và liệt kê handle ra, chứ không im lặng ghi số sai. Chạy lại không đẻ bản trùng.

❌ Hay sai chỗ này

Đây là anh em của BH (tạo biên cho hatch). Đừng nhầm hai cái: BH cho HATCH, QSBS cho 2D SOLID.

CBT
Chuẩn bị (khi cần) — Gộp text tên bị tách làm hai
Auto / Manual
Việc lệnh làm

Tên cấu kiện hay bị vẽ thành 2 text rời (C1 + (300x500)). OO1 chỉ lấy một text gần nhất nên sẽ ra tên cụt. Lệnh này gộp từng cặp thành một text C1_(300x500), giữ text phần tên và xoá text kia.

"Chạy CBT để gộp các text tên cột bị tách đôi trước khi gán tên."
execute_lisp → (command "CBT")
⏸ Điểm dừng

Hỏi chế độ: Yes = AUTO — nhập hệ số khoảng cách (× chiều cao text, mặc định 3, nhớ lần trước) rồi quét chọn một loạt text; chỉ gộp cặp cùng góc, đủ gần, gần nhau nhất và kết quả có dạng 300x500. No = MANUAL — bạn tự chọn từng cặp, lệnh không kiểm điều kiện nào.

✅ Xong đúng thì thấy

Mỗi cấu kiện chỉ còn một text mang đủ tên và kích thước.

❌ Hay sai chỗ này

Hệ số khoảng cách quá lớn ⇒ ghép nhầm tên của cấu kiện bên cạnh. Bắt đầu với mặc định, chỗ nào sót thì dùng MANUAL.

OO1
Bước 1 — Gán tên Cột/Vách/Móng tự động theo text gần nhất
Chọn 2 lượt + nhập thông số
Việc lệnh làm

Với các polyline (LWPOLYLINE), hình tròn, elip đã chọn, tìm text gần nhất (với polyline đo tới cạnh hình chứ không chỉ tới đỉnh; với hình tròn/elip đo từ tâm) rồi đổi layer sang dạng mang tên:

C1_(300x500) → QS_CL_OBJ_C1_(300x500)

Hỏi lần lượt, đúng thứ tự cố định: ① chọn toàn bộ hình cần gán → Enter · ② chọn vài text mẫu để lệnh biết layer text → Enter — lệnh dùng tất cả text/mtext trên các layer đó trong toàn bản vẽ, không chỉ những text bạn chọn · ③ hộp thoại nhập khoảng cách tối đa (mm, mặc định 2000, nhớ lần trước) · ④ hộp Yes/No có bật kiểm tra diện tích không (Yes khi text ghi sẵn size; No khi bản vẽ chỉ ghi tên).

Không tìm được text trong tầm, hoặc diện tích lệch quá AreaTolOO1 ⇒ đặt tên QS_CL_OBJ_XXX và tô đỏ. Khi bật kiểm diện tích, hình khớp text nhưng text không ghi size vẫn nhận tên theo text nhưng cũng tô đỏ (chưa xác minh được). Tắt kiểm diện tích thì chỉ các hình _XXX bị đỏ.

⚠️ Gán tên được không có nghĩa là bóc được. CS11 chỉ chọn polyline (LWPOLYLINE) trên layer QS_CL_OBJ_*; hình tròn/elip đã gán tên vẫn không vào bảng — cần đổi sang polyline trước khi bóc. Đối tượng loại khác (line, block…) thì gán tay bằng OO2/OO3. Cột vẽ bằng 2D SOLID thì chạy QSBS trước để có biên polyline.
⚠️ Tên layer chuẩn có tiền tố QS_CL_OBJ_. Layer tiền tố CL_OBJ_ vẫn xuất Excel được — CS11 nhận cả hai — nhưng nên để lệnh tự đặt tên, đừng sửa tay tên layer.
"Chạy OO1 để gán tên cột/vách/móng tự động theo text gần nhất."
execute_lisp → (command "OO1")
⏸ Điểm dừng

Hai lượt chọn ở dòng lệnh (dòng nhắc đều là "Select objects:" — nhớ thứ tự: lượt đầu là HÌNH, lượt sau là TEXT mẫu), sau đó là hộp thoại khoảng cách và hộp Yes/No kiểm diện tích.

✅ Xong đúng thì thấy

Phần lớn hình đổi màu theo text của nó; số còn đỏ ít và nằm đúng những chỗ text đặt xa hoặc mập mờ.

❌ Hay sai chỗ này

🔴 Khoảng cách tối đa nhập quá nhỏ ⇒ không hình nào tìm được text, tất cả rơi về QS_CL_OBJ_XXX và bước xuất Excel gộp hết thành vài dòng "XXX" vô nghĩa. Gặp cảnh đó thì nới khoảng cách rồi chạy lại, đừng cố sửa tay từng cái.

OO2
Bước 2 — Gán tên thủ công cho các hình còn màu đỏ
Chọn tay từng cặp
Việc lệnh làm

Lặp: chọn một hình còn đỏ (nhận mọi loại đối tượng) → chọn text tương ứng → lệnh gán tên và đổi màu theo text đó ngay sau mỗi lượt. Nếu text không ghi size mà đối tượng là polyline, lệnh tự tính diện tích/chu vi thật để suy ra kích thước rồi ghép thành <tên>_(LxW).

"Chạy OO2 để tôi ghép tay các hình còn đang màu đỏ."
execute_lisp → (command "OO2")
⏸ Điểm dừng

Lặp lại hỏi chọn hình → chọn text cho tới khi hết; Enter hoặc Esc để dừng.

✅ Xong đúng thì thấy

Không còn hình nào tô đỏ trên mặt bằng.

❌ Hay sai chỗ này

Bỏ sót vài hình đỏ rồi vẫn xuất Excel ⇒ bảng có dòng XXX không biết thuộc cấu kiện nào.

OO3
Bước 2 (thay OO2) — Gán tên thủ công, giữ nguyên text, không ghép size
Chọn tay từng cặp
Việc lệnh làm

Giống hệt OO2 nhưng không bao giờ ghép thêm kích thước: tên layer đúng bằng nội dung text (QS_CL_OBJ_<text>). Dùng khi text đã là tên đầy đủ, hoặc khi bạn không muốn lệnh tự suy kích thước từ hình.

"Chạy OO3 để tôi ghép tay các hình đỏ, lấy đúng tên trong text."
execute_lisp → (command "OO3")
⏸ Điểm dừng

Lặp lại hỏi chọn hình → chọn text cho tới khi hết; Enter hoặc Esc để dừng.

✅ Xong đúng thì thấy

Hình đổi layer và màu theo text vừa chọn, tên layer không có phần _(LxW) thêm vào.

❌ Hay sai chỗ này

Text chỉ ghi tên (C1) mà dùng OO3 ⇒ tên layer không mang kích thước; bảng CS11 vẫn đúng khối lượng (tính từ hình) nhưng cột mô tả chỉ có tên.

ALO
Bước 3 — Khoanh vùng bề dày SÀN
Hộp thoại + vẽ / chọn vùng
Việc lệnh làm

Khoanh các vùng sàn và ghi bề dày vào tên layer: QS_Slab_Full_Area_(150) cho sàn thường, QS_Slab_Step_Area_(±50) cho phần giật cấp.

Vì sao bước bóc cột lại cần vùng sàn: ALO2 tính chiều cao ván khuôn bằng chiều cao tầng trừ đi bề dày của thứ nằm trên mặt cột đó — không có vùng sàn thì nó coi mọi mặt là full chiều cao tầng.

"Chạy ALO để khoanh vùng bề dày sàn."
execute_lisp → (command "ALO")
⏸ Điểm dừng

Hộp thoại: chọn nhóm layer QS_Slab_*, chọn cách làm Draw New (vẽ mới) hay Assign Existing (gán cho đối tượng có sẵn), nhập một giá trị bề dày / bậc cho lượt chạy này. Draw New lặp lại lệnh vẽ của CAD cho tới khi nhấn ESC; Assign Existing chờ chọn polyline / line / spline / circle / ellipse. Mỗi bề dày khác nhau chạy một lượt.

✅ Xong đúng thì thấy

Các vùng sàn nằm trên layer QS_Slab_Full_Area_* / QS_Slab_Step_Area_*, phủ kín khu vực cần bóc.

❌ Hay sai chỗ này

Bỏ qua ⇒ ALO2 tính mọi mặt cột theo full chiều cao tầng, thừa đúng bằng bề dày sàn ở mọi chỗ. Bản vẽ chưa có layer QS_Slab_* ⇒ lệnh báo và dừng — chạy STL trước.

ALO1
Bước 3B (tuỳ chọn) — Gán bề dày sàn cho LỖ MỞ
Chỉ khi có lỗ mở
Việc lệnh làm

Mỗi đối tượng trên layer QS_Slab_Open_* được tra bề dày sàn tại chỗ nó nằm rồi đổi tên thành QS_Slab_Open_Area_(200). Mặt cột giáp lỗ mở được ALO2 tính full chiều cao tầng vì chỗ đó không có sàn, ván khuôn chạy suốt.

Lỗ vắt qua ranh giới 2 bề dày: lệnh đo tỉ lệ diện tích, vùng nào chiếm từ OpenZoneMinRatio (mặc định 0,95) mới được coi là chủ; dưới ngưỡng thì để nguyên và đưa vào mục cần xử lý.

"Chạy ALO1 để gán bề dày sàn cho các lỗ mở."
execute_lisp → (command "ALO1")
⏸ Điểm dừng

Hỏi vùng làm việc (một vùng hay cả bản vẽ) → hiện bảng tổng kết → hỏi Yes/No có ghi tên layer mới không. Đọc mục cần xử lý trước khi đồng ý.

✅ Xong đúng thì thấy

Layer lỗ mở mang sẵn bề dày, dạng QS_Slab_Open_Area_(200).

❌ Hay sai chỗ này

Lỗ vắt qua 2 bề dày không được gán — phải tự tách lỗ làm 2 rồi chạy lại.

S22
Bước 3B+ (tuỳ chọn) — Xuất khối lượng SÀN ra Excel
Chọn chế độ + chọn vùng sàn
Việc lệnh làm

Đi liền sau ALO/ALO1: các vùng sàn bạn vừa khoanh mang sẵn bề dày trong tên layer, lệnh này đọc chúng và ghi thẳng ra Excel — diện tích và chu vi của từng vùng.

Ba nhóm được ghi theo thứ tự cố định, không theo thứ tự bạn quét chọn: sàn nền QS_Slab_Full_* trước, rồi phần bậc QS_Slab_Step_* ghi thành dòng "Step of-", cuối cùng là lỗ mở QS_Slab_Open_* ghi thành dòng "Deduct open-" mang số lượng âm để trừ ra.

"Chạy S22 xuất khối lượng sàn, chọn chế độ gộp theo layer."
execute_lisp → (command "S22")
⏸ Điểm dừng

Hộp Yes/No chọn chế độ xuất: Yes = SUMMARY gộp các vùng cùng layer thành một dòng (cộng dồn diện tích và chu vi), No = DETAIL mỗi vùng một dòng. Sau đó chọn các vùng sàn cần xuất; lệnh lặp lại lượt chọn cho tới khi nhấn Enter.

✅ Xong đúng thì thấy

Excel nhận đủ 3 nhóm dòng theo đúng thứ tự trên; dòng lệnh báo đã ghi từ dòng nào tới dòng nào.

❌ Hay sai chỗ này

Dòng lỗ mở mang số âm nên bỏ sót nó làm tổng lớn hơn thực tế — quét chọn thì nhớ lấy cả layer lỗ mở. Vùng sàn chưa khoanh bằng ALO thì không có gì để đọc.

BM10A
Bước 3C (tuỳ chọn) — Vẽ hình tiết diện dầm từ tim
Phạm vi + kiểu tên layer
Việc lệnh làm

Nút nằm ở tab AI_STR. Thuộc quy trình dầm, nhưng có mặt ở đây vì ALO2 có thể lấy tiết diện dầm từ hình do lệnh này vẽ thay vì tự dựng từ tim. Hình là đối tượng thật nên bạn kéo / xoá / thêm được, và ALO2 ăn đúng cái bạn nhìn thấy.

Cần chạy nếu bạn định dùng nhánh Rect ở bước ALO2, và bắt buộc trước ALO1B (bổ trụ). Không chạy thì để ALO2 ở nhánh Centerline mặc định.

"Chạy BM10A để vẽ hình tiết diện dầm, tôi sẽ chỉnh tay vài chỗ."
execute_lisp → (command "BM10A")
⏸ Điểm dừng

Phạm vi [Selected/All] (mặc định All) → kiểu tên layer [Size/Width] → nếu đã có hình trước đó thì hỏi giữ hay xoá vẽ lại. Chọn Size (QS_RECT_BEAM_400x600): ALO2 và ALO1B đọc chiều cao dầm từ tên layer; hình kiểu Width (QS_RECT_BEAM_400) không có chiều cao nên bị bỏ qua.

✅ Xong đúng thì thấy

Mỗi tim dầm có một hình kín bao quanh đúng bề rộng, trên layer QS_RECT_BEAM_<W>x<H>.

❌ Hay sai chỗ này

Sửa tim dầm xong mà quên chạy lại lệnh này ⇒ ALO2 nhánh Rect vẫn ăn hình vẽ trước đó.

ALO2
Bước 4 — Chiều cao ván khuôn cột/vách theo TỪNG MẶT
3 câu hỏi + xác nhận
Việc lệnh làm

CS11 hỏi một chiều cao rồi áp cho cả chu vi. Thực tế chiều cao ván khuôn không đều quanh một cột, nên lệnh này đi dọc chu vi và cắt tại chỗ đổi chiều cao:

  • Mặt có dầm đâm vào → chiều cao tầng trừ chiều cao dầm
  • Mặt giáp sàn → chiều cao tầng trừ bề dày sàn tại chỗ
  • Mặt giáp lỗ mở hoặc lồi ra ngoài biên sàn → full chiều cao tầng

Kết quả vẽ thêm đường dọc chu vi, đặt lên layer mang sẵn chiều cao QS_FW_COL_<tên>_(<cao>) — magenta = full, cyan = đã trừ. Polyline gốc QS_CL_OBJ_* giữ nguyên để CS11 vẫn tính được bê tông. Lệnh chỉ xử lý polyline; cột tròn/elip không được vẽ đường ván khuôn và không có trong báo cáo — đổi sang polyline trước.

⇒ Diện tích ván khuôn = tổng chiều dài đường × chiều cao đọc trong tên layer.

⚠️ Báo cáo ghi "no beam centreline found" nghĩa là phần mặt cột bị đầu dầm che chưa được trừ. Nếu bản vẽ có dầm thật thì chạy chuỗi BM1…BM9 trước rồi quay lại. Dầm có mà vẫn không nhận thì nới AloBeamExtend.
"Chạy ALO2 để tính chiều cao ván khuôn cột/vách theo từng mặt."
execute_lisp → (command "ALO2")
⏸ Điểm dừng

Ba câu: lấy tiết diện dầm từ [Centerline/Rect] → phạm vi [Selected/All] → nếu đã có đường ván khuôn từ lần chạy trước thì hỏi giữ hay vẽ lại.

✅ Xong đúng thì thấy

Quanh mỗi cột có các đoạn đường khác màu nhau đúng chỗ chiều cao đổi; báo cáo cuối chia rõ chiều dài theo 4 loại mặt.

❌ Hay sai chỗ này

🔴 Floor height lấy từ QS Settings: chưa đặt thì lệnh dùng mặc định 3300 (in ra dòng lệnh và báo cáo), bằng 0 thì lệnh dừng — luôn kiểm con số in ra. Và nhớ định nghĩa: Floor height đo từ mặt sàn đến mặt sàn, lệnh tự trừ bề dày sàn — đừng tự trừ trước rồi mới nhập.

CS11
Bước 5 — Xuất khối lượng bê tông sang Excel
Nhập chiều cao + quét chọn
Việc lệnh làm

Quét chọn các polyline (LWPOLYLINE) trên layer QS_CL_OBJ_* (hoặc CL_OBJ_*) — đối tượng khác không chọn được. Mỗi cái ghi một dòng: tên đọc từ layer, Dài × Rộng tính lại từ diện tích và chu vi thật, kèm chiều cao bạn nhập, công thức khối lượng, mã đối tượng và hyperlink về file bản vẽ.

⚠️ CS11 đã có sẵn cột ván khuôn. Nếu bạn dùng ALO2 + CS12 để lấy ván khuôn theo từng mặt thì chỉ lấy phần bê tông của CS11 — cộng cả hai là tính ván khuôn hai lần.
"Chạy CS11, tôi nhập chiều cao 3300mm rồi quét chọn toàn bộ cột tầng này."
execute_lisp → (command "CS11")
⏸ Điểm dừng

Hỏi chiều cao/bề dày dùng chung cho cả lượt, rồi chờ bạn quét chọn — Claude không quét chọn hộ được.

✅ Xong đúng thì thấy

Excel có đủ số dòng bằng số cấu kiện đã chọn, không dòng nào tên XXX.

❌ Hay sai chỗ này
  • Còn dòng XXX ⇒ quay lại OO2 xử lý nốt hình đỏ rồi xuất lại.
  • Cột tròn / elip: CS11 chỉ chọn polyline (LWPOLYLINE) trên layer QS_CL_OBJ_*; cột tròn/elip cần đổi sang polyline trước khi bóc, nếu không sẽ không có dòng nào trong Excel.
  • Polyline tính ra kích thước bằng 0 bị bỏ qua kèm [Skip] calculated size = 0 — đếm dòng Excel so với số cấu kiện trên bản vẽ trước khi chốt bảng.
CS12
Bước 6 — Xuất ván khuôn theo mặt sang Excel
Chọn phạm vi
Việc lệnh làm

Đọc các đường do ALO2 vẽ và ghi ra Excel — mỗi cặp cột × chiều cao một dòng. Đây là con số ván khuôn đã trừ đúng chỗ dầm đâm vào và chỗ sàn đè lên, thay cho việc nhân chu vi với một chiều cao duy nhất.

"Chạy CS12 để xuất ván khuôn cột/vách sang Excel."
execute_lisp → (command "CS12")
⏸ Điểm dừng

Chờ chọn phạm vi [Selected/All].

✅ Xong đúng thì thấy

Excel có các dòng ván khuôn nhóm theo tên cột và chiều cao; tổng khớp với báo cáo mà ALO2 in ra.

❌ Hay sai chỗ này

Chạy CS12 mà chưa chạy ALO2 ⇒ không có đường nào để đọc, bảng rỗng.

ALO1B
Bước phụ — Gán chiều cao xây cho bổ trụ
Chọn / quét theo layer mẫu
Việc lệnh làm

Bổ trụ (QS_STIFF_*) là cấu kiện bê tông nhỏ chèn trong tường. Lệnh xét vùng chạm: chạm dầm → cao tới đáy dầm; chạm sàn → trừ bề dày sàn vùng đó; giao cả hai → lấy đáy dầm; trong lỗ mở → trọn cao tầng. Kết quả ghi vào đuôi tên layer, ví dụ QS_STIFF_220 → QS_STIFF_220_H2700.

Dầm được đọc từ hình QS_RECT_BEAM_* do BM10A vẽ (kiểu tên Size, có chiều cao) — không đọc tim dầm. Vùng sàn đọc từ ALO/ALO1. Cần Floor height khác 0 trong QS Settings. Dung sai chạm lấy từ STSET > TouchTol.

execute_lisp → (command "ALO1B")
⏸ Điểm dừng

Hỏi [Select/All]: Select = chọn từng bổ trụ (polyline kín); All = chọn một vài bổ trụ mẫu, lệnh lấy mọi polyline kín cùng nhóm layer. Chạy xong hiện báo cáo chia theo dưới dầm / dưới sàn / trong lỗ mở.

❌ Hay sai chỗ này

Bổ trụ là một khối, không bị cắt nhỏ như tim tường — chạm nhiều dầm thì lấy dầm cao nhất. Chưa có hình BM10A ⇒ bổ trụ dưới dầm bị tính như dưới sàn. Đổi Floor height thì phải chạy lại lệnh. Lệnh gán bề rộng tương ứng là ALO1A (nên chạy trước), nằm ở tab AI_WALL (xem trang Tường).

EXVF
Đào đất MÓNG ĐƠN — đào, đắp trả, chuyển đi, lót, bê tông
Gom nhóm + cao móng + chọn polyline
Việc lệnh làm

Với các polyline bao móng (đã gán tên QS_CL_OBJ_* hay chưa đều được), lệnh dựng hố đào mở taluy rồi xuất ra Excel theo đúng sơ đồ cột của CS11. Đáy hố = kích thước móng + lót thò ra (ExvLeanOffset 100 mm) + chân taluy (ExvWorkOffset 600 mm) mỗi bên; thành hố mở theo ExvTaluyAngle (mặc định 45°).

Bảng ra 5 khối công tác, mỗi khối có dòng tổng nằm TRÊN dùng SUBTOTAL(9,…) (không phải SUM, để cộng tổng cuối bảng không bị đếm hai lần):

  1. Đào — thể tích ghi thành công thức sống trong ô Excel, hệ số taluy viết thẳng dạng 1/TAN(45*PI()/180) nên sửa góc trong ô là Excel tính lại ngay
  2. Đắp trả = đào − lót − bê tông móng  ·  ③ Chuyển đi = đào − đắp trả
  3. Bê tông lót  ·  ⑤ Bê tông móng

Chiều sâu không nhập thẳng mà suy ra: bạn chỉ nhập chiều cao móng, lệnh cộng thêm bề dày lót (ExvLeanThick, mặc định 100 mm) và ghi ra ô H dạng công thức =0.6+0.1 — nhìn bảng là giải trình được. Có prompt đất phủ trên đỉnh móng, mặc định 0.

"Chạy EXVF, gom theo Size, chiều cao móng 600, rồi tôi chọn các móng đơn."
execute_lisp → (command "EXVF")
⏸ Điểm dừng

Chọn cách gom [Each/Layer/Size] (nhớ lần trước) → nhập chiều cao bê tông móng (mặc định 500) → nhập đất phủ (mặc định 0) → cuối cùng chọn polyline móng.

✅ Xong đúng thì thấy

Excel có 5 khối rõ ràng; báo cáo cho biết bề rộng hố lớn nhất và khẳng định không hố nào chạm nhau.

❌ Hay sai chỗ này
  • 🔴 Dòng "bê tông móng" trùng với CS11 — đã bóc móng bằng CS11 thì đừng cộng cả hai. Chính dòng mô tả trong bảng có ghi cảnh báo này.
  • 🔴 Hố chồng nhau: taluy mở suốt chiều sâu nên thể tích tăng theo bậc hai — móng 2000×1500 đào sâu thêm 1 m thì miệng hố nở từ 4,8 lên 6,8 m và thể tích gấp 4 lần. Lưới cột 6 m là các hố ăn vào nhau, mà lệnh tính từng hố độc lập ⇒ phần giao đếm hai lần. Lệnh có đếm và báo số cặp dính nhau; gặp thì hoặc dùng EXVS bóc cả vùng như một hố, hoặc đặt ExvTaluyAngle = 90 khi có chống vách (thành đứng không bao giờ chồng).
EXVS
Đào đất SÀN ĐÁY HẦM — tính từ cao độ, không nhập chiều sâu
3 cao độ + chọn polyline hầm
Việc lệnh làm

Bản sao của EXVF cho tầng hầm, khác ở chỗ chiều sâu tính từ cao độ: hỏi cao độ hiện trạng trung bình (cho phép số âm), chiều cao hầm và bề dày sàn đáy; lót lấy từ STSET; hỏi xong 3 số mới chọn polyline sàn đáy. Ô H trong Excel là công thức =-0.5+3+0.3+0.1 nên sửa lại được ngay trong bảng.

execute_lisp → (command "EXVS")
✅ Xong đúng thì thấy

Phép thử nhanh: khối lượng "chuyển đi" phải đúng bằng khối hộp tầng hầm (diện tích sàn đáy × chiều sâu).

❌ Hay sai chỗ này

🔴 Đừng bê mô hình móng đơn sang hầm. Tầng hầm là một hộp chiếm chỗ, không lấp lại — đắp trả chỉ là khe chu vi + nêm taluy. Dùng nhầm công thức móng đơn cho hầm 30×20 m sẽ báo khoảng 2000 m³ đắp trả vào đúng chỗ thực ra là tầng hầm rỗng.

QSULK
Mở khoá toàn bộ layer đang bị khoá
Chạy một phát
Việc lệnh làm

Lệnh không có nút trên ribbon — gõ QSULK. Quét toàn bộ layer, layer nào đang khoá thì mở. Hay dùng khi nhận bản vẽ của người khác mà các lệnh không sửa được đối tượng. Lệnh không đụng layer đang tắt hay đóng băng — chỉ đếm và báo.

"Chạy QSULK mở khoá hết layer đang bị khoá."
execute_lisp → (command "QSULK")
⏸ Điểm dừng

Không có điểm dừng — chạy xong hiện bảng tổng kết ngay.

✅ Xong đúng thì thấy

Bảng tổng kết liệt kê đúng những layer vừa được mở khoá.

❌ Hay sai chỗ này

Layer vẫn khuất sau khi chạy: nó đang tắt hoặc đóng băng chứ không phải bị khoá.

BMD
Xoá ĐỐI TƯỢNG trên các nhóm layer do bộ lệnh tạo
Chọn phạm vi + tick + xác nhận
Việc lệnh làm

Nút nằm ở tab AI_STR. Liệt kê ra bảng tick các nhóm layer do bộ lệnh tạo ra (tim dầm, DFW, mảnh break, QS_CL_OBJ_* / CL_OBJ_* của cột/vách…) rồi xoá mọi đối tượng nằm trên nhóm bạn tick. Không tick thì không xoá gì.

🔴 Tick nhóm QS_CL_OBJ_* là xoá luôn polyline cột/vách, không chỉ xoá tên. Muốn gán tên lại thì chạy lại OO1/OO2 trực tiếp (lệnh tự đổi layer) hoặc đổi tên bằng QSLR — không dùng BMD.
"Chạy BMD để xoá các tim dầm và vạch DFW đã vẽ, tôi dựng lại từ BM1."
execute_lisp → (command "BMD")
⏸ Điểm dừng

Chờ chọn phạm vi (một vùng hay cả bản vẽ) rồi tick nhóm layer, cuối cùng hỏi Yes/No xác nhận số đối tượng sẽ xoá; đây là thao tác xoá dữ liệu, đọc kỹ trước khi đồng ý.

✅ Xong đúng thì thấy

Đối tượng trên đúng những nhóm bạn tick biến mất khỏi bản vẽ.

❌ Hay sai chỗ này

Tick nhầm nhóm QS_CL_OBJ_* ⇒ mất luôn hình cột/vách. Nhấn Ctrl+Z ngay để lấy lại.

QSLR
Đổi tên / gộp layer nhanh — sửa tên cột/vách gán sai
[Table/Merge]
Việc lệnh làm

Nút ở panel Layer Management. Cách an toàn để sửa tên QS_CL_OBJ_* gán sai mà không đụng tới hình: Table (mặc định) — quét chọn đối tượng, lệnh liệt kê các layer của chúng thành bảng để đổi tên nhiều layer một lượt, kèm chọn màu và kiểu nét; Merge — pick đối tượng lấy layer nguồn rồi đổi tên hoặc gộp toàn bộ đối tượng sang layer đích, xong hỏi xoá layer nguồn đã rỗng.

"Chạy QSLR để đổi tên layer QS_CL_OBJ_C1 thành QS_CL_OBJ_C1A."
execute_lisp → (command "QSLR")
⏸ Điểm dừng

Hỏi [Table/Merge] (nhớ lần trước) → quét chọn / pick đối tượng → nhập tên mới trong bảng hoặc hộp thoại.

✅ Xong đúng thì thấy

Hình vẫn nguyên chỗ, chỉ tên layer đổi; chạy lại CS11 thì cột mô tả ra tên mới.

❌ Hay sai chỗ này

Đổi sang một tên đã có ⇒ lệnh hỏi gộp: mọi đối tượng của layer nguồn chuyển sang layer đích và mang chung một tên — đọc kỹ trước khi đồng ý.

🏠 Panel Room — khoanh diện tích phòng

Năm nút của panel Auto Room Area phục vụ công tác hoàn thiện (lát nền, trần, sơn, bả): tạo một polyline kín quanh mỗi phòng để lấy diện tích. Panel này có mặt ở cả tab AI_CWF lẫn AI_WALL — cùng một bộ lệnh.

Chúng dựa vào engine dò biên kín của AutoCAD, nên điều kiện tiên quyết là biên phòng phải kín. Hở một khe ở ô cửa là vùng dò sẽ loang ra cả mặt bằng. Quy trình gợi ý: QSRM1 quét nhanh lấy phần dễ → QSRM2 cày lại chỗ khó → QSRM4 gán tên cho phần phải vẽ tay → QSRM5 soát lại lần cuối.

Polyline kết quả nằm trên layer QS_Floor_Area_<tên phòng>. Phòng nào không dò được thì được khoanh tròn đỏ trên layer QS_ROOM_ERROR — đó là danh sách việc cần làm tay, không phải lỗi của lệnh.

QSRM1
Quét nhanh một lượt — chỉ vẽ phòng đã kín
Chọn vùng + chế độ chọn text
Việc lệnh làm

Với mỗi text tên phòng, lệnh dò vùng kín bao quanh nó rồi vẽ polyline và đặt tên layer theo tên phòng. Đây là bản nhanh: mỗi phòng chỉ dò một lượt, phòng nào không ra ngay thì bỏ qua và khoanh tròn đỏ — nhờ vậy không bao giờ mắc kẹt ở mấy phòng biên hở.

Dung sai khe hở lấy thẳng từ STSET > RoomGapTol và luôn được in ra dòng lệnh mỗi lần chạy, để không bao giờ sai âm thầm.

"Chạy QSRM1 quét nhanh diện tích phòng cho tầng này."
execute_lisp → (command "QSRM1")
⏸ Điểm dừng

Chọn vùng làm việc → chọn cách lấy text tên phòng: Selected chọn đích danh vài text (mặc định, an toàn nhất) · byLayer pick một text mẫu rồi chạy mọi text cùng layer · All mọi text đang hiện trong vùng.

✅ Xong đúng thì thấy

Mỗi phòng kín có một polyline ôm sát tường. Dòng lệnh in tiến độ [3/12] tên phòng kèm thời gian và số đỉnh, cuối cùng là báo cáo phòng nào không dò được.

❌ Hay sai chỗ này
  • Chọn All trên bản vẽ có hàng nghìn text (mã thép, cao độ, ghi chú) ⇒ mỗi text thành một vòng đỏ. Dùng byLayer với đúng layer tên phòng.
  • Text tên phòng bị vỡ thành nhiều mảnh (P1 và .04 rời nhau) ⇒ mỗi mảnh dò một lần, layer sinh ra mang tên cụt. Ghép text lại trước.
  • Layer chứa nét đóng kín phòng đang tắt ⇒ engine không nhìn thấy nét đó và coi phòng là hở. Bật layer lên rồi chạy lại.
QSRM2
Bản đầy đủ — cày kỹ những phòng khó
Thêm bước bịt lỗ mở
Việc lệnh làm

Cùng việc với QSRM1 nhưng chịu khó hơn: mỗi phòng được thử nhiều lần với nhiều cách khác nhau cho tới khi ra kết quả sạch, có trần số lần thử lấy từ STSET > RoomMaxTries.

Nó còn thêm bước tự bịt lỗ mở: nắp cửa vẽ trong bản vẽ kiến trúc thường hụt vài trăm mm nên nước dò vẫn lách qua được. Bạn pick một nắp mẫu, lệnh tự vẽ line tạm dọc trục mọi nắp cùng layer, kéo dài thêm RoomCapExtend để đè lên tường, đo xong xoá sạch.

"Chạy QSRM2 cho mấy phòng còn vòng đỏ, tôi sẽ pick nắp cửa mẫu."
execute_lisp → (command "QSRM2")
⏸ Điểm dừng

Như QSRM1, thêm một bước: pick một nắp lỗ mở mẫu để lệnh biết layer nắp cửa — nhấn ENTER nếu bản vẽ không có nắp.

✅ Xong đúng thì thấy

Những phòng QSRM1 bỏ qua ra được biên. Báo cáo cuối liệt kê phòng nào chậm nhất và phòng nào dừng vì hết hạn mức thử.

❌ Hay sai chỗ này

Lệnh chạy trên luồng giao diện của AutoCAD nên trong lúc dò màn hình đứng im và Windows có thể báo "Not Responding" — nó vẫn đang chạy, cứ nhìn thanh tiến độ dưới đáy. Muốn dừng thì nhấn ESC, đừng tắt AutoCAD.

QSRM3
Tự khoanh MỌI vùng kín — không cần text tên phòng
Chọn các nét làm biên
Việc lệnh làm

Cách làm ngược lại: thay vì đi từ text tên phòng, lệnh rải một lưới điểm dày lên toàn bộ vùng bạn chọn rồi tạo polyline kín cho mọi vùng kín tìm được, giữ lại các vùng từ 1 m² trở lên. Không cần text nào cả.

Rất nhanh vì cả lưới điểm được nạp trong một lượt dò duy nhất. Chạy xong lệnh chọn sẵn toàn bộ polyline vừa tạo cho bạn.

"Chạy QSRM3 khoanh hết các vùng kín của mặt bằng này."
execute_lisp → (command "QSRM3")
⏸ Điểm dừng

Chờ chọn các đối tượng tạo thành biên (line, polyline, arc, circle, spline, ellipse) — thường là quét chọn cả mặt bằng tường.

✅ Xong đúng thì thấy

Dòng lệnh báo dò được bao nhiêu vùng, bỏ bao nhiêu vùng nhỏ hơn ngưỡng, giữ lại bao nhiêu.

❌ Hay sai chỗ này
  • Polyline tạo ra nằm trên layer hiện hành và chưa có tên phòng. Nên đặt layer hiện hành thành một layer riêng trước khi chạy, rồi dùng QSRM4 gán tên sau.
  • Chọn thiếu nét biên ⇒ các vùng dính vào nhau thành một mảng lớn.
QSRM4
Gán tên cho biên phòng vẽ tay
Chọn polyline + pick text còn thiếu
Việc lệnh làm

Dành cho những phòng bạn phải tự vẽ biên. Chọn các polyline, lệnh tìm text nằm bên trong từng cái để lấy tên, chuyển polyline lên layer QS_Floor_Area_<tên>, tự đóng kín nếu polyline còn hở, và xoá luôn vòng đỏ nằm trong nó.

"Chạy QSRM4 để gán tên cho mấy polyline tôi vừa vẽ tay."
execute_lisp → (command "QSRM4")
⏸ Điểm dừng

Chọn các polyline. Cái nào không có text hoặc có nhiều hơn một text bên trong thì cuối lệnh sẽ zoom tới từng cái và hỏi bạn pick text — nhấn ENTER để bỏ qua cái đó.

✅ Xong đúng thì thấy

Polyline vẽ tay nằm cùng nhóm layer với các phòng dò tự động, vòng đỏ tương ứng biến mất.

❌ Hay sai chỗ này

Vẽ biên chồng lấn lên phòng bên cạnh ⇒ diện tích bị tính hai lần. Chạy QSRM5 ở chế độ Overlap để soát.

QSRM5
Soát lại — thiếu biên và biên chồng lấn
Chọn Missing / Overlap / Both
Việc lệnh làm

Bước kiểm cuối cùng trước khi lấy số, gộp hai phép kiểm vào một báo cáo:

  • Missing — text tên phòng nào chưa có polyline kín bao quanh: khoanh tròn đỏ trên QS_ROOM_ERROR. Đó là diện tích đang bị bỏ sót.
  • Overlap — hai biên phòng chồng lấn diện tích nhau: khoanh màu magenta trên layer riêng QS_ROOM_OVERLAP. Đó là diện tích đang bị tính hai lần. Hai phòng chỉ dùng chung cạnh thì hợp lệ, không bị bắt.
"Chạy QSRM5 chế độ Both để soát lại toàn bộ biên phòng."
execute_lisp → (command "QSRM5")
⏸ Điểm dừng

Chọn kiểm gì: [Missing / Overlap / Both], mặc định Both. Chế độ Missing hỏi thêm cách lấy text giống QSRM1. Cả hai chế độ đều hỏi polyline nào được tính là biên phòng: [FloorArea/AnyClosed] — FloorArea chỉ xét layer QS_Floor_Area_*, AnyClosed xét mọi polyline kín.

✅ Xong đúng thì thấy

Báo cáo cuộn được, cả hai mục đều 0. Lúc đó con số diện tích mới dùng được.

❌ Hay sai chỗ này

Bỏ qua bước này. Thiếu biên và chồng biên đều không nhìn thấy được bằng mắt trên bản vẽ đã vẽ xong — chỉ lộ ra khi cộng tổng diện tích và thấy lệch.

⚖️ Hai cách tính ván khuôn — chọn một, đừng cộng cả hai
Cách làmChạy những gìĐược gì
NhanhOO1 → OO2 → CS11 Một chiều cao áp cho cả chu vi. Nhanh, nhưng thừa phần bị dầm và sàn che.
Theo mặtOO1 → OO2 → ALO → ALO2 → CS11 (bê tông) + CS12 (ván khuôn) Chiều cao đúng theo từng mặt. Chính xác hơn hẳn ở nhà có dầm dày và sàn giật cấp.
⚠️ Ba chỗ dễ cộng trùng:
① Cột ván khuôn của CS11 ↔ CS12: dùng CS12 thì chỉ lấy phần bê tông của CS11.
② ALO2 ↔ dòng QS_CL_DFWCOL mà BM14/BM15 trừ bên bảng dầm: KHÔNG phải trùng nhau — một cái trừ khỏi tổng DẦM (mặt đầu dầm), một cái trừ khỏi tổng CỘT (mảng mặt cột bị đầu dầm che). Hai mặt thật khác nhau của cùng một nút.
③ Bên bảng dầm: BM10B ↔ vạch DFW của BM10 là hai cách thay thế nhau.
📝 Lưu ý khi sử dụng
📚 Phụ lục tra cứu — thông số ảnh hưởng kết quả

Phần này để tra khi cần, không phải đọc tuần tự. Nếu một lệnh cho ra số lạ, quay lại đây kiểm trước khi nghi bản vẽ.

📐 Bảng 1 — QS Settings (lệnh QSUNITS)
Ô trong formÝ nghĩaẢnh hưởng lệnh nào
UnitsĐơn vị chiều dài ghi ra Excel (mm / cm / m)CS11, CS12
PrecisionSố chữ số thập phân khi ghi ExcelCS11, CS12
Floor heightChiều cao tầng (mm) — mặc định 3300. Đo từ MẶT SÀN tầng này đến MẶT SÀN tầng trên (không phải thông thuỷ). Lệnh tự trừ tiếp bề dày sàn và bậc giật cấp ⇒ đừng tự trừ trước rồi mới nhập.ALO2, ALO1B — bằng 0 thì lệnh dừng
Beam dimension unitText tiết diện trong bản vẽ ghi mm hay cmBBW, BWH
🎛️ Bảng 2 — STSET (lệnh STSET)

Bảng có gần 100 thông số dùng chung cho cả bộ QSTools; dưới đây là những dòng ảnh hưởng quy trình cột/vách. Không sửa gì thì mọi lệnh chạy đúng như mặc định.

Thông sốMặc địnhÝ nghĩaLệnh
① Dọn trùng & gán tên
CdlBboxTol0.01Dung sai bounding-box khi tìm đối tượng trùngCDL
CdlAreaTolPct0.0001Dung sai diện tích tương đối khi tìm trùngCDL
CdlAngleTol0.0001 radDung sai góc xoay khi tìm trùngCDL
AreaTolOO10.05Sai số diện tích cho phép khi đối chiếu kích thước ghi trong text — nới ra thì nhận nhiều hơn nhưng dễ gán nhầmOO1
ExportSortMode1Thứ tự dòng khi xuất: 1 theo TÊN · 2 theo VỊ TRÍ (hàng trên trước, trái sang phải) · 3 theo thứ tự nhặt được trên bản vẽCS11
② Ván khuôn theo mặt
AloProbeDist20 mmĐẩy điểm tra ra ngoài mặt cột bao xa rồi mới hỏi "bên kia có gì". Phải lớn hơn nhiễu bản vẽ nhưng nhỏ hơn dải sàn mỏng nhất cần nhậnALO2
AloBeamExtend200 mmNới tiết diện dầm dọc trục mỗi đầu trước khi hỏi dầm có chạm mặt cột không — bù cho việc tim dầm bị cắt lùi khỏi mặt bê tôngALO2
AloMinSeg50 mmĐoạn chu vi ngắn hơn giá trị này thì gộp vào đoạn kề, tránh vụn bản vẽALO2
OpenZoneMinRatio0.95Một vùng sàn phải chiếm ít nhất tỉ lệ này diện tích lỗ mở mới được coi là chủ của nóALO1
TouchTol10 mmTầm với thêm khi xét bổ trụ có chạm dầm / sàn khôngALO1B
③ Đào đất
ExvTaluyAngle45°Góc mái taluy thành hố đào; 90 = thành đứng (có chống vách)EXVF, EXVS
ExvLeanOffset100 mmBê tông lót thò ra ngoài mép móng mỗi bênEXVF, EXVS
ExvWorkOffset600 mmKhoảng thao tác (chân taluy) mỗi bên tính từ mép lótEXVF, EXVS
ExvLeanThick100 mmBề dày bê tông lót, cộng vào chiều sâu đàoEXVF, EXVS
④ Diện tích phòng
RoomGapTol0 mmKhe hở cho phép trên biên phòng khi dò vùng kínQSRM1, QSRM2
RoomMaxTries12Số lần thử tối đa cho mỗi phòngQSRM2
RoomCapExtend300 mmKéo dài line bịt lỗ mở để đè lên tườngQSRM2
⚠️ Sửa STSET là đổi hành vi mọi lệnh liên quan, không chỉ lệnh đang chạy. Lần đầu dùng nên để nguyên mặc định mà chạy; chỉ chỉnh khi bản vẽ có đặc thù và bạn đã biết rõ mình cần đổi gì.