乐筑天下

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

VBA打印模型空间。。

[复制链接]

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2008-2-13 09:59:15 | 显示全部楼层 |阅读模式
您好,
最新程序i'我试图做的是绘制模型空间标题栏,当我尝试下面的代码来绘制它们时,程序在PlotToDevice行崩溃,并说Method'绘图到设备'对象IAcadPlot的失败&#039
  1. Private Sub cmdPLOT_Click()
  2. For Each entityX In selectset
  3. entityX.GetBoundingBox MinExt, MaxExt ' Get bounding box of each schedule..
  4. ' Set variables of each window plot point..
  5. MinWin(0) = MinExt(0): MinWin(1) = MinExt(1)
  6. MaxWin(0) = MaxExt(0): MaxWin(1) = MaxExt(1)
  7. ' Plot set-up code..
  8. ThisDrawing.ModelSpace.Layout.PlotType = acWindow
  9. ThisDrawing.ModelSpace.Layout.UseStandardScale = True
  10. ThisDrawing.ModelSpace.Layout.StandardScale = acScaleToFit
  11. ThisDrawing.ModelSpace.Layout.PlotRotation = ac90degrees
  12. ThisDrawing.ModelSpace.Layout.CanonicalMediaName = "A4"
  13. ThisDrawing.ModelSpace.Layout.PlotWithPlotStyles = True
  14. ThisDrawing.ModelSpace.Layout.CenterPlot = True
  15. ThisDrawing.ModelSpace.Layout.PaperUnits = acMillimeters
  16. ' Check for Colour or Black 'n' White..
  17. If ColourOPT.Value = True Then
  18.     ThisDrawing.ModelSpace.Layout.StyleSheet = "AbiCAD Pens.ctb"
  19. ElseIf bwOPT.Value = True Then
  20.     ThisDrawing.ModelSpace.Layout.StyleSheet = "STANDARD BLACK + GREY.ctb"
  21. End If
  22. ThisDrawing.ModelSpace.Layout.GetWindowToPlot MinWin, MaxWin
  23. ThisDrawing.Plot.NumberOfCopies = 1
  24. ThisDrawing.ModelSpace.Layout.ConfigName = "Xerox 32.pc3"
  25. ThisDrawing.Plot.PlotToDevice
  26.    
  27.     Next entityX
  28. End Sub

..这就是程序的工作方式,它的用意是:
用户表单有三种选择集方法来选择标题栏(pick、Window和All)-haven和#039;t编码为Pick或All,但Window可以正常工作。选择集查找每个TB的边界(在不同的层中)并查找边界框坐标。然后应该使用这些作为窗口绘图的坐标。上面的代码是我为绘图而拼凑的,但正如我所说的,它失败了,打印出来的只是一张空白的A4纸。有人能检查我的代码,看看有什么可能是错的和/或用VBA对整个绘图问题有更多的了解吗,Paul basepointdesignzltd。。
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2008-2-13 10:43:29 | 显示全部楼层
如果不使用此lineThisDrawing.ModelSpace.Layout,代码是否会崩溃。CanonicalMediaName=“”;A4“
(旋转介质时更改名称)
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2008-2-13 11:35:08 | 显示全部楼层
您好,
是的,我注释掉了CanonicalMediaName行,它成功了,但它在横向页面上打印了肖像。然后,我将PlotRotation线更改为1,而不是AC90度,并保留CanonicalMediaName线,它做了相同的操作-在横向页面上绘制肖像。下面是我检查图形的模型空间打印设置的一个小例程,运行后,CanonicalMediaName显示为A4,PlotRogation线显示为1
  1. ' Get the current plot settings for the drawing..
  2. Sub GetPlotSettings()
  3.    
  4.     Dim PlotTypeX As String
  5.     PlotTypeX = ThisDrawing.ModelSpace.Layout.PlotType
  6.    
  7.         MsgBox _
  8.         "The Plotter for the active layout is: " & ThisDrawing.ModelSpace.Layout.ConfigName & vbCr & _
  9.         "The PlotStyle for the active layout is: " & ThisDrawing.ModelSpace.Layout.StyleSheet & vbCr & _
  10.         "The Media (paper size) for the active layout is: " & ThisDrawing.ModelSpace.Layout.CanonicalMediaName & vbCr & _
  11.         vbCr & _
  12.         "The Scale for the active layout is: " & ThisDrawing.ModelSpace.Layout.StandardScale & vbCr & _
  13.         "The Units for the active layout is: " & ThisDrawing.ModelSpace.Layout.PaperUnits & vbCr & _
  14.         "The Plot Type for the active layout is: " & PlotTypeX & vbCr & _
  15.         "The Plot Rotation for the active layout is: " & ThisDrawing.ModelSpace.Layout.PlotRotation _
  16.         , vbInformation, "Get Plot Settings: " & ThisDrawing.Name
  17. End Sub
所以,谢谢你的回复,至少它没有'这次我不崩溃,现在只需要整理一下方向。有什么想法吗
干杯,Paul,basepointdesignzltd。。
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2008-2-13 11:53:51 | 显示全部楼层
我要做的是手动绘制并保存对布局的更改,然后在代码顶部添加
  1.       Dim Layout As AcadLayout
  2.       Set Layout = ThisDrawing.ActiveLayout
  3.       Layout.RefreshPlotDeviceInfo
如果您一次遍历代码1行,您可以查看布局上的设置,并确保您的代码使用了正确的详细信息
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2008-2-15 06:24:04 | 显示全部楼层
您好,我让它工作了一点,至少是绘图位,但它只会绘制保存的定义窗口(应用于布局),而不是我计划的选择窗口-它要做的是为每个选定的标题栏,它的意思是使用外边缘作为窗口坐标并依次绘制每个窗口,但显然我的代码还很正确
有什么想法吗?(完整代码在我之前的回复中)干杯,Paul.basepointdesignzltd。。
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2008-2-15 12:00:21 | 显示全部楼层
从centerplot的帮助中继续尝试。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-5 08:57 , Processed in 0.795383 second(s), 64 queries .

© 2020-2025 乐筑天下

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