乐筑天下

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

布局空间和印刷,一些灵感和一些问题

[复制链接]

2

主题

5

帖子

2

银币

初来乍到

Rank: 1

铜币
13
发表于 2006-8-3 07:45:43 | 显示全部楼层 |阅读模式
你好,
我一直在为一家工程公司工作,以更新他们的内部VBA工具以满足现代的需求。我实施的大部分更改现在都可以工作,但由于我对VBA编程相对较新,我想知道我的选择是否明智。我想我的老板会不赞成完全泄露我编写的所有代码(并且函数有荷兰名称和荷兰注释,所以它们对您没有多大用处),但全局设置可能会被证明是有趣的,或者完全错误,但这取决于您的决定。
内部工具的旧版本只是应用了边框和扩展到模型空间。在R14时代,这可能是做事的方式,但现在这就是布局的目的。
我做的第一件事是编写一个菜单,该菜单提供了有限的纸张尺寸、比例和边框样式选择,这些都从配置文件中读取。它设置了一个适合边框的pviewport,即使工程师决定不使用边框进行布局,它仍然是定义边距的一种非常好的方法。该论文设置了一个自定义pc3文件,我们可以使用自定义安装程序重新分发,之所以选择它是因为它速度很快。该驱动程序的纸张大小没有边距,因为设置它们很麻烦。
对于打印,也有一个自定义例程(主要是因为旧版本的autocad不提供线重缩放,并且它们有一个漂亮的扩展名来帮助多文件绘图。他们要求我把它留在那里,所以我这样做了。在初始化打印机时,它会检查活动布局是否具有与配置的打印机之一兼容的纸张大小。在打印之前,布局设置会被保存,因为打印时可能会更改所有设置以“适合”。它们会在退出对话框时恢复。这一切都很好,而且工作得很好,除了恢复只有在我不太快退出对话的情况下才有效,否则我会被安装在我系统上的打印机设置而不是我精心呵护的PC3文件中的打印机设置卡住。
你们知道有什么方法可以检测绘图仪是否完成了它的工作,并使用它来触发RestoreLayout例程吗?现在也可以随时指出任何不好的想法,这样我就可以在将来避免它们。

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

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

使用道具 举报

18

主题

222

帖子

51

银币

后起之秀

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

铜币
260
发表于 2006-8-3 07:58:32 | 显示全部楼层
您可以使用ENDPLOT事件。
在VBA ide中,查看THISDRAWING模块。在左侧的下拉列表中选择ACADDOCUMENT,在右侧的下拉列表中,您将看到您有权访问的所有事件的列表
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-8-3 09:27:41 | 显示全部楼层
我简要地看过打印机api,但从未弄乱过它们,http://support.microsoft.com/kb/q282474/ 似乎都在那里
声明函数文档属性库“winspool.drv”别名“DocumentPropertiesA”(ByVal hwnd As Long,ByVal hPrinter As Long,ByVal pDeviceName As String,pDevModeOutput As DEVMODE,pDevModeInput As DEVMODE,ByVal fMode As Long)
回复

使用道具 举报

2

主题

5

帖子

2

银币

初来乍到

Rank: 1

铜币
13
发表于 2006-8-4 05:10:20 | 显示全部楼层
有一点是相关的,但完全不同的:它现在几乎可以工作,除了plotofile需要花费相当长的时间(比如>30秒),而如果我只是从(原始)打印对话框打印到文件,它几乎可以立即工作。有人知道为什么会这样吗?
回复

使用道具 举报

2

主题

5

帖子

2

银币

初来乍到

Rank: 1

铜币
13
发表于 2006-8-4 09:51:54 | 显示全部楼层
它在后台打印吗?你能发布你的代码吗?
回复

使用道具 举报

2

主题

5

帖子

2

银币

初来乍到

Rank: 1

铜币
13
发表于 2006-8-4 11:14:05 | 显示全部楼层
它是在后台打印的,我做了一个测试项目来确保,即使这样,我的测试代码
  1. Sub test()
  2.     ThisDrawing.Plot.PlotToFile "c:\test2.plt", ThisDrawing.ActiveLayout.ConfigName
  3. End Sub

也需要很长时间才能运行,而打印机运行它没有问题。
这几乎不像是这个代码很复杂或任何东西。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-6 03:38 , Processed in 0.823898 second(s), 64 queries .

© 2020-2025 乐筑天下

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