乐筑天下

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

[编程交流] 仅打印选定视图

[复制链接]

18

主题

66

帖子

48

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 19:57:33 | 显示全部楼层 |阅读模式
大家好,
我有一对包含10到20个视图的图纸,每个视图代表一个特定的部分。此外,视图的名称与工件的名称相同。
有没有一种方法可以一次性打印一些选定的视图,而不必对每个视图重复打印?
非常感谢您在使用LISP或其他方法选择视图时提供的任何帮助。
谢谢你的帮助。
回复

使用道具 举报

35

主题

140

帖子

108

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
177
发表于 2022-7-5 20:02:18 | 显示全部楼层
您可以使用窗口模式打印。它允许您“打开”要打印的区域。
 
你也可以用Lisp程序进行设置。
回复

使用道具 举报

18

主题

66

帖子

48

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 20:07:06 | 显示全部楼层
谢谢你的回复。
窗口模式允许我一次选择一个视图(窗口),我仍然需要为我需要的多个窗口重复该过程。
既然你说过要建立一个lisp,你有什么可以完成这个任务吗?
再次感谢。
回复

使用道具 举报

3

主题

37

帖子

34

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 20:11:46 | 显示全部楼层
如果在图纸空间中使用视口,则可以使用“发布”命令。
回复

使用道具 举报

18

主题

66

帖子

48

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 20:18:30 | 显示全部楼层
我需要为我的案子做更多的解释。
-我不使用图纸空间创建视图,我使用视图/名称视图创建它们。。。
-每个视图需要按字母大小单独打印
对不起,从一开始就不清楚。
再次感谢您的帮助。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:21:06 | 显示全部楼层
您可以查看views表,这样您就可以有一个lisp打印,如果您看这个,它可以打印一系列布局,但使用类似lisp的listselect。lsp您可以从列表中选择所需的视图。我不使用视图,否则会帮你。
 
  1. ; not tested properly
  2. (vlax-for lay (vla-get-Views (vla-get-activedocument (vlax-get-acad-object)))
  3. (princ (vla-get-name lay))
  4. )
  5. ;Plots layouts by range
  6. ; By Alan H Feb 2014
  7. (defun AH:pltlays ( / lay numlay numend)
  8. (ah:getval "Enter Start tab number" "     edit_width = 10;" "     edit_limit = 5;")
  9. (setq numlay (ATOI item))
  10. (ah:getval "Enter last tab number" "     edit_width = 10;" "     edit_limit = 5;")
  11. (setq numend (ATOI item))
  12. (textscr)
  13. (setq len (+ (- numend numlay) 1))
  14. (repeat len
  15. (vlax-for lay (vla-get-Layouts (vla-get-activedocument (vlax-get-acad-object))) ; change this for [b]views[/b]
  16. (if (= numlay (vla-get-taborder lay)) ; change this for View name
  17. (setvar "ctab" (vla-get-name lay))
  18. ) ; if
  19. ) ; for
  20. (setq lay nil)
  21. (command "Pspace")
  22. (COMMAND "ZOOM" "e")
  23. (princ name)
  24. (setvar "fillmode" 1)
  25. (setvar "textfill" 1)
  26. (COMMAND "-PLOT" "Y" "" "\\\\PRODPRN03\\100B-Lev5-01-CLR-PRN03" "A3 (297 x 420 mm)" "m" "LANDSCAPE" "N"
  27. "W" "-6,-6" "807,560" "1=2" "C" "Y" "DesignLaserCOLOUR.ctb" "Y" "N" "N" "N" "N" "N" "y")
  28. (setq numlay (+ numlay 1))
  29. ) ; end repeat
  30. ); defun
  31. (AH:pltlays)
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 20:25:58 | 显示全部楼层
 
也许我错了,也许OP指的是模型空间中的视图?
回复

使用道具 举报

0

主题

375

帖子

385

银币

限制会员

铜币
-7
发表于 2022-7-5 20:28:22 | 显示全部楼层
嗨Tazzz
试试这个。您的计算机上必须安装Dos_lib。
  1. (defun c:plotview ( / acobj acdoc views view_list)
  2. (setq acobj (vlax-get-acad-object)
  3.        acdoc (vla-get-activedocument acobj)
  4.        views (vla-get-views acdoc)
  5.        )
  6. (vlax-for view views
  7.    (setq view_list (cons (vla-get-name view) view_list))
  8.    )
  9. (foreach view (dos_multilist "PLOT SELECTED VIEWS" "Select views to plot" view_list)
  10.    (command
  11.      "_plot"
  12.      "_y"
  13.      "Model"
  14.      "DWG To PDF.pc3"
  15.      "ISO full bleed A2 (594.00 x 420.00 MM)"
  16.      "Millimeters"
  17.      "Landscape"
  18.      "No"
  19.      "View"
  20.      view
  21.      "Fit"
  22.      "Center"
  23.      "Yes"
  24.      "acad.ctb"
  25.      "Yes"
  26.      "A"
  27.      (strcat (getvar 'dwgprefix) (vl-filename-base (getvar 'dwgname)) " - " view ".pdf")
  28.      "No"
  29.      "Yes"
  30.      )
  31.    )
  32. (princ)
  33. )

此代码打印为pdf,与dwg文件位于同一目录中。您必须更改打印顺序以匹配您的设置。
回复

使用道具 举报

18

主题

66

帖子

48

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 20:32:09 | 显示全部楼层
BIGAL、hanhphuc和StefanBMR感谢您对本文的兴趣。
正如hanhpuc所说,我正在模型空间中工作,所有视图都是使用上述方法在那里创建的。
很抱歉给你添麻烦。我相信有人谁读了这篇文章,并使用纸张空间会发现你提供的lisp非常有用。
Stefan,我会安装doc。。。。软件,更改lisp以满足我的需要,并尝试一下。
我会把最终结果公布给你,我会公布我采取的步骤和修改后的代码。
再次感谢大家的帮助。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:39:08 | 显示全部楼层
我不认为Stefan会介意,但你可以在做“Foreach视图”时使用lisp,只要问一个简单的问题plot Yes或No,如果你不想使用dos_lib并使其更通用,比如复制到另一台电脑。对我来说,我有一个通用dcl用于这类事情,所以我只需要选择我想要绘制的。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 01:11 , Processed in 0.517887 second(s), 72 queries .

© 2020-2025 乐筑天下

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