从支持的角度来看,是的,您仍然可以在AutoCAD中运行VBA代码,但Microsoft早在2007年就将其淘汰了,因此今天没有理由为新项目编写VBA代码。
是的。你必须权衡缩略图的损失与快速处理数百或数千张图纸的能力。我自己一点也不在乎缩略图。
我也是,但你说不出有些人会有什么反应。。 同样,我使用autocad 2010和64位,到目前为止VBA没有问题。
我必须承认我有点困惑,你们说VBA已经死了,但当我寻找VBA技巧时,我总是(或大多数时候)在这里找到它们。。。
也许VBA确实已经死了,但仍有很多人在使用它。我个人并不介意更改或学习新程序,但由于我的工作需要更多的工程设计而不是绘图,我正在努力寻找足够的时间来跟上Autocad新编程工具的步伐。
无论如何,除了VBA,我还没有找到任何允许我使用userforms(或windows)的应用程序。如果你知道任何方法,请让我知道,我当然想了解它。
谢谢Lee Mac的lisp代码,尽管我正在尝试解决的问题有点复杂,因为我在不同的打印机上打印布局以匹配格式。因此,我希望我的程序首先找到在旧设备上打印的布局,然后只更改在不同打印机上打印的其他布局。 您可以使用DCL创建对话框以使用LISP运行,许多其他语言也支持对话框创建。
VBA正逐步从AutoCAD中淘汰,因为Microsoft不再支持它,但确实有一些用户仍在使用它。
我不知道为什么这让人困惑。VBA在过去十年中一直与AutoCAD一起使用,因此当然这里和其他地方都会有提示,但这与该技术的当前状态或未来无关。
当然,人们可能还会继续使用它很多年,只要您使用支持它的AutoCAD版本,就没有问题。但是,随着时间的推移,预计许多其他用户会继续前进,这意味着世界各地的支持越来越少。我猜想今年春天,或者明年春天(AutoCAD 2011或2012),VBA将完全从AutoCAD中删除。
如果在64位运行程序时看不到速度差异,则您使用的程序不能太大。我的测试(以及其他测试)表明,速度大约慢了10倍,这是有意义的,因为代码是通过模拟器运行的,因为64位系统中不直接支持VBA。
我想不出任何一种语言不支持对话。Lisp。NET、C++/ARx都支持对话框。 我设法使我的程序按我想要的那样工作。实际上这很简单,我只需要使用一个宏将页面设置与VBA一起加载,然后将特定的页面设置分配给布局。它工作得很好。
我不知道DCL,我会调查的。
贝丹克! 尊敬的李:,
我尝试使用此代码。但我修改的代码可能有问题。
请帮我纠正一下。
<p>(defun c:P2PDF (DWG To PDF.pc3)</p><p>(vl-load-com)</p><p>;; Lee Mac~15.01.10</p><p> </p><p>(vlax-for lay (vla-get-layouts</p><p> (vla-get-ActiveDocument (vlax-get-acad-object)))</p><p> </p><p> (vla-RefreshPlotDeviceInfo lay)</p><p> </p><p> (if (vl-position (strcase DWG To PDF.pc3)</p><p> (mapcar (function strcase) (vlax-invoke lay 'GetPlotDeviceNames)))</p><p> </p><p> (vla-put-configname lay DWG To PDF.pc3)))</p><p> </p><p>(princ))</p><p>[\code]</p> 您需要“DWG To PDF.pc3”作为开始注释 亲爱的
我试过了,但失败了。我得到这个错误“错误:参数太少”
(defun c:P2PDF ("DWG To PDF.pc3")
(vl-load-com)
;; Lee Mac~15.01.10
(vlax-for lay (vla-get-layouts
(vla-get-ActiveDocument (vlax-get-acad-object)))
(vla-RefreshPlotDeviceInfo lay)
(if (vl-position (strcase "DWG To PDF.pc3")
(mapcar (function strcase) (vlax-invoke lay 'GetPlotDeviceNames)))
(vla-put-configname lay "DWG To PDF.pc3")))
(princ))
页:
1
[2]