明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2866|回复: 10

这个DWG文档究竟设置了什么打印导致范围大幅度偏移?

[复制链接]
发表于 2014-8-5 19:17:44 | 显示全部楼层 |阅读模式
Sub Example_SetWindowToPlot()
    ' This example allows the user to define an area in the current layout
    ' and displays a plot preview of the defined area.
    '
    ' * Note: You have to exit the
    ' plot preview before the VBA example will stop and control will be returned

    Dim point1 As Variant, point2 As Variant

    ' Get first point in window
    point1 = ThisDrawing.Utility.GetPoint(, "Click the lower-left of the window to plot.")
    ReDim Preserve point1(0 To 1)   ' Change this to a 2D array by removing the Z position

    ' Get second point in window
    point2 = ThisDrawing.Utility.GetPoint(, "Click the upper-right of the window to plot.")
    ReDim Preserve point2(0 To 1)   ' Change this to a 2D array by removing the Z position

    ' Send information about window to current layout
    ThisDrawing.ActiveLayout.SetWindowToPlot point1, point2

    ' Read back window information
    ThisDrawing.ActiveLayout.GetWindowToPlot point1, point2

    MsgBox "Press any key to plot the following window:" & vbCrLf & vbCrLf & _
           "Lower Left: " & point1(0) & ", " & point1(1) & vbCrLf & _
           "Upper Right: " & point2(0) & ", " & point2(1)

    ' Be sure to plot a view, not some other plot style
    ThisDrawing.ActiveLayout.PlotType = acWindow

    ' Send Plot To Window
    ThisDrawing.Plot.DisplayPlotPreview acFullPreview
End Sub
用上面这个示例代码测试一般的图档,打印范围是正确的。但是打印我附件上的这个文件就大幅度的偏移,各位大侠帮我找找原因究竟设置了什么情况。
我错了个自动打印图框的插件,在工作中时不时会遇到一些图档打印偏位,导致这个功能无法正常使用。在以往遇到这种情况我是把这个图档上所有内容CTRL+C复制到新建的一个CAD文档中后正常使用。所以我断定是这个图档内部设置了什么东西。但是一直都没有找出来。苦惑我5年之久了!!!!!
CAD2004到2012我都试过,结果是一样的!!







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2014-8-6 11:23:56 | 显示全部楼层
可能原因,图形界线(limits)的问题,也有可能是教育版的问题
 楼主| 发表于 2014-8-6 14:15:33 | 显示全部楼层
我觉得不是你说的这样的问题
发表于 2014-8-14 23:47:39 | 显示全部楼层
我感觉应该将世界坐标转换成打印坐标。
 楼主| 发表于 2014-8-23 14:00:15 | 显示全部楼层
怎么转换打印的坐标!
发表于 2014-8-24 15:06:45 | 显示全部楼层
PtMax_UCS = ThisDrawing.Utility.TranslateCoordinates(ptMax, acWorld, acDisplayDCS, False)            '将世界坐标(WCS)转换为显示坐标(DCS)
 楼主| 发表于 2014-10-26 10:58:07 | 显示全部楼层
还是不行!!!
 楼主| 发表于 2014-10-26 10:58:51 | 显示全部楼层
我觉得不是坐标的问题。应该是哪个变量出了问题。或者是内存出了问题!
发表于 2014-10-26 12:59:38 | 显示全部楼层
如果手动打印设置不偏移,而用自己写的代码打印发生偏移,我感觉就是坐标问题,仔细查查TranslateCoordinates的用法看看,打印坐标是2维的。
 楼主| 发表于 2014-11-27 08:56:30 | 显示全部楼层
其他图档没有问题。就这个图档有问题。你说是什么问题。还是代码的问题吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 10:51 , Processed in 0.198300 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表