hiviki 发表于 2019-5-24 15:57:10

一个简单快速的打印LSP

命令就是Y3,然后选择图框块,确定,然后是选择要打印的图纸

sdls 发表于 2019-5-24 22:16:19

这么简单,下来看看!谢谢分享!

注册 发表于 2019-9-2 08:33:11


(vl-load-com)(setq mspace (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))
(setvar "cmdecho" 0)


(defun c:y1( / plotdeviceminp maxpminpoint   maxpoint tkname ourset ilast imyent1orientation)
(setq plotdevice "hp LaserJet 1000")
(print "select keytk" )
(SETQ keytk (car (entsel)))
(while (or (null keytk) (/= (cdr (assoc '0 (entgetkeytk)))"INSERT"))
(SETQ keytk (car (entsel)))
)   
(setqtkname (cdr (assoc '2 (entgetkeytk)) ))
(alert (strcat "Do you want to print \" " tkname "\"?" ))
(setq papersize "A4")
(setq plotstyle "A4-TK.ctb")
(command "ucs" "w")
(print "Select what you want to print:")
(SETQ ourset (ssget (list (cons 2 tkname))))   
(while (null ourset)
(SETQ ourset (ssget (list (cons 2 tkname))))
)   
(setq ilast (sslength ourset))
(setq i 0)(setq iplot 0)
(repeat ilast
         (setq my (ssname ourset i))
         (setq ent1 (entget my))
(if (= (cdr (assoc '2 ent1) ) tkname)
    (progn   
      (vla-getboundingbox (vlax-ename->vla-object my) 'minpoint 'maxpoint )
       (setq minp (vlax-safearray->listminpoint))
       (setq maxp (vlax-safearray->listmaxpoint))
       (if ( > (- (car maxp)(car minp))(- (cadr maxp)(cadr minp)))(setq orientation "landscape") (setq orientation "portrait"))
             (command "-plot" "y" "model" plotdevice papersize "Millimeters" orientation
          "no" "w"minpmaxp   "fit" "c" "y" plotstyle"y" "n" "n" "n""y")
          (setq iplot (1+ iplot))
       )
   )       
(setq i (1+ i))      
)
(princ "\nThe total is:")(princ iplot)
(print "over!!!")
(princ)
)



(defun c:y3( / plotdeviceminp maxpminpoint   maxpoint tkname ourset ilast imyent1orientation)
;(setq plotdevice "\\王斌\Xerox WorkCentre 415/Pro 420 XL")
(print "select keytk" )
(SETQ keytk (car (entsel)))
(while (or (null keytk) (/= (cdr (assoc '0 (entgetkeytk)))"INSERT"))
(SETQ keytk (car (entsel)))
)   
(setqtkname (cdr (assoc '2 (entgetkeytk)) ))
(alert (strcat "Do you want to print \" " tkname "\"?" ))
(setq papersize "")

(setq plotstyle "")
   (command "ucs" "w")
(print "Select what you want to print:")
(SETQ ourset (ssget (list (cons 2 tkname))))
(while (null ourset)
(SETQ ourset (ssget (list (cons 2 tkname))))
)   
(setq ilast (sslength ourset))
(setq i 0)(setq iplot 0)
(repeat ilast
         (setq my (ssname ourset i))
         (setq ent1 (entget my))
(if (= (cdr (assoc '2 ent1) ) tkname)
    (progn   
      (vla-getboundingbox (vlax-ename->vla-object my) 'minpoint 'maxpoint )
       (setq minp (vlax-safearray->listminpoint))
       (setq maxp (vlax-safearray->listmaxpoint))
       (if ( > (- (car maxp)(car minp))(- (cadr maxp)(cadr minp)))(setq orientation "landscape") (setq orientation "portrait"))
             (command "-plot" "y" "model" "" "" "Millimeters" orientation
          "no" "w"minpmaxp   "fit" "c" "y" """y" "n" "n" "n""y")
          (setq iplot (1+ iplot))
       )
   )       
(setq i (1+ i))      
)
(princ "\nThe total is:")(princ iplot)
(print "over!!!")
(princ)
)

swb4420 发表于 2019-5-30 18:31:19

命令: Y3
"select keytk"
选择对象:
"Select what you want to print:"
选择对象: 指定对角点: 找到 1 个
选择对象:未知命令“Y3”。按 F1 查看帮助。
未知命令“MILLIMETERS”。按 F1 查看帮助。
未知命令“LANDSCAPE”。按 F1 查看帮助。
未知命令“NO”。按 F1 查看帮助。
未知命令“W”。按 F1 查看帮助。
未知命令“FIT”。按 F1 查看帮助。
未知命令“C”。按 F1 查看帮助。
未知命令“Y”。按 F1 查看帮助。
未知命令“Y3”。按 F1 查看帮助。
未知命令“Y”。按 F1 查看帮助。
未知命令“N”。按 F1 查看帮助。
未知命令“N”。按 F1 查看帮助。
未知命令“N”。按 F1 查看帮助。
未知命令“Y”。按 F1 查看帮助。
The total is:1
"over!!!"
命令: *取消*

烟盒迷唇 发表于 2019-5-25 09:33:59

使用看看是不是快一点

yoyoho 发表于 2019-5-25 11:53:52

谢谢分享!!!!!

cren1128 发表于 2019-5-27 16:07:56

介绍不详细啊,是批量吗

lxl217114 发表于 2019-5-29 15:17:13

确实很简单,也很快
选项太好   包括打印样式什么的

Yruz 发表于 2019-5-29 19:23:39

感谢分享,试试看看

zh74 发表于 2019-5-30 22:54:57

试一试好用不,谢谢先

yxf512003 发表于 2019-5-31 13:30:48

命令: Y3
"select keytk"
选择对象:
"Select what you want to print:"
选择对象: 找到 1 个
选择对象:未知命令“Y3”。按 F1 查看帮助。
未知命令“MILLIMETERS”。按 F1 查看帮助。
未知命令“LANDSCAPE”。按 F1 查看帮助。
未知命令“NO”。按 F1 查看帮助。
未知命令“W”。按 F1 查看帮助。
未知命令“FIT”。按 F1 查看帮助。
未知命令“C”。按 F1 查看帮助。
未知命令“Y”。按 F1 查看帮助。
未知命令“Y3”。按 F1 查看帮助。
未知命令“Y”。按 F1 查看帮助。
未知命令“N”。按 F1 查看帮助。
未知命令“N”。按 F1 查看帮助。
未知命令“N”。按 F1 查看帮助。
未知命令“Y”。按 F1 查看帮助。
The total is:1
"over!!!"
页: [1] 2 3
查看完整版本: 一个简单快速的打印LSP