乐筑天下

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

[编程交流] 更改mu的打印机名称

[复制链接]

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:09:21 | 显示全部楼层 |阅读模式
我已经搜索了很长时间,没有找到我要找的,我知道你们有一个简单的答案。我们已经改变了我们的打印机命名约定,我(我们)需要更新大约10000张图纸。我们有4个默认打印机名称,需要逐步完成每个布局,并用新的打印机名称替换旧的打印机名称。
我并不是要创建一个lsp路由,我们可以在启动时添加/运行它,只是根据需要更新所有的布局。
最终,我们将把它合并到一个脚本中,解析目录中的所有文件,并让它们运行。
现在,当我们打开现有图纸时,我们将满足于手动过程
谢谢你的帮助
回复

使用道具 举报

1

主题

96

帖子

101

银币

初来乍到

Rank: 1

铜币
3
发表于 2022-7-6 09:32:34 | 显示全部楼层
您可以创建一个将所有新打印机设置为不同页面设置的图形,然后通过publish命令导入这些图形。一旦将所有图形加载到“发布”对话框中,点击页面设置/三维dwf下设置的默认页面旁边的小箭头,选择“导入”,然后选择具有所有新页面设置的图形,它将加载所有图形,然后您只需选择适当的设置,如果您选择了所有图形,它将把该页面设置应用于您正在发布的所有图形,但遗憾的是,它不会为您更改图形的默认页面设置。
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:35:24 | 显示全部楼层
谢谢你的帮助-我不熟悉发布过程,我们这里不使用它。我已经开始了lsp程序,这就是我现在的位置。
 
我是新手,我们开始吧
 
  1. (defun UpdatePlotDevice_AllLayouts (DvcNme)
  2. ; Created by C McMurtry & K Garcia
  3. ; 7/2011
  4. (GETPLOTDEVICES) ;List layout and plot devices before update
  5. (foreach lay (layoutlist) : Loop through Layout List
  6. (setvar "CTAB" lay)
  7. (command "psltscale" "0") ;Set PTSCALE REI Std
  8. ( If (= “Canon_PCL” DeviceName) ; Update Plotter Names
  9. (Set Device Name = “Engineering Printer”))
  10. ( If (= “Xerox 8825” DeviceName)
  11. (Set Device Name = “Engineering Wide Format Printer”))
  12. ( If (= “HP Laserjet 6P” “Local Printer”)
  13. (Set Device Name = “Engineering Printer”))
  14. ( If (= “Canon_PCL” DeviceName)
  15. (Set Device Name = “Engineering Printer”))
  16. ) ; End of Loop
  17. (GETPLOTDEVICES) ;List layout and plot devices after update
  18. (defun GetPlotDevices (/ dvc)
  19. (vl-load-com)
  20. ;; Lee Mac ~ 26.02.10
  21. (vlax-map-collection
  22. (vla-get-layouts
  23. (vla-get-ActiveDocument
  24. (vlax-get-acad-object)))
  25. (function
  26. (lambda (layout)
  27. (vla-RefreshPlotDeviceInfo layout)
  28. (setq dvc
  29. (cons
  30. (cons
  31. (vla-get-name layout)
  32. (vla-get-ConfigName layout)) dvc)))))
  33. (reverse dvc))
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:49:48 | 显示全部楼层
您好,FLEXIFOAT,
 
尝试一下:
 
假设新设备名称有效-如有必要,可以使用getplotdevicenames方法获取布局的可用设备名称列表。
 
我注意到符号“[ASCII 147]和”[ASCII 148]出现在您的代码中。这些不是有效的字符串标记,应替换为“(ASCII 34)。我强烈建议您使用AutoCAD提供的Visual LISP IDE来编写代码(或其他代码编辑器,如Notepad++),如果您还没有这样做,因为此类编辑器将提供语法高亮显示,允许您轻松发现上述无效字符的使用。
 
此外,Visual LISP IDE为LISP提供了出色的调试功能,并可以直接访问帮助文档。我已经写了一些短小的教程,让初学者开始,这些可以在这里找到。
 
我希望这有帮助,
 
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 09:57:35 | 显示全部楼层
我确信我看到了一个变化,打印机读取一个dwg文件,并设置当前我试图找到。也许在Lakose的例子中
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:19:18 | 显示全部楼层
谢谢大家的帮助。
 
我已经修改/定制了Lee Mac的代码snipet——正如我所料,这是一个很大的帮助。
 
我们下一步将强制对目录中的一组图形运行此操作,但这是另一天的任务。
 
当我们打开每个图形并运行GetPlotDevices以验证图形是否已更新时,我们已将此功能添加到自动加载中,如果未更新,则简单的UPDPlotsTD将使我们达到当前的绘图仪/设置标准。
 
以下是我们在绘图启动时看到的内容:
 
加载绘图更新例程UpdPlotStds。lsp。
UPDPlotstd已加载
 
应用程序将加载2个模块
***UpdPlotStds***用于更新绘图仪名称和psltscale
***GetPlotDevices***用于列出带有布局选项卡的绘图仪名称
 
(“布局1”“HP LaserJet 6P”)(“型号”“HP LaserJet 6P”))
命令:命令行
命令:
命令:
 
 
 
我还附上了修改后的脚本在这里,非常感谢大家的建议和帮助。
 
 
  1. 2
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 05:18 , Processed in 0.378429 second(s), 64 queries .

© 2020-2025 乐筑天下

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