使用LISP runni创建表
下午好在我的工作中,有必要创建表格(BOM表),我已经用一些AutoLISP程序自动化了这个过程。
问题是,当我收集和组织完数据,到了实际绘制表格的时候,程序就永远无法完成任务。
例如,一个表有6列和可变行数。如果我创建它,比如说,10行,程序将运行得相当快,只需要几秒钟来绘制表格。
然而,如果我试图创建这个包含100(一百)行的表,那么程序需要40(四十)分钟才能完成任务!这在一定程度上取决于计算机硬件,但并不那么重要。
我用来创建表的方法是vla AddTable等。我首先创建一个具有最终行数和列数的空表,然后继续设置每个单元格的内容(始终是字符串)和单元格的类型(“数据”、“标题”或“标题”)。
如果必要的话,我可以在这里发布代码,但有点长,我觉得上面的解释应该足够清楚了。
所以我的问题是:为什么AutoCAD要花这么长时间来绘制表格?经过的时间与表的大小不成线性比例。为什么会这样?
我知道这个问题有一些解决方法(例如将表格绘制为分解文本和线条,或者将100行表格划分为20个5行表格,这些表格可以快速单独绘制),但我想在尝试以另一种方式解决问题之前更好地理解这个问题。
那么,以前有人遇到过这样的困难吗?有给我的提示吗?
我提前感谢你们的时间和兴趣! 我建议在修改表内容之前将RegeneratTableSupported属性设置为:vlax true,并在执行所有操作后将其设置回:vlax false。 好极了很有魅力,李!实际上,在两秒钟内创建了一个200行的表格。
你又一次救了我那些草率的程序!
非常感谢你!此主题现在可能已结束。 不客气,杰克
页:
[1]