乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 45|回复: 18

[编程交流] 需要打印到文件lisp例程

[复制链接]

24

主题

111

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 14:18:46 | 显示全部楼层 |阅读模式
嘿,伙计们,我需要一个lisp例程,将当前dwg打印到一个名为plot的文件中,但每个作业都有一个名为plot的文件夹,因此我想它必须搜索并找到dwg文件夹的dwg路径,才能为每个作业找到正确的打印文件文件夹。有什么建议吗?
回复

使用道具 举报

13

主题

90

帖子

78

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 14:24:54 | 显示全部楼层
http://www.74mph.com
 
发布结果
 
Z
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:28:08 | 显示全部楼层
 
您是指打印到文件,如中所示,接收。PLT文件在该位置-或者你说的是PDF格式的图纸?
 
(有些人搞混了……我知道我搞混了)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:29:31 | 显示全部楼层
不确定这是否有效-以前从未这样做过-真的有点暗箭伤人:
 
  1. (defun c:plt2file  (/ file fPath plt laylst layVar i)
  2. (vl-load-com)
  3. (setq i    0
  4.        file (getfiled "Select Destination for Files"
  5.                       (if def_file
  6.                         def_file
  7.                         "")
  8.                       "plt"
  9.                       1))
  10. (if (not (setq def_file file))
  11.    (exit))
  12. (setq fPath (vl-filename-directory file)
  13.        plt   (vla-get-Plot
  14.                (vla-get-ActiveDocument
  15.                  (vlax-get-acad-object))))
  16. (setq laylst (vl-remove "Model" (layoutlist))
  17.        layVar (vlax-make-variant
  18.                 (vlax-safearray-fill
  19.                   (vlax-make-safearray
  20.                     vlax-vbstring
  21.                     (cons 0 (1- (length laylst))))
  22.                   laylst)))
  23. (vlp laylst)
  24. (repeat (length laylst)
  25.    (vla-SetLayoutstoPlot plt layVar)
  26.    (if (eq :vlax-true (vla-PlottoFile plt fpath))
  27.      (setq i (1+ i))))
  28. (princ (strcat "\n"
  29.                 (itoa i)
  30.                 " of "
  31.                 (itoa (length laylst))
  32.                 " Layouts Plotted to File."))
  33. (princ))
回复

使用道具 举报

24

主题

111

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 14:33:48 | 显示全部楼层
这一切都将是一个打印到文件(.PLT)没有转换为pdf的或任何东西
回复

使用道具 举报

6

主题

47

帖子

36

银币

初来乍到

Rank: 1

铜币
36
发表于 2022-7-6 14:38:01 | 显示全部楼层
你好
 
这是我创建的一个例程,我认为它符合您的要求。您需要调整打印设置,以调用页面设置和打印机,否则就可以继续了。
 
  1. <br>(defun C:plottofile ( / FileDiaMode DwgFilePath DwgNamed )<br>(setq FileDiaMode (getvar "FILEDIA"))<br>(setvar "FILEDIA" 0)<br>(setq DwgFilePath (getvar "DWGPREFIX"))<br>(if (/= (vl-file-directory-p (strcat DwgFilePath "Plot\" )) T)<br>   (progn<br>      (vl-mkdir (strcat DwgFilePath "Plot\"))<br>   ); progn<br>); if <br>(setq DwgNamed (substr (Getvar "DWGNAME") 1 (- (strlen (getvar "DWGNAME")) 4)))<br>;(command "._Plot" "No" "Model" "Your Page Setup" "Your Printer Here" "Yes" (strcat DwgFilePath DwgNamed ".plt"))<br>(command "._Plot" "No" "Model" "Previous Plot" "mnt-hp-c5550-1" "Yes" (strcat DwgFilePath "Plot\" DwgNamed ".plt") "No" "Yes")<br>(setvar "FILEDIA" FileDiaMode)<br>)<br>

 
如果你需要帮助,请告诉我。
 
祝你过得愉快。
肖恩多
[/code]
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:40:47 | 显示全部楼层
稍微修改了我的第一篇帖子-这应该可以做到:
 
  1. [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:plt2file  [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] file fPath plt laylst layVar[b][color=RED])[/color][/b]
  2. [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b]
  3. [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] file [b][color=RED]([/color][/b][b][color=BLUE]getfiled[/color][/b] [b][color=#ff00ff]"Select Destination for Files"[/color][/b]
  4.                       [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] def_file
  5.                         def_file
  6.                         [b][color=#ff00ff]""[/color][/b][b][color=RED])[/color][/b]
  7.                       [b][color=#ff00ff]"plt"[/color][/b]
  8.                       [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  9. [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] def_file file[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  10.    [b][color=RED]([/color][/b][b][color=BLUE]exit[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  11. [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] fPath [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-filename-directory[/color][/b] file[b][color=RED])[/color][/b] [b][color=#ff00ff]"\"[/color][/b][b][color=RED])[/color][/b]
  12.        plt   [b][color=RED]([/color][/b][b][color=BLUE]vla-get-Plot[/color][/b]
  13.                [b][color=RED]([/color][/b][b][color=BLUE]vla-get-ActiveDocument[/color][/b]
  14.                  [b][color=RED]([/color][/b][b][color=BLUE]vlax-get-acad-object[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  15. [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] laylst [b][color=RED]([/color][/b][b][color=BLUE]vl-remove[/color][/b] [b][color=#ff00ff]"Model"[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]layoutlist[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  16.        layVar [b][color=RED]([/color][/b][b][color=BLUE]vlax-make-variant[/color][/b]
  17.                 [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray-fill[/color][/b]
  18.                   [b][color=RED]([/color][/b][b][color=BLUE]vlax-make-safearray[/color][/b]
  19.                     vlax-vbstring
  20.                     [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]0[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]1-[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]length[/color][/b] laylst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  21.                   laylst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  22. [b][color=RED]([/color][/b][b][color=BLUE]vla-SetLayoutstoPlot[/color][/b] plt layVar[b][color=RED])[/color][/b]
  23. [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] :vlax-true [b][color=RED]([/color][/b][b][color=BLUE]vla-PlottoFile[/color][/b] plt fpath[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  24.    [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#ff00ff]"\n"[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]itoa[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]length[/color][/b] laylst[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  25.                   [b][color=#ff00ff]" Layouts Plotted to File."[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  26.    [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"\nPlot Failed."[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  27. [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
回复

使用道具 举报

VVA

1

主题

308

帖子

308

银币

初来乍到

Rank: 1

铜币
8
发表于 2022-7-6 14:43:59 | 显示全部楼层
PlotDwgs是一个打印实用程序,具有几个独特的选项,包括打印所有打开的图形,以及打印用户选定图形的文件夹。图形可以打印到指定的大小,或者通过选择“Varies”选项,程序可以确定要打印的正确纸张大小。还包括按相反顺序打印所有布局的选项,以及按相反顺序打印用户选择图形的文件夹的选项。关联文件为PLOTDWG。lsp,绘图。dcl和绘图。dvb。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:48:04 | 显示全部楼层
^^我想这可能会被提及
回复

使用道具 举报

24

主题

111

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 14:51:30 | 显示全部楼层
嘿,它们都比我原来的例程要好得多,那将在使用的最后一个plot file文件夹中绘制2个文件。我很感激各位
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-5 03:02 , Processed in 0.482295 second(s), 83 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表