乐筑天下

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

[编程交流] 使用页面进行VBA批量绘图

[复制链接]

170

主题

347

帖子

174

银币

中流砥柱

Rank: 25

铜币
870
发表于 2022-7-6 11:48:04 | 显示全部楼层 |阅读模式
AutoCAD 2010
 
我对我为绘制图形而编写的以下代码有问题
使用现有页面设置。批处理例程读取文件c:/VBDWG文件列表中的图形列表。txt文件
创建批处理循环。它使用FitLayoutCanon2870GE11x17进行页面设置
名称例程在绘图处停止。DisplayPlotPreview acFullPreview
此图纸。情节PlotToDevice。谁能告诉我我做错了什么?
我想我需要重置对象,因为我正在循环不同的图形
但我可能错了。我不知道如何在vba中重置对象。任何人都可以
帮助
 
非常感谢。
 
 
 
专用子绘图例程()
我隐藏
如果batchloopcount=0,则
Dim lstName作为字符串
Dim PlotConfiguration作为ACADPlotConfiguration
将绘图变暗为AcadPlot
将Activelayout设置为AcadLayout
如果结束
 
设置PlotConfigurations=ThisDrawing。打印配置
设置绘图=此绘图。情节
设置Activelayout=ThisDrawing。活动布局
Activelayout。刷新PlotDeviceInfo
lstName=“FitLayoutCanon2870GE11x17”
'lstName=“FitLayoutCanon2870GELetter”
'lstName=ComboBox1。价值
lstName=组合框1。价值
如果lstName=,则lstName=“FitLayoutCanon2870GE11x17”
Activelayout。从绘图配置复制。项目(lstName)'lstName。值是用户选择的页面设置
Activelayout。刷新PlotDeviceInfo
此图纸。Regen Acall视口
'绘图。DisplayPlotPreview acFullPreview
此图纸。情节绘图仪
“我。显示
末端接头
私有子命令按钮8_Click()
我隐藏
'出错时转到文件错误
Dim DrawingName作为字符串
AutoCAD。文件。关
batchloopcount=0
打开“c:/VBdwgFilelist.txt”作为#6'输入,打开文件进行输入。
执行EOF(6)循环,直到文件结束。
输入#6,提取名称'将数据读入两个变量。
'调试。打印MyString“将数据打印到调试窗口”。
“If drawingName”“,则此绘图。打开(DrawingName)
如果提取名称“”,则
AutoCAD。文件。打开(DrawingName)
此图纸。Regen Acall视口
'MsgBox(“打印提示”)
用于上述打印的PlotRoutine
batchloopcount=batchloopcount+1
此图纸。Save“保存图形
此图纸。关
如果结束

关闭#6’关闭文件。
我显示
出口接头
文件错误:
关闭#6
MsgBox“文件错误”
“progerror”程序错误
'继续下一步
末端接头
回复

使用道具 举报

170

主题

347

帖子

174

银币

中流砥柱

Rank: 25

铜币
870
发表于 2022-7-6 12:36:03 | 显示全部楼层
对于任何感兴趣的人。以下是我更正的批次图例程:
 
私有子BatchPlotRoutine()
我隐藏
如果batchloopcount=0,则
Dim lstName作为字符串
Dim PlotConfiguration作为ACADPlotConfiguration
将绘图变暗为AcadPlot
将Activelayout设置为AcadLayout
如果结束
设置PlotConfigurations=ThisDrawing。打印配置
设置绘图=此绘图。情节
设置Activelayout=ThisDrawing。活动布局
Activelayout。刷新PlotDeviceInfo
lstName=“FitLayoutCanon2870GE11x17”
'lstName=“FitLayoutCanon2870GELetter”
'lstName=ComboBox1。价值
lstName=组合框1。价值
如果lstName=,则lstName=“FitLayoutCanon2870GE11x17”
Activelayout。从绘图配置复制。项目(lstName)'lstName。值是用户选择的页面设置
此图纸。Regen Acall视口
'绘图。DisplayPlotPreview acFullPreview
情节绘图仪
'此绘图。情节绘图仪
“我。显示
末端接头
私有子命令按钮8_Click()
我隐藏
变暗背景图
背景图=此图纸。GetVariable(“背景图”)
此图纸。SetVariable“BACKGROUNDPLOT”,0
'出错时转到文件错误
Dim DrawingName作为字符串
AutoCAD。文件。关
batchloopcount=0
打开“c:/VBdwgFilelist.txt”作为#6'输入,打开文件进行输入。
执行EOF(6)循环,直到文件结束。
输入#6,提取名称'将数据读入两个变量。
'调试。打印MyString“将数据打印到调试窗口”。
“If drawingName”“,则此绘图。打开(DrawingName)
如果提取名称“”,则
AutoCAD。文件。打开(DrawingName)
此图纸。Regen Acall视口
'MsgBox(“打印提示”)
用于上述打印的BatchPlotRoutine
batchloopcount=batchloopcount+1
此图纸。Save“保存图形
此图纸。SetVariable“BACKGROUNDPLOT”,BackPlot
此图纸。关
如果结束

关闭#6’关闭文件。
我显示
出口接头
文件错误:
关闭#6
MsgBox“文件错误”
“progerror”程序错误
'继续下一步
末端接头
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

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

铜币
262
发表于 2022-7-6 13:00:52 | 显示全部楼层
你能上传DVB文件或与此DVB兼容的dwg吗?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 10:49 , Processed in 0.526051 second(s), 58 queries .

© 2020-2025 乐筑天下

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