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

[Yêu cầu] Lisp chỉnh sửa text.

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

Giả sử em có đoạn text: "BỐ TRÍ CHUNG MỐ A0 (1/20)"

Tương tự em muốn có thêm các đoạn text khác: "BỐ TRÍ CHUNG MỐ A0 (2/20)" ; "BỐ TRÍ CHUNG MỐ A0 (3/20)"...........

Bình thường em phải copy đoạn text ban đầu ra, rồi edit.

Rất mong các anh (chị) viết hộ em cái lisp nào đó, để em không cần sử dụng lệnh edit mà vẫn làm được nhanh.

Thanhks!

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

Đơn giản hơn 1 chút bạn dùng thử LISP này coi

;; free lisp from CADViet.com - Code by Mathan
;; Danh STT ban ve tu dong
(defun c:STT()
(command "undo" "be")
(command "cmdecho" 0)
(setq gtext (getstring 5"\nChuoi TEXT truoc :"))
(setq gtext2 (getstring 5"\nChuoi TEXT Sau :"))
;(initget "D C")
;(setq ans (getkword "\n Buoc tiep theo (D) :"))
;(if (= ans "D")
;   (progn
  (setq vitri (getint "\n STT bat dau :"))
  (setq buoc (getint "\n buoc tang :"))
  (prompt "\nChon chu muon chinh.")
  (setq ss (ssget))
  (setq n (sslength ss))
  (setq i 0)
  (setq vitri (- vitri buoc))
  (while (< i n)
  (setq e (entget(ssname ss i)))
  (setq vitri (+ vitri buoc))
  (setq a1 (rtos vitri 2 0))
  (setq chunoi (strcat gtext a1 gtext2))
  (setq e (subst (cons 1 chunoi) (assoc 1 e) e))
  (entmod e)
  (setq i (1+ i))
  )
;  )
;  )
(command "undo" "end")
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  • Vote tăng 3

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

Sau khi bạn đã copy text ra rất nhiều, bạn dùng lệnh STT, nhập vào tiền tố và hậu tố của tên bản vẽ, rùi nhập vào số bắt đầu, số gia tăng sau đó bạn chọn text theo thứ tự muốn tăng => xong

LISP mình viết cho trường hợp ít text và vị trí lung tung nữa. Nếu bạn dùng thử chưa thỏa mãn nhu cầu có thể yêu cầu thêm, mình có tgian sẽ bổ sung sau.

Vấn đề này không quá khó.

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

Đơn giản hơn 1 chút bạn dùng thử LISP này coi

;; free lisp from CADViet.com - Code by Mathan;; Danh STT ban ve tu dong(defun c:STT()(command "undo" "be")(command "cmdecho" 0)(setq gtext (getstring 5"\nChuoi TEXT truoc :"))(setq gtext2 (getstring 5"\nChuoi TEXT Sau :"));(initget "D C");(setq ans (getkword "\n Buoc tiep theo (D) :"));(if (= ans "D");   (progn   (setq vitri (getint "\n STT bat dau :"))   (setq buoc (getint "\n buoc tang :"))   (prompt "\nChon chu muon chinh.")   (setq ss (ssget))   (setq n (sslength ss))   (setq i 0)   (setq vitri (- vitri buoc))   (while (< i n)   (setq e (entget(ssname ss i)))   (setq vitri (+ vitri buoc))   (setq a1 (rtos vitri 2 0))   (setq chunoi (strcat gtext a1 gtext2))   (setq e (subst (cons 1 chunoi) (assoc 1 e) e))   (entmod e)   (setq i (1+ i))   );  );  )(command "undo" "end")(princ));;;;;;;;;;;;;;;;;;;;;;;;;;;;

Nhờ bác mathan giúp mình thêm chút xíu, lisp của bạn đã gần giống với nhu cầu của mình, nhưng mà mình muốn hiện ra các chữ kiểu G-01, G-02, G-03,..G-10,G-11. Hiện tại lisp của bạn chỉ hiện G-1, G-2, G-3,...G10,G-11,......Mong sớm nhận được hồi âm của bạn. mail mình: vinhdkc@gmail.com

  • Vote giảm 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  

×