xenspidey 发表于 2015-4-7 12:29:24

事件后取消当前发布作业

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

MexicanCustard 发表于 2015-4-7 13:00:54

大多数命令不能从预览事件中取消。要执行您所描述的操作,通常最好通过编写启动绘图的替换命令来实现。然后在PGP中使用别名将股票绘图命令替换为自定义命令。

xenspidey 发表于 2015-4-7 13:42:11


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

xenspidey 发表于 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
干杯

BlackBox 发表于 2015-4-21 12:44:44


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

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

MexicanCustard 发表于 2015-4-22 07:35:50

我已经能够以编程方式取消当前的发布工作了!
现在我所做的是在取消之前,我已经存储了DsdData和PlotConfig数据,一旦我更改了一个系统变量(PUBLISHCOLLATE),我正在尝试重新发布用户最初使用
发布的相同集合。

xenspidey 发表于 2015-4-23 09:33:06

我确信我没有理解,或者回忆起一些重要的事情...*但是*...*如果*这就是您所做的全部工作(设置sysvar),那么为什么不将PUBLISHCOLLATE设置为您的生产配置文件的一部分,或者在会话开始时通过Acad.lsp、Initialize()等。?

BlackBox 发表于 2015-4-23 13:53:24


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