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

lệnh MA

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

liệu có thể MA text mà có thể MA được cả các thuộc tính VD như điểm chèn(căn chữ) kô nhỉ?

Có thể làm thế.....

mình ma như binh thuờng nhưng đôi khi bản vẽ của người khác sử dụng rồi có một số text ho dùng ed nên ko thể ma bt

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ó thể làm thế.....

mình ma như binh thuờng nhưng đôi khi bản vẽ của người khác sử dụng rồi có một số text ho dùng ed nên ko thể ma bt

ma cả điểm canh lề chữ cơ mà

vd như leftn right, center, midle.....

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
ma cả điểm canh lề chữ cơ mà

vd như leftn right, center, midle.....

Chào oizdoi_oi

Theo mình nghĩ : cách làm đơn giản như sau :

 

1. Chọn đối tượng nguồn -> Bấm Ctrol+1 -> Xem nó ở dạng canh lề nào

 

2. Đánh lệnh MA

 

Command: ma MATCHPROP

Select source object:

Current active settings: Color Layer Ltype Ltscale Lineweight Thickness

PlotStyle Text Dim Hatch Polyline Viewport

 

Select destination object(s) or [settings]: Specify opposite corner:

 

Select destination object(s) or [settings]:

 

3. Sử dụng lệnh justifytext

 

Command: justifytext

 

Select objects: p : gõ P để chọn lại đối tượng Text mới bị MA

3 found

 

Select objects: Enter

 

Enter a justification option

[Left/Align/Fit/Center/Middle/Right/TL/TC/TR/ML/MC/MR/BL/BC/BR] <Left>: R : chọn kiểu canh chỉnh đã xem ở bước 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

ac ac ac neu thế minh hơỉ làm gì để mất thời gian của bạn. thi` bình thường mình vẫn làm theo cách này hoặc cách nhanh hơn là chọn tất cả chữ rồi ấn ctrl+1 rồi chọn canh lề chữ 1 phát luôn là xong.

nhưng dù sao 2 cách trên vẫn lâu vì khi các chữ không cùng canh lề thì khi MA và sau khi chỉnh canh lề sẽ nhảy lung tung. i' mình là giả sử có 10 hàng text mỗi hàng có canh lề khác nhau và hàng đầu tiên là canh lề left chẳng hạn thì bây giờ mình muốn MA 9 hàng text sau theo canh lề left của hàng đầu tiên, mà ko bị nhảy lung tung. MA các canh lề khác cũng tương tự. thank vì sự hợp tac.

mình có file đi kèm nè.

 

xxxxxxx.jpg

 

nếu chữ to nhỏ khác nhau

 

2222222.jpg

 

file cad nè

http://www.cadviet.com/upfiles/xxxxxxxxxxxxxx.zip

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
ac ac ac neu thế minh hơỉ làm gì để mất thời gian của bạn. thi` bình thường mình vẫn làm theo cách này hoặc cách nhanh hơn là chọn tất cả chữ rồi ấn ctrl+1 rồi chọn canh lề chữ 1 phát luôn là xong.

nhưng dù sao 2 cách trên vẫn lâu vì khi các chữ không cùng canh lề thì khi MA và sau khi chỉnh canh lề sẽ nhảy lung tung. i' mình là giả sử có 10 hàng text mỗi hàng có canh lề khác nhau và hàng đầu tiên là canh lề left chẳng hạn thì bây giờ mình muốn MA 9 hàng text sau theo canh lề left của hàng đầu tiên, mà ko bị nhảy lung tung. MA các canh lề khác cũng tương tự. thank vì sự hợp tac.

mình có file đi kèm nè.

 

xxxxxxx.jpg

 

nếu chữ to nhỏ khác nhau

 

2222222.jpg

 

file cad nè

http://www.cadviet.com/upfiles/xxxxxxxxxxxxxx.zip

Trường hợp này có thể dùng lisp. bạn muốn ma cả độ lớn layer và color luôn không (trong hình thì mình thấy là có nhưng hỏi lại cho chắc)

*Lưu ý thêm nếu các text trước khi thực hiện lệnh mà không thẳng hàng thì sau khi thực hiện lệnh cũng không thẳng hàng. (lisp chỉ làm việc giử nguyên vị trí text chỉ thay đổi cách canh lề của text thôi nhé)

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
ac ac ac neu thế minh hơỉ làm gì để mất thời gian của bạn. thi` bình thường mình vẫn làm theo cách này hoặc cách nhanh hơn là chọn tất cả chữ rồi ấn ctrl+1 rồi chọn canh lề chữ 1 phát luôn là xong.

nhưng dù sao 2 cách trên vẫn lâu vì khi các chữ không cùng canh lề thì khi MA và sau khi chỉnh canh lề sẽ nhảy lung tung. i' mình là giả sử có 10 hàng text mỗi hàng có canh lề khác nhau và hàng đầu tiên là canh lề left chẳng hạn thì bây giờ mình muốn MA 9 hàng text sau theo canh lề left của hàng đầu tiên, mà ko bị nhảy lung tung. MA các canh lề khác cũng tương tự. thank vì sự hợp tac.

mình có file đi kèm nè.

Chào 'oizdoi_oi'

Nếu bạn sử dụng ctrl+1 rồi chọn canh lề chữ 1 phát luôn thì chữ sẽ nhảy lung tung ngay.

Nếu bạn sử dụng lệnh justifytext để canh lề thì sẽ không nhảy nữa.

Chú ý : Phải sử dụng lệnh justifytext trước khi sử dụng lệnh Ma thì vấn đề của bạn được giải quyết

1.Chọn đối tượng nguồn -> Bấm Ctrol+1 -> Xem nó ở dạng canh lề nào (Ví dụ Left)

2.Sử dụng lệnh justifytext

 

Command: justifytext

 

Select objects:

3 found

 

Select objects: Enter

 

Enter a justification option

[Left/Align/Fit/Center/Middle/Right/TL/TC/TR/ML/MC/MR/BL/BC/BR] <Left>: L : chọn kiểu canh chỉnh đã xem ở bước 1

 

3. Đánh lệnh MA thử xem -> :lol2:

  • Vote tăng 2

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

uh rat hay, tu truoc minh chưa dùng cách này

nhưng nếu có lit thì vẫn hay hơn nhỉ, sao cad ko có tham số nào để ma toàn bộ các thuộc tính đối tượng nhỉ

cam on bạn nhé

mình pick THANK rồi đấy

ban Zuy co lít thì cho đ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
uh rat hay, tu truoc minh chưa dùng cách này

nhưng nếu có lit thì vẫn hay hơn nhỉ, sao cad ko có tham số nào để ma toàn bộ các thuộc tính đối tượng nhỉ

cam on bạn nhé

mình pick THANK rồi đấy

ban Zuy co lít thì cho đi

Ngày hôm qua, Tue_NV có viết cái Lisp này nhưng không thành công vì khi cập nhật vào cơ sở dữ liệu của Text thì chữ nhảy lung tung như 'oizdoi_oi' thấy đấy.

Tue_NV đã viết cái Lisp khác.

'oizdoi_oi' hãy chạy thử cái Lisp này. Tue_NV vẫn biết còn có 1 điểm nhỏ chưa hoàn thiện.

 

(defun c:MAT()

(setq goc (car(entsel "\n Select source object :")))

(prompt "\n Select destination object(s) :")

(setq ss (ssget))

(Command "select" "P" "")

(prompt "\n Chon kieu canh le cho Text :")

(command "justifytext" "P" "" Pause)

(Command "MATCHPROP" goc "P" "")

(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
...........

giả sử có 10 hàng text mỗi hàng có canh lề khác nhau và hàng đầu tiên là canh lề left chẳng hạn thì bây giờ mình muốn MA 9 hàng text sau theo canh lề left của hàng đầu tiên, mà ko bị nhảy lung tung. MA các canh lề khác cũng tương tự. thank vì sự hợp tac.

mình có file đi kèm nè.

nếu chữ to nhỏ khác nhau

2222222.jpg

................

Chào oizdoi_oi

Bạn chạy thử LISP này.

(defun c:MJT(/ ent ss data elst id) ; MJT -> Matchprop_Justify_Text
 (vl-load-com)
 (command "UNDO" "begin")
 (defun dxf(id data) (cdr (assoc id data)) )
 (defun dataMod (code val data) (subst (cons code val)  (assoc code data) data));databae Modify
; ham chinh
 (while 
   (not
     (and
(setq ent (car (entsel "\nChon Text chuan : ")))
(if ent (= (cdr (assoc 0 (entget ent))) "TEXT") )
)
     )
   (princ "\nChon lai : ")
   )
 (princ "\nChon Text can thay doi : ")
 (if (setq ss (ssget '((0 . "TEXT")) ))
   (progn
     (setq data (entget ent))
     (foreach elst  (mapcar 'entget
                      (vl-remove-if 'listp
                        (mapcar 'cadr (ssnamex ss))))
; thuoc tinh
(foreach id (list 8 40 7 62 6 48 370);layer height textstyle color linetype linetypescale lineweight
  (if (dxf id data)
    (if (dxf id elst)
      (setq elst (dataMod id (dxf id data) elst))
      (setq elst (append elst (list (cons id (dxf id data)))) )
      )
    (if (dxf id elst)
      (cond
	((eq id 62) (setq elst (dataMod id 256 elst)))
	((eq id 48) (setq elst (dataMod id 1 elst)))
	((eq id 6)  (setq elst (dataMod id "ByLayer" elst)))
	((eq id 370)(setq elst (dataMod id -1 elst)))		
	)
      )
    )
  )
; vi tri
(setq elst (subst (cons 10 (list (cadr (assoc 10 data))
				 (caddr (assoc 10 elst))
				 (cadddr (assoc 10 elst))))
		  (assoc 10 elst) elst)
      elst (dataMod 11 (dxf 10 elst) elst)	      
      elst (dataMod 72 0 elst)
      )
(entmod elst)
)
     )
   )
   (command "UNDO" "end")
 (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
Chào oizdoi_oi

Bạn chạy thử LISP này.

(defun c:MJT(/ ent ss data elst id) ; MJT -> Matchprop_Justify_Text
 (vl-load-com)
 (command "UNDO" "begin")
 (defun dxf(id data) (cdr (assoc id data)) )
 (defun dataMod (code val data) (subst (cons code val)  (assoc code data) data));databae Modify
; ham chinh
 (while 
   (not
     (and
(setq ent (car (entsel "\nChon Text chuan : ")))
(if ent (= (cdr (assoc 0 (entget ent))) "TEXT") )
)
     )
   (princ "\nChon lai : ")
   )
 (princ "\nChon Text can thay doi : ")
 (if (setq ss (ssget '((0 . "TEXT")) ))
   (progn
     (setq data (entget ent))
     (foreach elst  (mapcar 'entget
                      (vl-remove-if 'listp
                        (mapcar 'cadr (ssnamex ss))))
; thuoc tinh
(foreach id (list 8 40 7 62 6 48 370);layer height textstyle color linetype linetypescale lineweight
  (if (dxf id data)
    (if (dxf id elst)
      (setq elst (dataMod id (dxf id data) elst))
      (setq elst (append elst (list (cons id (dxf id data)))) )
      )
    (if (dxf id elst)
      (cond
	((eq id 62) (setq elst (dataMod id 256 elst)))
	((eq id 48) (setq elst (dataMod id 1 elst)))
	((eq id 6)  (setq elst (dataMod id "ByLayer" elst)))
	((eq id 370)(setq elst (dataMod id -1 elst)))		
	)
      )
    )
  )
; vi tri
(setq elst (subst (cons 10 (list (cadr (assoc 10 data))
				 (caddr (assoc 10 elst))
				 (cadddr (assoc 10 elst))))
		  (assoc 10 elst) elst)
      elst (dataMod 11 (dxf 10 elst) elst)	      
      elst (dataMod 72 0 elst)
      )
(entmod elst)
)
     )
   )
   (command "UNDO" "end")
 (princ)
 )

hay qua' thank hai ban Tue_nv va Gia bach nha'

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  

×