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

NHỜ ANH EM SỬA GIÚP ĐOẠN LISP

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

;; Thường thi khi chọn đối tượng thì đối tượng đó hiển thị những đường nét đứt (giống như nét Hidden)

;; Mình gửi đoạn lisp nội dung là thay thế Text ứng với một Text trước đó có sẵn

;; Sau khi mình nhập lệnh và chọn text "nguồn" thì Text nguồn đó không hiển thị dạng nét đứt để mô tả là đối tượng Text nguồn đã được chọn mà nó vẫn bình thường

;; Nhiều khi lick chọn đối tượng Text nguồn nhưng không biết là đã chọn được nó chưa

;; nhờ anh em giúp làm sao khi chọn Text nguồn thì nó hiển thị dạng nét đứt để dễ nhận biết là nó đã được chọn.

;; Thank you anh em!

(defun C:TC1 (/ con rep ch_text so_text text_val text_run)
  (setvar "Cmdecho" 0)
  (setq so_text NIL
    text_val NIL
    ch_text NIL
        so_text(entsel "\nChon Text goc <Noi dung mau>: "))
  (if so_text 
      (progn
    (setq so_text(entget(car so_text)))
    (if(or(= (cdr(assoc 0 so_text)) "TEXT");Kiem tra du lieu Text
          (= (cdr(assoc 0 so_text)) "MTEXT") )
       (setq text_val(cdr(assoc 1 so_text)) )
    );if
    (if(> (strlen text_val) 0)
       (progn
             (prompt "\nChon Texts muon sua noi dung theo Text goc: ")
         (setq ch_text(ssget '((0 . "*TEXT"))) )
       )
       (princ "\nKhong chon duoc Texts can sua !")
    );if
    (if(and ch_text text_val)
       (progn
         (setq rep (sslength ch_text)
           con 0)
         (while (> rep con)
           (setq text_run(entget(ssname ch_text con))
             ch_val(assoc 1 text_run))
           (setq text_run(subst (cons 1 text_val) ch_val text_run))
           (entmod text_run)
           (princ ".")
           (setq con(+ con 1))
         );while
         (princ "\n")(princ rep)(princ " Texts da duoc thay doi !")
        );progn
     );if
       );progn
    );if
  (princ)
); 

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 giờ} trướ}c, Luongquocsonxd đã nói:

;; Thường thi khi chọn đối tượng thì đối tượng đó hiển thị những đường nét đứt (giống như nét Hidden)

;; Mình gửi đoạn lisp nội dung là thay thế Text ứng với một Text trước đó có sẵn

;; Sau khi mình nhập lệnh và chọn text "nguồn" thì Text nguồn đó không hiển thị dạng nét đứt để mô tả là đối tượng Text nguồn đã được chọn mà nó vẫn bình thường

;; Nhiều khi lick chọn đối tượng Text nguồn nhưng không biết là đã chọn được nó chưa

;; nhờ anh em giúp làm sao khi chọn Text nguồn thì nó hiển thị dạng nét đứt để dễ nhận biết là nó đã được chọn.

;; Thank you anh em!

(defun C:TC1 (/ con rep ch_text so_text text_val text_run)
  (setvar "Cmdecho" 0)
  (setq so_text NIL
    text_val NIL
    ch_text NIL
        so_text(entsel "\nChon Text goc <Noi dung mau>: "))
  (if so_text 
      (progn
    (setq so_text(entget(car so_text)))
    (if(or(= (cdr(assoc 0 so_text)) "TEXT");Kiem tra du lieu Text
          (= (cdr(assoc 0 so_text)) "MTEXT") )
       (setq text_val(cdr(assoc 1 so_text)) )
    );if
    (if(> (strlen text_val) 0)
       (progn
             (prompt "\nChon Texts muon sua noi dung theo Text goc: ")
         (setq ch_text(ssget '((0 . "*TEXT"))) )
       )
       (princ "\nKhong chon duoc Texts can sua !")
    );if
    (if(and ch_text text_val)
       (progn
         (setq rep (sslength ch_text)
           con 0)
         (while (> rep con)
           (setq text_run(entget(ssname ch_text con))
             ch_val(assoc 1 text_run))
           (setq text_run(subst (cons 1 text_val) ch_val text_run))
           (entmod text_run)
           (princ ".")
           (setq con(+ con 1))
         );while
         (princ "\n")(princ rep)(princ " Texts da duoc thay doi !")
        );progn
     );if
       );progn
    );if
  (princ)
); 

Code cho bạn xíu!

(defun C:TC1 (/ COLOR NDUNG SSTEXT TEXTN X)
  (setvar "Cmdecho" 0)
  (setq TextN (car (entsel "\nCh\U+1ECDn Text ngu\U+1ED3n: ")))
  (if (and TextN
	   (or (= (cdr (assoc 0 (entget TextN))) "TEXT")
	       (= (cdr (assoc 0 (entget TextN))) "MTEXT")
	   )
      )
    (progn
      (setq Color (vla-get-color (vlax-ename->vla-object TextN)))
      (setq NDung (cdr (assoc 1 (entget TextN))))
      (vla-put-color (vlax-ename->vla-object TextN) 1)
      (prompt
	"\nQu\U+00E9t ch\U+1ECDn Text c\U+1EA7n thay \U+0111\U+1ED5i n\U+1ED9i dung gi\U+1ED1ng Text ngu\U+1ED3n: "
      )
      (setq ssText (ssget '((0 . "*TEXT"))))
      (if ssText
	(progn
	  (mapcar '(lambda (x) (entmod (subst (cons 1 NDung) (assoc 1 (entget x)) (entget x))))
		  (acet-ss-to-list ssText)
	  )
	  (vla-put-color (vlax-ename->vla-object TextN) Color)
	  (Prompt
	    "\nN\U+1ED9i dung \U+0111\U+00E3 \U+0111\U+01B0\U+1EE3c thay \U+0111\U+1ED5i  "
	  )
	)
      )
    )
    (progn
      (Prompt
	"\nB\U+1EA1n ch\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng kh\U+00F4ng ph\U+1EA3i Text!"
      )
      (Alert
	"B\U+1EA1n ch\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng kh\U+00F4ng ph\U+1EA3i Text!"
      )
    )
  )
  (princ)
)

 

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
58 phút trước, thanhduan2407 đã nói:

(entsel "\nCh\U+1ECDn Text ngu\U+1ED3n: ")

@thanhduan2407  Anh chỉ em cách viết tiếng Việt như này với ạ, hoặc từ khóa để search. Thank you

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
6 phút trước, LuytBui đã nói:

@thanhduan2407  Anh chỉ em cách viết tiếng Việt như này với ạ, hoặc từ khóa để search. Thank you

Mình dùng lisp của bác @Doan Van Ha hoặc Tool của @ketxu. Mình không phải tác giả nên chưa dc phép Share.

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
3 phút trước, thanhduan2407 đã nói:

Mình dùng lisp của bác @Doan Van Ha hoặc Tool của @ketxu. Mình không phải tác giả nên chưa dc phép Share.

Thứ này trên fr này đầy, cứ cho thoải mái đê!

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ái này bạn chỉ cần vào VLIDE lấy nội dung 1 text được gõ bằng Unicode là được:

(cdr (assoc 1 (entget (car (entsel)))))

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
5 giờ trước, LuytBui đã nói:

@thanhduan2407  Anh chỉ em cách viết tiếng Việt như này với ạ, hoặc từ khóa để search. Thank you

Cái này bạn vào (http hai chấm // 12a.github.io/app-conversion/) gõ tiếng việt có dấu bấm Convert kéo xuống lấy mã U+hex này thêm dấu \ trước chữ U là đ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

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  

×