Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
bemove

Lisp move text vào chính giữa một rectang

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

bemove    1.308

làm thế nào để move 1 đối tượng text vào chính giữa 1 rectang nhỉ? dùng lisp này nhé

command: ddt

http://www.cadviet.com/upfiles/Movetext2centerrectang.lsp

 

Cái này dùng để hiệu chỉnh bảng và khung tên rất tiện

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
thanhliem98    8
làm thế nào để move 1 đối tượng text vào chính giữa 1 rectang nhỉ? dùng lisp này nhé

command: ddt

http://www.cadviet.com/upfiles/Movetext2centerrectang.lsp

 

Cái này dùng để hiệu chỉnh bảng và khung tên rất tiện

sao k tải về đc?sao nó dẫn qua trang wep khác vậy?giúp mình vớ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
bemove    1.308
sao k tải về đc?sao nó dẫn qua trang wep khác vậy?giúp mình với

 

Không phải trang web khác đâu bạn ạ. đó chính là host lưu file upload của cadviet đó. vì file trang web bạn mở ra chính là đoạn lisp đấy. bạn có thể copy và paste và notepad và save file thành .lsp hoặc chuột phải vào đường link và chọn save tager as... để tải file :bigsmile:

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
Nguyen Hoanh    4.524
Làm thế nào để Mtext ở chính giữa, nhờ bạn giúp. Đối với lệnh text thì được, nhưng Mtext thì chạy lung tung

lệnh là M2C (move to center) move đối tượng bất kỳ vào chính giữa đối tượng bất kỳ khác.:

 

(defun c:m2c ()
 (defun mid (ent / p1 p2)
   (vla-getboundingbox (vlax-ename->vla-object ent) 'p1 'p2)
   (setq p1 (vlax-safearray->list p1)
  p2 (vlax-safearray->list p2)
  pt (mapcar '+ p1 p2)
  pt (mapcar '* pt '(0.5 0.5 0.5))
   )
   pt
 )
 (setq src (car (entsel "\nDoi tuong can di chuyen: ")))
 (redraw src 3)
 (setq des (car (entsel "\nDoi tuong dich: ")))
 (redraw src 4)
 (setq oldos (getvar "osmode"))
 (setvar "osmode" 0)
 (command ".move" src "" (mid src) (mid des))
 (setvar "osmode" oldos)
 (princ)
)
(vl-load-com)

  • 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
nguyenbakien    31
lệnh là M2C (move to center) move đối tượng bất kỳ vào chính giữa đối tượng bất kỳ khác.:

 

(defun c:m2c ()
 (defun mid (ent / p1 p2)
   (vla-getboundingbox (vlax-ename->vla-object ent) 'p1 'p2)
   (setq p1 (vlax-safearray->list p1)
  p2 (vlax-safearray->list p2)
  pt (mapcar '+ p1 p2)
  pt (mapcar '* pt '(0.5 0.5 0.5))
   )
   pt
 )
 (setq src (car (entsel "\nDoi tuong can di chuyen: ")))
 (redraw src 3)
 (setq des (car (entsel "\nDoi tuong dich: ")))
 (redraw src 4)
 (setq oldos (getvar "osmode"))
 (setvar "osmode" 0)
 (command ".move" src "" (mid src) (mid des))
 (setvar "osmode" oldos)
 (princ)
)
(vl-load-com)

 

Bác Hoành chỉ giúp em cách sử dụng cái này đi .

em thay nó cũng hay nhưng ko biết sử dụng nó

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
Nguyen Hoanh    4.524
Bác Hoành chỉ giúp em cách sử dụng cái này đi .

em thay nó cũng hay nhưng ko biết sử dụng nó

Hướng dẫn gì cơ?

bạn đã thử chưa?

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
Nguyen Hoanh    4.524
Có thể tạo thêm 1 kiểu "truy bắt điểm" nữa cho CAD là : tâm hình chữ nhật kg nhỉ!?

Muốn bắt tâm hình chữ nhật, chọn tham số M2P lúc CAD hỏi điểm, sau đó pick 2 đỉnh đối diện của hình chữ nhật thì sẽ chọn được tâm hì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
lệnh là M2C (move to center) move đối tượng bất kỳ vào chính giữa đối tượng bất kỳ khác.:

 

(defun c:m2c ()
 (defun mid (ent / p1 p2)
   (vla-getboundingbox (vlax-ename->vla-object ent) 'p1 'p2)
   (setq p1 (vlax-safearray->list p1)
  p2 (vlax-safearray->list p2)
  pt (mapcar '+ p1 p2)
  pt (mapcar '* pt '(0.5 0.5 0.5))
   )
   pt
 )
 (setq src (car (entsel "\nDoi tuong can di chuyen: ")))
 (redraw src 3)
 (setq des (car (entsel "\nDoi tuong dich: ")))
 (redraw src 4)
 (setq oldos (getvar "osmode"))
 (setvar "osmode" 0)
 (command ".move" src "" (mid src) (mid des))
 (setvar "osmode" oldos)
 (princ)
)
(vl-load-com)

sao em tải cái này về chạy ko được bác Hoành ạ khi load song máy báo lisp này ko được định hình Bác có cách nào giúp em với nếu cái này mà sài đc thì rất hữu ích đối với em đó (em sài cad 2004 máy ở cty ko thể nâng cấp hơn đc nữa)

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
Nguyen Hoanh    4.524
sao em tải cái này về chạy ko được bác Hoành ạ khi load song máy báo lisp này ko được định hình Bác có cách nào giúp em với nếu cái này mà sài đc thì rất hữu ích đối với em đó (em sài cad 2004 máy ở cty ko thể nâng cấp hơn đc nữa)

Nguyên văn ACAD báo gì bạn? bạn đừng phiên dịch dòng thông báo ra tiếng Việt, vì như vậy tôi không biết ACAD báo gì.

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
noname281    2
lệnh là M2C (move to center) move đối tượng bất kỳ vào chính giữa đối tượng bất kỳ khác.:

 

(defun c:m2c ()
 (defun mid (ent / p1 p2)
   (vla-getboundingbox (vlax-ename->vla-object ent) 'p1 'p2)
   (setq p1 (vlax-safearray->list p1)
  p2 (vlax-safearray->list p2)
  pt (mapcar '+ p1 p2)
  pt (mapcar '* pt '(0.5 0.5 0.5))
   )
   pt
 )
 (setq src (car (entsel "\nDoi tuong can di chuyen: ")))
 (redraw src 3)
 (setq des (car (entsel "\nDoi tuong dich: ")))
 (redraw src 4)
 (setq oldos (getvar "osmode"))
 (setvar "osmode" 0)
 (command ".move" src "" (mid src) (mid des))
 (setvar "osmode" oldos)
 (princ)
)
(vl-load-com)

em thử lệnh này rồi, nhưng mà chỉ di chuyển được đối tượng đó thôi, chứ copy đối tượng rồi sửa text chẳng hạn thì lại không còn là center nữa

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
Nguyen Hoanh    4.524
em thử lệnh này rồi, nhưng mà chỉ di chuyển được đối tượng đó thôi, chứ copy đối tượng rồi sửa text chẳng hạn thì lại không còn là center nữa

Điều này là đương nhiên mà bạn.

 

Bạn cho 1 hình chữ nhật vào trùng với tâm một hình khác, sau đó bạn stretch hình chữ nhật cho nó méo đi thì nó đâu có trùng tâm nữa, text cũng vậy thôi.

 

Muốn trùng tâm thì bạn lại move to center 1 lần nữa.

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
missone's    6

Trong bản vẽ của em- nếu muốn Move một Text vào trong hình tròn thì có thể sử dụng lệnh M2C được ko ạ! Em đã thử thì thấy chữ nó nhảy ra khỏi hình tròn!

Đây là file bản vẽ của em:

missone's.dwg

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
Trong bản vẽ của em- nếu muốn Move một Text vào trong hình tròn thì có thể sử dụng lệnh M2C được ko ạ! Em đã thử thì thấy chữ nó nhảy ra khỏi hình tròn!

Đây là file bản vẽ của em:

missone's.dwg

Ko cần phải m2c. Bạn có thể chọn text, Ctrl+1, chọn Justify của text là MiddleCêntre rồi kéo vào tâm đường tròn. Đảm bảo cân. :s_big:

  • 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
missone's    6
Ko cần phải m2c. Bạn có thể chọn text, Ctrl+1, chọn Justify của text là MiddleCêntre rồi kéo vào tâm đường tròn. Đảm bảo cân. :s_big:

Nhưng như thế thì mình chỉ chọn từng đối tượng một- rất mất thời gian, đúng không!

Nếu có cách gì mà cho một loạt thì hay biết mấy!

Cảm ơn bạn đã quan tâm!

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
làm thế nào để move 1 đối tượng text vào chính giữa 1 rectang nhỉ? dùng lisp này nhé

command: ddt

 

Cái này dùng để hiệu chỉnh bảng và khung tên rất tiện

cám ơn bac nhưng sau ko đề cập đến lệnh gì hết vậy

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

Xin bác Hoành cho hỏi tại sao mỗi lần sử dụng lệnh M2C là tôi lại phải Upload lại Lisp đó và nó cũng chỉ thực hiện đúng 1 lệnh.Sau đó nếu sử dụng thì Cad sẽ báo:

Command: m2c

Unknown command "M2C". Press F1 for help.

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
duongsatdn    762
Xin bác Hoành cho hỏi tại sao mỗi lần sử dụng lệnh M2C là tôi lại phải Upload lại Lisp đó và nó cũng chỉ thực hiện đúng 1 lệnh.Sau đó nếu sử dụng thì Cad sẽ báo:

Command: m2c

Unknown command "M2C". Press F1 for help.

Bạn dùng lệnh AP, trong hộp thoại Load/Unload Applications, bạn bấm vào Contenst ở phần Startup Suite, bấm Add để tìm lisp cần load.

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
dovanlinh    4

sao em dùng không được nhỉ?em dùng cad 2007, thấy toàn báo thế này "Unknown command "M2C". Press F1 for help."

bác giai thích giúp em vớ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
Nguyen Hoanh    4.524
sao em dùng không được nhỉ?em dùng cad 2007, thấy toàn báo thế này "Unknown command "M2C". Press F1 for help."

bác giai thích giúp em với.

Báo như vậy có nghĩa là bạn load không thành công.

 

Bạn thử kiểm tra xem sau khi load thì ACAD báo gì.

Bạn thử copy lại, rồi appload lại xem.

  • 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
dovanlinh    4
Báo như vậy có nghĩa là bạn load không thành công.

 

Bạn thử kiểm tra xem sau khi load thì ACAD báo gì.

Bạn thử copy lại, rồi appload lại xem.

ok rồi bác ah. không biết tại sao, nhưng khi em xoa cái dòng cuối cùng trong đoạn lisp, cai dòng này này bác (vl-load-com), thì nó lai được. em mù tịt về viết lisp nên không hiểu là tại sao. căm ơn bác đã trả lờ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

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  

×