明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1732|回复: 8

[原创]布局的问题

[复制链接]
发表于 2003-10-13 17:35:00 | 显示全部楼层 |阅读模式
请问各位大虾:
      我的图形打印是做成布局的,很方便。有一点不便的是每次更换打印机后,布局必须一张张去页面设置,选择所有布局后,但页面设置是空的,很伤脑筋。有没有更好的办法一次做好页面设置?
发表于 2003-10-13 22:44:00 | 显示全部楼层
看  layout 命令与PAGESETUP 页面设置,创建新的页面设置.有没有帮助?
发表于 2003-10-14 06:23:00 | 显示全部楼层
http://www.mjtd.com/a2/list.asp?id=350
 楼主| 发表于 2003-10-16 20:41:00 | 显示全部楼层
好像用不上,因为做布局时,每张布局都要选打印机。不管将文件拷到那台机器,cad系统都记得最初设置的打印机名称,我想一次将各个布局的打印机改过来,不知如何实现?
发表于 2003-10-16 21:16:00 | 显示全部楼层
樓主何不試試用模板文件? 你做一次, 以后就可以盡情地用了. 不用這麼麻煩.





-------------------------------------------------
我愛CAD. 多多學習. 多多進腳.
 楼主| 发表于 2003-10-17 20:29:00 | 显示全部楼层
因为我经常出差,各地的打印机各不同,所以我每次四十几个布局一个个改,很伤脑筋啊。
版主可能被布局烦的时候不多吧。
发表于 2003-10-17 20:35:00 | 显示全部楼层
我提供链接的程序不能解决吗?
程序的思路是把你第一次打印的打印机名称记忆在注册表中,以后打印时就直接使用该名称打印,不管是新图还是以前用过其它打印机的旧图。
如果你在打印前更改了打印机,则会提示你是否将更改后的打印机保存到注册表中,你可以选择是来更改以后的打印机,或选择否来略去。
应该说这样的程序对你应该是最有帮助 的。我一直在用,因为我以前的图纸也是用其它打印机打的,现在用了新的打印机,就靠这个程序了。
 楼主| 发表于 2003-10-18 00:56:00 | 显示全部楼层
首先谢谢管理员不烦其烦地为我们这样菜鸟解决问题。你是我见到的最热心的人。

再次我要明确一下我为什么要做布局,因为我的图很大很长。每次出图要出成很多张A3纸的。如果每次出图时一张张地去框选是很麻烦的。所以我做成一张张A3布局后,每次打印时,打印选项里我选所有布局,这样可以打印所有图了。不用一张张再去框选了。

我们说的可能不是一回事,这样,我把一个很简单的范例图传给你一份,布局我已做好的,我用的打印机你可能没有,能否一次把各个布局全改过来?改成你用的打印机?
发表于 2003-10-18 06:39:00 | 显示全部楼层
现在看清楚了,你需要的是将所有布局改过来,而该程序只是将当前布局改过来,那程序要改一下了。

  1. Option Explicit
  2.     Dim PrintName As String
  3.    
  4. '打印或页面设置开始前调用GetPrintName过程
  5. Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
  6.     If CommandName = "PAGESETUP" Or CommandName = "PLOT" Then
  7.         Call GetPrintName
  8.     End If
  9. End Sub

  10. '打印或页面设置结束后调用SetPrintName过程
  11. Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
  12.     If CommandName = "PAGESETUP" Or CommandName = "PLOT" Then
  13.         Call SetPrintName
  14.     End If
  15. End Sub

  16. '检查默认打印机选项,如果设置与默认选项不同,则更改过来
  17. Private Sub GetPrintName()
  18.     PrintName = GetSetting("MCCAD", "DrawingSetting", "PrintName")
  19.     If PrintName <> "" Then
  20.         Dim i As Integer
  21.         For i = 0 To ThisDrawing.Layouts.Count - 1
  22.             If ThisDrawing.Layouts(i).ConfigName <> PrintName Then
  23.                 ThisDrawing.Layouts(i).RefreshPlotDeviceInfo
  24.                 ThisDrawing.Layouts(i).ConfigName = PrintName
  25.             End If
  26.         Next
  27.     End If
  28. End Sub

  29. '保存默认打印机选项到注册表中
  30. Private Sub SetPrintName()
  31.     If PrintName = "" Then
  32.         SaveSetting "MCCAD", "DrawingSetting", "PrintName", ThisDrawing.ActiveLayout.ConfigName
  33.     Else
  34.         If ThisDrawing.ActiveLayout.ConfigName <> PrintName Then
  35.             If MsgBox("是否将“" & ThisDrawing.ActiveLayout.ConfigName & "”打印机做为默认打印机?", vbYesNo) = vbYes Then
  36.                 SaveSetting "MCCAD", "DrawingSetting", "PrintName", ThisDrawing.ActiveLayout.ConfigName
  37.             End If
  38.         End If
  39.     End If
  40. End Sub

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

本版积分规则

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

GMT+8, 2024-11-25 10:29 , Processed in 0.249680 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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