乐筑天下

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

[编程交流] 创建无打印命令的PDF

[复制链接]

13

主题

36

帖子

23

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-5 23:22:48 | 显示全部楼层 |阅读模式
你好
 
我想在每次保存图形时创建一个pdf。
我的第一个想法是使用reactor,但在reactor回调函数中不能使用“command”。。。
 
我想不使用“命令”(例如plot或publish)就不可能创建pdf?
 
有人有其他想法吗?
回复

使用道具 举报

4

主题

194

帖子

192

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 23:33:35 | 显示全部楼层
如果要包括AutoSaves,它需要是一个反应堆。
回复

使用道具 举报

10

主题

895

帖子

887

银币

初来乍到

Rank: 1

铜币
49
发表于 2022-7-5 23:34:18 | 显示全部楼层
2014年有一个自动出版,可能在2012年也有。选项,打印和发布,左下角用于自动发布。
回复

使用道具 举报

0

主题

7

帖子

7

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 23:42:02 | 显示全部楼层
关于不能在反应堆中使用“command”的说法是对的,但我在使用“vla sendcommand”时运气不错。我将plot函数设置为接受布局选项卡中的默认提示。
我使用的是AutoCAD 2013 Architecture,代码适用于我。希望这能帮助你。
 
  1. (defun endCommand (calling-reactor endcommandInfo / doc)
  2. (if (wcmatch (car endcommandInfo) "*SAVE")
  3. (progn
  4.   (setq doc (vla-get-activedocument (vlax-get-acad-object)))
  5.   (vla-sendcommand doc "-plot\r\r\r\r\r\r\r\r")
  6. )
  7. )
  8. )

 
; 命令反应堆结束
(vlr命令反应堆nil’(:vlr commandend.endCommand)))
回复

使用道具 举报

4

主题

194

帖子

192

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 23:47:31 | 显示全部楼层
我认为另一种选择是重新定义“SAVE”命令以包括plot函数。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 23:52:48 | 显示全部楼层
在保存之前,您也可以编辑cui并添加打印函数,我将为打印零件使用预定义的lisp defunhttp://www.cadtutor.net/forum/showthread.php?69132-正在打印LISP帮助&高亮显示=打印LISP
回复

使用道具 举报

13

主题

36

帖子

23

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 00:00:07 | 显示全部楼层
 
 
 
你好,杰索文斯基,
 
如果在执行命令时反应堆点火,并且反应堆回调函数执行新命令。。。这应该是一个无限循环?
 
亲切的问候
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 00:01:36 | 显示全部楼层
 
1+
 
自2011年以来,我一直在使用Autopublish。在过去的几年里,它对我的工作非常宝贵。请参阅AUTOMATICPUB sysvar。
 
唯一严重缺乏的领域是语境。。。它为每个图形生成一个电子文件,而不管图形是展览、图纸、模型/外部参照等(无需打印后者),这就是为什么我几年前开发了此插件,最近在Autodesk Exchange上为可能感兴趣的人发布了它(它被Autodesk选为2013年12月的“特色新应用程序”)。
 
干杯
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 00:11:35 | 显示全部楼层
 
我无法具体评论vla SendCommand的使用,因为我没有使用该函数,更不用说在反应堆的上下文中了。。。然而,一般来说,我的大多数应用程序都是事件驱动的:
 
(相同的顺序适用于.NET事件处理程序)如果回调中满足正确的条件,则首先注销CommandWillStart事件,然后挂接CommandEnded、CommandCancelled和/或CommandFailed事件,最后继续调用/调用所需的(即vla SendCommand或.NET SendStringToExecute、SendCommand、acedPostCommand等)。
 
[编辑]-一旦引发CommandEnded、CommandCancelled或CommandFailed事件,您将注销该事件,并再次注册CommandWillStart事件。另请注意,尽管每次调用命令时都会评估CommandWillStart事件处理程序(回调),但足够的代码逻辑(测试正确的命令等)可能足以阻止无休止的循环。
 
希望这能让(更多?)感觉
回复

使用道具 举报

0

主题

7

帖子

7

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 00:14:25 | 显示全部楼层
嗨ripuz-
有一个潜在的无限循环是一个值得关注的问题。然而,endcommand函数中的通配符匹配将只响应“save”或“qsave”。否则,它将忽略所有其他命令。至于在函数内执行命令。(例如“-plot”)vla sendcommand将只处理一次-plot。它不会将自身放入循环中,因为“-plot”不会以“(q)save”结尾。我希望这有意义。
打印pdf的内部命令基于页面设置管理器在布局选项卡中的配置。我认为只接受默认设置会更容易。但是,如果需要,可以将其修改为特定的绘图仪/打印机。
 
谢谢
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

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

© 2020-2025 乐筑天下

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