到目前为止,我花了四天时间对此程序作了认真的分析,只是打印偏移有问题,也就是说只能使用“居中打印”。另外:缩放到图纸空间也有问题。程序中有一处 objPlotConfiguration.GetWindowToPlot WindowLowerLeft, WindowUpperRight WindowWidth = WindowUpperRight(0) - WindowLowerLeft(0) WindowHeight = WindowUpperRight(1) - WindowLowerLeft(1) 不能求出上面两点数组值,实际为空。改用GetBoundingBox方法解决了此问题 For Each ent In SSet '程序预览原代码部分 '获得每个对象最小包围框的两个角点 ent.GetBoundingBox ptMin, ptMax '将三维点转化为二维点坐标 ReDim Preserve ptMin(0 To 1) ReDim Preserve ptMax(0 To 1) 可是在解决此问题后,一切看不出什么不对,如:打印比例,图纸原点等均无问题,可还是预览时图纸打印偏移有问题。我又查阅了CAD本身帮助,发现它提醒StandardScale属性之前要用Regen方法重生成图形。可打印偏移及缩放到图纸空间仍然和原来一样,实在没有办法,又到明经通道网站此帖子下发帖子请求原作者给予帮助和支持。 这是我到目前为止看到是好的打印代码,说实话:打印代码本身就很少,楼主如此共享实在是令我等学习。谢谢楼主!急盼回复! 黄玉宏 |