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  
Tuynh

Thay Đổi Hàng Loạt Text Theo Hàng Cột

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

Tuynh    1

Vâng anh, nếu về thể hiện thì copy và xóa, nhưng do text mẫu và text đích mang thông tin của phần mềm nên nếu copy và xóa thì mất thông tin đó, do vậy em cần là Sau khi quét chọn thì text đích thành text mẫ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
hiepttr    523

Hôm nay mình bận, đến ngày mai, nếu ko có bác nào giúp thì mình sẽ code cho bạn ^^
Good luck !

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
hiepttr    523

Của bạn đây ^^

 

p/s:

Code chạy đúng với BV mẫu bạn đưa lên.

Khi k/c giữa các cột thay đổi thì "có thể" phải sửa một chút (đã đánh dấu trong code)

 

Con số trong code nhỏ hơn k/c tối thiểu giữa các cột

;Copy content of texts 
(defun c:CCT( / ss lst ss2 lst2 len cmd)
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(prompt "\nChon cac doi tuong *TEXT mau !")
(setq ss (ssget '((0 . "*TEXT"))))
(if ss
	(progn
		(setq lst (H:sort_<x_>y ss))
		(setq len (length lst))
		;;;=====
		(prompt "\nChon cac doi tuong *TEXT dich !")
		(setq ss2 (ssget '((0 . "*TEXT"))))
		(if (and ss2 (= (sslength ss2) len))
			(progn
				(setq lst2 (H:sort_<x_>y ss2))
				(mapcar 'Put_content lst lst2)
			)
			(princ "*** Tap cac text dich ko cung form voi text mau ***")
		)
	)
	(princ "Khong chon duoc text mau !")
)
(setvar "cmdecho" cmd)
(princ)
)
;======================

;;;====================
(defun H:sort_>y(lst_ename_text)
	(if (> (length lst_ename_text) 1) (vl-sort lst_ename_text '(lambda (x y) (> (caddr (assoc 10 (entget x))) (caddr (assoc 10 (entget y)))))) lst_ename_text)
)
;;;====================
(defun H:sort_<x_>y(ss_text / lst hot lst1)
(setq lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss_text)))
	  lst (vl-sort lst '(lambda (x y) (< (cadr (assoc 10 (entget x))) (cadr (assoc 10 (entget y)))))))
(setq hot (car lst)
	  lst1 (cdr lst)
	  lst (list (list hot))
)
(foreach elem lst1
	(if (equal (cadr (assoc 10 (entget elem))) (cadr (assoc 10 (entget hot))) 30) 	;Thay doi k/c cot o so (30) hang nay
		(setq lst (append (reverse (cdr (reverse lst))) (list(append (last lst) (list elem)))))
		(setq lst (append lst (list (list elem)))
			  hot elem)
	)	  ;if
)	  ;for
(apply 'append (mapcar 'H:sort_>y lst))
)
;;;======================================
(defun Put_content(ename_get_cont ename_put_cont / info)
(setq info (entget ename_put_cont))
(entmod (subst (assoc 1 (entget ename_get_cont)) (assoc 1 info) info))
)
  • 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

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

×