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

Chuyển Dtext Thành Mtext Và Setp Justify Cho Mtext Vừa Chuyển

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

(defun c:mc()
	(setq ss (ssget '((0 . "*TEXT"))))
	(foreach en (acet-ss-to-list ss)
		(command "_txt2mtxt" en "")
		(acet-tjust en "MC"); set justify cho Mtext vua moi chuyen thanh
		)
)

Em tìm thấy code chuyển Dtext thành Mtext, nhưng em không tìm thấy nút để trả lời bên topic đó nên mạo mụi tạo topic này.

Tình hình là em muốn setup justify cho Mtext vừa được tạo ra nhưng làm hoài không được. Nhờ mọi người sửa giúp!

Cảm ơn!

(defun c:mc()
    (setq ss (ssget '((0 . "*TEXT"))))
    (foreach en (acet-ss-to-list ss)
        (command "_txt2mtxt" en "")
        (acet-tjust en "MC"); set justify cho Mtext vua moi chuyen thanh
        )
)

Chỉnh sửa theo mrphuocvie

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

Quick code.
- Đánh dấu entlast e cuối cùng trước khi thực hiện lệnh txt2mtxt
- Sau khi thực hiện lệnh txt2mtxt thì tìm tất cả các entity mới sinh bằng hàm _getNews (entnext từ e đến hết)

- Put align point của Mtext mới thành 5 (Middle center)
- À mình sửa dòng command để biến tất cả thành 1 Mtext, nếu bạn thích biến từng text một thì giữ nguyên dòng command nhé

(defun c:mc(/ ss e _getNews)
	;Quick collect after e :
	(defun _getNews (e / l)
		(cond (e (while (setq e (entnext e))(setq l (cons e l)))))
	)
	(setq ss (ssget '((0 . "*TEXT"))) e (entlast))   
    (command "_txt2mtxt" ss "")	
	(foreach e (mapcar 'vlax-ename->vla-object  (_getNews e))
		(vla-put-AttachmentPoint e 5)
	)
)

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

 

Quick code.

- Đánh dấu entlast e cuối cùng trước khi thực hiện lệnh txt2mtxt

- Sau khi thực hiện lệnh txt2mtxt thì tìm tất cả các entity mới sinh bằng hàm _getNews (entnext từ e đến hết)

- Put align point của Mtext mới thành 5 (Middle center)

- À mình sửa dòng command để biến tất cả thành 1 Mtext, nếu bạn thích biến từng text một thì giữ nguyên dòng command nhé

(defun c:mc(/ ss e _getNews)
	;Quick collect after e :
	(defun _getNews (e / l)
		(cond (e (while (setq e (entnext e))(setq l (cons e l)))))
	)
	(setq ss (ssget '((0 . "*TEXT"))) e (entlast))   
    (command "_txt2mtxt" ss "")	
	(foreach e (mapcar 'vlax-ename->vla-object  (_getNews e))
		(vla-put-AttachmentPoint e 5)
	)
)

Thật làm phiền anh quá! Nhờ a sửa lại giúp. Em muốn chuyển từng text một.

  • 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

 

(defun c:mc()
	(setq ss (ssget '((0 . "*TEXT"))))
	(foreach en (acet-ss-to-list ss)
		(command "_txt2mtxt" en "")
		(acet-tjust en "MC"); set justify cho Mtext vua moi chuyen thanh
		)
)

Em tìm thấy code chuyển Dtext thành Mtext, nhưng em không tìm thấy nút để trả lời bên topic đó nên mạo mụi tạo topic này.

Tình hình là em muốn setup justify cho Mtext vừa được tạo ra nhưng làm hoài không được. Nhờ mọi người sửa giúp!

Cảm ơn!

(defun c:mc()

    (setq ss (ssget '((0 . "*TEXT"))))

    (foreach en (acet-ss-to-list ss)

        (command "_txt2mtxt" en "")

        (acet-tjust en "MC"); set justify cho Mtext vua moi chuyen thanh

        )

)

 

Cấu trúc hàm  (acet-tjust ss A) trong đó : ss là tập selection set.

Do đó code của bạn chỉnh lại :) :

(defun c:mc(/ ss s)

    (setq ss (ssget '((0 . "TEXT"))) s (ssadd))

    (foreach en (acet-ss-to-list ss)

        (command "_txt2mtxt" en "") (setq s (ssadd (entlast) s)) )

        (acet-tjust s "MC"); set justify cho Mtext vua moi chuyen thanh

       )

  • 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ấu trúc hàm  (acet-tjust ss A) trong đó : ss là tập selection set.

Do đó code của bạn chỉnh lại :) :

(defun c:mc(/ ss s)

    (setq ss (ssget '((0 . "TEXT"))) s (ssadd))

    (foreach en (acet-ss-to-list ss)

        (command "_txt2mtxt" en "") (setq s (ssadd (entlast) s)) )

        (acet-tjust s "MC"); set justify cho Mtext vua moi chuyen thanh

       )

Tối hôm qua, em cũng tìm cách chọn lại đối tượng vừa được chọn từ selectionset ss nhưng không biết cách.

Thanks pphung183.

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

Thêm cách dùng JUSTIFYTEXT

(defun c:mc()
    (setq ss (ssget '((0 . "TEXT"))))
    (foreach en (acet-ss-to-list ss)
        (command "_txt2mtxt" en "" "JUSTIFYTEXT" "L" "" "MC")
        )
)
  • 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

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  

×