Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
hoquangvinh

Nhờ Viết Lisp Copy Text

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

Mình đã tìm trên diễn đàn và Google rồi nhưng hoặc là chưa thấy hoặc là chưa đúng với ý đồ của mình

Nếu ai biết nội dung đã có thì chỉ hộ mình với còn không thì mình nhờ viết hộ lisp copy giá trị text này sang text khác đã có như sau:

1. Tên lệnh.

2. Chọn đối tượng text cần copy.

3. Chọn đối tượng text cần paste (có thể 1 hoặc nhiều đối tượng).

4. Kết thúc lệnh.

Nếu đc thì có thể đổi màu cho text đã gán giá trị mới thì tốt.

Cảm ơn cả 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

Code cho bạn. Hy vong là đúng yêu cầu. he he

 

(defun c:dcc (/ sl s1 s2)
(setvar "cmdecho" 0)
(setq s1 (entget (car (entsel "\nChon text goc:"))))
(princ "\nChon cac Text can thay doi.")
(setq s2 (ssget '((0 . "TEXT,MTEXT"))))
(setq sl (sslength s2))
(setq dem 0)
(while (< dem sl)
(setq nds2 (entget (ssname s2 dem)))
(setq text (cdr (assoc 1 s1)))
(setq thaythe (subst (cons 1 text) (assoc 1 nds2) nds2))
(entmod thaythe)
(setq dem (1+ dem))
)
)
  • 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

1. Lisp trên ban đầu ko chạy đc

...........

2. Đổi lại tên lệnh thì OK vì trùng tên lệnh phần mềm của mình hehe

Thanks bạn nhé.

Còn có vấn đề đổi màu text thay giá trị nữa mình được voi đòi tiên luôn có ai giúp nốt mình vớ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êm dòng :

 

(vla-put-color (vlax-ename->vla-object (ssname s2 dem)) 1)

 

Trước dòng lệnh : (entmod thaythe) là ổ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

Ko biết paste dòng này vào có cần thêm () ở các dòng nào khác nữa ko mà mình vẫn chưa thấy đổi màu

Dòng lệnh trên số 1 ở cuối có phải là màu mình muốn đổi ko 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

Lisp này trên CV chắc đã có vô số rồi, chắc keyword tìm của bạn có vấn đề :)

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

+ Không cần thêm "()"  dòng khác.

   Nếu bạn ko chạy được, có thể là do bạn chưa load hàm "VL".

   thì thêm dòng sau đoạn (defun c:........). 

   (VL-LOAD-COM)

 

+ Số "1" là số của màu . 

Gửi lại bạn lisp, bạn chạy lại coi thế nào.

 

http://www.cadviet.com/upfiles/6/124641_dcc_1.lsp

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

+ Số "1" tương ứng màu đỏ . Tức là các Text màu khác chuyển sang màu đỏ. Không biết màu của Text bạn như thế nào.

Mình kiểm tra lisp gửi bạn, lisp trên Cad mình chạy ổn. Ko biết nguyên nhân nào mà Cad máy bạn ko nhận.  :(  :(

 

----> Cần sự trợ giúp của các anh chị giàu kinh nghiệm khá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

Mình đã tìm trên diễn đàn và Google rồi nhưng hoặc là chưa thấy hoặc là chưa đúng với ý đồ của mình

Nếu ai biết nội dung đã có thì chỉ hộ mình với còn không thì mình nhờ viết hộ lisp copy giá trị text này sang text khác đã có như sau:

1. Tên lệnh.

2. Chọn đối tượng text cần copy.

3. Chọn đối tượng text cần paste (có thể 1 hoặc nhiều đối tượng).

4. Kết thúc lệnh.

Nếu đc thì có thể đổi màu cho text đã gán giá trị mới thì tốt.

Cảm ơn cả nhà!

http://www.cadviet.com/forum/topic/18049-edit-nhanh-1-nhom-text-trong-cad/?do=findComment&comment=90765

bạn vào đường link đó, có thứ bạn cần. lisp đó mình cũng đang dùng, rất tiện và hay

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

Làm thế này: Cho (entmod thaythe) lên trước (vla-put-color (vlax-ename->vla-object (ssname s2 dem)) 1)

@Danh Cong: Khi vla-put-color thì thaythe nó vẫn không bị thay thế, bởi vậy nó không thể thay thế, vấn đề là thế... hế...hế..hế... :D

  • 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

Thanks mọi người

Bạn quocmanh04tt chỉ đúng rồi mình đã làm đc

Cách của bạn Jangkobo thì ko đúng ý mình rồi: mình cần copy giá trị 1 text qua text khác chứ ko phải thay thế toàn bộ giá trị text vì mình có nhiều giá trị khác nhau

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

Làm thế này: Cho (entmod thaythe) lên trước (vla-put-color (vlax-ename->vla-object (ssname s2 dem)) 1)

@Danh Cong: Khi vla-put-color thì thaythe nó vẫn không bị thay thế, bởi vậy nó không thể thay thế, vấn đề là thế... hế...hế..hế... :D

 

^^. Em chạy thử lisp trước khi đăng rồi mà. Em thấy chạy theo cả 2 cách là để lệnh "Vla" lên trước hay sau đều có kết quả như nhau. 

Nên mới chịu, ko hiểu tại sao Cad bạn kia ko làm được. Còn Cad em vẫn đổi màu rầm rầm  :blink:  :blink:

  • 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

^^. Em chạy thử lisp trước khi đăng rồi mà. Em thấy chạy theo cả 2 cách là để lệnh "Vla" lên trước hay sau đều có kết quả như nhau. 

Nên mới chịu, ko hiểu tại sao Cad bạn kia ko làm được. Còn Cad em vẫn đổi màu rầm rầm  :blink:  :blink:

Thử thế này nhé!

- Chạy lần 1 có thể Ok (Vì text cần thay thế có thể đang ở màu Bylayer) => Nếu không phải màu Bylayer.

- Chạy lần 2 (vào lisp đổi sang màu khác)??? Xem kết quả thế nào rầm rầm hay rì rì??? :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

http://www.cadviet.com/forum/topic/18049-edit-nhanh-1-nhom-text-trong-cad/?do=findComment&comment=90765

bạn vào đường link đó, có thứ bạn cần. lisp đó mình cũng đang dùng, rất tiện và hay

he hôm trước có vào link rồi nhưng chưa xem cái lisp cuối bài

giờ mới check lại thì kết quả cũng đúng với yêu cầu của mình nhưng cũng thiếu phần đổi màu

Ps: cũng đã vote cho bạn 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

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  

×