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  
pawuta

Quay lại vùng làm việc đã đánh dấu

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

Mọi người ơi! có ai biết cách đánh dấu 1 vùng làm việc trong autocad không?

Ý mình là zoom 1 vùng làm việc chi tiết 1 và đánh dấu lại (bằng lệnh), sau đó zoom ở vùng làm việc chi tiết 2 (hoặc bất cứ chỗ nào trong bản vẽ). Khi muốn trở về vùng làm việc chi tiết 1 (kích thước zoom như đã đánh dấu) thì chỉ cần đánh lệnh. Có ai biết giúp mình với nha! Thank mọi người trước 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

Các bạn viết giúp mình lisp như thế này nhé: (rút ngắn lại lệnh view)

- Đánh lệnh: CV: chọn vùng zoom, đặt tên vùng zoom (không hạn chế số vùng zoom)

- Đánh lệnh: HV, đánh tên vùng zoom nào sẽ hiện vùng zoom đó

Cảm ơn các bạ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

Chẳng biết cad có lệnh nào tương tự không, nhưng cái này cũng đơn giản thôi, có điều chỉ cần 1 lệnh mà ko cần 2, khi nó hỏi vùng zoom thì gõ 1,3,4 ... tùy ý (vùng đầu tiên bắt đầu từ số 1 và dĩ nhiên bạn phải nhớ cái số vùng  zoom của mình), còn khi nó hỏi mà enter thì nó hiểu là tạo vùng zoom mới. Tên lệnh tôi đặt là zoo, bạn muốn đổi thì tùy ý.

 

(defun c:zoo (/ A B VUNG)
(if (and gl_zoom (setq vung (getint "\nChon vung da luu (hoac Enter de chon vung moi) :")))
(command "zoom" "w" (car (nth (1- vung) gl_zoom)) (last (nth (1- vung) gl_zoom)))
(progn
(command "zoom" "w" (setq a (getpoint)) (setq b (getpoint a)))
(setq gl_zoom (append gl_zoom (list (list a b)))))
)
(princ)
)
  • 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

 

Chẳng biết cad có lệnh nào tương tự không, nhưng cái này cũng đơn giản thôi, có điều chỉ cần 1 lệnh mà ko cần 2, khi nó hỏi vùng zoom thì gõ 1,3,4 ... tùy ý (vùng đầu tiên bắt đầu từ số 1 và dĩ nhiên bạn phải nhớ cái số vùng  zoom của mình), còn khi nó hỏi mà enter thì nó hiểu là tạo vùng zoom mới. Tên lệnh tôi đặt là zoo, bạn muốn đổi thì tùy ý.

(defun c:zoo (/ A B VUNG)
(if (and gl_zoom (setq vung (getint "\nChon vung da luu (hoac Enter de chon vung moi) :")))
(command "zoom" "w" (car (nth (1- vung) gl_zoom)) (last (nth (1- vung) gl_zoom)))
(progn
(command "zoom" "w" (setq a (getpoint)) (setq b (getpoint a)))
(setq gl_zoom (append gl_zoom (list (list a b)))))
)
(princ)
)

Cảm ơn bạn rất rất nhiều, nhưng để reset lại từ đầu tên khung zoom thì làm cách nào vậy bạn, bạn thêm phần đặt tên cho vùng zoom mới thì quá oke, nếu đặt tên trùng với khung zoom trước thì nó sẽ thay thế khung zoom đó. Cảm ơn bạn 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

Cái này thì có lưu tên view, chú ý là có phân biệt chữ hoa-thường, tốt nhất xài chữ thường.

Nếu tên nào chưa có thì nhấp 2 điểm đầu cuối, tên nào đã có thì sau khi zoom về chỗ view đó nó cũng đòi 

nhấp 2 điểm đầu cuối để  reset, nếu ko muốn reset thì cứ enter.

 

(defun c:zoo (/ TEN VUNG)
(defun datvung (tn / A B)
(if (setq a (getpoint (if tn "\nChon diem dau (Enter neu khong reset view):"
"\nChon diem dau :")))
(progn
(command "zoom" "w" a (setq b (getpoint a "\nChon diem cuoi:")))
(if tn
(setq gl_zoom (subst (list ten (list a b)) vung gl_zoom ))
(setq gl_zoom (append gl_zoom (list (list ten (list a b))))))
)
)
)
(setvar 'cmdecho 0)
(if (/= "" (setq ten (getstring "\nTen view :")))
(if (setq vung (assoc ten gl_zoom))
(progn
(command "zoom" "w" (car (last vung)) (last (last vung))) 
(datvung t))
(datvung nil)
)
)
(setvar 'cmdecho 1)
(princ)
)
  • 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

Dùng lệnh view của cad tốt hơn vì không chịu ảnh hưởng của UCS

(defun SaView (n) (vl-cmdf "-VIEW" "Save" n)(princ))
(defun ReView (n) (vl-cmdf "-VIEW" "Restore" n) (princ))
(defun C:CV () (SaView (getstring "\nTen view :")))
(defun C:HV () (ReView (getstring  "\nTen view :")))
 
; Nếu muốn gọi nhanh có thể đặt tên lệnh tắt như VD sau
;(tôi đang dùng cách này) 
(defun C:V1 () (ReView "1")) (defun C:VV1 () (SaView "1"))
(defun C:V2 () (ReView "2")) (defun C:VV2 () (SaView "2"))
(defun C:V3 () (ReView "3")) (defun C:VV3 () (SaView "3"))
(defun C:V4 () (ReView "4")) (defun C:VV4 () (SaView "4"))
(defun C:V5 () (ReView "5")) (defun C:VV5 () (SaView "5"))
  • 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ái này thì có lưu tên view, chú ý là có phân biệt chữ hoa-thường, tốt nhất xài chữ thường.

Nếu tên nào chưa có thì nhấp 2 điểm đầu cuối, tên nào đã có thì sau khi zoom về chỗ view đó nó cũng đòi 

nhấp 2 điểm đầu cuối để  reset, nếu ko muốn reset thì cứ enter.

(defun c:zoo (/ TEN VUNG)
(defun datvung (tn / A B)
(if (setq a (getpoint (if tn "\nChon diem dau (Enter neu khong reset view):"
"\nChon diem dau :")))
(progn
(command "zoom" "w" a (setq b (getpoint a "\nChon diem cuoi:")))
(if tn
(setq gl_zoom (subst (list ten (list a b)) vung gl_zoom ))
(setq gl_zoom (append gl_zoom (list (list ten (list a b))))))
)
)
)
(setvar 'cmdecho 0)
(if (/= "" (setq ten (getstring "\nTen view :")))
(if (setq vung (assoc ten gl_zoom))
(progn
(command "zoom" "w" (car (last vung)) (last (last vung))) 
(datvung t))
(datvung nil)
)
)
(setvar 'cmdecho 1)
(princ)
)

Oke, con gà đen, cảm ơn bạn rất nhiều nhé, xài good lắm. chúc bạn luôn thành công trong cuộc số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

 

Dùng lệnh view của cad tốt hơn vì không chịu ảnh hưởng của UCS

(defun SaView (n) (vl-cmdf "-VIEW" "Save" n)(princ))
(defun ReView (n) (vl-cmdf "-VIEW" "Restore" n) (princ))
(defun C:CV () (SaView (getstring "\nTen view :")))
(defun C:HV () (ReView (getstring  "\nTen view :")))
 
; Nếu muốn gọi nhanh có thể đặt tên lệnh tắt như VD sau
(tôi đang dùng cách này) 
(defun C:V1 () (ReView "1")) (defun C:VV1 () (SaView "1"))
(defun C:V2 () (ReView "2")) (defun C:VV2 () (SaView "2"))
(defun C:V3 () (ReView "3")) (defun C:VV3 () (SaView "3"))
(defun C:V4 () (ReView "4")) (defun C:VV4 () (SaView "4"))
(defun C:V5 () (ReView "5")) (defun C:VV5 () (SaView "5"))

cảm ơn bạn, nhưng mình không biết sử dụng cái này như thế nào, mình đánh lệnh HV thì cad không có hiệu ứng gì hết

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

CAD có lệnh View (tắt là V) có thể đặt vùng chọn theo tên

Khi cần có thể gọi tên đó ra và Zoom đến vùng chọn đó 1 cách dễ dàng 

  • 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

CAD có lệnh View (tắt là V) có thể đặt vùng chọn theo tên

Khi cần có thể gọi tên đó ra và Zoom đến vùng chọn đó 1 cách dễ dàng 

lệnh view có trong cad do thao tác hơi chậm chút, nên mình muốn dùng lisp để nhanh hơn, cảm ơn bạn 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

cảm ơn bạn, nhưng mình không biết sử dụng cái này như thế nào, mình đánh lệnh HV thì cad không có hiệu ứng gì hết

oke, lisp hay, thank bạn nhiều 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

 

Chẳng biết cad có lệnh nào tương tự không, nhưng cái này cũng đơn giản thôi, có điều chỉ cần 1 lệnh mà ko cần 2, khi nó hỏi vùng zoom thì gõ 1,3,4 ... tùy ý (vùng đầu tiên bắt đầu từ số 1 và dĩ nhiên bạn phải nhớ cái số vùng  zoom của mình), còn khi nó hỏi mà enter thì nó hiểu là tạo vùng zoom mới. Tên lệnh tôi đặt là zoo, bạn muốn đổi thì tùy ý.

(defun c:zoo (/ A B VUNG)
(if (and gl_zoom (setq vung (getint "\nChon vung da luu (hoac Enter de chon vung moi) :")))
(command "zoom" "w" (car (nth (1- vung) gl_zoom)) (last (nth (1- vung) gl_zoom)))
(progn
(command "zoom" "w" (setq a (getpoint)) (setq b (getpoint a)))
(setq gl_zoom (append gl_zoom (list (list a b)))))
)
(princ)
)

Rất hay cảm ơn anh :)

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  

×