【问题标题】:auto lisp to retrieve project names from drawings自动 lisp 从图纸中检索项目名称
【发布时间】:2015-08-16 19:48:08
【问题描述】:

我有一个客户的硬盘坏了。我能够恢复数据,但只能在枚举文件中,没有日期、大小或任何类型的命名方案。这些是来自 AutoCAD 的绘图文件,实际上有数以万计的这些文件。这些图纸确实有标题栏,但要手动打开和重命名,这需要一个世纪。有谁知道我可以用来打开图纸并从标题栏中获取文本的 lisp 吗?我尝试过自己,但失败得很惨。

【问题讨论】:

  • 标题栏有文字或属性数据吗?
  • 还有你所说的“检索”是什么意思...你想把它们保存在某个地方吗?
  • 文本没有属性,我认为这是问题所在。我想命名标题栏中的文件。谢谢你的回复。

标签: autocad autolisp


【解决方案1】:

如果您需要的文本基于绝对坐标和可能的图层/文本样式/文本高度等始终位于同一位置,您可能仍有机会。

您可以遵循这种模式:

  1. 打开文档,
  2. 缩放范围,
  3. 在给定坐标的情况下,使用边界或交叉选择窗口选择所有文本实体,
  4. 循环通过返回的选择集(可能将文本字符串的内容与正则表达式进行比较以进行验证),
  5. 如果位置正确,则提取该值,
  6. 将当前文件名和提取的文本值存储在 CSV、XML、XLS 文件中,
  7. 关闭文档,
  8. 重复。

这将为您提供包含当前名称和所需名称的所有文档的完整列表。在检查它是否存在重复、错误或任何其他问题后,可以很容易地用 Excel VBA(或其他语言)编写一个函数来根据需要重命名每个文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多