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

Giúp dùm em lệnh Tolerance!

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

Em có rất nhiều đối tượng dùng bằng lệnh tolerance em muốn dùng lệnh find để tìm và zoom to nhưng sao ko dc! Có cách nào tìm các đối tượng bằng lệnh tolerance đó ko các anh! Nhờ các anh giúp dùm vớ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
Em có rất nhiều đối tượng dùng bằng lệnh tolerance em muốn dùng lệnh find để tìm và zoom to nhưng sao ko dc! Có cách nào tìm các đối tượng bằng lệnh tolerance đó ko các anh!

 

Nếu bạn dùng tolerance thi sẽ không thể find được đâu do khi đó đối tượng của bạn chuyển thành dạng khác chứ không còn là text nữa. Các phiên bản hiện nay chưa có bản nào làm được chuyện đó, bạn có thể quản lý các tolerance đó bằng layer rồi edit hàng loạt bằng Properties(Ctrl+1). Còn hiện tại mình đang dùng các block thuộc tính để thay thế cho việc dùng tolerance.

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

Bạn gửi file đó lên mình xem cấu trúc Tolerance của bạn..Hiện tại mình chưa rỗi,n lúc nào rỗi mình sẽ giúp bạn ngay ^^

  • Vote giảm 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

Của bạn đây.Khi tìm kiếm có phân biệt chữ hoa - chữ thường

 

;free líp from cadviet.com @ ketxu
(defun c:fz( / t2f sss lst ent minpoint maxpoint oEcho)
(vl-load-com)
(setq oEcho (getvar "cmdecho"))
(setvar "cmdecho" 0)
 (setq
   t2f (getstring t "\nChuoi can tim (ket thuc bang enter):")
   sss (ssget "X" (list (cons 0 "TOLERANCE") (cons 1 (strcat "*" t2f "*"))))        
   lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex sss)))
 )
(alert (strcat "\nTim thay " (itoa (length lst)) " doi tuong!"))  
(foreach ent lst
(vla-getboundingbox (vlax-ename->vla-object ent) 'minpoint 'maxpoint)
(setq minpoint (vlax-safearray->list minpoint) 
   maxpoint (vlax-safearray->list maxpoint))
   (command ".zoom" minpoint maxpoint)
   (command ".zoom" "0.5xp")    
   (getstring "\nNhan enter hoac spacebar de tiep tuc!")
 )
(setvar "cmdecho" oEcho)
 (princ)
)

  • Vote tăng 2
  • Vote giảm 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

Của bạn đây.Khi tìm kiếm có phân biệt chữ hoa - chữ thường

 

;free líp from cadviet.com @ ketxu
(defun c:fz( / t2f sss lst ent minpoint maxpoint oEcho)
(vl-load-com)
(setq oEcho (getvar "cmdecho"))
(setvar "cmdecho" 0)
 (setq
   t2f (getstring t "\nChuoi can tim (ket thuc bang enter):")
   sss (ssget "X" (list (cons 0 "TOLERANCE") (cons 1 (strcat "*" t2f "*"))))        
   lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex sss)))
 )
(alert (strcat "\nTim thay " (itoa (length lst)) " doi tuong!"))  
(foreach ent lst
(vla-getboundingbox (vlax-ename->vla-object ent) 'minpoint 'maxpoint)
(setq minpoint (vlax-safearray->list minpoint) 
   maxpoint (vlax-safearray->list maxpoint))
   (command ".zoom" minpoint maxpoint)
   (command ".zoom" "0.5xp")    
   (getstring "\nNhan enter hoac spacebar de tiep tuc!")
 )
(setvar "cmdecho" oEcho)
 (princ)
)

Cảm ơn bạn rất nhiều mình đang test và thấy rất OK! Có gì mình phản hồi sau nhé!

P/S: Cho mình hỏi diễn đàn mới nâng cấp giao diện mình ko thấy nút thanks đâu hết, với lại chức năng download lisp ko dùng được hay sao đó, down xuống mở lên chỉ có 1 hà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

anh chị cho em hỏi em có cái file cad ma đuôi la dxf lam sao sao em mở nó ra được vậy,file này người ta gởi cho em.em đang dùng cad 2007.mà trên may em cũng có file dxf lai mở được còn file kia thi mở không đượ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

anh chị cho em hỏi em có cái file cad ma đuôi la dxf lam sao sao em mở nó ra được vậy,file này người ta gởi cho em.em đang dùng cad 2007.mà trên may em cũng có file dxf lai mở được còn file kia thi mở không được

up file len di bạn

  • 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

Cảm ơn bạn rất nhiều mình đang test và thấy rất OK! Có gì mình phản hồi sau nhé!

P/S: Cho mình hỏi diễn đàn mới nâng cấp giao diện mình ko thấy nút thanks đâu hết, với lại chức năng download lisp ko dùng được hay sao đó, down xuống mở lên chỉ có 1 hàng à!

Ok bạn. Chức năng download lisp mình thấy ổn rồi đó chứ, chắc bạn gặp đúng lúc nó ngơ thôi ^^ Nút Tks thì nằm ở phía dưới bên phải bài viết, biểu tượng hình tròn màu xanh có dấu cộng ở giữa, status "Vote this post up" để tăng Reputation (danh tiếng) đó bạn ^^

  • Vote tăng 1
  • Vote giảm 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

Ok bạn. Chức năng download lisp mình thấy ổn rồi đó chứ, chắc bạn gặp đúng lúc nó ngơ thôi ^^ Nút Tks thì nằm ở phía dưới bên phải bài viết, biểu tượng hình tròn màu xanh có dấu cộng ở giữa, status "Vote this post up" để tăng Reputation (danh tiếng) đó bạn ^^

A a. Anh thử vote down cái thôi xin lỗi 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

Thì bác lại vote up kép nó lên th ^^

Hic hic, xem bóng mà sướng k ngủ được, mệt quá.....

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 có rất nhiều đối tượng dùng bằng lệnh tolerance em muốn dùng lệnh find để tìm và zoom to nhưng sao ko dc! Có cách nào tìm các đối tượng bằng lệnh tolerance đó ko các anh! Nhờ các anh giúp dùm với!

nếu chỉ tìm thì dùng Fi là ngon!

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 có rất nhiều đối tượng dùng bằng lệnh tolerance em muốn dùng lệnh find để tìm và zoom to nhưng sao ko dc! Có cách nào tìm các đối tượng bằng lệnh tolerance đó ko các anh! Nhờ các anh giúp dùm với!

nếu các tol cùng layer thì dùng layiso rùi sc nó lên :(

nếu ko cùng layer thì dùng FI, chọn đối tượng là tol rùi quét vùng muốn sửa

move các tol chọn đc sang 1 đoạn cố định (mình vẽ 1 đường thẳng làm mốc)

sc nó rùi move lại theo đường thẳng lúc trc move.

mình thủ công nhưng thấy vẫn ok :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

nếu chỉ tìm thì dùng Fi là ngon!

 

nếu các tol cùng layer thì dùng layiso rùi sc nó lên :(

nếu ko cùng layer thì dùng FI, chọn đối tượng là tol rùi quét vùng muốn sửa

move các tol chọn đc sang 1 đoạn cố định (mình vẽ 1 đường thẳng làm mốc)

sc nó rùi move lại theo đường thẳng lúc trc move.

mình thủ công nhưng thấy vẫn ok :D

 

2 bạn này đã thử chưa mà hướng dẫn người khác như vậy? Bạn thử Filter để tìm mấy cái Tol có text giống nhau coi dc không?

 

Bạn có thể dùng Qick select để chọn các Tol có text giống nhau bằng cách:

Bạn đánh lệnh hay dùng menu thì tùy sao cho có cái bảng như hình dưới rồi chọn mấy cái thông số theo hình

tol.jpg

chú ý phần Value bạn đánh vào text bạn cần tìm với 2 dấu * ở trước và sau

  • 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

2 bạn này đã thử chưa mà hướng dẫn người khác như vậy? Bạn thử Filter để tìm mấy cái Tol có text giống nhau coi dc không?

 

Bạn có thể dùng Qick select để chọn các Tol có text giống nhau bằng cách:

Bạn đánh lệnh hay dùng menu thì tùy sao cho có cái bảng như hình dưới rồi chọn mấy cái thông số theo hình

tol.jpg

chú ý phần Value bạn đánh vào text bạn cần tìm với 2 dấu * ở trước và sau

mình đã làm thì mới jám nói chứ bạn. mình dùng cad 2008 tìm tol có text giống nhau bình thường mà

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

Sau 2 năm xài lisp của bác em thấy rất OK, nhưng bây giờ phát sinh là em tìm ví dụ: P1-1 thì nó báo là hơn 50 đối tượng bao gồm cả P1-11, P1-12, P1-111..... có nghĩa là cái nào có chữ màu đỏ là nó tìm tuốt, trong khi đó em chỉ mún tìm chính xác P1-1 thôi ah! giờ sửa dùm em được ko ah, nghĩa là nếu mình gõ như thế nào thì nó tìm y chang như vậy (gõ P1-1 thì tìm đúng P1-1) còn mún tìm nhìu thì gõ P1-1* (dấu * đại diện cho các ký tự đại diện)

Thanks bác nhìu!

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

Sau 2 năm xài lisp của bác em thấy rất OK, nhưng bây giờ phát sinh là em tìm ví dụ: P1-1 thì nó báo là hơn 50 đối tượng bao gồm cả P1-11, P1-12, P1-111..... có nghĩa là cái nào có chữ màu đỏ là nó tìm tuốt, trong khi đó em chỉ mún tìm chính xác P1-1 thôi ah! giờ sửa dùm em được ko ah, nghĩa là nếu mình gõ như thế nào thì nó tìm y chang như vậy (gõ P1-1 thì tìm đúng P1-1) còn mún tìm nhìu thì gõ P1-1* (dấu * đại diện cho các ký tự đại diện)

Thanks bác nhìu!

 

Anh sửa lại Lisp của Ketxu 1 tí cho em. Em chạy thử nhé:

 

(defun c:fz( / t2f sss lst ent minpoint maxpoint oEcho)
(vl-load-com)
(setq oEcho (getvar "cmdecho"))
(setvar "cmdecho" 0)
  (setq
    t2f (getstring t "\nChuoi can tim (ket thuc bang enter):")
    sss (ssget "X" (list (cons 0 "TOLERANCE")
                                     (cons 1 (strcat "*" (if (= (substr t2f 1 1) "*") "*" "%%v")  t2f
                                                                 (if (= (substr t2f (strlen t2f) 1) "*") "*" "%%v") "*" ))))       
    lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex sss)))
  )
 
(alert (strcat "\nTim thay " (itoa (length lst)) " doi tuong!")) 
(foreach ent lst
(vla-getboundingbox (vlax-ename->vla-object ent) 'minpoint 'maxpoint)
 (setq minpoint (vlax-safearray->list minpoint)
               maxpoint (vlax-safearray->list maxpoint))
    (command ".zoom" minpoint maxpoint)
    (command ".zoom" "0.5xp")   
    (getstring "\nNhan enter hoac spacebar de tiep tuc!")
  )
(setvar "cmdecho" oEcho)
  (princ)
)
(defun c:fz( / t2f sss lst ent minpoint maxpoint oEcho)
(vl-load-com)
(setq oEcho (getvar "cmdecho"))
(setvar "cmdecho" 0)
  (setq
    t2f (getstring t "\nChuoi can tim (ket thuc bang enter):")
    sss (ssget "X" (list (cons 0 "TOLERANCE") 
(cons 1 (strcat "*" (if (= (substr t2f 1 1) "*") "*" "%%v")  t2f 
    (if (= (substr t2f (strlen t2f) 1) "*") "*" "%%v") "*" ))))        
    lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex sss)))
  )
 
(alert (strcat "\nTim thay " (itoa (length lst)) " doi tuong!"))  
(foreach ent lst
(vla-getboundingbox (vlax-ename->vla-object ent) 'minpoint 'maxpoint)
 (setq minpoint (vlax-safearray->list minpoint) 
  maxpoint (vlax-safearray->list maxpoint))
    (command ".zoom" minpoint maxpoint)
    (command ".zoom" "0.5xp")    
    (getstring "\nNhan enter hoac spacebar de tiep tuc!")
  )
(setvar "cmdecho" oEcho)
  (princ)
)
(defun c:fz( / t2f sss lst ent minpoint maxpoint oEcho)
(vl-load-com)
(setq oEcho (getvar "cmdecho"))
(setvar "cmdecho" 0)
  (setq
    t2f (getstring t "\nChuoi can tim (ket thuc bang enter):")
    sss (ssget "X" (list (cons 0 "TOLERANCE") 
(cons 1 (strcat "*" (if (= (substr t2f 1 1) "*") "*" "%%v")  t2f 
    (if (= (substr t2f (strlen t2f) 1) "*") "*" "%%v") "*" ))))        
    lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex sss)))
  )
 
(alert (strcat "\nTim thay " (itoa (length lst)) " doi tuong!"))  
(foreach ent lst
(vla-getboundingbox (vlax-ename->vla-object ent) 'minpoint 'maxpoint)
 (setq minpoint (vlax-safearray->list minpoint) 
  maxpoint (vlax-safearray->list maxpoint))
    (command ".zoom" minpoint maxpoint)
    (command ".zoom" "0.5xp")    
    (getstring "\nNhan enter hoac spacebar de tiep tuc!")
  )
(setvar "cmdecho" oEcho)
  (princ)
)
  • Like 1
  • 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

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

×