Đến nội dung


Hình ảnh
- - - - -

Hỏi cách thêm kí tự bất kỳ vào text


  • Please log in to reply
66 replies to this topic

#21 tucdrom

tucdrom

    — T — U — N — A —

  • Members
  • PipPipPipPipPipPip
  • 497 Bài viết
Điểm đánh giá: 642 (tốt)

Đã gửi 09 December 2008 - 11:04 AM

Lệnh Find trong đó có chức năng Find and Replace sẽ giải đáp được thắc mắc của bác.Em nghĩ ko cần phải dùng đến Lisp :cheers:
  • 0

Email : anhtu2101@gmail.com



 


#22 camphuong

camphuong

    biết zoom

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

Đã gửi 09 December 2008 - 11:26 AM

Bạn này!
Có thể bạn cho là mình khó tính nhưng thật sự mình không hiểu bạn luôn đó.
Mình chỉ bạn sang đây thì chắc chắn có.
lisp thêm text nó nằm phía trên cái lisp bớt text này đó bạn.
Bạn nên đọc kỹ trước khi đặt câu hỏi nhé!

mình cũng không dùng được cả hai lệnh themtext và bottext.lúc nào dùng nó cũng báo lỗi là: no definition prin.bạn giải đáp giùm nhé.
  • 0

#23 hhhhgggg

hhhhgggg

    biết dimedit

  • Members
  • PipPipPipPipPip
  • 393 Bài viết
Điểm đánh giá: 30 (tàm tạm)

Đã gửi 09 December 2008 - 12:50 PM

Bạn này!
Có thể bạn cho là mình khó tính nhưng thật sự mình không hiểu bạn luôn đó.
Mình chỉ bạn sang đây thì chắc chắn có.
lisp thêm text nó nằm phía trên cái lisp bớt text này đó bạn.
Bạn nên đọc kỹ trước khi đặt câu hỏi nhé!

ok ! mình đã ko đọc kỹ. sorry bạn nhé !
  • 0
Hoàng Giang

#24 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 09 December 2008 - 01:42 PM

mình cũng không dùng được cả hai lệnh themtext và bottext.lúc nào dùng nó cũng báo lỗi là: no definition prin.bạn giải đáp giùm nhé.

Đối tượng phải là dtext chứ không phải mtext!
  • 2

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#25 tuan_thietkedien

tuan_thietkedien

    biết lệnh mirror

  • Members
  • PipPipPip
  • 153 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 11 December 2008 - 04:43 PM

Đối tượng phải là dtext chứ không phải mtext!


Bác Duy ơi.

Xin lỗi làm phiền bác tí nữa, bác có thể viết lisp Thay text như bên dưới hay không.

Ví dụ text là {A x 1} , sau khi dùng lisp thì ra {B x 2} chẳng hạn.
  • 0

#26 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 11 December 2008 - 05:05 PM

Bác Duy ơi.

Xin lỗi làm phiền bác tí nữa, bác có thể viết lisp Thay text như bên dưới hay không.

Ví dụ text là {A x 1} , sau khi dùng lisp thì ra {B x 2} chẳng hạn.

Nếu text là {A x 1} , sau khi dùng lisp thì ra {B x 2}, thì chỉ cần dùng lệnh find -> Replace là được.
  • 1

#27 tuan_thietkedien

tuan_thietkedien

    biết lệnh mirror

  • Members
  • PipPipPip
  • 153 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 12 December 2008 - 08:34 AM

Nếu text là {A x 1} , sau khi dùng lisp thì ra {B x 2}, thì chỉ cần dùng lệnh find -> Replace là được.


Bạn Tue ơi. Không phải là toàn bộ text {A x 1} thay là {B x 2} đâu. Trong 1 bản vẽ, có nơi thay là {A x 2}, có nơi thay là {B x 3} chẳng hạn.
  • 0

#28 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 12 December 2008 - 09:23 AM

Bạn Tue ơi. Không phải là toàn bộ text {A x 1} thay là {B x 2} đâu. Trong 1 bản vẽ, có nơi thay là {A x 2}, có nơi thay là {B x 3} chẳng hạn.


Bạn có biết dùng lệnh FIND của cad không? Nó cho bạn chọn đối tượng để thay đổi mà. Nội dung này mình đã viết bài trên rồi mà bạn không để ý.

@Mọi người nên rèn luyện cho mình kỹ năng đọc (ít ra thì cũng không hỏi nội dung trùng lặp trong cùng 1 topic)
  • 2

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#29 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 12 December 2008 - 09:43 AM

Bạn có biết dùng lệnh FIND của cad không? Nó cho bạn chọn đối tượng để thay đổi mà. Nội dung này mình đã viết bài trên rồi mà bạn không để ý.

@Mọi người nên rèn luyện cho mình kỹ năng đọc (ít ra thì cũng không hỏi nội dung trùng lặp trong cùng 1 topic)

Chính xác, bạn có thể chọn vùng đối tượng để thay đổi trong hộp thoại Find and Replace khi đánh lệnh find
  • 1

#30 tuan_thietkedien

tuan_thietkedien

    biết lệnh mirror

  • Members
  • PipPipPip
  • 153 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 12 December 2008 - 10:56 AM

Bạn có biết dùng lệnh FIND của cad không? Nó cho bạn chọn đối tượng để thay đổi mà. Nội dung này mình đã viết bài trên rồi mà bạn không để ý.

@Mọi người nên rèn luyện cho mình kỹ năng đọc (ít ra thì cũng không hỏi nội dung trùng lặp trong cùng 1 topic)


Lệnh Find mình biết dùng nhưng cái phần quét vùng đối tượng thì mình chưa biết. Mấy bác học Cad kỹ thiệt, hồi đó mình học sơ xài quá. Thank bạn Duy và Tue nhé. :cheers:
  • 0

#31 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 24 April 2009 - 03:00 PM

Bạn load file này lên:
http://www.cadviet.c...es/themtext.lsp
Lệnh: themtext
Hỏi: nhập nội dung cần thêm phía trước. Nếu không thêm phía trước thì enter
Hỏi: nhập nội dung cần thêm phía sau. Nếu không thêm phía sau thì enter
Hỏi: chọn đối tượng, bạn ưng chỉnh tẽt nào thì chọn text đó nhiều cũng được. ok.
Chú ý khi nhập nội dung text nhận cả khoảng trắng muốn kết thúc phải nhấn enter.


Tuyệt quá!. cảm ơn anh Duy
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#32 Phương Anh

Phương Anh

    biết vẽ line

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

Đã gửi 17 June 2009 - 10:24 AM

Các anh giúp em lip thêm một kí tự vào giữa text được không ạ.
Yêu cầu cụ thể là: Nội dung text: 123456, hoặc 12987, kết quả là 123.456 hoặc 12.987.
Em dọc các bài trên đay thì thấy là thêm vào đầu hoặc cuối thôi.
Cảm ơn các anh!
  • 0

#33 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 17 June 2009 - 10:53 AM

Các anh giúp em lip thêm một kí tự vào giữa text được không ạ.
Yêu cầu cụ thể là: Nội dung text: 123456, hoặc 12987, kết quả là 123.456 hoặc 12.987.
Em dọc các bài trên đay thì thấy là thêm vào đầu hoặc cuối thôi.
Cảm ơn các anh!

Chào bạn 'Phương Anh'
Bạn sử dụng đoạn Code này xem :
Tên lệnh : tgtext

(defun c:tgtext()
(setq gtext (getstring 5"\nChuoi muon them o giua :"))
(setq vitri (getint "\n Ban muon them chuoi nay cach vi tri dau bao nhieu ki tu :"))
(prompt "\nChon chu muon chinh.")
(setq ss (ssget '((0 . "TEXT,MTEXT"))) n (sslength ss) i 0)

(while (< i n)
(setq e (entget(ssname ss i)))
(setq chuoicu (cdr(assoc 1 e)))

(setq tachdau (substr chuoicu 1 vitri))
(setq tachcuoi (substr chuoicu vitri (strlen chuoicu)))
(setq chunoi (strcat tachdau gtext tachcuoi))
(setq e (subst (cons 1 chunoi) (assoc 1 e) e))
(entmod e)
(setq i (1+ i))
)
(princ)
)

  • 1

#34 thiep

thiep

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 369 Bài viết
Điểm đánh giá: 260 (khá)

Đã gửi 17 June 2009 - 10:54 AM

Các anh giúp em lip thêm một kí tự vào giữa text được không ạ.
Yêu cầu cụ thể là: Nội dung text: 123456, hoặc 12987, kết quả là 123.456 hoặc 12.987.
Em dọc các bài trên đay thì thấy là thêm vào đầu hoặc cuối thôi.
Cảm ơn các anh!

Có 1 hàm trong VL: (vl-string-subst new-str pattern string [start-pos])
Hàm này tìm 1 đoạn chuỗi (pattern) thay thế 1 đoạn chuỗi mới (new-str), bắt đầu tìm từ vị trí [start-pos].
vdụ: tìm "3" thay thế bằng "3." trong đoạn chuỗi 123456 bắt đầu từ 0
(vl-string-subst "3." "3" string 0)
tìm "2" thay thế bằng "2." trong đoạn chuỗi 12987 bắt đầu từ 0
(vl-string-subst "2." "2" string 0)
  • 0

#35 Phương Anh

Phương Anh

    biết vẽ line

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

Đã gửi 17 June 2009 - 11:06 AM

Chào bạn 'Phương Anh'
Bạn sử dụng đoạn Code này xem :
Tên lệnh : tgtext

Cảm ơn anh Tue_NV.
Nhờ anh xem lại, khi load thì có lỗi
Command: ap
APPLOAD Addtext.lsp successfully loaded.


Command: ; error: bad character read (octal): 0
  • 0

#36 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 17 June 2009 - 11:37 AM

Cảm ơn anh Tue_NV.
Nhờ anh xem lại, khi load thì có lỗi
Command: ap
APPLOAD Addtext.lsp successfully loaded.
Command: ; error: bad character read (octal): 0

Mình gửi luôn file đây. Bạn chạy thử :
http://www.cadviet.c...iles/tgtext.lsp
:lol2:
  • 2

#37 thiep

thiep

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 369 Bài viết
Điểm đánh giá: 260 (khá)

Đã gửi 17 June 2009 - 12:57 PM

Mình gửi luôn file đây. Bạn chạy thử :
http://www.cadviet.c...iles/tgtext.lsp
:lol2:

Xin phép Tue_NV, thiep chỉnh sửa lisp tgtext.lsp một chút, với đoạn mã (vl-string-subst new-str pattern string [start-pos])

(defun c:tgtext()
(setq gtext (getstring t "\nMau chuoi muon them vao trong chuoi:"))
(setq vitri (getint "\n Ban muon them mau chuoi nay cach vi tri dau bao nhieu ki tu: "))
(prompt "\nChon chu muon chinh.")
(setq ss (ssget '((0 . "TEXT,MTEXT")))
n (sslength ss)
i 0
)
(while (< i n)
(setq e (entget(ssname ss i)))
(setq chuoicu (cdr(assoc 1 e)))
(setq e (subst (cons 1 (vl-string-subst gtext "" chuoicu vitri)) (assoc 1 e) e))
(entmod e)
(setq i (1+ i))
)
(princ)
)

:lol2:
  • 3

#38 Phương Anh

Phương Anh

    biết vẽ line

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

Đã gửi 17 June 2009 - 01:34 PM

Cảm ơn anh Tue_NV.
Nhờ anh xem lại, khi load thì có lỗi
Command: ap
APPLOAD Addtext.lsp successfully loaded.
Command: ; error: bad character read (octal): 0

Em biết lý do xuất hiện lỗi này rồi. Đó là trong hộp Save As của Notepad, phần Encoding phải chọn ANSI (không chọn UNICODE).

Mình gửi luôn file đây. Bạn chạy thử :
http://www.cadviet.c...iles/tgtext.lsp
:lol2:

Cảm ơn anh Tue_NV, nhưng lisp của anh cho kết quả không như mong muốn anh ạ.
Chuỗi của em là 123456, chọn Chuoi muon them o giua là dấu chấm . và Ban muon them mau chuoi nay cach vi tri dau bao nhieu ki tu: 3 thì kết quả là 123.3456
Lisp của anh Thiep là dat yêu cầu.
Cam ơn anh Thiep!
  • 0

#39 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 17 June 2009 - 01:43 PM

Em biết lý do xuất hiện lỗi này rồi. Đó là trong hộp Save As của Notepad, phần Encoding phải chọn ANSI (không chọn UNICODE).
Cảm ơn anh Tue_NV, nhưng lisp của anh cho kết quả không như mong muốn anh ạ.
Chuỗi của em là 123456, chọn Chuoi muon them o giua là dấu chấm . và Ban muon them mau chuoi nay cach vi tri dau bao nhieu ki tu: 3 thì kết quả là 123.3456
Lisp của anh Thiep là dat yêu cầu.
Cam ơn anh Thiep!

Ôi. Cái biến tachcuoi phải đi từ vitri+1 -> đến hết chuỗi
Xin lỗi vì sự nhầm lẫn. Đã sửa lại
Bạn PHUONGANH check thử

(defun c:tgtext()
(setq gtext (getstring 5"\nChuoi muon them o giua :"))
(setq vitri (getint "\n Ban muon them chuoi nay cach vi tri dau bao nhieu ki tu :"))
(prompt "\nChon chu muon chinh.")
(setq ss (ssget '((0 . "TEXT,MTEXT"))) n (sslength ss) i 0)

(while (< i n)
(setq e (entget(ssname ss i)))
(setq chuoicu (cdr(assoc 1 e)))

(setq tachdau (substr chuoicu 1 vitri))
(setq tachcuoi (substr chuoicu (1+ vitri) (strlen chuoicu)))
(setq chunoi (strcat tachdau gtext tachcuoi))
(setq e (subst (cons 1 chunoi) (assoc 1 e) e))
(entmod e)
(setq i (1+ i))
)
(princ)
)

:lol2:
  • 3

#40 Phương Anh

Phương Anh

    biết vẽ line

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

Đã gửi 17 June 2009 - 01:50 PM

Lisp TGTEXT rất hay, dùng cho mọi trường hợp muốn thêm text vào text đã có!
Cảm ơn các anh rất nhiều.
(Em nhầm, xin bỏ một câu. Xin lỗi anh Tue_NV và anh Thiep)

Bài viết đã được chỉnh sửa nội dung bởi Phương Anh: 17 June 2009 - 02:15 PM

  • 0