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

Canh Text theo hàng dọc

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

Chào các bạn,

Mình có một số text hoặc mtext bố trí rời rạc trong bản vẽ.

Nay muốn sắp xếp lại chúng ngay ngắn theo hàng dọc (phương đứng), với một khoảng cách định trước thì trong cad có hỗ trợ không. Mình có tìm Lisp nhưng vẫn chưa thấy vì thú thật là nhiều quá mà mình là người mới. Bạn nào biết thì cho cái link hộ. Thank rất nhiều.

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

Chào huynh Doan Van Ha,

Mình cũng đang đọc topic này nhưng nội dung chỉ canh chỉnh các text theo phương ngang (left, right, center...) mà khoảng cách các text (mtext) theo phương đứng (trục Y) không thấy nói tới...Mong huynh tư vấn thêm.

Cám ơn thật nhiều.

Trân trọng

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ạm thời thì mình đang dùng cái này, bạn xem dùng được thì dùng,

tên lệnh

  1. CCot can text thẳng đứng
  2. CCHang (dễ nhầm nhầm với lệnh Change của Cad) căn text phương ngang
  3. DanTexty tạo khoảng cách cho các Text
  4. Lệnh DanTexty còn có thể dùng lệnh sau thay thế: ddab
    	
    
    ;;can text thang cot voi nhau
    (defun c:Ccot(/ TDT XTextmau dt i )
     	(if(setq TDT (ssget '((0 . "*TEXT"))))
    	(progn
     		(command "JUSTIFYTEXT" TDT "" "L")
     		(If (null(setq Xtextmau (car(getpoint "\Nhap tao do diem"))))
    (setq Xtextmau (cadr(assoc 10 (entget(car(entsel"\nChon Text mau dau tien:"))))))
    )
     		(progn
    (command "undo" "begin")
    ;;;list se canh tat ca cac Text ve cung mot toa do x(giu nguyen toa do y)
    (setq i 0)
    (while (< i (sslength TDT))
          (setq dt (entget(ssname TDT i)))
          (setq i (1+ i))
          (setq dt (subst
          	(subst XTextmau (cadr(assoc 10 dt)) (assoc 10 dt))
          	(assoc 10 dt) dt))
          (entmod dt)
          )
    (command "undo" "end")
    )
     		)
    	(print)
    	))   
    
    ;--------------------------------------------------	;;;------can text ve cung mot hang------------
    (defun c:CcHang(/ TDT YTextmau dt i )
     	(if(setq TDT (ssget '((0 . "*TEXT"))))
    	(progn
     		(command "JUSTIFYTEXT" TDT ""  "L")
     		(If (null(setq Ytextmau (cadr(getpoint "\Nhap tao do diem"))))
    (setq Ytextmau (caddr(assoc 10 (entget(car(entsel"\nChon Text mau dau tien:"))))))
    )
     		(progn
    (command "undo" "begin")
    ;;;list se canh tat ca cac Text ve cung mot hang(toa do y)(giu nguyen toa do x)
    (setq i 0)
    (while (< i (sslength TDT))
          (setq dt (entget(ssname TDT i)))
          (setq i (1+ i))
          (setq dt (subst
          	(subst yTextmau (caddr(assoc 10 dt)) (assoc 10 dt))
          	(assoc 10 dt) dt))
          (entmod dt)
          )
    (command "undo" "end")
    )
     		)
    	))   
    ;--------------------------------------------------
    ;--------------------------------------------------	;-----------------dan Text Phuong dung--------------------------   
    (defun KhoangCach (/ k t1 t2)
     	(prompt "\nChon Text lay khoang cach/Nhap khoang cach")
     	(if (setq k (getdist "\nNhap khoang cach"))
    	(progn
     		k
    	)
    	(progn
     		(prompt "\nChon Text lay khoang cach")
     		(if (setq TDT (ssget (list (cons 0 "*text"))))
    (progn
          (setq N (sslength TDT))
          (setq t1 (entget (ssname TDT (- N 1)))
     	t2 (entget (ssname TDT (- N 2)))
          )
          (- (nth 2 (assoc 10 t1)) (nth 2 (assoc 10 t2)))
    )
     		)
    	)
     	)
    )   
    ;;Lisp dan Text phuong dung
    (defun DanTexty (/ TDT dt k i p pdt)
     	(if (setq k (khoangcach))
    	(progn
     		(alert "\nChon Text can dan")
     		(setq TDT nill)
     		(while (null TDT)
    (setq TDT (ssget (list (cons 0 "*text"))))
    )
     		(setq N (sslength TDT)
        	p (cdr (assoc 10 (entget (ssname TDT (1- N)))))
        	i (- N 2)
     		)
     		(while (> i -1)
    (setq dt (entget (ssname TDT i)))
    (setq pdt (cdr (assoc 10 dt))
          	pdt (list (car pdt) (- (cadr p) k) 0)
          	p   pdt
    )
    (entmod (subst (cons 10 p) (assoc 10 dt) dt))
    (setq i (1- i))
     		)
    	)
    	(progn
     		(alert "\nPhai nhap KHOANG CACH, hoac chon Text ")
     		(princ)
     		)
    	)
     	)
     	(defun c:DanTexty () (DanTexty))   
     (defun c:ddan () (DanTexty))	;-----------------dan Text Phuong dung--------------------------   
    ;;;Ho tro chon truoc doi tuong
    (defun c:`2()
     	(ssget (list (assoc 0 (entget(car (entsel "\nChon doi tuong mau"))))))
     	)
    ;;--------------------------------------------------------------
    


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  

×