AutoCAD – Bản vẽ

Chọn đối tượng trong CAD: quét hai chiều cho hai kết quả khác hẳn nhau

Chọn đối tượng trong CAD bằng cách quét trái sang phải và phải sang trái cho hai kết quả khác hẳn nhau. Cùng một khung, một bên bắt 3 nét, bên kia bắt 6.

  • TS. Đỗ Quốc Hoàng
  • 8 phút đọc
Cùng một khung chọn trên cùng sáu nét: quét trái sang phải bắt được 3, quét phải sang trái bắt được 6 Ảnh: Sơ đồ của Viện Tin học Xây dựng

Kéo một khung quanh mấy nét tường, gõ xoá, rồi phát hiện nửa số nét vẫn còn nguyên. Hoặc ngược lại, kéo một khung nhỏ mà cả bản vẽ biến mất. Hai chuyện ấy cùng một gốc, và gốc ấy là chiều kéo chuột.

Chọn đối tượng trong CAD có hai kiểu khung trông gần giống nhau nhưng cho kết quả khác hẳn. Bài này đo cả hai trên cùng một bộ hình để thấy rõ chênh lệch, rồi đi tiếp sang các nguyên nhân khiến một nét nằm sờ sờ mà bấm mãi không chọn được. Muốn học trọn bộ thao tác thì xem khóa AutoCAD Xây Dựng.

Quét chọn đối tượng trong CAD: hai chiều, hai kết quả

Kéo từ trái sang phải ra khung thường, nền xanh, viền liền. Nó chỉ nhận vật nằm trọn bên trong.

Kéo từ phải sang trái ra khung cắt ngang, nền xanh lá, viền đứt. Nó nhận cả vật chỉ chạm vào khung.

Lấy sáu nét thật để thấy chênh lệch. Ba nét ngắn nằm từ toạ độ 1500 tới 3500, và ba nét dài nằm từ 500 tới 6000. Một khung chọn duy nhất, từ 1000 tới 4000 theo phương ngang: nó trùm trọn ba nét ngắn và chỉ cắt ngang ba nét dài.

Cách quétBắt được
Khung thường, trái sang phải3 nét
Khung cắt ngang, phải sang trái6 nét
Cả bản vẽ, để đối chiếu6 nét

Hàng thứ ba là để biết tổng cộng chỉ có sáu nét. Vậy khung thường bỏ sót đúng một nửa, còn khung cắt ngang bắt hết.

Không có kiểu nào đúng hơn kiểu nào. Xoá cả cụm thì dùng cắt ngang. Chỉ lấy đúng mấy vật gọn trong một vùng, không đụng tới nét chạy xuyên qua, thì dùng khung thường.

Lỗi quét chọn đối tượng trong cad: vì sao khung bắt hụt

Gần như mọi trường hợp lỗi quét chọn đối tượng trong cad đều là một trong bốn chuyện dưới đây.

Kéo nhầm chiều. Đây là nguyên nhân thường gặp nhất. Cần bắt hết thì phải kéo từ phải sang trái. Nhìn màu nền là biết ngay: xanh lam là khung thường, xanh lá là cắt ngang.

Nhả chuột quá sớm. Biến PICKDRAG quyết định cách vẽ khung. Trên bản 2027 nó bằng 2, nghĩa là dùng được cả hai lối: bấm rồi thả rồi bấm điểm thứ hai, hoặc giữ chuột kéo một mạch.

Bấm trúng vật thay vì trúng chỗ trống. Muốn mở khung thì điểm đầu phải rơi vào chỗ trống. Rơi trúng một nét là thành chọn nét ấy. Biến PICKBOX bằng 3 là bán kính ô vuông bắt vật quanh con trỏ, tính bằng điểm ảnh — càng lớn càng dễ bấm trúng nhầm.

Vật nằm ngoài vùng nhìn. Khung chỉ bắt phần đang hiển thị trên màn hình. Thu nhỏ cho thấy hết rồi quét lại là xong, chuyện phóng thu nằm ở bài lệnh zoom trong CAD.

Hai chiều quét Ảnh: Cùng một khung trên cùng sáu nét: khung thường bắt 3 nét, khung cắt ngang bắt 6

Không chọn được đối tượng trong cad: bốn nguyên nhân

Khi một nét hiện rõ trên màn hình mà bấm mãi không dính, thứ tự kiểm nên là:

Lớp chứa nó đang bị khoá. Đây là nguyên nhân số một. Trang khoá lớp của Autodesk mô tả gọn: "You cannot edit the objects on a locked layer; however, they are still visible if the layer is on and thawed". Dấu hiệu nhận ra rất rõ: nét trên lớp khoá mờ đi, và rê chuột lên thì hiện một cái ổ khoá nhỏ. Độ mờ ấy do biến LAYLOCKFADECTL quyết định, trên bản 2027 nó bằng 50.

Mở khoá bằng LAYULK, hoặc bấm hình ổ khoá trong bảng layer. Chuyện lớp nằm ở bài layer trong CAD.

Nó nằm trong một khối. Bấm vào một nét của khối là chọn cả khối. Muốn lấy riêng nét bên trong thì vào Block Editor, hoặc giữ Ctrl rồi bấm.

Nó là một nhóm. Bấm một thành viên là cả nhóm theo. Biến PICKSTYLE quyết định chuyện này, và cách xử lý nằm ở bài group trong CAD.

Nó nằm trên lớp đã tắt hoặc đông cứng. Lúc ấy nó không hiện, nên không phải chuyện chọn nữa.

Một điểm đáng biết cho người viết lisp: hàm ssget gọi từ LISP không tôn trọng khoá lớp. Trên cùng một bản vẽ có một lớp đang khoá, mã 70 của lớp đọc ra đúng bit khoá, mà ssget vẫn trả về đủ sáu nét. Nghĩa là một tệp lisp quét chọn rồi xoá sẽ xoá cả vật trên lớp bạn tưởng đã khoá an toàn. Cách nạp và đọc một tệp lisp nằm ở bài lệnh APPLOAD trong CAD.

Lệnh chọn đối tượng trong cad và các lối vào

Theo tệp giao diện acad.cuix của bản 2027.

LệnhLệnh tắtRibbonMenu
QSELECTkhông cóHome → Utilities → Quick SelectTools → Quick Select
FILTERFIkhông cókhông có
SELECTSIMILARkhông cókhông cókhông có
SELECTkhông cókhông cókhông có
LAYLCKkhông cóHome → Layers → LockFormat → Layer tools → Layer Lock
LAYULKkhông cóHome → Layers → UnlockFormat → Layer tools → Layer Unlock

Bốn lệnh giữa bảng không có một nút nào trên ribbon lẫn menu, nên chỉ gõ tên mới gọi được.

QSELECT là lệnh đáng học nhất trong bảng. Nó chọn theo thuộc tính chứ không theo vị trí: mọi nét trên một lớp, mọi chữ cao 2,5, mọi đường tròn bán kính dưới 100. Với bản vẽ hồ sơ thật thì nó nhanh hơn quét khung rất nhiều.

Chín biến quyết định việc chọn

Giá trị đọc trên bản 2027 khi chưa ai đổi gì.

BiếnGiá trịNó quyết định
PICKADD2Bấm vật mới thì cộng dồn hay thay chỗ vật cũ
PICKAUTO5Bấm chỗ trống có tự mở khung chọn không
PICKBOX3Bán kính ô bắt vật quanh con trỏ, tính bằng điểm ảnh
PICKDRAG2Vẽ khung bằng hai lần bấm hay giữ chuột kéo
PICKFIRST1Chọn trước rồi mới gọi lệnh có được không
PICKSTYLE1Bấm một thành viên có kéo cả nhóm theo không
SELECTIONPREVIEW3Vật sáng lên khi rê chuột qua
SELECTIONCYCLING0Có hỏi khi nhiều vật chồng lên nhau không
LAYLOCKFADECTL50Vật trên lớp khoá mờ đi bao nhiêu phần trăm

PICKADD bằng 2 là chỗ nhiều tài liệu cũ nói sai. Giá trị 2 nghĩa là bấm thêm vật thì cộng dồn, muốn bỏ bớt thì giữ Shift rồi bấm. Đặt nó về 0 thì mỗi lần bấm là thay chỗ vật cũ, và đó chính là lúc người dùng kêu "chọn cái này thì mất cái kia".

SELECTSIMILARMODE bằng 130 là một mã bit, tách ra thành 2 cộng 128. Trang biến này của Autodesk ghi 2 là Layer và 128 là "Name, for referenced objects including blocks, xrefs, and images". Nghĩa là bấm một khối cửa rồi gõ SELECTSIMILAR thì máy gom đúng mọi khối cùng tên nằm cùng lớp, không lấy thừa thứ khác.

SELECTIONCYCLING bằng 0 nghĩa là khi hai nét nằm chồng khít, máy lấy một cái mà không hỏi. Đặt nó bằng 2 thì máy hiện danh sách cho chọn — rất đáng bật với bản vẽ nhận từ nơi khác. Chuyện nét chồng nhau nằm ở bài lệnh xóa nét trùng trong CAD.

Bỏ chọn đối tượng trong cad

Bỏ cả lượt thì bấm Esc. Chuyện hay cần hơn là bỏ bớt vài vật khỏi một lượt chọn đã có: giữ Shift rồi bấm vào vật muốn loại. Giữ Shift rồi kéo một khung thì loại cả cụm.

Ở dòng nhắc Select objects: còn một đường nữa: gõ R để chuyển sang chế độ loại bỏ, gõ A để quay lại chế độ thêm.

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

Điều hay ngheThực tế trên bản 2027
Khung chọn nào cũng như nhau, chỉ khác màuCùng một khung trên cùng sáu nét: khung thường bắt 3, khung cắt ngang bắt 6
PICKADD mặc định bằng 1Đọc ra bằng 2
Lớp khoá thì lisp cũng không đụng đượcssget gọi từ LISP vẫn lấy đủ vật trên lớp đang khoá

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

Quét chọn kiểu nào bắt được hết?

Kéo từ phải sang trái, tức khung cắt ngang, nền xanh lá. Nó lấy cả vật chỉ chạm vào khung.

Vì sao bấm vào nét mà không chọn được?

Thường là lớp chứa nó đang khoá. Nét trên lớp khoá mờ đi và rê chuột lên thì hiện ổ khoá. Gõ LAYULK để mở.

Chọn cái mới thì mất cái đang chọn?

Biến PICKADD đang bằng 0. Đặt về 2 là cộng dồn trở lại.

Có cách chọn theo thuộc tính thay vì theo vị trí không?

Có, gõ QSELECT. Chọn được theo lớp, theo màu, theo loại đối tượng, theo cỡ chữ.

Hai nét chồng khít lên nhau thì chọn cái nào?

Máy lấy một cái mà không hỏi, vì SELECTIONCYCLING bằng 0. Đặt nó bằng 2 thì máy hiện danh sách cho bạn chọ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