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

Lệnh in ấn bằng lisp

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

Tôi lập đoạn lisp sử dụng để in nhiều trang trong autocad với khoảng cách giwũa các trang in bằng nhau nhưng đến đoạn khai báo nhập khoảng cách giữa các trang in thì báo lỗi "NIL" lỗi này là gì

Mong các bác kiểm tra giùm và chỉ bảo

code:

(defun c:in()

(setq ortho (getvar "orthomode"))

(setvar "orthomode" 1)

(setq a (getint " \nSo Trang in : " ))

(setq DL (getpoint " \nGoc duoi ben trai " ))

(setq UR (getcorner dl " \nGoc tren ben phai " ))

(setq cl (getdist UR "\nCu ly giua 2 trang "))

(setq x1 (car DL ))

(setq y1 (cadr DL ))

(setq x2 (car UR ))

(setq y2 (cadr UR ))

(setq r ( - x2 x1))

(repeat a

(setq D1 (list x1 y1))

(setq D2 (list (+ r x1) y2 ))

(command "plot" "W" D1 D2 "" )

(setq x1 (+ r cl x1 ))

)

(setvar "orthomode" ortho)

(setq a nil dl nil ur nil cl nil x1 nil x2 nil y1 nil y2 nil r nil d1 nil d2 nil )

)

( Defun C:LCR()

(setq path (getstring "\n Duong dan den file chua cac file trac ngang (*.lsp) " ))

(setq number (getint "\n So cap trac ngang: " ))

(setq Dist (getreal "\n Khoang cach giua 2 cot: " ))

(setq so 0)

(setq ma 1)

(command "CMDECHO" "0")

(repeat number

(setq so (+ so 2 ))

(setq File (strcat path "\\" (itoa (- so 1)) ".lsp"))

(if (findfile (strcat path "\\" (itoa (- so 1)) ".lsp") ) (load file "") (setq ma 1) )

(setq File (strcat path "\\" (itoa so) ".lsp"))

(if (findfile (strcat path "\\" (itoa so) ".lsp") ) (load file "") (setq ma 0))

(if (= ma 1) (command "move" "all" "" (list 0 0) (list (* -1 Dist) 0)))

(setq ma 1)

)

(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
Tôi lập đoạn lisp sử dụng để in nhiều trang trong autocad với khoảng cách giwũa các trang in bằng nhau nhưng đến đoạn khai báo nhập khoảng cách giữa các trang in thì báo lỗi "NIL" lỗi này là gì

Mong các bác kiểm tra giùm và chỉ bảo

code:

(defun c:in()

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

(command "plot" "W" D1 D2 "" )

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

)

( Defun C:LCR()

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

Chào bạn hautrungnguyen8x.

Bạn cần xem lại cú pháp lệnh in : PLOT.

tại dấu nhắc lệnh, gõ -plot .

Chúc thành cô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
Chào bạn hautrungnguyen8x.

Bạn cần xem lại cú pháp lệnh in : PLOT.

tại dấu nhắc lệnh, gõ -plot .

Chúc thành công.

 

 

Cảm on ban hi vong la` duoc

chuc ban 1 ngay` le~ vui ve va` hanh phuc

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 bạn hautrungnguyen8x.

Bạn cần xem lại cú pháp lệnh in : PLOT.

tại dấu nhắc lệnh, gõ -plot .

Chúc thành công.

 

 

a` nhưng bạn ơi mình thêm ở cuối lệnh có đúng không bạn nhỉ

 

)

(princ)

)

 

 

Xin chỉ giáo

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 chỉ giáo

Theo tôi biết, lệnh PLOT theo mỗi bản cad và máy in khác nhau sẽ có những tham số khác nhau. Bạn phải in thành công bằng cách ðánh lệnh -PLOT trên dòng lệnh command sau ðó trả lời ðúng các tham số của lệnh này mới ðýợc. Khi khi ðã in ðýợc rồi bạn mới copy vào lisp và viết thành

một hàm in. Ví dụ, khi bạn ðánh -PLOT, nó ra thế này :

 

"Mình không post ðýợc ðoạn này lên cho bạn, nó báo lỗi, mình tạm ðýa vào code cho bạn tham khảo"

 

Command: -plot
Detailed plot configuration? [Yes/No] : y
Enter a layout name or [?] :
Enter an output device name or [?] :
Enter paper size or [?] :
Enter paper units [inches/Millimeters] : m
Enter drawing orientation [Portrait/Landscape] : l
Plot upside down? [Yes/No] : n
Enter plot area [Display/Extents/Limits/View/Window] : w
Enter lower left corner of window <592902.686865,1180091.664567>:
Enter upper right corner of window <593036.305900,1180186.149225>:
Enter plot scale (Plotted Millimeters=Drawing Units) or [Fit] <2=1>:
Enter plot offset (x,y) or [Center] <20.00,0.00>:
Plot with plot styles? [Yes/No] :
Enter plot style table name or [?] (enter . for none) assignments.ctb>:
Plot with lineweights? [Yes/No] :
Remove hidden lines? [Yes/No] :
Write the plot to a file [Yes/No] :
Save changes to model tab [Yes/No]? 
Proceed with plot [Yes/No] :
Effective plotting area:  188.97 wide by 266.24 high
Plotting viewport 2.

Sau ðó bạn copy vào lisp và chỉnh lại thế này

(SETQ P1 '(592902.7 1180091.7))

(SETQ P2 '(593036.3 1180186.1))

(Command "-plot" "y" "" "HP LaserJet 5000 Series PCL6" "A4" "m" "l" "n" "w" P1 P2 "2=1" "25.00,5.00" "Yes" "monochrome.ctb" "Yes" "N" "N" "N" "Y")

 

Máy của bạn có thể nó sẽ ra khác. Bạn tham khảo xem có ðýợc khô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
a` nhưng bạn ơi mình thêm ở cuối lệnh có đúng không bạn nhỉ

 

)

(princ)

)

Xin chỉ giáo

Chào bạn hautrungnguyen8x,

Cái thêm này không sai. Bạn nên kiểm tra lại việc khai báo biến a của bạn.

Chúc thành cô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
Theo tôi biết, lệnh PLOT theo mỗi bản cad và máy in khác nhau sẽ có những tham số khác nhau. Bạn phải in thành công bằng cách ðánh lệnh -PLOT trên dòng lệnh command sau ðó trả lời ðúng các tham số của lệnh này mới ðýợc. Khi khi ðã in ðýợc rồi bạn mới copy vào lisp và viết thành

một hàm in. Ví dụ, khi bạn ðánh -PLOT, nó ra thế này :

 

"Mình không post ðýợc ðoạn này lên cho bạn, nó báo lỗi, mình tạm ðýa vào code cho bạn tham khảo"

 

Command: -plot
Detailed plot configuration? [Yes/No] : y
Enter a layout name or [?] :
Enter an output device name or [?] :
Enter paper size or [?] :
Enter paper units [inches/Millimeters] : m
Enter drawing orientation [Portrait/Landscape] : l
Plot upside down? [Yes/No] : n
Enter plot area [Display/Extents/Limits/View/Window] : w
Enter lower left corner of window <592902.686865,1180091.664567>:
Enter upper right corner of window <593036.305900,1180186.149225>:
Enter plot scale (Plotted Millimeters=Drawing Units) or [Fit] <2=1>:
Enter plot offset (x,y) or [Center] <20.00,0.00>:
Plot with plot styles? [Yes/No] :
Enter plot style table name or [?] (enter . for none) assignments.ctb>:
Plot with lineweights? [Yes/No] :
Remove hidden lines? [Yes/No] :
Write the plot to a file [Yes/No] :
Save changes to model tab [Yes/No]? 
Proceed with plot [Yes/No] :
Effective plotting area:  188.97 wide by 266.24 high
Plotting viewport 2.

Sau ðó bạn copy vào lisp và chỉnh lại thế này

(SETQ P1 '(592902.7 1180091.7))

(SETQ P2 '(593036.3 1180186.1))

(Command "-plot" "y" "" "HP LaserJet 5000 Series PCL6" "A4" "m" "l" "n" "w" P1 P2 "2=1" "25.00,5.00" "Yes" "monochrome.ctb" "Yes" "N" "N" "N" "Y")

 

Máy của bạn có thể nó sẽ ra khác. Bạn tham khảo xem có ðýợc không?

 

 

 

Cảm ơn bạn rất nhiều quả là rất khó nếu không được các bạn hướng dẫn tận tình thế này.

1 lần nua~ xin cám ơ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ào bạn hautrungnguyen8x,

Cái thêm này không sai. Bạn nên kiểm tra lại việc khai báo biến a của bạn.

Chúc thành công.

 

 

Cảm ơn bạn thanhbinh đã nhiệt tình chỉ bảo và cảnh cáo 1 lần nữa mong các bác thông cảm vì là thành viên mới của diễn đàn nhưng được cái nhiệt tình vì điều này mong được ân xá. hì hì

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 thanhbinh đã nhiệt tình chỉ bảo và cảnh cáo 1 lần nữa mong các bác thông cảm vì là thành viên mới của diễn đàn nhưng được cái nhiệt tình vì điều này mong được ân xá. hì hì

 

Trên mạng anh em đã có rồi mà , chuyên dùng để in ấn hàng loạt , mình đang sử dụng , rất tuyệt vời , chỉ cần khai báo một lần , sau này cứ thế load lại mà in thô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

Xin chào các Anh, em có 1 đoạn lisp in hàng loạt tự động đánh tên file (in ra file pdf- CAD 2007). Nhưng nó vẫn bị lỗi do chưa tự động save tên file được. Mong các Anh giúp đỡ.

 

(DEFUN C:Inhl()

(setvar "cmdecho" 1)

(setvar "luprec" 0)

(setq mayin "Adobe PDF")

(setq mayin (getstring "\nNhap ten may in "))

(setq soluong (getint "\nNhap so luong ban ve:"))

(setq khoangcach (getreal "\nNhap cach giua 2 ban ve:"))

(setq duoitrai (getpoint "\nNhap diem duoi trai khung ban ve dau tien:"))

(setq xdt (car duoitrai) ydt (cadr duoitrai))

(setq trenphai (getpoint "\nNhap diem tren phai khung ban ve dau tien:"))

(setq xtp (car trenphai) ytp (cadr trenphai))

(setq ten_file (getstring "\nNhap ten file ban ve:"))

(setq STT_file (getint "\nSo thu tu cua file ban ve:"))

(setq i 0)

(While (< i soluong)

(setq Name (strcat ten_file "[" (rtos STT_file) "]"))

(command "-plot" "Y" "" "Adobe PDF" "A3" "m" "l" "" "w" duoitrai trenphai "f" "c" "y" "monochrome.15.ctb" "y" "W" "N" "Y" "Y" "" Name "" "y" "y" d:\i)

(setq xdt (+ xdt khoangcach) xtp (+ xtp khoangcach))

(setq duoitrai (list xdt ydt 0) trenphai (list xtp ytp 0))

(setq i (+ i 1))

(setq STT_file (+ STT_file 1))

)

(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

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  

×