Đến nội dung


Hình ảnh

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


  • Please log in to reply
22 replies to this topic

#21 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 18 September 2013 - 10:43 AM

có bác nào giúp dùm em với ko ah?

thanks nhìu ah!


  • 0

#22 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 18 September 2013 - 03:38 PM

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)
)

  • 1

#23 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 18 September 2013 - 03:55 PM

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

em chờ bữa giờ, thanks anh wa!


  • 0