Đến nội dung


Hình ảnh
- - - - -

Nhờ Viết Lisp Copy Text


  • Please log in to reply
15 replies to this topic

#1 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 12 September 2016 - 09:53 AM

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à!


  • 0

#2 hainguyen2014

hainguyen2014

    biết vẽ arc

  • Members
  • PipPip
  • 43 Bài viết
Điểm đánh giá: 12 (tàm tạm)

Đã gửi 12 September 2016 - 10:11 AM

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


  • 1

#3 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 12 September 2016 - 11:22 AM

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ỉ.


  • 0

#4 Danh Cong

Danh Cong

    biết lệnh hatchedit

  • Members
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 43 (tàm tạm)

Đã gửi 12 September 2016 - 11:45 AM

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.


  • 1

             ***  Vô lo - Vô nghĩ - Vô sầu hận  ***

***  Chẳng thương - Chẳng giận - Chẳng đau lòng  ***


#5 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 12 September 2016 - 04:02 PM

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ỉ


  • 0

#6 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 12 September 2016 - 04:17 PM

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 đề :)
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#7 Danh Cong

Danh Cong

    biết lệnh hatchedit

  • Members
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 43 (tàm tạm)

Đã gửi 12 September 2016 - 04:19 PM

+ 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.c...24641_dcc_1.lsp


  • 0

             ***  Vô lo - Vô nghĩ - Vô sầu hận  ***

***  Chẳng thương - Chẳng giận - Chẳng đau lòng  ***


#8 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 12 September 2016 - 04:28 PM

mình chạy rồi mà vẫn ko đc bạn ơi


  • 0

#9 Danh Cong

Danh Cong

    biết lệnh hatchedit

  • Members
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 43 (tàm tạm)

Đã gửi 12 September 2016 - 04:38 PM

+ 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 :( :( 


  • 0

             ***  Vô lo - Vô nghĩ - Vô sầu hận  ***

***  Chẳng thương - Chẳng giận - Chẳng đau lòng  ***


#10 jangboko

jangboko

    biết vẽ arc

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

Đã gửi 12 September 2016 - 04:41 PM

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.c...cad/#entry90765

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


  • 0

#11 quocmanh04tt

quocmanh04tt

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 673 Bài viết
Điểm đánh giá: 315 (khá)

Đã gửi 12 September 2016 - 05:06 PM

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


  • 1

#12 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 12 September 2016 - 05:13 PM

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


  • 0

#13 Danh Cong

Danh Cong

    biết lệnh hatchedit

  • Members
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 43 (tàm tạm)

Đã gửi 12 September 2016 - 05:47 PM

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:


  • 1

             ***  Vô lo - Vô nghĩ - Vô sầu hận  ***

***  Chẳng thương - Chẳng giận - Chẳng đau lòng  ***


#14 quocmanh04tt

quocmanh04tt

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 673 Bài viết
Điểm đánh giá: 315 (khá)

Đã gửi 12 September 2016 - 06:07 PM

^^. 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


  • 0

#15 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 13 September 2016 - 07:34 AM

đúng rồi text của mình khi test đó ko phải là by layer

bạn @quocmanh04tt cho mình xin cái ID trong tin nhắn với


  • 0

#16 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 20 September 2016 - 11:26 PM

http://www.cadviet.c...cad/#entry90765

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é


  • 0