明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4633|回复: 17

一个简单快速的打印LSP

[复制链接]
发表于 2019-5-24 15:57 | 显示全部楼层 |阅读模式
命令就是Y3,然后选择图框块,确定,然后是选择要打印的图纸

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2019-9-2 08:33 | 显示全部楼层

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


(defun c:y1( / plotdevice  minp maxp  minpoint   maxpoint tkname ourset ilast i  my  ent1  orientation)
  (setq plotdevice "hp LaserJet 1000")
(print "select keytk" )
  (SETQ keytk (car (entsel)))
  (while (or (null keytk) (/= (cdr (assoc '0 (entget  keytk)))  "INSERT"))
  (SETQ keytk (car (entsel)))
  )   
  (setq  tkname (cdr (assoc '2 (entget  keytk)) ))
  (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->list  minpoint))
         (setq maxp (vlax-safearray->list  maxpoint))
         (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"  minp  maxp   "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( / plotdevice  minp maxp  minpoint   maxpoint tkname ourset ilast i  my  ent1  orientation)
;(setq plotdevice "\\王斌\Xerox WorkCentre 415/Pro 420 XL")
(print "select keytk" )
  (SETQ keytk (car (entsel)))
  (while (or (null keytk) (/= (cdr (assoc '0 (entget  keytk)))  "INSERT"))
  (SETQ keytk (car (entsel)))
  )   
  (setq  tkname (cdr (assoc '2 (entget  keytk)) ))
  (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->list  minpoint))
         (setq maxp (vlax-safearray->list  maxpoint))
         (if ( > (- (car maxp)(car minp))(- (cadr maxp)(cadr minp)))  (setq orientation "landscape") (setq orientation "portrait"))
               (command "-plot" "y" "model" "" "" "Millimeters" orientation
          "no" "w"  minp  maxp   "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)
)
发表于 2019-5-30 18:31 | 显示全部楼层
命令: 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-31 13:30 | 显示全部楼层
命令: 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-24 22:16 | 显示全部楼层
这么简单,下来看看!谢谢分享!
发表于 2019-5-25 09:33 | 显示全部楼层
使用看看是不是快一点
发表于 2019-5-27 16:07 | 显示全部楼层
介绍不详细啊,是批量吗
发表于 2019-5-29 15:17 | 显示全部楼层
确实很简单,也很快
选项太好   包括打印样式什么的
发表于 2019-5-29 19:23 | 显示全部楼层
感谢分享,试试看看
发表于 2019-5-30 22:54 | 显示全部楼层
试一试好用不,谢谢先
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-25 16:52 , Processed in 0.256648 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表