Đến nội dung


Hình ảnh

Đếm đối tượng trong bản vẽ cad!


  • Please log in to reply
11 replies to this topic

#1 =Ký Danh=

=Ký Danh=

    Chưa sử dụng CAD

  • Members
  • Pip
  • 1 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 28 May 2009 - 12:54 PM

Chào các bạn!
Các bạn cao thủ cho mình hỏi một vấn đề trong cad:
Trong một bản cad mình có rất nhiều đối tượng giống nhau (block chẳng hạn), mình muốn đếm số lượng đối tượng đó. Các bác nào có phương pháp nào chỉ giúp tôi với.
Mình xin cảm ơn!
  • 0

#2 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 28 May 2009 - 02:11 PM

Chào các bạn!
Các bạn cao thủ cho mình hỏi một vấn đề trong cad:
Trong một bản cad mình có rất nhiều đối tượng giống nhau (block chẳng hạn), mình muốn đếm số lượng đối tượng đó. Các bác nào có phương pháp nào chỉ giúp tôi với.
Mình xin cảm ơn!

Bạn dùng thử cái này :
Ví dụ đếm số đối tượng Text :
(alert(strcat "Tong so doi tuong Text la :" (itoa(sslength(ssget'((0 . "TEXT")))))))

Ví dụ đếm số đối tượng Block :
(alert(strcat "Tong so doi tuong Block la :" (itoa(sslength(ssget'((0 . "INSERT")))))))
  • 2

#3 michaelchutan

michaelchutan

    biết pan

  • Members
  • Pip
  • 6 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 19 June 2009 - 08:22 AM

Chào các bạn!
Các bạn cao thủ cho mình hỏi một vấn đề trong cad:
Trong một bản cad mình có rất nhiều đối tượng giống nhau (block chẳng hạn), mình muốn đếm số lượng đối tượng đó. Các bác nào có phương pháp nào chỉ giúp tôi với.
Mình xin cảm ơn!


cái này thì quá dễ, bạn hãy chon tất cả các đối tượng trên file bằng cách chọn select all, rồi chọn filter,để chọn loại đối tượng cần đếm, chảng hạn là block reference, rồi bạn chọn tên, vì mỗi block có một tên riêng, enter, nó sẽ ra kết quả là bao nhiêu đối tượng đó.
  • 0

#4 tuannt991

tuannt991

    biết pan

  • Members
  • Pip
  • 7 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 01 November 2010 - 01:22 AM

b1. Gõ lệnh Fi -> Selec Fillter -> chọn đối tượng cần tìm. VD: Block, Circle - Vòng tròn.... -> Apply -> chọn ở bản vẽ
b2. gõ lệnh LI
  • 0

#5 tkien_kt87

tkien_kt87

    biết zoom

  • Members
  • Pip
  • 17 Bài viết
Điểm đánh giá: 4 (bình thường)

Đã gửi 01 November 2010 - 10:29 AM

Bạn dùng lệnh Filter: Fi -> Select filter (chọn layer) -> Select Layer(s) -> OK -> Add to list -> Apply -> gõ All -> Enter -> Number found
Good luck :-d
  • 0

#6 nemo2004

nemo2004

    biết lệnh break

  • Advance Member
  • PipPipPipPip
  • 229 Bài viết
Điểm đánh giá: 98 (tàm tạm)

Đã gửi 01 November 2010 - 10:56 AM

còn một cách nữa là dùng quick select trong properties.
Trên diễn đàn có một vài chủ để về vấn đề này rồi mời bạn tham khảo nhé : http://www.cadviet.c...c_chi_giao/139/
  • 0

Spoiler


#7 rongcuoimay

rongcuoimay

    biết vẽ ellipse

  • Members
  • PipPip
  • 51 Bài viết
Điểm đánh giá: -3 (bình thường)

Đã gửi 10 May 2013 - 12:50 PM

sao mình lấy trong thư viện cad ra mẫu cây (trees - metric) , array ra 90 đối tượng, xong có xóa đi 1 vài đối tượng.

rồi dùng lệnh filter đếm block name: trees - metric, mà cad ko đếm ra được 1 đối tượng nào hết? các bác có biết nguyên nhân ko giúp mình với?


  • 0

#8 lyky

lyky

    biết vẽ polygon

  • Members
  • PipPip
  • 70 Bài viết
Điểm đánh giá: 126 (tàm tạm)

Đã gửi 10 May 2013 - 01:28 PM

Bạn có thể phản xạ cho các trường hợp khác bằng một đoạn code đơn giản sau:
 
(defun C:DSL (/ loaio) (if (not loai) (setq loai 0))   ;;; Dem So Luong ;;;
(setq loaio loai loai (getint (strcat "\nLoai 1:Line;2:Text;3:Dimension;4:Block;5:Circle;6:Polyline;7:Arc:[" (itoa loai) "]")))
(cond
  ((= loai 1) (prompt (strcat "\nTong so LINE la:"      (itoa (sslength (ssget '((0 . "LINE"))))) "\n")))
  ((= loai 2) (prompt (strcat "\nTong so TEXT la:"      (itoa (sslength (ssget '((0 . "TEXT"))))) "\n")))
  ((= loai 3) (prompt (strcat "\nTong so DIMENSION la:" (itoa (sslength (ssget '((0 . "DIMENSION"))))) "\n")))
  ((= loai 4) (prompt (strcat "\nTong so INSERT la:"    (itoa (sslength (ssget '((0 . "INSERT"))))) "\n")))
  ((= loai 5) (prompt (strcat "\nTong so CIRCLE la:"    (itoa (sslength (ssget '((0 . "CIRCLE"))))) "\n")))
  ((= loai 6) (prompt (strcat "\nTong so POLYLINE la:"  (itoa (sslength (ssget '((0 . "LWPOLYLINE"))))) "\n")))
  ((= loai 7) (prompt (strcat "\nTong so ARC la:"       (itoa (sslength (ssget '((0 . "ARC"))))) "\n")))))
;;; Neu muon mac dinh "ALL" bo xung them "X" sau ssget ;;;
 
Goodluck!
 
P/S: úi chà, mình nhầm!!!

sao mình lấy trong thư viện cad ra mẫu cây (trees - metric) , array ra 90 đối tượng, xong có xóa đi 1 vài đối tượng.
rồi dùng lệnh filter đếm block name: trees - metric, mà cad ko đếm ra được 1 đối tượng nào hết? các bác có biết nguyên nhân ko giúp mình với?

Bạn nên up file CAD lên trực tiếp cho dễ hiểu bạn à!
  • 1

22665_13x13progress.gif   22665_lyky.gif   22665_13x13progress.gif


#9 PHAMVANTRANG001

PHAMVANTRANG001

    biết pan

  • Members
  • Pip
  • 6 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 20 June 2015 - 03:24 PM

mới có cách này. cái này là đếm đối tượng nha ( mình đang có 128 đối tượng)

đầu tiên explode các block ra

chọn lệnh SL (slice) 

quét hết bản vễ nó ra ntn ở dòng command: Select objects to slice: Specify opposite corner: 128 found (nó tìm thấy 128 đối tượng cắt) 

xong


  • 0

#10 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 832 (rất tốt)

Đã gửi 20 June 2015 - 04:30 PM

mới có cách này. cái này là đếm đối tượng nha ( mình đang có 128 đối tượng)

đầu tiên explode các block ra

chọn lệnh SL (slice) 

quét hết bản vễ nó ra ntn ở dòng command: Select objects to slice: Specify opposite corner: 128 found (nó tìm thấy 128 đối tượng cắt) 

xong

 

Phải chăng,  bản vẽ của anh chỉ có đúng 128 đối tượng block 3D mà mỗi block chỉ có 1 đối tượng thì khi quét hết bản vẽ nó mới ra như thế??? Nếu ngoài 128 đối tượng bock còn có nhiều chi tiết  khác nữa  và block được tạo thành từ nhiều đối tượng 3D dời dạc , anh tính sao??? :) :) :)


  • -1

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...


#11 Khang Nguyễn

Khang Nguyễn

    Chưa sử dụng CAD

  • Members
  • Pip
  • 1 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 25 July 2016 - 09:25 AM

Mình đang học AutoCAD MEP nhưng k biết đếm khối lượng ntn! Có ai biết chỉ giáo mình với!


  • 0

#12 nguytini

nguytini

    biết vẽ rectang

  • Members
  • PipPip
  • 82 Bài viết
Điểm đánh giá: -4 (bình thường)

Đã gửi 25 July 2016 - 01:13 PM

Có 3 cách bạn ạ

1 dùng QSELECT

2 dùng bcount

3 dùng lisp count (bạn tìm trên này nhé)


  • 0

NGỤY HOÀNG ĐÀN

EMAIL: HOANGDAN52NL@GMAIL.COM