Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
jangboko

Nhờ Chỉnh Sửa Lisp Replac Text

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

jangboko    3
;=========================================================================
;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=18049
(defun copy-add-text-content (mode / err oer sta res sel mtx dim chc chg
			      hig sor rdw dec temp
			      sou data)
;											
  (defun err(s)
    (if (and (/= s "Function cancelled")(/= s "quit / exit abort"))
      (princ (strcat "\n--->> Error: " s))
      )
    (res)
    )
;											
  (defun res()
    (if hig (setvar "HighLight" hig))
    (if sor (setvar "Sortents" sor))
    (if pst (setvar "Pickstyle" pst))
    (if rdw (chc 0))
    (command "_.Undo" "_End")
    (setq *error* oer)
    (setvar "Cmdecho" 1)
    (princ)
    )
;											
  (defun sta()
    (setq oer *error*
	  *error* err
	  hig (getvar "HighLight")
	  sor (getvar "Sortents")
	  pst (getvar "Pickstyle")
	  dec (getvar "Dimdec")
	  )
    (setvar "Cmdecho" 0)
    (command "_.Undo" "_Group")
    (setvar "HighLight" 1)
    (setvar "Sortents" 1)
    (setvar "Pickstyle" 0)
    (graphscr)
    )
;											
  (defun sel(/ loop lis typ intro)
    (if (null del-mode)(setq del-mode "0"))
    (if (null mat-mode)(setq mat-mode "0"))
    (setq loop T
	  lis '("TEXT" "MTEXT" "DIMENSION" "ARCALIGNEDTEXT")
	  )
    (if (= mode 0)
      (setq intro "\nSelect copy source text ")
      (setq intro "\nSelect additon source text ")
      )
    (while loop
      (initget "Exit Delete Match MD DM")
      ;(setq del T);;;
      (setq sou (entsel (strcat intro "[Delete source("del-mode")/Match properties("mat-mode")]: ")))
      (cond
	((= sou "Exit")(exit))
	((null sou)(exit))
	((= sou "Delete")
	 (if (= del-mode "0")
	   (setq del-mode "1")
	   (setq del-mode "0")
	   )
	 )
	((= sou "Match")
	  (if (= mat-mode "0")
	   (setq mat-mode "1")
	   (setq mat-mode "0")
	   )
	  )
	((or (= sou "MD")(= sou "DM"))
	  (progn
	    (if (= del-mode "0")
	      (setq del-mode "1")
	      (setq del-mode "0")
	      )
	    (if (= mat-mode "0")
	      (setq mat-mode "1")
	      (setq mat-mode "0")
	      )
	    )
	  )
	((progn
	   (setq data (entget (car sou))
		 typ (cdr (assoc 0 data))
		 )
	   (if (not (member typ lis))
	     (princ "Invalid selection.")
	     (progn
	       (setq temp (assoc 1 data)
		     loop nil
		     )
	       (cond
		 ((= typ "MTEXT")(mtx))
		 ((= typ "DIMENSION")(dim))
		 )
	       )
	     ); if end
	   ))
	); cond end
      )
    (chc 1)
    (setq rdw T)
    )
;											
  (defun mtx(/ con test)
    (setq con (cdr temp)
	  test (substr con 1 1)
	  )
    (if (= test "\\")(setq temp (cons 1 (substr con 5))))
    )
;											
  (defun dim(/ con)
    (setq con (cdr temp))
    (if (or (= con "")(= con "<>"))
      (setq temp (cons 1 (rtos (cdr (assoc 42 data)) 2 dec)))
      )
    )
;											
  (defun chc(mode / col)
    (cond
      ((and (= del-mode "1") (= mat-mode "0"))(setq col "230"))
      ((and (= del-mode "0") (= mat-mode "1"))(setq col "110"))
      ((and (= del-mode "1") (= mat-mode "1"))(setq col "30"))
      ((setq col "140"))
      )
    (if (= mode 0)
      (progn
	(command "_.Chprop" sou "" "_Color" "BYLAYER" "")
	(redraw (car sou) 4)
	)
      (progn
	(command "_.Chprop" sou "" "_Color" col "")
	(redraw (car sou) 3)
	)
      )
    )
;											
  (defun chg(/ ss inc data-)
    (if (= mode 0)
      (princ "\nSelect destiantion texts to change: ")
      (princ "\nSelect destiantion texts to add: ")
      )
    (setq ss (ssget '((-4 . "<OR")
		      (0 . "TEXT")(0 . "MTEXT")(0 . "DIMENSION")(0 . "ARCALIGNEDTEXT")
		      (-4 . "OR>")
		      )))
    (if (null ss)(exit))
    (setq inc 0)
    (repeat (sslength ss)
      (setq data- (entget (ssname ss inc))
	    inc (1+ inc))
      (if (= mode 1)
	(setq temp (cons 1 (strcat (cdr (assoc 1 data-)) "x" (cdr temp))))
	)
      (entmod (subst temp (assoc 1 data-) data-))
      )
    (if (= mat-mode "1")
      (progn
	(if rdw (chc 0))
	(command "_.MatchProp" sou ss "")
	)
      )
    (if (= del-mode "1")
      (progn
	(entdel (car sou))
	(setq rdw nil)
	)
      )
    )
;											
  (sta)
  (sel)
  (chg)
  (res)
  )

(defun c:TC()(copy-add-text-content 0))
(defun c:TD()(copy-add-text-content 1))
(princ)

em sưu tầm trên diễn đàn cái lisp replace text rất hay, làm việc khá hiệu quả với nó. Em muốn nó có thể làm việc được với block att, Bác nào rảnh tay giúp em với. Em xin cám ơn, Chúc các bác luôn mạnh khỏe.

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
manhtung    0

e ko biết đăng bài mới uppp ké mong mọi người giúp đỡ

E có 1 tọa độ nhà máy nhưng khi xuất lisp nó ra lằng ngoằng ko đúng.Mợi người có cách nào sắp xếp tọa độ cho cho xuất Lisp thành 1 hình vẽ ko cắt kohttp://www.cadviet.com/upfiles/6/155111_ny.txt

 

 

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
jangboko    3

e ko biết đăng bài mới uppp ké mong mọi người giúp đỡ

E có 1 tọa độ nhà máy nhưng khi xuất lisp nó ra lằng ngoằng ko đúng.Mợi người có cách nào sắp xếp tọa độ cho cho xuất Lisp thành 1 hình vẽ ko cắt kohttp://www.cadviet.com/upfiles/6/155111_ny.txt

 

 

Thanks

bạn vào forum, kéo xuống dưới thấy mục autolisp, bạn vào đó, góc trên bên phải màn hình có chữ gửi bài mới, bạn vào đó đăng bài mới. ok, bạn vào đó đăng bài đúng quy định 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
jangboko    3
;=========================================================================
;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=18049
(defun copy-add-text-content (mode / err oer sta res sel mtx dim chc chg
			      hig sor rdw dec temp
			      sou data)
;											
  (defun err(s)
    (if (and (/= s "Function cancelled")(/= s "quit / exit abort"))
      (princ (strcat "\n--->> Error: " s))
      )
    (res)
    )
;											
  (defun res()
    (if hig (setvar "HighLight" hig))
    (if sor (setvar "Sortents" sor))
    (if pst (setvar "Pickstyle" pst))
    (if rdw (chc 0))
    (command "_.Undo" "_End")
    (setq *error* oer)
    (setvar "Cmdecho" 1)
    (princ)
    )
;											
  (defun sta()
    (setq oer *error*
	  *error* err
	  hig (getvar "HighLight")
	  sor (getvar "Sortents")
	  pst (getvar "Pickstyle")
	  dec (getvar "Dimdec")
	  )
    (setvar "Cmdecho" 0)
    (command "_.Undo" "_Group")
    (setvar "HighLight" 1)
    (setvar "Sortents" 1)
    (setvar "Pickstyle" 0)
    (graphscr)
    )
;											
  (defun sel(/ loop lis typ intro)
    (if (null del-mode)(setq del-mode "0"))
    (if (null mat-mode)(setq mat-mode "0"))
    (setq loop T
	  lis '("TEXT" "MTEXT" "DIMENSION" "ARCALIGNEDTEXT")
	  )
    (if (= mode 0)
      (setq intro "\nSelect copy source text ")
      (setq intro "\nSelect additon source text ")
      )
    (while loop
      (initget "Exit Delete Match MD DM")
      ;(setq del T);;;
      (setq sou (entsel (strcat intro "[Delete source("del-mode")/Match properties("mat-mode")]: ")))
      (cond
	((= sou "Exit")(exit))
	((null sou)(exit))
	((= sou "Delete")
	 (if (= del-mode "0")
	   (setq del-mode "1")
	   (setq del-mode "0")
	   )
	 )
	((= sou "Match")
	  (if (= mat-mode "0")
	   (setq mat-mode "1")
	   (setq mat-mode "0")
	   )
	  )
	((or (= sou "MD")(= sou "DM"))
	  (progn
	    (if (= del-mode "0")
	      (setq del-mode "1")
	      (setq del-mode "0")
	      )
	    (if (= mat-mode "0")
	      (setq mat-mode "1")
	      (setq mat-mode "0")
	      )
	    )
	  )
	((progn
	   (setq data (entget (car sou))
		 typ (cdr (assoc 0 data))
		 )
	   (if (not (member typ lis))
	     (princ "Invalid selection.")
	     (progn
	       (setq temp (assoc 1 data)
		     loop nil
		     )
	       (cond
		 ((= typ "MTEXT")(mtx))
		 ((= typ "DIMENSION")(dim))
		 )
	       )
	     ); if end
	   ))
	); cond end
      )
    (chc 1)
    (setq rdw T)
    )
;											
  (defun mtx(/ con test)
    (setq con (cdr temp)
	  test (substr con 1 1)
	  )
    (if (= test "\\")(setq temp (cons 1 (substr con 5))))
    )
;											
  (defun dim(/ con)
    (setq con (cdr temp))
    (if (or (= con "")(= con "<>"))
      (setq temp (cons 1 (rtos (cdr (assoc 42 data)) 2 dec)))
      )
    )
;											
  (defun chc(mode / col)
    (cond
      ((and (= del-mode "1") (= mat-mode "0"))(setq col "230"))
      ((and (= del-mode "0") (= mat-mode "1"))(setq col "110"))
      ((and (= del-mode "1") (= mat-mode "1"))(setq col "30"))
      ((setq col "140"))
      )
    (if (= mode 0)
      (progn
	(command "_.Chprop" sou "" "_Color" "BYLAYER" "")
	(redraw (car sou) 4)
	)
      (progn
	(command "_.Chprop" sou "" "_Color" col "")
	(redraw (car sou) 3)
	)
      )
    )
;											
  (defun chg(/ ss inc data-)
    (if (= mode 0)
      (princ "\nSelect destiantion texts to change: ")
      (princ "\nSelect destiantion texts to add: ")
      )
    (setq ss (ssget '((-4 . "<OR")
		      (0 . "TEXT")(0 . "MTEXT")(0 . "DIMENSION")(0 . "ARCALIGNEDTEXT")
		      (-4 . "OR>")
		      )))
    (if (null ss)(exit))
    (setq inc 0)
    (repeat (sslength ss)
      (setq data- (entget (ssname ss inc))
	    inc (1+ inc))
      (if (= mode 1)
	(setq temp (cons 1 (strcat (cdr (assoc 1 data-)) "x" (cdr temp))))
	)
      (entmod (subst temp (assoc 1 data-) data-))
      )
    (if (= mat-mode "1")
      (progn
	(if rdw (chc 0))
	(command "_.MatchProp" sou ss "")
	)
      )
    (if (= del-mode "1")
      (progn
	(entdel (car sou))
	(setq rdw nil)
	)
      )
    )
;											
  (sta)
  (sel)
  (chg)
  (res)
  )

(defun c:TC()(copy-add-text-content 0))
(defun c:TD()(copy-add-text-content 1))
(princ)

em sưu tầm trên diễn đàn cái lisp replace text rất hay, làm việc khá hiệu quả với nó. Em muốn nó có thể làm việc được với block att, Bác nào rảnh tay giúp em với. Em xin cám ơn, Chúc các bác luôn mạnh khỏe.

Hề hề, chắc các bác dạo này bận nên là chưa xem ngó qua được cái lisp cho em, hoặc lời văn của em tối nghĩa nên các bác chưa hiểu rõ yêu cầu, hì, em xin nói lại yêu cầu trợ giúp là: các bác có thể giúp em làm cho lisp có thể replace text của block att, yêu cầu của em nếu quá đáng thì các bác bỏ qua cho. Chúc các bác luôn mạnh khỏe, có nhiều cống hiến cho ngành kỹ thuật.

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
phamthanhbinh    3.123

Hề hề, chắc các bác dạo này bận nên là chưa xem ngó qua được cái lisp cho em, hoặc lời văn của em tối nghĩa nên các bác chưa hiểu rõ yêu cầu, hì, em xin nói lại yêu cầu trợ giúp là: các bác có thể giúp em làm cho lisp có thể replace text của block att, yêu cầu của em nếu quá đáng thì các bác bỏ qua cho. Chúc các bác luôn mạnh khỏe, có nhiều cống hiến cho ngành kỹ thuật.

Hề hề hề,

Bạn đặt vấn đề không rõ ràng nên khó có kết quả. Bạn muốn text nguồn là attribute hay text đich là attribute???? Hay là cả nguồn và đích đều là attribute.???

  • 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
jangboko    3

Hề hề hề,

Bạn đặt vấn đề không rõ ràng nên khó có kết quả. Bạn muốn text nguồn là attribute hay text đich là attribute???? Hay là cả nguồn và đích đều là attribute.???

 

Cảm ơn bác đã hồi âm, em muốn text đích là attribute. Mong bác ra tay giúp đỡ. Cảm ơn bác và anh em cộng đồng cadviet nhiề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
phamthanhbinh    3.123

Cảm ơn bác đã hồi âm, em muốn text đích là attribute. Mong bác ra tay giúp đỡ. Cảm ơn bác và anh em cộng đồng cadviet nhiều.

Hề hề hề,

Bạn dùng thủ cái này coi sao. Mình sửa lại một chút để có thể cả text nguồn và đích đều là các thuộc tính.

 

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/topic/165503-nho-chinh-sua-lisp-replac-text/
;=========================================================================
;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=18049
(defun copy-add-text-content (mode / err oer sta res sel mtx dim chc chg
     hig sor rdw dec temp a b 
     sou data)
;;;; 
  (defun err(s)
    (if (and (/= s "Function cancelled")(/= s "quit / exit abort"))
      (princ (strcat "\n--->> Error: " s))
      )
    (res)
    )
;;;;; 
  (defun res()
    (if hig (setvar "HighLight" hig))
    (if sor (setvar "Sortents" sor))
    (if pst (setvar "Pickstyle" pst))
    (if rdw (chc 0))
    (command "_.Undo" "_End")
    (setq *error* oer)
    (setvar "Cmdecho" 1)
    (princ)
    )
;;;;; 
  (defun sta()
    (setq oer *error*
 *error* err
 hig (getvar "HighLight")
 sor (getvar "Sortents")
 pst (getvar "Pickstyle")
 dec (getvar "Dimdec")
 )
    (setvar "Cmdecho" 0)
    (command "_.Undo" "_Group")
    (setvar "HighLight" 1)
    (setvar "Sortents" 1)
    (setvar "Pickstyle" 0)
    (graphscr)
    )
;;;;; 
  (defun sel (/ loop lis typ intro)
    (if (null del-mode)(setq del-mode "0"))
    (if (null mat-mode)(setq mat-mode "0"))
    (setq loop T
 lis '("TEXT" "MTEXT" "DIMENSION" "ARCALIGNEDTEXT")
 )
    (if (= mode 0)
      (setq intro "\nSelect copy source text ")
      (setq intro "\nSelect additon source text ")
      )
    (while loop
      (initget "Exit Delete Match MD DM")
      ;(setq del T);;;
      (setq sou (nentsel (strcat intro "[Delete source("del-mode")/Match properties("mat-mode")]: ")))
      (cond
((= sou "Exit")(exit))
((null sou)(exit))
((= sou "Delete")
(if (= del-mode "0")
  (setq del-mode "1")
  (setq del-mode "0")
  )
)
((= sou "Match")
 (if (= mat-mode "0")
  (setq mat-mode "1")
  (setq mat-mode "0")
  )
 )
((or (= sou "MD")(= sou "DM"))
 (progn
   (if (= del-mode "0")
     (setq del-mode "1")
     (setq del-mode "0")
     )
   (if (= mat-mode "0")
     (setq mat-mode "1")
     (setq mat-mode "0")
     )
   )
 )
((progn
  (setq data (entget (car sou))
typ (cdr (assoc 0 data))
)
  (if (not (member typ lis))
    (princ "Invalid selection.")
    (progn
      (setq temp (assoc 1 data)
    loop nil
    )
      (cond
((= typ "MTEXT")(mtx))
((= typ "DIMENSION")(dim))
)
      )
    ); if end
  ))
); cond end
      )
    (chc 1)
    (setq rdw T)
    )
;;;;; 
  (defun mtx(/ con test)
    (setq con (cdr temp)
 test (substr con 1 1)
 )
    (if (= test "\\")(setq temp (cons 1 (substr con 5))))
    )
;;;;; 
  (defun dim(/ con)
    (setq con (cdr temp))
    (if (or (= con "")(= con "<>"))
      (setq temp (cons 1 (rtos (cdr (assoc 42 data)) 2 dec)))
      )
    )
;;;;; 
  (defun chc(mode / col)
    (cond
      ((and (= del-mode "1") (= mat-mode "0"))(setq col "230"))
      ((and (= del-mode "0") (= mat-mode "1"))(setq col "110"))
      ((and (= del-mode "1") (= mat-mode "1"))(setq col "30"))
      ((setq col "140"))
      )
    (if (= mode 0)
      (progn
(command "_.Chprop" sou "" "_Color" "BYLAYER" "")
(redraw (car sou) 4)
)
      (progn
(command "_.Chprop" sou "" "_Color" col "")
(redraw (car sou) 3)
)
      )
    )
;;;;; 
  (defun chg(/ ss inc data-)
    (if (= mode 0)
      (princ "\nSelect destiantion texts to change: ")
      (princ "\nSelect destiantion texts to add: ")
      )
    (setq ss (ssget '((-4 . "<OR")
     (0 . "TEXT")(0 . "MTEXT")(0 . "DIMENSION")(0 . "ARCALIGNEDTEXT")(0 . "INSERT")
     (-4 . "OR>")
     )))
    (if (null ss)(exit))
    (setq inc 0)
    (repeat (sslength ss)
      (setq data- (entget (ssname ss inc))
   inc (1+ inc))
       (setq a (ssname ss (1- inc)))
      (if (= (cdr (assoc 0 data-)) "INSERT")
          (progn
                
                 (alert "\n Doi tuong chon là block.")
                 (setq b (ssadd a))
                 (sssetfirst ss b)
                 (setq data- (entget (car (nentsel "\n  Ban hay pick lai thuoc tinh can thay doi"))))
           )
       )
      (if (= mode 1)
(setq temp (cons 1 (strcat (cdr (assoc 1 data-)) "x" (cdr temp))))
)
      (entmod (subst temp (assoc 1 data-) data-))
      (entupd a)
      )
    (if (= mat-mode "1")
      (progn
(if rdw (chc 0))
(command "_.MatchProp" sou ss "")
)
      )
    (if (= del-mode "1")
      (progn
(entdel (car sou))
(setq rdw nil)
)
      )
    )
;;;;; 
  (sta)
  (sel)
  (chg)
  (res)
  )
 
(defun c:TC()(copy-add-text-content 0))
(defun c:TD()(copy-add-text-content 1))
(princ)
  • 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
jangboko    3

 

Hề hề hề,

Bạn dùng thủ cái này coi sao. Mình sửa lại một chút để có thể cả text nguồn và đích đều là các thuộc tính.

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/topic/165503-nho-chinh-sua-lisp-replac-text/
;=========================================================================
;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=18049
(defun copy-add-text-content (mode / err oer sta res sel mtx dim chc chg
     hig sor rdw dec temp a b 
     sou data)
;;;; 
  (defun err(s)
    (if (and (/= s "Function cancelled")(/= s "quit / exit abort"))
      (princ (strcat "\n--->> Error: " s))
      )
    (res)
    )
;;;;; 
  (defun res()
    (if hig (setvar "HighLight" hig))
    (if sor (setvar "Sortents" sor))
    (if pst (setvar "Pickstyle" pst))
    (if rdw (chc 0))
    (command "_.Undo" "_End")
    (setq *error* oer)
    (setvar "Cmdecho" 1)
    (princ)
    )
;;;;; 
  (defun sta()
    (setq oer *error*
 *error* err
 hig (getvar "HighLight")
 sor (getvar "Sortents")
 pst (getvar "Pickstyle")
 dec (getvar "Dimdec")
 )
    (setvar "Cmdecho" 0)
    (command "_.Undo" "_Group")
    (setvar "HighLight" 1)
    (setvar "Sortents" 1)
    (setvar "Pickstyle" 0)
    (graphscr)
    )
;;;;; 
  (defun sel (/ loop lis typ intro)
    (if (null del-mode)(setq del-mode "0"))
    (if (null mat-mode)(setq mat-mode "0"))
    (setq loop T
 lis '("TEXT" "MTEXT" "DIMENSION" "ARCALIGNEDTEXT")
 )
    (if (= mode 0)
      (setq intro "\nSelect copy source text ")
      (setq intro "\nSelect additon source text ")
      )
    (while loop
      (initget "Exit Delete Match MD DM")
      ;(setq del T);;;
      (setq sou (nentsel (strcat intro "[Delete source("del-mode")/Match properties("mat-mode")]: ")))
      (cond
((= sou "Exit")(exit))
((null sou)(exit))
((= sou "Delete")
(if (= del-mode "0")
  (setq del-mode "1")
  (setq del-mode "0")
  )
)
((= sou "Match")
 (if (= mat-mode "0")
  (setq mat-mode "1")
  (setq mat-mode "0")
  )
 )
((or (= sou "MD")(= sou "DM"))
 (progn
   (if (= del-mode "0")
     (setq del-mode "1")
     (setq del-mode "0")
     )
   (if (= mat-mode "0")
     (setq mat-mode "1")
     (setq mat-mode "0")
     )
   )
 )
((progn
  (setq data (entget (car sou))
typ (cdr (assoc 0 data))
)
  (if (not (member typ lis))
    (princ "Invalid selection.")
    (progn
      (setq temp (assoc 1 data)
    loop nil
    )
      (cond
((= typ "MTEXT")(mtx))
((= typ "DIMENSION")(dim))
)
      )
    ); if end
  ))
); cond end
      )
    (chc 1)
    (setq rdw T)
    )
;;;;; 
  (defun mtx(/ con test)
    (setq con (cdr temp)
 test (substr con 1 1)
 )
    (if (= test "\\")(setq temp (cons 1 (substr con 5))))
    )
;;;;; 
  (defun dim(/ con)
    (setq con (cdr temp))
    (if (or (= con "")(= con "<>"))
      (setq temp (cons 1 (rtos (cdr (assoc 42 data)) 2 dec)))
      )
    )
;;;;; 
  (defun chc(mode / col)
    (cond
      ((and (= del-mode "1") (= mat-mode "0"))(setq col "230"))
      ((and (= del-mode "0") (= mat-mode "1"))(setq col "110"))
      ((and (= del-mode "1") (= mat-mode "1"))(setq col "30"))
      ((setq col "140"))
      )
    (if (= mode 0)
      (progn
(command "_.Chprop" sou "" "_Color" "BYLAYER" "")
(redraw (car sou) 4)
)
      (progn
(command "_.Chprop" sou "" "_Color" col "")
(redraw (car sou) 3)
)
      )
    )
;;;;; 
  (defun chg(/ ss inc data-)
    (if (= mode 0)
      (princ "\nSelect destiantion texts to change: ")
      (princ "\nSelect destiantion texts to add: ")
      )
    (setq ss (ssget '((-4 . "<OR")
     (0 . "TEXT")(0 . "MTEXT")(0 . "DIMENSION")(0 . "ARCALIGNEDTEXT")(0 . "INSERT")
     (-4 . "OR>")
     )))
    (if (null ss)(exit))
    (setq inc 0)
    (repeat (sslength ss)
      (setq data- (entget (ssname ss inc))
   inc (1+ inc))
       (setq a (ssname ss (1- inc)))
      (if (= (cdr (assoc 0 data-)) "INSERT")
          (progn
                
                 (alert "\n Doi tuong chon là block.")
                 (setq b (ssadd a))
                 (sssetfirst ss b)
                 (setq data- (entget (car (nentsel "\n  Ban hay pick lai thuoc tinh can thay doi"))))
           )
       )
      (if (= mode 1)
(setq temp (cons 1 (strcat (cdr (assoc 1 data-)) "x" (cdr temp))))
)
      (entmod (subst temp (assoc 1 data-) data-))
      (entupd a)
      )
    (if (= mat-mode "1")
      (progn
(if rdw (chc 0))
(command "_.MatchProp" sou ss "")
)
      )
    (if (= del-mode "1")
      (progn
(entdel (car sou))
(setq rdw nil)
)
      )
    )
;;;;; 
  (sta)
  (sel)
  (chg)
  (res)
  )
 
(defun c:TC()(copy-add-text-content 0))
(defun c:TD()(copy-add-text-content 1))
(princ)

hề hề, thơm và ngon rồi, em cám ơn bá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

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

Đăng nhập để thực hiện theo  

×