auto lisp从图纸中检索项目名称

时间:2015-06-02 20:24:54

标签: autocad autolisp

我有一个硬盘崩溃的客户端。我能够恢复数据,但只能在枚举文件中,没有日期,大小或任何类型的命名方案。这些是来自autocad的绘图文件,实际上有成千上万的这些文件。图纸确实有标题栏,但手工打开和重命名,这需要一个世纪。有没有人知道我可以用来打开图纸并从标题栏中获取文本的lisp?我已经尝试过自己,但却悲惨地失败了。

1 个答案:

答案 0 :(得分:0)

如果你需要的文字总是在绝对坐标和可能的图层/文字样式/文字高度等的相同位置,你可能仍然有机会。

您可以遵循以下类型的模式:

  1. 打开文档,
  2. 缩放范围,
  3. 使用边界或交叉选择窗口选择给定您需要搜索的坐标的所有文本实体
  4. 循环返回的选择集(可能将文本字符串的内容与正则表达式进行比较以进行验证),
  5. 如果值正确,则提取值
  6. 将当前文件名和提取的文本值存储在CSV,XML,XLS文件中
  7. 关闭文档,
  8. 重复。
  9. 这将为您提供包含当前名称和所需名称的所有文档的完整列表。在检查重复,错误或任何其他问题后,可以很容易地用Excel VBA(或其他语言)编写函数来根据需要重命名每个文件。