在 AutoCAD Maps 3D 2021 中批量处理多组 *.shp 文件

问题描述

我是批处理文件和 AutoCAD 脚本的新手,所以此时我很好奇我建议的路径是否有意义,或者是否有更好的方法来做到这一点。

基本上我在这个结构中有一组 *.shp 文件

*Parent\SiteA\SiteA.shp
*Parent\SiteA\Shape1.shp
*Parent\SiteA\Shape2.shp
*Parent\SiteB\SiteB.shp
*Parent\SiteB\Shape1.shp
*Parent\SiteB\Shape2.shp

...等,适用于数百个站点。我想要做的是打开一个图形,从站点文件夹加载所有 *.shp 文件,将图形另存为 *.dwg,关闭图形,然后移动到下一个站点文件夹。

我不太关心速度,所以我目前正在考虑这样的事情:

  1. Parent 中的批处理文件寻找 Site#.shp
  2. 找到 Site#.shp 后,批处理文件会将 AutoCAD Maps 打开为空白 *.dwg 并执行脚本
  3. 该脚本是一个 -MAPIMPORT 列表,用于打开 Site#.shp 和任何其他 Shape1.shp 或 Shape2.shp 文件(Shape#.shp 都是已知名称,Site#.shp 更改)。
  4. 导入完成后,*.dwg 将保存在 Site# 文件夹中。
  5. AutoCAD 关闭(可选)
  6. 批处理文件寻找下一个 Site#.shp 文件,重复。

这样的事情让我可以在相应的子目录中找到所有 Site#.shp 文件

FOR /f %%i IN ('dir /b /s "c:\Parent\Site*.shp"') DO echo %%i >> list.txt

但我不确定在我的脚本中在 ACAD 中识别一次 Site# 有多么容易。也许与文件路径有关?

我不是每晚都运行这个或任何东西,所以如果从 ACAD 地图的打开实例中运行它更有意义,我当然可以这样做,也许可以简化步骤 2 和 5。或者,如果有更好的方法解决这个问题,我很感兴趣。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...