Eloquintet 发表于 2007-8-23 17:01:39

如何确保打印和发布时plotstamp始终处于打开状态

大家好,
我正在寻找一种方法,确保打印或发布图形时打印戳记始终处于打开状态。我在这里找了一下,发现了一个帖子,里面有这段代码。我有点理解它,但也需要包含publish命令,并且不确定如何实现它
Private Sub AcadDocument_BeginPlot(ByVal DrawingName As String)
ThisDrawing.SendCommand ("-plotstamp" & vbCr & "on" & vbCr & vbCr)
End Sub

Eloquintet 发表于 2007-8-24 09:30:24

您可以在打印/打印/发布之前通过注册表进行更改
It'位于此处:HKCU\Software\Autodesk \….\Profiles \<您的个人资料名称>\对话框\打印戳记将打印戳记设置更改为1以启用它;0将关闭它。

Eloquintet 发表于 2007-8-24 09:55:59

嗯,我该如何将其合并到绘图或发布事件发生时运行的例程中呢。我知道如何打开它,但我不想担心打开它。我希望它一直打开。

Eloquintet 发表于 2007-8-24 10:10:05

使用VBA比使用LSP需要更多的代码,因此,我提供了这一点o;可以添加到ACAD中的代码。lsp文件,该文件将在每次启动AutoCAD时将值设置为1(开)

   (vl-load-com)
   (vl-registry-write (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (getvar "cprofile") "\\Dialogs\\Plot Stamp\\") "PlotStamp" 1)
以及#039;这就是你所需要的。

Eloquintet 发表于 2007-8-24 10:16:00

你是怎么发现的 我在注册表中查找这样的设置,我可以找到plotstamp的内容,但没有打开/关闭设置?

Eloquintet 发表于 2007-8-24 10:20:18

你是怎么发现的 我在注册表中查找这样的设置,我可以找到plotstamp的内容,但没有打开/关闭设置
我有我的方法
我刚刚搜索了PLOTSTAMP,当我看到REG\u DWORD设置时,我想我找到了什么 所以我打开图章,跳回注册表,刷新它,是的 设置从0更改为1。

Eloquintet 发表于 2007-8-24 10:23:14

我想我放弃得太快了;这正是我想要的 既然我们现在知道它在哪里,如果有人感兴趣,我有一个VBA解决方案

Eloquintet 发表于 2007-8-24 10:24:47


您是使用注册表类来更改设置还是有对某个文件的引用 只是好奇。

Eloquintet 发表于 2007-8-24 10:34:43

这是我用来创建自定义键的注册表代码 也可以对其进行修改以更改打印戳记键 我得到了个人资料的名字,但哈文't尚未找到版本密钥 一旦我得到它,我也可以更新该密钥 无论如何,这是我的注册码Sub Create3dTepRegValues()' Must add reference to Windows Script Host Object Model
      Dim scrpt As New WshShell
      Dim DataVal As String
      Dim regKey As String
      regKey = "HKEY_CURRENT_USER\Software\Autodesk\Tep3D\VoltageClass"
      scrpt.RegWrite regKey, 138
      regKey = "HKEY_CURRENT_USER\Software\Autodesk\Tep3D\InsulatorType"
      scrpt.RegWrite regKey, 1
      regKey = "HKEY_CURRENT_USER\Software\Autodesk\Tep3D\ConnectionType"
      scrpt.RegWrite regKey, 1
      regKey = "HKEY_CURRENT_USER\Software\Autodesk\Tep3D\HighBus"
      scrpt.RegWrite regKey, 162
      regKey = "HKEY_CURRENT_USER\Software\Autodesk\Tep3D\LowBus"
      scrpt.RegWrite regKey, 90
      regKey = "HKEY_CURRENT_USER\Software\Autodesk\Tep3D\BusHighLow"
      scrpt.RegWrite regKey, 1
      regKey = "HKEY_CURRENT_USER\Software\Autodesk\Tep3D\PhaseSpacing"
      scrpt.RegWrite regKey, 120
End Sub
Function getRegVal(DataVal As String) As String
      Dim scrpt As New WshShell
      getRegVal = scrpt.RegRead(DataVal)
End Function
Function setRegVal(regKey As String, DataVal As String) As String
      Dim scrpt As New WshShell
      scrpt.RegWrite regKey, DataVal
End Function 最后两个函数是我的GET/SET函数,我可以从其他模块调用

Eloquintet 发表于 2007-8-24 10:36:16

必须添加对Windows脚本主机对象模型的引用。请注意,您的(vlax产品密钥)是我需要的VBA解决方案。
页: [1] 2
查看完整版本: 如何确保打印和发布时plotstamp始终处于打开状态