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

Thay đổi máy in hàng loạt cho tất cả layout?

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

thietke08    1

Do ở công ty không có máy in khổ lớn nên phải ra tiệm để in, mà trong layout lúc page setup em chỉnh là máy in ảo để in thử trước rồi ra tiệm nó báo máy in không được tìm thấy nên không thể publish hết mà chọn từng layout thì nó lâu do bản vẽ nặng. Anh em nào có lisp hay cách nào giúp em...Thanks nhiều!

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
KangKung    229

Lisp thay đổi máy in cho tất cả các Layout đây:

Chú ý:

1. Khi chọn máy in thì chọn số tương ứng với máy in đó. VD: Chọn 1 hoặc 2 , 3, 4 ...

2. Nhập khổ giấy phải đúng tên của khổ giấy trong máy in đó. VD: cùng là khổ giấy A0 nhưng có máy là A0 nhưng có máy lại là ISO A0.

;========LISP THAY DOI PLOTTER CHO TAT CA LAYOUT===========
;================KANGKUNG 03/04/2013=======================
(defun C:KK()
  (command "UNDO" "BE")
  (Plotter_list)
  (setq printer(getint (strcat "\n Chon may in " printer2 ":")))
  (setq printer(vl-string-trim ".pc3" (nth (- printer 1) (vl-directory-files (strcat (getvar "roamablerootprefix") "\Plotters\\") "*.pc3" 1))))
  (setq size(getstring T "\n Kho giay in <Nhap A0, A1, A2 ... hoac ISO A0, ISO A1, ISO A2 ...: "))
  (foreach layout (layoutlist)
    (command "LAYOUT" "S" layout)
    (Setq P1(Getvar "EXTMIN") P2(Getvar "EXTMAX"))
    (command "PLOT" "Y" "" printer size "M" "L" "N" "W" P1 P2 "1" "C" "Y" "" "Y" "N" "N" "N" "N" "Y" "N"))
  (command "MODEL")
  (command "UNDO" "END")
  (alert "Well Done")
  (princ)
  )
(defun Plotter_list()
  (setq lst_printer(vl-directory-files (strcat (getvar "roamablerootprefix") "\Plotters\\") "*.pc3" 1))
  (setq lst_printer2 (list))
  (setq printer2 "")
  (setq i 0)
  (foreach printer lst_printer
    (setq i(1+ i))
    (setq printer2(strcat printer2 (strcat (substr (rtos i 1 0)  1 1) "-" "\""(vl-string-trim ".pc3" printer)"\"" " ")))
    (setq lst_printer2(append lst_printer2 (list (strcat (substr (rtos i 1 0)  1 1) "-" (vl-string-trim ".pc3" printer))))))
  )
(princ "\n                Written By KangKung - 03/04/2013\n")
(princ "\n                  Nhap KK de chay chuong trinh\n")
  • 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
Doan Van Ha    2.678

Bạn KangKung dạo này viết lisp sung quá! Có điều: làm biếng set biến cục bộ nên người dùng coi chừng mang họa! :lol:

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
KangKung    229

Bạn KangKung dạo này viết lisp sung quá! Có điều: làm biếng set biến cục bộ nên người dùng coi chừng mang họa! :lol:

Hê hê. Thanks bác Hà. Chẳng may bị họa coi như là bẫy vậy.  :D  :D  :D

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
dunghn    11

 

Lisp thay đổi máy in cho tất cả các Layout đây:

Chú ý:

1. Khi chọn máy in thì chọn số tương ứng với máy in đó. VD: Chọn 1 hoặc 2 , 3, 4 ...

2. Nhập khổ giấy phải đúng tên của khổ giấy trong máy in đó. VD: cùng là khổ giấy A0 nhưng có máy là A0 nhưng có máy lại là ISO A0.

;========LISP THAY DOI PLOTTER CHO TAT CA LAYOUT===========
;================KANGKUNG 03/04/2013=======================
(defun C:KK()
  (command "UNDO" "BE")
  (Plotter_list)
  (setq printer(getint (strcat "\n Chon may in " printer2 ":")))
  (setq printer(vl-string-trim ".pc3" (nth (- printer 1) (vl-directory-files (strcat (getvar "roamablerootprefix") "\Plotters\\") "*.pc3" 1))))
  (setq size(getstring T "\n Kho giay in <Nhap A0, A1, A2 ... hoac ISO A0, ISO A1, ISO A2 ...: "))
  (foreach layout (layoutlist)
    (command "LAYOUT" "S" layout)
    (Setq P1(Getvar "EXTMIN") P2(Getvar "EXTMAX"))
    (command "PLOT" "Y" "" printer size "M" "L" "N" "W" P1 P2 "1" "C" "Y" "" "Y" "N" "N" "N" "N" "Y" "N"))
  (command "MODEL")
  (command "UNDO" "END")
  (alert "Well Done")
  (princ)
  )
(defun Plotter_list()
  (setq lst_printer(vl-directory-files (strcat (getvar "roamablerootprefix") "\Plotters\\") "*.pc3" 1))
  (setq lst_printer2 (list))
  (setq printer2 "")
  (setq i 0)
  (foreach printer lst_printer
    (setq i(1+ i))
    (setq printer2(strcat printer2 (strcat (substr (rtos i 1 0)  1 1) "-" "\""(vl-string-trim ".pc3" printer)"\"" " ")))
    (setq lst_printer2(append lst_printer2 (list (strcat (substr (rtos i 1 0)  1 1) "-" (vl-string-trim ".pc3" printer))))))
  )
(princ "\n                Written By KangKung - 03/04/2013\n")
(princ "\n                  Nhap KK de chay chuong trinh\n")

Lisp này chạy 1 chiều thì OK, chiều ngược lại không ổn với máy tính của tôi. Nếu đặt mặc định là máy 5 thì chuyển về máy 1 rất tốt, sau đó chuyển lại máy in từ máy 1 lại máy 5 thì sai kích thước bản in. Các trường hợp khác chưa thử vì ít dù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

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


×