Chuyển đến nội dung
Diễn đàn CADViet
binbin72088@gmail.com

ý tưởng copy view từ máy này sang máy khác bằng dòng lệnh

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

Mình có một ý tưởng khi trao đổi tài liệu với đồng nghiệp nhưng ko biết autocad có lệnh này không, đó là khi hai hay nhiều máy cùng mở 1 file autocad quy hoạch diện tích rất là rộng, mình đang ở khu vực A mà đồng nghiệp mình thì đang ở khu vực bất kỳ nào đó trên bản vẽ, bây giờ mình muốn họ chuyển tới view A ngay để cùng trao đổi vấn đề. thay vì họ phải mất công lăn chuột rồi mò mới thấy khu vực A mất thời gian, thì có lệnh nào copy khu vực A máy mình thành 1 dòng lệnh và chỉ cần họ nhập vào command thôi là sẽ tới được khu vực A ngay lập tức. Mình thì biết công cụ tạo view nhưng như vậy phải setup và đặt tên view trên 1 máy trước sau đó mới bật trên các máy còn lại thì không linh hoạt và chỉ có một số view cố định, trong khi mình muốn view A đó có thể là bất kỳ chỗ nào trên bản vẽ. Ai biết cách làm bày mình đc ko.

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
40 phút trước, naturooo đã nói:

Có thể giải pháp cấp cho họ tọa giới hạn window hiện hành để họ đưa vào lệnh zoom/window trên máy họ.

 

Yes, có thể trên máy A, oánh lệnh ABC gì đó, lưu lại tọa độ khung view trên máy này thành file txt, sau đó bên máy kia oánh lệnh BCD gì đó, load lại cái tọa độ là xong.

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
35 phút trước, CadExTools đã nói:

Yes, có thể trên máy A, oánh lệnh ABC gì đó, lưu lại tọa độ khung view trên máy này thành file txt, sau đó bên máy kia oánh lệnh BCD gì đó, load lại cái tọa độ là xong.

Model Named Viewport lưu theo file, sao phải làm việc đó chi :D Việc này là kỹ năng cơ bản trong Teamwork rồi

  • Like 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

(defun c:tt1 (/ cp dx dy p1 p2)
    (setq
        cp (getvar "VIEWCTR")
        dy (* 0.5 (getvar "VIEWSIZE"))
        dx (* 0.5 (* dy (/ (car (getvar "SCREENSIZE"))(cadr (getvar"SCREENSIZE")))))
        p1 (mapcar '- cp (list dx dy))
        p2 (mapcar '+ cp (list dx dy))
    )
    (princ
        (vl-prin1-to-string
            (list 'progn
                (list 'setvar "ctab" (getvar 'ctab))
                (list 'setq 'p1 (cons 'list p1) 'p2 (cons 'list p2))
                (list 'command ".zoom" "w" 'p1 'p2)
            )
        )
    )    
    (princ)    
)

  • Like 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
(defun c:getview()
  (prin1 (list 'command "zoom" "c" (cons 'list (getvar 'viewctr)) (getvar 'viewsize)))
  (princ))

Copy cái text do lệnh này tạo ra gởi là dc.

  • Like 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

thanks bạn @snowman.hms và bạn @ngokiet , cả hai lisp đều rất tuyệt và đúng ý rất hay, mình cũng thử làm lisp bằng lệnh zoom center nhưng ko vào trực tiếp đúng scale view như mấy bạn được, mình bổ sung thêm là lệnh sau khi tạo ra sẽ được copy trực tiếp vào clipboard bớt đi một công đoạn copy. : lệnh covi (là copy view chứ ko phải corona nha)

 

(defun c:covi (/ p x y ptcoord )

;by binbin72088@gmail.com

(setq p (getpoint "Pick Point: "))

(setq x (rtos (car p)))

(setq y (rtos (cadr p)))

(setq z (rtos (caddr p)))

(setq ptcoord (strcat x ", " y ", " z))

(vlax-invoke

    (vlax-get (vlax-get (vlax-create-object "htmlfile") 'ParentWindow) 'ClipBoardData)

    'setData

    "TEXT"

    (strcat "_zoom c "x","y" 3000 .")

)

)

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

Bây giờ mình lại nảy sinh ra ý tưởng mới nữa là máy A tạo lệnh trên DRAWING1.dwg , nhưng máy B đang không bật file của máy A. Có cách nào để khi nhập lệnh bên máy B thì file DRAWING1.dwg tự mở trên máy B và dẫn đến view của máy A ko (mở readonly cũng được). ( chính là update của lệnh các bạn đã thảo luận ở trên nhưng thêm một bước mở file 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

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

×