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  
thao_tedi

Nhờ viết lisp chèn dấu + vào giữa đơn vị hàng nghìn

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

Kính chào các bác.

Nhờ các bác viết giùm em một lisp chuyển số (là lý trình của trắc dọc) thành số có dấu cộng (+) phân cách đơn vị hàng nghìn. Ví dụ số 2200.000 thành số 2+200.000. Lisp này có thể chọn liền một lúc được nhiều số cùng một lúc.

Xin chân thành cảm ơn các bác trướ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
Kính chào các bác.

Nhờ các bác viết giùm em một lisp chuyển số (là lý trình của trắc dọc) thành số có dấu cộng (+) phân cách đơn vị hàng nghìn. Ví dụ số 2200.000 thành số 2+200.000. Lisp này có thể chọn liền một lúc được nhiều số cùng một lúc.

Xin chân thành cảm ơn các bác trước!

Bạn sử dụng Lisp tgtext của Tue_NV nhé. Nó đáp ứng yêu cầu của bạn đấy

Lisp đây : Bai viet so 48 hoac bai viet so 43

Cách sử dụng :

Thêm chuỗi là dấu + cách vị trí cuối 7 kí tự (hoặc cách kí tự đầu 1 kí tự)

2+200.000 : dấu + cách vị trí cuối 7 kí tự (hoặc cách kí tự đầu 1 kí tự)

(nên sử dụng trường hợp là chuỗi cách kí tự cuối không nên sử dụng chuỗi cách kí tự đầu)

 

Command: tgtext -> gõ tgtext

undo Enter the number of operations to undo or

[Auto/Control/BEgin/End/Mark/Back] : be

Command: cmdecho

Enter new value for CMDECHO : 0

Chuoi muon them o giua :+ -> gõ +

 

Them Text cach ki tu Dau hay Them Text cach ki tu Cuoi : C -> gõ C

 

Ban muon them chuoi nay cach vi tri cuoi bao nhieu ki tu :7 -> gõ 7

 

Chon chu muon chinh.

Select objects: Specify opposite corner: 2 found -> chon Text cần chỉnh

 

Select objects:

 

OKAy

  • 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 down về và chạy lisp tgtext.lsp. Khi chạy nó báo lỗi như sau:

Command: tgtext

 

Chuoi muon them o giua :+

 

Them Text cach ki tu Dau hay Them Text cach ki tu Cuoi :c

 

Ban muon them chuoi nay cach vi tri cuoi bao nhieu ki tu :7

 

Chon chu muon chinh.; error: too many arguments

 

 

Lisp tgtext e down trên mạng như sau:

 

;; free lisp from cadviet.com

 

(defun c:tgtext()

(command "undo" "be")

(command "cmdecho" 0)

(setq gtext (getstring 5"\nChuoi muon them o giua :"))

(initget "D C")

(setq ans (getkword "\n Them Text cach ki tu Dau hay Them Text cach ki tu Cuoi :"))

(if (= ans "D")

(progn

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

)

)

)

 

(if (= ans "C")

(progn

(setq vitri (getint "\n Ban muon them chuoi nay cach vi tri cuoi 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 (- (strlen chuoicu) vitri)))

(setq tachcuoi (substr chuoicu (+ (- (strlen chuoicu) vitri) 1) vitri))

(setq chunoi (strcat tachdau gtext tachcuoi))

(setq e (subst (cons 1 chunoi) (assoc 1 e) e))

(entmod e)

(setq i (1+ i))

)

)

)

(command "undo" "end")

(princ)

)

 

Mong các bác kiểm tra giúp em xem bị lỗi ở đâu. E dùng Civil 3D 2008 có bản quyề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
Em down về và chạy lisp tgtext.lsp. Khi chạy nó báo lỗi như sau:

Command: tgtext

 

Chuoi muon them o giua :+

 

Them Text cach ki tu Dau hay Them Text cach ki tu Cuoi :c

 

Ban muon them chuoi nay cach vi tri cuoi bao nhieu ki tu :7

 

Chon chu muon chinh.; error: too many arguments

Lisp tgtext e down trên mạng như sau:

....

Mong các bác kiểm tra giúp em xem bị lỗi ở đâu. E dùng Civil 3D 2008 có bản quyền.

Không có lỗi gì trong Lisp. Chỉ là do chức năng download của diễn đàn bị lỗi. Bạn hãy lấy code ngay trong bài viết số 48 của Tue_NV về chạy là được. Tue_NV buồn lắm vì bạn chẳng đọc kỹ bài viết của Tue_NV đã viết chi cả. Bạn hãy xem lại mình đi, bạn đã đọc kỹ bài viết trong topic mà Tue_NV đã Link cho bạn chưa? Bạn chỉ đọc bài viết 43 mà chẳng hề đọc bài viết số 48

Hãy lấy code của bài viết 48 về chạy nhé . Bài viết số 48 ghi ngay phía trên mỗi bài viết từ "Gửi vào #48"

 

Bạn sử dụng Lisp tgtext của Tue_NV nhé. Nó đáp ứng yêu cầu của bạn đấy

Lisp đây : Bai viet so 48 hoac bai viet so 43

  • 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

Cám ơn bác nhiều.

Em thành thật xin lỗi bác là do em chưa đặt biến CMDECHO = 0. Bây giờ thì nó chạy tốt rồi.

Chúc các bác luôn mạnh khoẻ và gặp nhiều may mắ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

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  

×