Chuyển đến nội dung
Diễn đàn CADViet
thanhnam

Đếm số lượng block trong bản vẽ lớn

Các bài được khuyến nghị

Mình cần phải bốc khối lượng 1 bản vẽ có nhiều chi tiết giống nhau ( block, text ...),

có cách nào đếm chúng mà không dùng phương pháp thủ công ko?

Thanks!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Mình cần phải bốc khối lượng 1 bản vẽ có nhiều chi tiết giống nhau ( block, text ...),

có cách nào đếm chúng mà không dùng phương pháp thủ công ko?

Thanks!

Lệnh filter hay qselect có bị gọi là thủ công không? nếu không bị, bạn hãy thử dùng xem sao? Để dùng lại được tập hợp filter list đã chọn của lệnh filter, bạn hãy sử dụng chức năng save của filter.

 

Lệnh DEM của lisp sau đây sẽ đếm số đối tượng của lệnh filter hoặc Qselect (hay bất cứ lệnh gì có select đối tượng) vừa thực hiện:

(defun c:dem ()
 (if (setq ss (ssget "P"))
   (entmake
     (list
(cons 0 "TEXT")
(cons 1 (itoa (sslength ss)))
(cons 10 (setq p (getpoint "\nVao diem chen text ket qua: ")))
(cons 40 (getdist p "\nChieu cao text ket qua: "))
     )
   )
   (alert "\nKhong co doi tuong nao duoc chon")
 )
 (princ)
)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Lệnh filter hay qselect có bị gọi là thủ công không? nếu không bị, bạn hãy thử dùng xem sao? Để dùng lại được tập hợp filter list đã chọn của lệnh filter, bạn hãy sử dụng chức năng save của filter.

Chết 2 lệnh này em hay dùng mà bị liệt vào hàng thủ công, phải chăng mình lạc hậu quá rồi???

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Chết 2 lệnh này em hay dùng mà bị liệt vào hàng thủ công, phải chăng mình lạc hậu quá rồi???

Hà thử dùng lệnh SSX xem sao, dùng lệnh SSX xong rồi Select tham số P nhé

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Nếu bạn có cài Express Tool thì có một lệnh đơn giản. BLOCKCOUNT.

Bạn nhập "bcount" vào dòng nhắc lệnh, sau đó quét chọn cửa sổ window để chọn block hoặc nhập "all" để chọn toàn bộ. Máy tính sẽ thể hiện tên các block trong bản vẽ và số lượng cụ thể.

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Em toàn chọn tất các đối tượng rồi xem trong bảng propeties, không biết có sai lầm gì không?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Mình cần phải bốc khối lượng 1 bản vẽ có nhiều chi tiết giống nhau ( block, text ...),

có cách nào đếm chúng mà không dùng phương pháp thủ công ko?

Thanks!

 

Trích xuất dữ liệu từ Acad2008 ra Excel

 

Trước khi sử dụng lệnh này bạn nên có các table style. Nếu chưa có, bạn nên tạo nó bằng lệnh TABLESTYLE

1. Trên menu chọn Tools -> Data Extraction...

2. Xuất hiện hộp thoại Data Extraction - Begin (Page 1 of 8)

a. Tạo mới : Chọn Create a new data extraction. -> Chọn Next

Nếu muốn sử dụng file mẫu (phải tạo ra trước đó) thì chọn thêm Use previous extraction as a template (.dxe or .blk) rồi bấm vào nút có hình 3 dấu chấm để chọn file template.

b. Hiệu chỉnh dữ liệu trích xuất : Chọn Edit an existing data extraction -> bấm vào nút có hình 3 dấu chấm -> Chọn file cần hiệu chỉnh -> Chọn Open

c. Chọn Next >

3. Xuất hiện hộp thoại Save Data Extraction As -> Chọn thư mục và đặt tên cho file (VD: thongkecua.dxe) -> Chọn Save

4. Xuất hiện hộp thoại Data Extraction Define Data Source (Page 2 of 8)

a. Chọn Drawings/Sheet set -> Chọn Include current drawing. Khi chọn tùy chọn này ta có thể trích xuất và cập nhật tức thì những thay đổi dữ liệu từ bản vẽ hiện hành, hoặc từ thư mục có chứa nhiều file (nếu chọn thêm nút Add Folder...), hoặc từ các file rãi rác khắp nơi (nếu chọn thêm nút Add Drawing...).

b. Nếu chỉ muốn trích xuất và cập nhật những thay đổi dữ liệu từ những đối tượng cố định trong bản vẽ hiện hành -> chọn Select objects in the current drawing -> chọn nút select object ngay sau đó. Ở tùy chọn này, ACAD sẽ cập nhật dữ liệu, nếu bạn sử dụng các lệnh edit (VD: chỉnh attribute trong block, thay đổi vị trí, layer, màu sắc, đường nét,.... ) nhưng ACAD sẽ không cập nhật dữ liệu nếu bạn copy hoặc vẽ thêm đối tượng mới.

c. Nút Settings...

* Extraction Settings :

+ Extract Objects from Blocks = Trích xuất đối tượng từ những Block (nên chọn)

+ Extract Objects from Xrefs = Trích xuất từ Xrefs (nên chọn)

+ Include Xrefs in Block Counts = khi đếm Block bao gồm luôn các đối tượng Xrefs (ít khi chọn)

* Extract from :

+ Objects in Model Space : chỉ trích xuất các đối tượng có trong không gian mô hình (trên Layout sẽ không tính) -> nên chọn

+ All Objects in Drawing : tất cả đối tượng có trong bản vẽ (Model + Layout) -> ít khi chọn

d.Sau khi hiệu chỉnh xong -> chọn Next >

5. Xuất hiện hộp thoại Data Extraction - Select objects (Page 3 of 8)

Display Options : Những tùy chọn cách trình bày danh sách đối tượng

Display All Object Types = Trình bày mọi kiểu đối tượng

Display Blocks Only = chỉ trình bày các đối tượng là block

Display Non-Blocks Only = chỉ trình bày các đối tượng không phải block

Display Blocks with Attributes Only = chỉ trình bày các đối tượng là block có mang thuộc tính

Display Only Objects Used in Drawings = chỉ trình bày các đối tượng được sử dụng trong bản vẽ

Sau khi hiệu chỉnh các tùy chọn theo ý thích ta sẽ có được danh sách các đối tượng. Bấm vào hộp kiểm ở trước tên mỗi đối tượng mà ta muốn thốmg kê (chọn nhiều đối tượng bằng cách nhấn Shift rối nhấn thanh Space) -> chọn Next >

6. Xuất hiện hộp thoại Data Extraction - Select Properties (Page 4 of 8) dùng để lựa chọn thuộc tính trích xuất

Trong Danh sách lọc Category Filter :

3DVisualization : thống kê thuộc tính 3D - VD : chất liệu,...

Attributes : thống kê Attribute trong block

Drawing : thống kê ngày-giờ khởi tạo-hiệu chình, vị trí của file bản vẽ và các thuộc tính được tạo ra bằng lệnh DWGPROPS

Dynamic Blocks : thống kê thuộc tính trong dynamic block

General : thống kê layer, linetype, lineweight, linetype scale, color,Plot style,....

Geometry : thống kê chiều dài, bề dày, diện tích,góc quay, điểm chèn,......

Misc : thống kê đơn vị, đường dẫn, các đặc tính thể hiện, đánh dấu, phân loại đối tượng,.....

Pattern : thống kê thuộc tính của Hatch

Table : thống kê bảng biểu

Text : thống kê thuộc tính của text, field

.....

Chọn vào mỗi mục trên danh sách lọc thì bên cửa sổ Properties sẽ liệt kê các thuộc tính tương ứng. Ta chọn lấy những thuộc tính cần thiết bằng cách bấm vào hộp kiểm ở đầu hàng.

Sau khi hiệu chỉnh xong -> chọn Next >

7. Xuất hiện hộp thoại Data Extraction - Refine data (Page 5 of 8) dùng để tinh lọc dữ liệu

Combine Identical Rows = kết hợp các hàng có cùng tên (nên chọn)

Show Count Column = Thấy được cột tính tổng số đối tượng (nên chọn).

Show Name Column = Thấy được cột chứa tên đối tượng (nên chọn).

Link External Data = liên kết với dữ liệu từ bên ngoài (file excel có đuôi là .xls và .csv).

Sort Columns Options = Sắp xếp thứ tự phân loại cho các cột

Full Preview = Xem trước bảng thống kê dữ liệu trích xuất

Sau khi hiệu chỉnh xong -> chọn Next >

8. Xuất hiện hộp thoại Data Extraction - Chose Output (Page 6 of 8) dùng để kết xuất dữ liệu ra ngoài

Insert Data Extraction Table into Drawing = kết xuất dữ liệu bằng cách chèn vào 1 bảng thống kê trong bản vẽ hiện hành (nên chọn)

Output Data to External File = kết xuất dữ liệu ra tập tin bên ngoài (nên chọn) -> bấm vào nút có hình 3 dấu chấm -> Chọn thư mục và đặt tên cho file (VD: thongkecua.xls) -> Chọn Save

Sau khi hiệu chỉnh xong -> chọn Next >

9. Xuất hiện hộp thoại Data Extraction - Table Style (Page 7 of 8) dùng để hiệu chỉnh kiểu dáng bảng thống kê

a. Trong mục Table Style -> chọn loại table tương thích (bạn nên tạo ra trước các định dạng của bảng bằng lệnh TABLESTYLE)

b. Trong mục Enter a Title for Your Table bạn gõ tên cho bảng (VD: BẢNG THỐNG KÊ.....)

Sau khi hiệu chỉnh xong -> chọn Next > -> Chọn Finish để đóng hộp thoại Data Extraction

10. Chọn 1 điểm nào đó để chèn bảng thống kê.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Mình cần phải bốc khối lượng 1 bản vẽ có nhiều chi tiết giống nhau ( block, text ...),

có cách nào đếm chúng mà không dùng phương pháp thủ công ko?

Thanks!

 

Đặc tính property rất tuyệt, tôi thấy chỉ cần quét tất cả, rồi xem trong bảng property là nó thống kê hết, chính xác.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Trích xuất dữ liệu từ Acad2008 ra Excel

 

Trước khi sử dụng lệnh này bạn nên có các table style. Nếu chưa có, bạn nên tạo nó bằng lệnh TABLESTYLE

1. Trên menu chọn Tools -> Data Extraction...

2. Xuất hiện hộp thoại Data Extraction - Begin (Page 1 of 8)

..............

 

Caca này đạt đến mức võ công thượng thừa rồi, trong các chiêu vưa liệt kê thì chiêu này là hay nhất(theo q/n cá nhân). Trước bên mình hay dùng cái này để tk lưới thép hàn dc dinh nghĩa bằng attribute... rồi dùng excel tính tổng kl

Song cái này từ bản 2004 đã có rồi...

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Mình cần phải bốc khối lượng 1 bản vẽ có nhiều chi tiết giống nhau ( block, text ...),

có cách nào đếm chúng mà không dùng phương pháp thủ công ko?

Thanks!

Chào bà con, em là thành viên mới, tham gia diễn đàn để học hỏi thêm kinh nghiệm từ anh em.

Đối với vấn đề của thanhnam, em thường giải quyết như sau: đánh lệnh bcount, chọn vùng cần đếm, enter, vậy là tất cả các block đều được thống kê số lượng. Còn khi đếm text, em dùng edit/find, replace text cần đếm bằng 1 text bất kì, sau đó replace all. Bảng thống kê sẽ cho biết đã replace bao nhiêu text. Cuối cùng là undo lại để trả về nguyên trạng ban đầu.

Vì công việc của em tương đối đơn giản, nên chỉ biết được đến đấy. Mong anh em chỉ giáo thêm.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
replace text cần đếm bằng 1 text bất kì, sau đó replace all. Bảng thống kê sẽ cho biết đã replace bao nhiêu text. undo lại để trả về nguyên trạng ban đầu.

 

Nên dùng filter thay find ,.. vì cái này lỡ dại hôm nào mát giời nhà điện cúp 1 fát mà chưa kịp Undo thì đúng là ăn đủ....hehe :bigsmile:

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nên dùng filter thay find ,.. vì cái này lỡ dại hôm nào mát giời nhà điện cúp 1 fát mà chưa kịp Undo thì đúng là ăn đủ....hehe :bigsmile:

Cái này nếu viết một cái thống kê bằng lisp hoặc arx thì ngon, bác lấy cái tên của block là thống kê được ngay thôi. Làm bằng ARX mất khoảng 1->2 giây là cùng

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Đặc tính property rất tuyệt, tôi thấy chỉ cần quét tất cả, rồi xem trong bảng property là nó thống kê hết, chính xác.

Nhưng theo em thấy nếu có nhiều loại bclok trong đó thì nó ko tách riêng ra được nên em thấy dùng bcount hay hơn:d

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×