乐筑天下

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

发布例程的问题

[复制链接]

28

主题

249

帖子

7

银币

后起之秀

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

铜币
361
发表于 2018-1-4 19:56:50 | 显示全部楼层 |阅读模式
我一直在做一个快速发布程序,人们可以选择他们想要的某些选项(见图片),然后选择要发布的图纸。它将在前台或后台发布,具体取决于变量BackGroundPlot。该代码通过创建一个空白图形并将一个新的绘图设置添加到该图形中来工作,然后,它使用这些项目作为参数进行发布。这似乎是可行的,除了代码的绘制范围之外,并且为了实现这一点,在调用程序的绘图中需要有实体。如果您想打印图纸空间(在我的例子中是Layout1),那么您必须在调用程序之前切换到图纸空间。为了解决这个问题,我在每个似乎没有任何实体的布局中绘制了线条。然后,在出版物发行后,我会删除这些行。有比这更好的解决办法吗?另一个问题是,在后台发布时,我无法删除我的临时文件,因为在发布结束之前程序就结束了。我已经尝试过在发布命令已经结束或即将结束时触发事件,但是当我运行代码时,它们似乎没有触发。有没有别的办法处理这件事?酒吧,end publish+= new EndPublishEventHandler(publishEndEvent);。
酒馆,AboutToEndPublishing+= new AboutToEndPublishingEventHandler(publishEndEvent);。

//回调函数。
private void publishEndEvent(对象发送方,PublishEventArgs args){。
消息框,Show("尝试擦除绘图:"+mSettingsDrawing+" \ n \ n \ n sender:"+sender,ToString() + "\n\nArgs:" + args。ToString(),“结束反应器。”);。
if(文件,Exists(mSettingsDrawing))文件,delete(mSettingsDrawing);。
if(文件,Exists(mDsdPath))文件,删除(mDsdPath);。
}。
附件是对话框的图片和一个zip文件,其中包含源代码和编译到2012的. dll,该命令由“QuickPublish”在,dll已被加载,预先感谢。

t4kgdlvonru.png

t4kgdlvonru.png

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

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

使用道具 举报

2

主题

11

帖子

4

银币

初来乍到

Rank: 1

铜币
19
发表于 2018-1-5 05:32:04 | 显示全部楼层
查看批量打印的选项。
从模型和许多布局中打印。有许多设置。
这是链接:https://www.kdmsoft.net/revers.html
回复

使用道具 举报

28

主题

249

帖子

7

银币

后起之秀

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

铜币
361
发表于 2018-1-5 09:12:55 | 显示全部楼层
我有一个批量绘制(https://www.theswamp.org/index.php的程序?topic=17348.0)。
我现在在做cad工作时主要是作为顾问,所以我只提交PDF文件。为了方便起见,publishing将允许打印到多页pdf文件。这就是这个项目背后的原因。
谢谢。
回复

使用道具 举报

4

主题

219

帖子

4

银币

后起之秀

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

铜币
238
发表于 2018-1-5 10:00:53 | 显示全部楼层
没有查看您的源代码,而是假设您使用发布API(与PlotEngine API相反,如果布局为空,则可以将“plot to extents”更改为“plot to layout”)。看起来你有代码来检查布局是否为空(因此在发布之前在布局上画一条临时线)。我不确定这是否是做事的好方法,但如果它对你有用,那就足够好了。
我的观点是,既然代码知道有临时线绘制,那么在这种情况下,您可以简单地不允许背景绘图。
回复

使用道具 举报

2

主题

11

帖子

4

银币

初来乍到

Rank: 1

铜币
19
发表于 2018-1-5 12:30:18 | 显示全部楼层
我们没有看到所有的代码,所以我不能准确地回答。
但是为什么在打印之前要执行这么多操作呢?
更容易找到并立即打印。
附上带有标题栏的示例文件。
回复

使用道具 举报

28

主题

249

帖子

7

银币

后起之秀

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

铜币
361
发表于 2018-1-5 12:53:18 | 显示全部楼层
袁:对我自己来说,我不会使用背景绘图,因为它需要更长的时间来绘图,但我想编程一些人们可以建立的东西,如果他们想要的话,并让它为他们工作。这就是为什么我希望找到一个解决方案来删除使用后的临时文件。我在程序中使用publishing类,所以你的假设是正确的。
Refri:源代码附在zip文件的第一篇文章中。我执行这些动作来允许程序按照我希望发布命令的方式进行发布。我工作的公司并不都使用页面设置,所以我无法导入它们。为了让这个命令按照我想要的方式工作,我需要在打印/发布之前设置好所有的东西。抱歉,我不能附上样品标题栏,因为我没有权限这样做。
谢谢。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2018-1-5 22:07:18 | 显示全部楼层
我走上了一条不同的道路,因为我们基本上有3台打印机A3 b-w,彩色A3和A0绘图仪,我们只选择我们要发送到哪一台。聪明的事情是,弹出一个拨号键要求范围,因为我们99%只绘制布局。它自动默认为1st和last,所以按OK.
我们从发布中消失了,只是不得不失败。选择1个菜单选项每次都有效。它可以转换为批处理方法。dwg1 1-4,dwg2 12-14 18-20 等
重新绘制到 pdf 我们使用 Ghostscript,它有一个 pdf 组合选项,因此自动打印例程绘制所有单个 pdf 以及合并到预定义的项目目录,所有这些都在 lisp 中。
Cadtutor的Marko rebar也做了一个相当广泛的情节,几乎任何程序。
Ghostscript (http://www.ghostscript.com/) 可用于组合 PDF。
回复

使用道具 举报

28

主题

249

帖子

7

银币

后起之秀

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

铜币
361
发表于 2018-1-6 00:44:22 | 显示全部楼层
我个人的意见是尝试所有提供的东西。尽可能选择最好的。在我看来,你已经选定了一个——有比你用的更好的。不是每个人都懂C语言。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-4 10:49 , Processed in 0.361760 second(s), 84 queries .

© 2020-2025 乐筑天下

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