Chuyển đến nội dung
Diễn đàn CADViet

hoiphamvan

Thành viên
  • Số lượng nội dung

    5
  • Đã tham gia

  • Lần ghé thăm cuối

Bài đăng được đăng bởi hoiphamvan


  1. Vào lúc 26/9/2017 tại 18:06, lp_hai đã nói:
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (defun c:test(/ dt sdt ent id)
      (setq dt (ssget '((-4 . "<OR") 
    		
    		(0 . "TEXT")
    		(0 . "MTEXT")		
    		(-4 . "OR>")	
    		))
    	sdt (sslength dt)
    	id 0	
    	)
      (repeat sdt
        (setq ent (ssname dt id)
    	  id (1+ id))
        (a2t ent)
        (entdel ent)
        )
      (princ)
      )
    ;;;;;;;;;;;;;;;;;;;;;
    (defun a2t(ent / lts lts2)
      (setq lts (entget ent))
      (if (= (cdr (assoc 0 lts)) "MTEXT")
        (setq lts2 (list (assoc 0 lts)(assoc 5 lts)(assoc 8 lts)(CONS 100 "AcDbEntity")(CONS 100 "AcDbMText")
    		   (assoc 10 lts) (assoc 40 lts)(assoc 41 lts) (assoc 71 lts)(assoc 72 lts)(assoc 1 lts)
    		   (assoc 7 lts) (assoc 210 lts) (assoc 11 lts)(assoc 42 lts)(assoc 43 lts)(assoc 50 lts)(assoc 73 lts)(assoc 44 lts)))
        (setq lts2 (list (assoc 0 lts)(assoc 40 lts)
    			  (assoc 8 lts) (assoc 10 lts) (assoc 1 lts) (assoc 7 lts)))
        )
      (entmakex lts2)
      )

    Với Att bạn dùng lệnh Burst, với text thì mình viết cho bạn 1 lisp, bạn quét chọn các text, có thể quét thoải mái không cần phải lựa có field hay không nhé ::

    Cảm ơn bài viết của Bạn nhưng sau khi test Justify các text đều thành "left". Bạn có thể nâng cấp lisp để Justifiy giữ nguyên?

    ;

    ....

×