乐筑天下

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

事件后取消当前发布作业

[复制链接]

3

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
23
发表于 2015-4-7 12:29:24 | 显示全部楼层 |阅读模式
我正在使用“AboutToStart inPublishingEventHandler”进行检测发布事件的工作,然后我向用户展示一个对话框,为他们提供是、否或取消选项。理想情况下,是选择将继续发布命令,否选择将取消当前发布作业,更改系统变量然后重新启动发布作业,取消选择将取消当前发布作业。我一切正常,除了能够在发布作业启动后以编程方式取消它。我也没有重新发送发布工作,但我并不像用户可以重新发送那样担心,这很好,但不是必需的。
任何帮助都将不胜感激。
谢谢,

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

24

主题

204

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
300
发表于 2015-4-7 13:00:54 | 显示全部楼层
大多数命令不能从预览事件中取消。要执行您所描述的操作,通常最好通过编写启动绘图的替换命令来实现。然后在PGP中使用别名将股票绘图命令替换为自定义命令。
回复

使用道具 举报

3

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
23
发表于 2015-4-7 13:42:11 | 显示全部楼层

我仍在尝试找到解决问题的方法,并一直在考虑您使用自定义“发布”命令的建议。您知道是否可以在工作表设置上下文菜单中添加自定义条目吗?这将是拥有自定义发布命令的最简单解决方案,同时保持每个人都习惯的类似发布方法。
我仍然很难相信,一旦事件“AboutToStart inPublishingEvent”被触发,我就找不到以编程方式取消绘图作业的方法。进度对话框上的取消所有按钮会触发一个命令...
回复

使用道具 举报

3

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
23
发表于 2015-4-21 09:19:46 | 显示全部楼层
我不知道如何将MenuItem添加到SSM本地上下文菜单中...也就是说,自2006年或2009年以来,SSM从未真正更新过。
Autodesk与各自的MenuItem Click事件有点不一致;有些人锁定文档并调用CommandMethods(随后可以被捕获和否决),等等。),以及其他,特别是在Civil 3D中“静默”调用代码隐藏中的源方法(不锁定文档等)。),这不允许我们纠正我们想要纠正的本地问题。Grrr
不确定它是否会对您当前的任务有所帮助,但如果您打算继续在SSM周边发展,此参考资料可能会有用:
http://adndevblog . typepad . com/AutoCAD/2013/09/using-sheet-manager-API-in-vbnet . html
干杯
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2015-4-21 12:44:44 | 显示全部楼层

您可能会发现在自定义命令中克隆SSM对话框更容易。
我仍在努力寻找问题的解决方案,并且一直在考虑您提出的使用自定义“发布”命令的建议。您知道是否可以将自定义条目添加到图纸集上下文菜单中吗?这将是最简单的解决方案,既有一个自定义的发布命令,又能保持每个人都习惯的类似发布方法。
我仍然很难相信,一旦“AboutToBeginPublishingEvent”事件被触发,我就无法通过编程方式取消绘图作业。进度对话框上的“全部取消”按钮会触发一个命令...

您可能会发现在命令中克隆SSM对话框更容易。
回复

使用道具 举报

24

主题

204

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
300
发表于 2015-4-22 07:35:50 | 显示全部楼层
我已经能够以编程方式取消当前的发布工作了!
现在我所做的是在取消之前,我已经存储了DsdData和PlotConfig数据,一旦我更改了一个系统变量(PUBLISHCOLLATE),我正在尝试重新发布用户最初使用
发布的相同集合。
回复

使用道具 举报

3

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
23
发表于 2015-4-23 09:33:06 | 显示全部楼层
我确信我没有理解,或者回忆起一些重要的事情...*但是*...*如果*这就是您所做的全部工作(设置sysvar),那么为什么不将PUBLISHCOLLATE设置为您的生产配置文件的一部分,或者在会话开始时通过Acad.lsp、Initialize()等。?
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2015-4-23 13:53:24 | 显示全部楼层

执行大部分打印任务的人需要不同的PUBLISHCOLLATE设置,这取决于他们是打印到绘图仪还是打印到PDF。我在“发布SSM”菜单下的“页面设置替代”中设置了所有选项。如果在打印到我们的绘图仪时设置为单张纸,那么它会先打印到最后,而不是像作为一组发送时那样先打印到最后。不得不在第11个小时重新整理100张纸并不令人愉快,所以我编写了一个例程来拦截AboutToBeginPublishing事件,检查PUBLISHCOLLATE变量并通知用户。然后,用户可以选择“是”继续发布,选择“否”切换变量并重新发布,或者选择“取消”忘记整个事情。不幸的是,在触发AboutToBeginPublishing事件之前,autocad会检查PUBLISHCOLLATE cariable,因此我必须在切换并重新发送之前取消绘图。
我希望这更有意义。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-5 03:51 , Processed in 0.172843 second(s), 68 queries .

© 2020-2025 乐筑天下

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