Đến nội dung


Hình ảnh
- - - - -

[Xin] lisp chuyển màu các thuộc tính dynamic block


  • Please log in to reply
96 replies to this topic

#41 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 03 May 2014 - 08:24 PM

Tôi gửi lại theo link khác.

 http://www.mediafire...ywzv/attcol.lsp

Bạn Tot77 xem lại hộ mình cái được không. không hiểu lí do gì mà mình thử lisp trên là cứ bị treo máy ah. cứ đang chọn màu là treo luôn. 4,5 lần rồi toàn bị thế


  • 0

#42 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 03 May 2014 - 09:37 PM

Lạ nhỉ!! chỉ khi tạo giao diện là có đụng tới file thôi, khi bạn chọn màu tức là giao diện đã bật lên thì không phải do file.

Bạn xài win gì cad gì? Bạn có thể gửi cái file bị treo đó để test xem sao.

Bạn thử trên nhiều file xem có bị không.


  • 0

#43 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 04 May 2014 - 07:28 AM

Tôi viết lại gọn hơn và thêm cơ chế bắt lỗi, bạn thử lại xem sao.

(vl-load-com)
(defun dxf(id v) (cdr (assoc id (entget v))))
(defun setColor(tag tval col v kieu)
    (foreach item
      (vlax-safearray->list (vlax-variant-value
(vla-GetAttributes (vlax-ename->vla-object v))))          
          (cond ((and (not kieu) (= tag (vla-get-TagString item)) (= tval (vla-get-TextString item)))
        (vla-put-Color item col))
((and kieu (= tag (vla-get-TagString item)))
        (vla-put-Color item col)
(vla-put-TextString item tval))
    ))
)
 
(defun getColor(tag v / rt)
  (setq rt nil)
    (foreach item
      (vlax-safearray->list (vlax-variant-value
(vla-GetAttributes (vlax-ename->vla-object v))))          
          (if (= tag (vla-get-TagString item)) 
    (setq rt (list (vla-get-TextString item) (vla-get-Color item)))
    ))
  rt
)
 
(defun C:mat1(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (acad_colordlg (dxf 62 a))
        kt  (dxf 1 a)
tag (dxf 2 a))
  (setColor tag kt col (dxf 330 a) nil)
  (mapcar '(lambda(x) (setColor tag kt col x nil))
 (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)
 
(defun C:mat2(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (dxf 62 a)
        kt  (dxf 1 a)
tag (dxf 2 a))  
  (mapcar '(lambda(x) (setColor tag kt col x t))
   (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)
 
(defun c:mat3(/ a tag l ssl tm)
  
;;  Author: Lee McDonell, Copyright © 2011 - www.lee-mac.com       ;;
(defun _dclsel ( l / file tmp dch l1 l2 *attcolour*)
  (defun _dclimg ( k c )
    (start_image k) (fill_image 0 0 (dimx_tile k) (dimy_tile k) c) (end_image)
  )
 
  (defun _unique ( l ) (if l (cons (car l) (_unique (vl-remove (car l) (cdr l))))))
  
  (defun LM:SubstNth ( a n l / i )
    (setq i -1)
    (mapcar '(lambda ( x ) (if (= (setq i (1+ i)) n) a x)) l)
  )
  
  (defun act1()
    (set_tile "imgC" "") (set_tile "imgC" (get_tile "tags"))
    (_dclimg "img" (atoi (nth (atoi (get_tile "imgC")) l2)))
  )
  
  (defun act2()
    (set_tile "tags" "") (set_tile "tags" (get_tile "imgC"))
    (_dclimg "img" (setq *attcolour* (acad_colordlg (atoi (nth (atoi (get_tile "imgC")) l2)))))
    (start_list "imgC")
    (mapcar 'add_list (setq l2 (LM:SubstNth (itoa *attcolour*) (atoi (get_tile "imgC")) l2)))
    (end_list)
    (set_tile "imgC" "") (set_tile "imgC" (get_tile "tags"))
  )  
      
  (setq l (_unique l)
str (strcat
                "ATTCOL : dialog { label = \"Attribute Colour\"; spacer;"
                "  : row { "
                "  :   list_box { label = \"Select Tags\"; key = \"tags\"; width = 20.0; "
"          fixed_width = true; multiple_select = false ; alignment = centered; }"
                "  :   list_box { label = \"Colour\" ; key = \"imgC\" ; width = 8.0 ; "
"          fixed_width = true; multiple_select = false ; alignment = centered; }"
                "    }"
"  : row { "
                "  :   image_button { key = \"img\"; alignment = centered; height = 3.0; fixed_width = false;"
                "                        fixed_height = true; }"
                "    }"
                "  spacer; ok_cancel;"
                "}"
    ))
  
    (if (not (findfile (setq name 
(strcat (substr (setq sup (vla-get-SupportPath (vla-get-Files (vla-get-Preferences (vlax-get-acad-object)))))
  1 (vl-string-search ";" sup)) "\\ATTCOL.DCL"))))
      (progn (setq file (open name "w"))
             (write-line str file)
             (close file))     
    )
    (setq dch (load_dialog name))
    (new_dialog "ATTCOL" dch)
  
 
    (setq l1 (mapcar 'car l)
          l2 (mapcar '(lambda(x) (itoa (cadr x))) l))
       
    (start_list "tags")  (mapcar 'add_list l1)  (end_list)
    (start_list "imgC")  (mapcar 'add_list l2)  (end_list)
    (set_tile "tags" "0") (set_tile "imgC" "0")
       
    (setq *attcolour* (atoi (car l2)))       
    (_dclimg "img" *attcolour*)
  
    (action_tile "tags" "(act1)")
    (action_tile "imgC" "(act2)")
    (start_dialog)        
 
    (if (< 0 dch) (unload_dialog dch))
    (mapcar 'cons l1 l2)
)
  
;;=======================================;;
  (setq a   (car (nentsel "\nChon Attribute:"))
tag (dxf 2 a))
  
  (vl-catch-all-error-p (vl-catch-all-apply '(lambda() 
     (setq l (_dclsel (mapcar '(lambda(x) (getcolor tag x))
      (setq ssl (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))))))))
  
  (mapcar '(lambda(x) (setColor tag (car (setq tm (assoc (car (getcolor tag x)) l)))
            (atoi (cdr tm)) x nil)) ssl)
  (princ)
)
 


  • 1

#44 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 04 May 2014 - 11:06 AM

Tôi viết lại gọn hơn và thêm cơ chế bắt lỗi, bạn thử lại xem sao.

(vl-load-com)
(defun dxf(id v) (cdr (assoc id (entget v))))
(defun setColor(tag tval col v kieu)
    (foreach item
      (vlax-safearray->list (vlax-variant-value
(vla-GetAttributes (vlax-ename->vla-object v))))          
          (cond ((and (not kieu) (= tag (vla-get-TagString item)) (= tval (vla-get-TextString item)))
        (vla-put-Color item col))
((and kieu (= tag (vla-get-TagString item)))
        (vla-put-Color item col)
(vla-put-TextString item tval))
    ))
)
 
(defun getColor(tag v / rt)
  (setq rt nil)
    (foreach item
      (vlax-safearray->list (vlax-variant-value
(vla-GetAttributes (vlax-ename->vla-object v))))          
          (if (= tag (vla-get-TagString item)) 
    (setq rt (list (vla-get-TextString item) (vla-get-Color item)))
    ))
  rt
)
 
(defun C:mat1(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (acad_colordlg (dxf 62 a))
        kt  (dxf 1 a)
tag (dxf 2 a))
  (setColor tag kt col (dxf 330 a) nil)
  (mapcar '(lambda(x) (setColor tag kt col x nil))
 (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)
 
(defun C:mat2(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (dxf 62 a)
        kt  (dxf 1 a)
tag (dxf 2 a))  
  (mapcar '(lambda(x) (setColor tag kt col x t))
   (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)
 
(defun c:mat3(/ a tag l ssl tm)
  
;;  Author: Lee McDonell, Copyright © 2011 - www.lee-mac.com       ;;
(defun _dclsel ( l / file tmp dch l1 l2 *attcolour*)
  (defun _dclimg ( k c )
    (start_image k) (fill_image 0 0 (dimx_tile k) (dimy_tile k) c) (end_image)
  )
 
  (defun _unique ( l ) (if l (cons (car l) (_unique (vl-remove (car l) (cdr l))))))
  
  (defun LM:SubstNth ( a n l / i )
    (setq i -1)
    (mapcar '(lambda ( x ) (if (= (setq i (1+ i)) n) a x)) l)
  )
  
  (defun act1()
    (set_tile "imgC" "") (set_tile "imgC" (get_tile "tags"))
    (_dclimg "img" (atoi (nth (atoi (get_tile "imgC")) l2)))
  )
  
  (defun act2()
    (set_tile "tags" "") (set_tile "tags" (get_tile "imgC"))
    (_dclimg "img" (setq *attcolour* (acad_colordlg (atoi (nth (atoi (get_tile "imgC")) l2)))))
    (start_list "imgC")
    (mapcar 'add_list (setq l2 (LM:SubstNth (itoa *attcolour*) (atoi (get_tile "imgC")) l2)))
    (end_list)
    (set_tile "imgC" "") (set_tile "imgC" (get_tile "tags"))
  )  
      
  (setq l (_unique l)
str (strcat
                "ATTCOL : dialog { label = \"Attribute Colour\"; spacer;"
                "  : row { "
                "  :   list_box { label = \"Select Tags\"; key = \"tags\"; width = 20.0; "
"          fixed_width = true; multiple_select = false ; alignment = centered; }"
                "  :   list_box { label = \"Colour\" ; key = \"imgC\" ; width = 8.0 ; "
"          fixed_width = true; multiple_select = false ; alignment = centered; }"
                "    }"
"  : row { "
                "  :   image_button { key = \"img\"; alignment = centered; height = 3.0; fixed_width = false;"
                "                        fixed_height = true; }"
                "    }"
                "  spacer; ok_cancel;"
                "}"
    ))
  
    (if (not (findfile (setq name 
(strcat (substr (setq sup (vla-get-SupportPath (vla-get-Files (vla-get-Preferences (vlax-get-acad-object)))))
  1 (vl-string-search ";" sup)) "\\ATTCOL.DCL"))))
      (progn (setq file (open name "w"))
             (write-line str file)
             (close file))     
    )
    (setq dch (load_dialog name))
    (new_dialog "ATTCOL" dch)
  
 
    (setq l1 (mapcar 'car l)
          l2 (mapcar '(lambda(x) (itoa (cadr x))) l))
       
    (start_list "tags")  (mapcar 'add_list l1)  (end_list)
    (start_list "imgC")  (mapcar 'add_list l2)  (end_list)
    (set_tile "tags" "0") (set_tile "imgC" "0")
       
    (setq *attcolour* (atoi (car l2)))       
    (_dclimg "img" *attcolour*)
  
    (action_tile "tags" "(act1)")
    (action_tile "imgC" "(act2)")
    (start_dialog)        
 
    (if (< 0 dch) (unload_dialog dch))
    (mapcar 'cons l1 l2)
)
  
;;=======================================;;
  (setq a   (car (nentsel "\nChon Attribute:"))
tag (dxf 2 a))
  
  (vl-catch-all-error-p (vl-catch-all-apply '(lambda() 
     (setq l (_dclsel (mapcar '(lambda(x) (getcolor tag x))
      (setq ssl (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))))))))
  
  (mapcar '(lambda(x) (setColor tag (car (setq tm (assoc (car (getcolor tag x)) l)))
            (atoi (cdr tm)) x nil)) ssl)
  (princ)
)
 

Cám ơn bạn Tot77 rất nhiệt tình, mình cũng đã check lại với lisp sau của bạn nhưng vẫn bị tình trạng đơ như vậy. mình đã thử nhiều lần và thấy CAD bị lỗi khi ta ấn Cancel trong khi chọn màu và mình cũng đã chụp lại màn hình của CAD bị đơ khi ấy thông báo như  ảnh đính kèm. mình dùng win 7 64 bit, CAD 2010 9928_lisp_doi_mau_att_gay_loi_cad.jpg


  • 0

#45 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 04 May 2014 - 12:45 PM

Không nghĩ tới tình huống bạn bấm cancel khi chọn màu. Bạn thử cái dưới đây xem sao.

 

(vl-load-com)
(defun dxf(id v) (cdr (assoc id (entget v))))
 
(defun *error* ( msg )
  (if (< 0 dch) (unload_dialog dch))
  (setq *error* temperr)
  (princ)
)
(setq temperr *error*)
 
(defun setColor(tag tval col v kieu)
    (foreach item
      (vlax-safearray->list (vlax-variant-value
(vla-GetAttributes (vlax-ename->vla-object v))))          
          (cond ((and (not kieu) (= tag (vla-get-TagString item)) (= tval (vla-get-TextString item)))
        (vla-put-Color item col))
((and kieu (= tag (vla-get-TagString item)))
        (vla-put-Color item col)
(vla-put-TextString item tval))
    ))
)
 
(defun getColor(tag v / rt)
  (setq rt nil)
    (foreach item
      (vlax-safearray->list (vlax-variant-value
(vla-GetAttributes (vlax-ename->vla-object v))))          
          (if (= tag (vla-get-TagString item)) 
    (setq rt (list (vla-get-TextString item) (vla-get-Color item)))
    ))
  rt
)
 
(defun C:mat1(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (acad_colordlg (dxf 62 a))
        kt  (dxf 1 a)
tag (dxf 2 a))
  (setColor tag kt col (dxf 330 a) nil)
  (mapcar '(lambda(x) (setColor tag kt col x nil))
 (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)
 
(defun C:mat2(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (dxf 62 a)
        kt  (dxf 1 a)
tag (dxf 2 a))  
  (mapcar '(lambda(x) (setColor tag kt col x t))
   (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)
 
(defun c:mat3(/ a tag l ssl tm)
  
;;  Author: Lee McDonell, Copyright © 2011 - www.lee-mac.com       ;;
(defun _dclsel ( l / str name sup file dch l1 l2 *attcolour*)
  (defun _dclimg ( k c )
    (start_image k) (fill_image 0 0 (dimx_tile k) (dimy_tile k) c) (end_image)
  )
 
  (defun _unique ( l ) (if l (cons (car l) (_unique (vl-remove (car l) (cdr l))))))
  
  (defun LM:SubstNth ( a n l / i )
    (setq i -1)
    (mapcar '(lambda ( x ) (if (= (setq i (1+ i)) n) a x)) l)
  )
  
  (defun act1()
    (set_tile "imgC" "") (set_tile "imgC" (get_tile "tags"))
    (_dclimg "img" (atoi (nth (atoi (get_tile "imgC")) l2)))
  )
  
  (defun act2()
    (set_tile "tags" "") (set_tile "tags" (get_tile "imgC"))
    (_dclimg "img" (setq *attcolour* (acad_colordlg (atoi (nth (atoi (get_tile "imgC")) l2)))))
    (start_list "imgC")
    (mapcar 'add_list (setq l2 (LM:SubstNth (itoa *attcolour*) (atoi (get_tile "imgC")) l2)))
    (end_list)
    (set_tile "imgC" "") (set_tile "imgC" (get_tile "tags"))
  )  
      
  (setq l (_unique l)
str (strcat
                "ATTCOL : dialog { label = \"Attribute Colour\"; spacer;"
                "  : row { "
                "  :   list_box { label = \"Select Tags\"; key = \"tags\"; width = 20.0; "
"          fixed_width = true; multiple_select = false ; alignment = centered; }"
                "  :   list_box { label = \"Colour\" ; key = \"imgC\" ; width = 8.0 ; "
"          fixed_width = true; multiple_select = false ; alignment = centered; }"
                "    }"
"  : row { "
                "  :   image_button { key = \"img\"; alignment = centered; height = 3.0; fixed_width = false;"
                "                        fixed_height = true; }"
                "    }"
                "  spacer; ok_cancel;"
                "}"
    ))
  
    (if (not (findfile (setq name 
(strcat (substr (setq sup (vla-get-SupportPath (vla-get-Files (vla-get-Preferences (vlax-get-acad-object)))))
  1 (vl-string-search ";" sup)) "\\ATTCOL.DCL"))))
      (progn (setq file (open name "w"))
             (write-line str file)
             (close file))     
    )
    (setq dch (load_dialog name))
    (new_dialog "ATTCOL" dch)
  
 
    (setq l1 (mapcar 'car l)
          l2 (mapcar '(lambda(x) (itoa (cadr x))) l))
       
    (start_list "tags")  (mapcar 'add_list l1)  (end_list)
    (start_list "imgC")  (mapcar 'add_list l2)  (end_list)
    (set_tile "tags" "0") (set_tile "imgC" "0")
       
    (setq *attcolour* (atoi (car l2)))       
    (_dclimg "img" *attcolour*)
  
    (action_tile "tags" "(act1)")
    (action_tile "imgC" "(act2)")
    (start_dialog)        
 
    (if (< 0 dch) (unload_dialog dch))
    (mapcar 'cons l1 l2)
)
  
;;=======================================;;
  
  (setq a   (car (nentsel "\nChon Attribute:"))
tag (dxf 2 a)
ssl (vl-remove-if-not '(lambda(x) (getcolor tag x))
(acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
l  (mapcar '(lambda(x) (getcolor tag x)) ssl)
l (_dclsel (vl-sort l '(lambda(x y) (< (car x) (car y))))))
  
  (mapcar '(lambda(x) (setColor tag (car (setq tm (assoc (car (getcolor tag x)) l)))
                   (atoi (cdr tm)) x nil)) ssl)
  (princ)
)
 


  • 1

#46 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 04 May 2014 - 01:58 PM

Không nghĩ tới tình huống bạn bấm cancel khi chọn màu. Bạn thử cái dưới đây xem sao.

 

(vl-load-com)
(defun dxf(id v) (cdr (assoc id (entget v))))
 
(defun *error* ( msg )
  (if (< 0 dch) (unload_dialog dch))
  (setq *error* temperr)
  (princ)
)
(setq temperr *error*)
 
(defun setColor(tag tval col v kieu)
    (foreach item
      (vlax-safearray->list (vlax-variant-value
(vla-GetAttributes (vlax-ename->vla-object v))))          
          (cond ((and (not kieu) (= tag (vla-get-TagString item)) (= tval (vla-get-TextString item)))
        (vla-put-Color item col))
((and kieu (= tag (vla-get-TagString item)))
        (vla-put-Color item col)
(vla-put-TextString item tval))
    ))
)
 
(defun getColor(tag v / rt)
  (setq rt nil)
    (foreach item
      (vlax-safearray->list (vlax-variant-value
(vla-GetAttributes (vlax-ename->vla-object v))))          
          (if (= tag (vla-get-TagString item)) 
    (setq rt (list (vla-get-TextString item) (vla-get-Color item)))
    ))
  rt
)
 
(defun C:mat1(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (acad_colordlg (dxf 62 a))
        kt  (dxf 1 a)
tag (dxf 2 a))
  (setColor tag kt col (dxf 330 a) nil)
  (mapcar '(lambda(x) (setColor tag kt col x nil))
 (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)
 
(defun C:mat2(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (dxf 62 a)
        kt  (dxf 1 a)
tag (dxf 2 a))  
  (mapcar '(lambda(x) (setColor tag kt col x t))
   (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)
 
(defun c:mat3(/ a tag l ssl tm)
  
;;  Author: Lee McDonell, Copyright © 2011 - www.lee-mac.com       ;;
(defun _dclsel ( l / str name sup file dch l1 l2 *attcolour*)
  (defun _dclimg ( k c )
    (start_image k) (fill_image 0 0 (dimx_tile k) (dimy_tile k) c) (end_image)
  )
 
  (defun _unique ( l ) (if l (cons (car l) (_unique (vl-remove (car l) (cdr l))))))
  
  (defun LM:SubstNth ( a n l / i )
    (setq i -1)
    (mapcar '(lambda ( x ) (if (= (setq i (1+ i)) n) a x)) l)
  )
  
  (defun act1()
    (set_tile "imgC" "") (set_tile "imgC" (get_tile "tags"))
    (_dclimg "img" (atoi (nth (atoi (get_tile "imgC")) l2)))
  )
  
  (defun act2()
    (set_tile "tags" "") (set_tile "tags" (get_tile "imgC"))
    (_dclimg "img" (setq *attcolour* (acad_colordlg (atoi (nth (atoi (get_tile "imgC")) l2)))))
    (start_list "imgC")
    (mapcar 'add_list (setq l2 (LM:SubstNth (itoa *attcolour*) (atoi (get_tile "imgC")) l2)))
    (end_list)
    (set_tile "imgC" "") (set_tile "imgC" (get_tile "tags"))
  )  
      
  (setq l (_unique l)
str (strcat
                "ATTCOL : dialog { label = \"Attribute Colour\"; spacer;"
                "  : row { "
                "  :   list_box { label = \"Select Tags\"; key = \"tags\"; width = 20.0; "
"          fixed_width = true; multiple_select = false ; alignment = centered; }"
                "  :   list_box { label = \"Colour\" ; key = \"imgC\" ; width = 8.0 ; "
"          fixed_width = true; multiple_select = false ; alignment = centered; }"
                "    }"
"  : row { "
                "  :   image_button { key = \"img\"; alignment = centered; height = 3.0; fixed_width = false;"
                "                        fixed_height = true; }"
                "    }"
                "  spacer; ok_cancel;"
                "}"
    ))
  
    (if (not (findfile (setq name 
(strcat (substr (setq sup (vla-get-SupportPath (vla-get-Files (vla-get-Preferences (vlax-get-acad-object)))))
  1 (vl-string-search ";" sup)) "\\ATTCOL.DCL"))))
      (progn (setq file (open name "w"))
             (write-line str file)
             (close file))     
    )
    (setq dch (load_dialog name))
    (new_dialog "ATTCOL" dch)
  
 
    (setq l1 (mapcar 'car l)
          l2 (mapcar '(lambda(x) (itoa (cadr x))) l))
       
    (start_list "tags")  (mapcar 'add_list l1)  (end_list)
    (start_list "imgC")  (mapcar 'add_list l2)  (end_list)
    (set_tile "tags" "0") (set_tile "imgC" "0")
       
    (setq *attcolour* (atoi (car l2)))       
    (_dclimg "img" *attcolour*)
  
    (action_tile "tags" "(act1)")
    (action_tile "imgC" "(act2)")
    (start_dialog)        
 
    (if (< 0 dch) (unload_dialog dch))
    (mapcar 'cons l1 l2)
)
  
;;=======================================;;
  
  (setq a   (car (nentsel "\nChon Attribute:"))
tag (dxf 2 a)
ssl (vl-remove-if-not '(lambda(x) (getcolor tag x))
(acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
l  (mapcar '(lambda(x) (getcolor tag x)) ssl)
l (_dclsel (vl-sort l '(lambda(x y) (< (car x) (car y))))))
  
  (mapcar '(lambda(x) (setColor tag (car (setq tm (assoc (car (getcolor tag x)) l)))
                   (atoi (cdr tm)) x nil)) ssl)
  (princ)
)
 

 

Mình đã thử lisp trên của bạn, CAD đã không còn bị đơ nữa nhưng nếu ấn cancel là thoát lệnh luôn rồi. Mình muốn là khi ấn cancel thì chỉ thoát ra khỏi bảng chọn màu thôi và vẫn ở trong lệnh bình thường. bạn Tot77 sửa lại chút nữa là lisp này ok đó. cám ơn bạn nhiều


  • 0

#47 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 04 May 2014 - 02:24 PM

Chắc như vầy là ok rồi.

 

(vl-load-com)
(defun dxf(id v) (cdr (assoc id (entget v))))
 
(defun *error* ( msg )
  (if (< 0 dch) (unload_dialog dch))
  (setq *error* temperr)
  (princ)
)
(setq temperr *error*)
 
(defun setColor(tag tval col v kieu)
    (foreach item
      (vlax-safearray->list (vlax-variant-value
(vla-GetAttributes (vlax-ename->vla-object v))))          
          (cond ((and (not kieu) (= tag (vla-get-TagString item)) (= tval (vla-get-TextString item)))
        (vla-put-Color item col))
((and kieu (= tag (vla-get-TagString item)))
        (vla-put-Color item col)
(vla-put-TextString item tval))
    ))
)
 
(defun getColor(tag v / rt)
  (setq rt nil)
    (foreach item
      (vlax-safearray->list (vlax-variant-value
(vla-GetAttributes (vlax-ename->vla-object v))))          
          (if (= tag (vla-get-TagString item)) 
    (setq rt (list (vla-get-TextString item) (vla-get-Color item)))
    ))
  rt
)
 
(defun C:mat1(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (acad_colordlg (dxf 62 a))
        kt  (dxf 1 a)
tag (dxf 2 a))
  (setColor tag kt col (dxf 330 a) nil)
  (mapcar '(lambda(x) (setColor tag kt col x nil))
 (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)
 
(defun C:mat2(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (dxf 62 a)
        kt  (dxf 1 a)
tag (dxf 2 a))  
  (mapcar '(lambda(x) (setColor tag kt col x t))
   (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)
 
(defun c:mat3(/ a tag l ssl tm)
  
;;  Author: Lee McDonell, Copyright © 2011 - www.lee-mac.com       ;;
(defun _dclsel ( l / str name sup file dch l1 l2 col col1)
  (defun _dclimg ( k c )
    (start_image k) (fill_image 0 0 (dimx_tile k) (dimy_tile k) c) (end_image)
  )
 
  (defun _unique ( l ) (if l (cons (car l) (_unique (vl-remove (car l) (cdr l))))))
  
  (defun LM:SubstNth ( a n l / i )
    (setq i -1)
    (mapcar '(lambda ( x ) (if (= (setq i (1+ i)) n) a x)) l)
  )
  
  (defun act1()
    (set_tile "imgC" "") (set_tile "imgC" (get_tile "tags"))
    (_dclimg "img" (atoi (nth (atoi (get_tile "imgC")) l2)))
  )
  
  (defun act2()
    (set_tile "tags" "") (set_tile "tags" (get_tile "imgC"))
    (setq col (atoi (nth (atoi (get_tile "imgC")) l2)))
    (if (setq col1 (acad_colordlg col))
      (setq col col1))    
    (_dclimg "img" col)
    (start_list "imgC")
    (mapcar 'add_list (setq l2 (LM:SubstNth (itoa col) (atoi (get_tile "imgC")) l2)))
    (end_list)
    (set_tile "imgC" "") (set_tile "imgC" (get_tile "tags"))
  )  
      
  (setq l (_unique l)
str (strcat
                "ATTCOL : dialog { label = \"Attribute Colour\"; spacer;"
                "  : row { "
                "  :   list_box { label = \"Select Tags\"; key = \"tags\"; width = 20.0; "
"          fixed_width = true; multiple_select = false ; alignment = centered; }"
                "  :   list_box { label = \"Colour\" ; key = \"imgC\" ; width = 8.0 ; "
"          fixed_width = true; multiple_select = false ; alignment = centered; }"
                "    }"
"  : row { "
                "  :   image_button { key = \"img\"; alignment = centered; height = 3.0; fixed_width = false;"
                "                        fixed_height = true; }"
                "    }"
                "  spacer; ok_cancel;"
                "}"
    ))
  
    (if (not (findfile (setq name 
(strcat (substr (setq sup (vla-get-SupportPath (vla-get-Files (vla-get-Preferences (vlax-get-acad-object)))))
  1 (vl-string-search ";" sup)) "\\ATTCOL.DCL"))))
      (progn (setq file (open name "w"))
             (write-line str file)
             (close file))     
    )
    (setq dch (load_dialog name))
    (new_dialog "ATTCOL" dch)  
 
    (setq l1 (mapcar 'car l)
          l2 (mapcar '(lambda(x) (itoa (cadr x))) l))
       
    (start_list "tags")  (mapcar 'add_list l1)  (end_list)
    (start_list "imgC")  (mapcar 'add_list l2)  (end_list)
    (set_tile "tags" "0") (set_tile "imgC" "0")
       
    (setq col (atoi (car l2)))       
    (_dclimg "img" col)
  
    (action_tile "tags" "(act1)")
    (action_tile "imgC" "(act2)")
    (start_dialog)        
 
    (if (< 0 dch) (unload_dialog dch))
    (mapcar 'cons l1 l2)
)
  
;;=======================================;;
  
  (setq a   (car (nentsel "\nChon Attribute:"))
tag (dxf 2 a)
ssl (vl-remove-if-not '(lambda(x) (getcolor tag x))
(acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
l  (mapcar '(lambda(x) (getcolor tag x)) ssl)
l (_dclsel (vl-sort l '(lambda(x y) (< (car x) (car y))))))
  
  (mapcar '(lambda(x) (setColor tag (car (setq tm (assoc (car (getcolor tag x)) l)))
                   (atoi (cdr tm)) x nil)) ssl)
  (princ)
)
 


  • 1

#48 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 04 May 2014 - 03:41 PM

Chắc như vầy là ok rồi.

 

(vl-load-com)
(defun dxf(id v) (cdr (assoc id (entget v))))
 
(defun *error* ( msg )
  (if (< 0 dch) (unload_dialog dch))
  (setq *error* temperr)
  (princ)
)
(setq temperr *error*)
 
(defun setColor(tag tval col v kieu)
    (foreach item
      (vlax-safearray->list (vlax-variant-value
(vla-GetAttributes (vlax-ename->vla-object v))))          
          (cond ((and (not kieu) (= tag (vla-get-TagString item)) (= tval (vla-get-TextString item)))
        (vla-put-Color item col))
((and kieu (= tag (vla-get-TagString item)))
        (vla-put-Color item col)
(vla-put-TextString item tval))
    ))
)
 
(defun getColor(tag v / rt)
  (setq rt nil)
    (foreach item
      (vlax-safearray->list (vlax-variant-value
(vla-GetAttributes (vlax-ename->vla-object v))))          
          (if (= tag (vla-get-TagString item)) 
    (setq rt (list (vla-get-TextString item) (vla-get-Color item)))
    ))
  rt
)
 
(defun C:mat1(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (acad_colordlg (dxf 62 a))
        kt  (dxf 1 a)
tag (dxf 2 a))
  (setColor tag kt col (dxf 330 a) nil)
  (mapcar '(lambda(x) (setColor tag kt col x nil))
 (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)
 
(defun C:mat2(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (dxf 62 a)
        kt  (dxf 1 a)
tag (dxf 2 a))  
  (mapcar '(lambda(x) (setColor tag kt col x t))
   (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)
 
(defun c:mat3(/ a tag l ssl tm)
  
;;  Author: Lee McDonell, Copyright © 2011 - www.lee-mac.com       ;;
(defun _dclsel ( l / str name sup file dch l1 l2 col col1)
  (defun _dclimg ( k c )
    (start_image k) (fill_image 0 0 (dimx_tile k) (dimy_tile k) c) (end_image)
  )
 
  (defun _unique ( l ) (if l (cons (car l) (_unique (vl-remove (car l) (cdr l))))))
  
  (defun LM:SubstNth ( a n l / i )
    (setq i -1)
    (mapcar '(lambda ( x ) (if (= (setq i (1+ i)) n) a x)) l)
  )
  
  (defun act1()
    (set_tile "imgC" "") (set_tile "imgC" (get_tile "tags"))
    (_dclimg "img" (atoi (nth (atoi (get_tile "imgC")) l2)))
  )
  
  (defun act2()
    (set_tile "tags" "") (set_tile "tags" (get_tile "imgC"))
    (setq col (atoi (nth (atoi (get_tile "imgC")) l2)))
    (if (setq col1 (acad_colordlg col))
      (setq col col1))    
    (_dclimg "img" col)
    (start_list "imgC")
    (mapcar 'add_list (setq l2 (LM:SubstNth (itoa col) (atoi (get_tile "imgC")) l2)))
    (end_list)
    (set_tile "imgC" "") (set_tile "imgC" (get_tile "tags"))
  )  
      
  (setq l (_unique l)
str (strcat
                "ATTCOL : dialog { label = \"Attribute Colour\"; spacer;"
                "  : row { "
                "  :   list_box { label = \"Select Tags\"; key = \"tags\"; width = 20.0; "
"          fixed_width = true; multiple_select = false ; alignment = centered; }"
                "  :   list_box { label = \"Colour\" ; key = \"imgC\" ; width = 8.0 ; "
"          fixed_width = true; multiple_select = false ; alignment = centered; }"
                "    }"
"  : row { "
                "  :   image_button { key = \"img\"; alignment = centered; height = 3.0; fixed_width = false;"
                "                        fixed_height = true; }"
                "    }"
                "  spacer; ok_cancel;"
                "}"
    ))
  
    (if (not (findfile (setq name 
(strcat (substr (setq sup (vla-get-SupportPath (vla-get-Files (vla-get-Preferences (vlax-get-acad-object)))))
  1 (vl-string-search ";" sup)) "\\ATTCOL.DCL"))))
      (progn (setq file (open name "w"))
             (write-line str file)
             (close file))     
    )
    (setq dch (load_dialog name))
    (new_dialog "ATTCOL" dch)  
 
    (setq l1 (mapcar 'car l)
          l2 (mapcar '(lambda(x) (itoa (cadr x))) l))
       
    (start_list "tags")  (mapcar 'add_list l1)  (end_list)
    (start_list "imgC")  (mapcar 'add_list l2)  (end_list)
    (set_tile "tags" "0") (set_tile "imgC" "0")
       
    (setq col (atoi (car l2)))       
    (_dclimg "img" col)
  
    (action_tile "tags" "(act1)")
    (action_tile "imgC" "(act2)")
    (start_dialog)        
 
    (if (< 0 dch) (unload_dialog dch))
    (mapcar 'cons l1 l2)
)
  
;;=======================================;;
  
  (setq a   (car (nentsel "\nChon Attribute:"))
tag (dxf 2 a)
ssl (vl-remove-if-not '(lambda(x) (getcolor tag x))
(acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
l  (mapcar '(lambda(x) (getcolor tag x)) ssl)
l (_dclsel (vl-sort l '(lambda(x y) (< (car x) (car y))))))
  
  (mapcar '(lambda(x) (setColor tag (car (setq tm (assoc (car (getcolor tag x)) l)))
                   (atoi (cdr tm)) x nil)) ssl)
  (princ)
)
 

 

Cám ơn bạn Tot77 nhiều nhé, lisp rất tuyệt, có đầy đủ những thứ mình cần.

chúc bạn công tác tốt và có nhiều cống hiến cho diễn đàn để diễn đàn ngày càng phát triển là nơi giao lưu học hỏi của mọi người.

mình làm ở Bà Triệu, nếu bạn ở hoặc công tác gần đó thì chiều hôm nào đó pm mình, chúng ta uống nước nói chuyện nha


  • 0

#49 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 04 May 2014 - 03:56 PM

Không có chi, tôi ở Saigon.
  • 0

#50 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 04 May 2014 - 04:11 PM

Không có chi, tôi ở Saigon.

 

Tiếc quá, bạn lại ở xa quá. vậy khi nào bạn có dịp ra Hà Nội thì pm mình nhé, hi vọng ngày đó gần thôi

 

Bạn Tot77 có thể thêm cho mình 1 lisp nữa được không, lisp kết hợp giữa lệnh mat1 và mat2.

Lisp đó là: 

- chọn attribute cần để đổi màu (cái này giống mat1), sau khi chọn attribute thì hiện lên bảng chọn màu

- chọn dynamic block và đổi tất cả các attribute trong các block đã chọn theo attribute đầu tiên, đổi cả nội dung và màu (giống mat2)

Cám ơn bạn nhiều


  • 0

#51 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 04 May 2014 - 04:47 PM

Tạm gọi Mat4, nhưng tôi nghĩ bạn thay thành mat2 vì cũng na ná như nhau. Vì nhiều tên lệnh quá đôi khi mình cũng không nhớ.

(defun C:mat4(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (acad_colordlg (dxf 62 a))
        kt  (dxf 1 a)
tag (dxf 2 a))  
  (mapcar '(lambda(x) (setColor tag kt col x t))
   (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)

 

Tôi chỉ chép thêm thôi chứ không đưa cả file vì file cũng dài rồi.


  • 1

#52 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 04 May 2014 - 05:17 PM

Tạm gọi Mat4, nhưng tôi nghĩ bạn thay thành mat2 vì cũng na ná như nhau. Vì nhiều tên lệnh quá đôi khi mình cũng không nhớ.

(defun C:mat4(/ a col kt tag)  
  (setq a   (car (nentsel "\nChon Attribute:"))
col (acad_colordlg (dxf 62 a))
        kt  (dxf 1 a)
tag (dxf 2 a))  
  (mapcar '(lambda(x) (setColor tag kt col x t))
   (acet-ss-to-list (ssget (list '(0 . "INSERT") (cons 66 1)))))
  (princ)
)

 

Tôi chỉ chép thêm thôi chứ không đưa cả file vì file cũng dài rồi.

 

Cám ơn bạn nhiều, công nhận là nó cũng hao hao giống với mat 2 nhưng mỗi cái có 1 tác dụng khác nhau, nhiều khi mình chỉ cần giống mat2 thôi, không cần cái chọn màu ban đầu như mat4. 

Mình cứ để hết đó, khi nào cần cái nào thì dùng cái nấy, căn bản mình lập mặt bằng kết cấu nhiều nên sủ dụng nhiều lệnh này, dùng nhiều sẽ nhớ hết thôi mà, không sao hết

Ah nếu được bạn mở rộng cái này ra áp dụng với cả text được không. vì nhiều khi dầm thay đổi tiết diện, đoạn dầm chính mới để dynamic block, còn những đoạn dầm thay đổi tiết diện thì mình dùng text thôi, cho bản vẽ nhẹ. Mình đã làm bản vẽ chỉ dùng dynamic block cả với những đoạn thay đổi tiết diện, bản vẽ lớn nên cực nặng, vẽ rất giật. do đó lisp này dùng được cả với text nữa thì tốt.

Tức là các lệnh mat1, mat2, mat3, mat4 của mình lúc đầu chi chọn attibute và gán cho attribute nhưng giờ có thể chọn cả cho text, gán cho attribute hoặc chọn text gán cho text

Mong bạn giúp đỡ


  • 0

#53 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 04 May 2014 - 05:35 PM

Mình chủ yếu tìm tag của atrtibute để so sánh, còn text thì làm gì có tag?


  • 0

#54 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 04 May 2014 - 06:09 PM

Mình chủ yếu tìm tag của atrtibute để so sánh, còn text thì làm gì có tag?

 

Mình không hiểu nhiều lắm về lisp nhưng nghe bạn nói chắc là phúc tạp. vậy nếu đơn thuần tạo thêm 1 lisp nữa thế này thì mình nghĩ đơn giản hơn, không cần so sánh tag của attribute và mình chỉ cần thế thôi:

 - chọn atribute (hoặc text) mẫu

 - chọn text cần đổi

 - gán nội dung và mầu của attribute (hoặc text) mẫu cho những text đã chọn

 - kết thúc lệnh


  • 0

#55 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 04 May 2014 - 07:32 PM

Không phải là khó hay phức tạp gì nhưng 2 đối tượng khác nhau rất dễ lẫn lộn, att thì có tag và text , còn text thì không có tag.

Để từ từ tôi xem và sửa lại, bạn yêu cầu "dồn dập" quá cũng hơi khó làm!!  :wacko:  :wacko:


  • 0

#56 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 04 May 2014 - 10:01 PM

Không phải là khó hay phức tạp gì nhưng 2 đối tượng khác nhau rất dễ lẫn lộn, att thì có tag và text , còn text thì không có tag.

Để từ từ tôi xem và sửa lại, bạn yêu cầu "dồn dập" quá cũng hơi khó làm!!  :wacko:  :wacko:

 

Xin lỗi có thể cách nói của mình làm bạn hiểu nhầm, khi nào bạn rảnh rỗi, nếu được thì triển khai hộ mình thôi mà

cám ơn bạn nhiều


  • 0

#57 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 05 May 2014 - 06:01 PM

Bạn thử cái này, cả 4 lệnh mat1234. Nhưng lưu ý là text chỉ có thể tác động lên text khác chứ không thể tác động lên att, nhất là ở lệnh mat2 và mat4 (đổi nội dung) vì nó không biết phải đổi nội dung nào (cảu tag SH hay KT).

Tôi chưa test nhiều, bạn test thấy có gì trục trặc thì cho tôi biết.

http://www.mediafire...a3/attcol_1.lsp


  • 1

#58 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 05 May 2014 - 08:54 PM

Bạn thử cái này, cả 4 lệnh mat1234. Nhưng lưu ý là text chỉ có thể tác động lên text khác chứ không thể tác động lên att, nhất là ở lệnh mat2 và mat4 (đổi nội dung) vì nó không biết phải đổi nội dung nào (cảu tag SH hay KT).

Tôi chưa test nhiều, bạn test thấy có gì trục trặc thì cho tôi biết.

http://www.mediafire...a3/attcol_1.lsp

 

Mình chỉ lấy màu và giá trị của attribute KT gán cho text và ngược lại thôi

 

Mình đã test lisp sửa của bạn và thấy:

 - Mat1: đã ok, có thể dùng với cả text và att

 - Mat2: chọn text trước thì không gán được cho att, chọn att trước thì có thể gán cho cả text và att

 - Mat3: chọn att trước thì OK nhưng chọn text trước thì sẽ báo lỗi như hình dưới

- Mat4: tương tự vậy,  chọn text trước thì không gán được cho att, chọn att trước thì có thể gán cho cả text và att

 

9928_loi_test_mat3.jpg

Chon Attribute hoac Text:
Select objects:  Backtrace:
[0.52] (VL-BT)
[1.48] (*ERROR* "bad argument type: stringp nil")
[2.43] (_call-err-hook #<SUBR @0000000031bbcd18 *ERROR*> "bad argument type: 
stringp nil")
[3.37] (sys-error "bad argument type: stringp nil")
:ERROR-BREAK.32 nil
[4.29] (ATOI nil)
[5.24] (_DCLSEL nil)
[6.19] (C:MAT3)
[7.15] (#<SUBR @000000002da34ea8 -rts_top->)
[8.12] (#<SUBR @000000002d998700 veval-str-body> "(C:MAT3)" T #<FILE internal>)
:CALLBACK-ENTRY.6 (:CALLBACK-ENTRY)
 
Chon Attribute hoac Text:
Select objects:  Backtrace:
[0.52] (VL-BT)
[1.48] (*ERROR* "bad argument type: stringp nil")
[2.43] (_call-err-hook #<SUBR @0000000031bbcd18 *ERROR*> "bad argument type: 
stringp nil")
[3.37] (sys-error "bad argument type: stringp nil")
:ERROR-BREAK.32 nil
[4.29] (ATOI nil)
[5.24] (_DCLSEL nil)
[6.19] (C:MAT3)
[7.15] (#<SUBR @000000002da34ea8 -rts_top->)
[8.12] (#<SUBR @000000002d998700 veval-str-body> "(C:MAT3)" T #<FILE internal>)
:CALLBACK-ENTRY.6 (:CALLBACK-ENTRY)

  • 0

#59 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 05 May 2014 - 09:10 PM

Nếu bạn muốn chỉ dùng với att có tag KT thì sẽ hạn chế nhiều lắm. Thí dụ bạn muốn đổi màu cái tag SH thì sẽ không dùng lisp này được nữa. Ngoài ra trước đây tôi nhớ bạn nói còn muốn đổi màu các att khác (không có cả KT và SH) nữa mà.

Như tôi đã nói như trên là chì có 1 chiều Text -> Text hoặc Att -> Text thôi, chứ không có chiều ngược lại Text->Att (đổi nội dung).

Bạn nên suy tính kỹ, chứ nếu chỉ đổi KT thôi thì hơi uổng cái lisp.


  • 0

#60 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 05 May 2014 - 09:59 PM

Nếu bạn muốn chỉ dùng với att có tag KT thì sẽ hạn chế nhiều lắm. Thí dụ bạn muốn đổi màu cái tag SH thì sẽ không dùng lisp này được nữa. Ngoài ra trước đây tôi nhớ bạn nói còn muốn đổi màu các att khác (không có cả KT và SH) nữa mà.

Như tôi đã nói như trên là chì có 1 chiều Text -> Text hoặc Att -> Text thôi, chứ không có chiều ngược lại Text->Att (đổi nội dung).

Bạn nên suy tính kỹ, chứ nếu chỉ đổi KT thôi thì hơi uổng cái lisp.

 

ko biết người khác thế nào nhưng với cái text thì mình chỉ có nhu cầu sử dụng với att KT thôi.

những lisp trước với các loại att là ok rồi nên lisp đó mình sẽ dùng với att.

còn với text thì bạn hộ mình 1 lisp là gán màu và giá trị từ Text -> att và ngược lại được không, lisp này chỉ có tác dụng với att KT thôi

Cái này chỉ cần 1 lisp gán luôn giá trị và màu của Text -> att, Text -> text chứ không cần 4 lệnh như trước đâu

mình cám ơn nhiều


Bài viết đã được chỉnh sửa nội dung bởi proconeng86: 05 May 2014 - 11:42 PM

  • 0