明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 447|回复: 4

获取当前CAD实例对应cad的安装目录

[复制链接]
发表于 2025-6-9 09:35:51 | 显示全部楼层 |阅读模式
本帖最后由 smartplot 于 2025-6-9 09:38 编辑

如题,我想获取目录用于通过反射调用com,请大家给看一下还有更简洁稳定的办法吗?

  1.       public static string? GetCADInstallDirectory()
  2.         {
  3.             // 获取 CAD 主程序路径
  4.             string executablePath = System.Reflection.Assembly.GetAssembly(typeof(Autodesk.AutoCAD.ApplicationServices.Application)).Location;
  5.             System.IO.FileInfo fileInfo = new System.IO.FileInfo(executablePath);
  6.             return fileInfo.Directory?.FullName;
  7.         }
复制代码


回复

使用道具 举报

发表于 2025-6-9 18:28:39 | 显示全部楼层
本帖最后由 你有种再说一遍 于 2025-6-9 19:39 编辑

为什么要反射com?
要获取全部cad路径?那么为什么不遍历注册表?
要获取当前进程exe路径?那么为什么通过c#各种获取路径的文章.

https://www.cnblogs.com/JJBox/p/10214582.html

https://www.cnblogs.com/JJBox/p/11381254.html

回复 支持 反对

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层
你有种再说一遍 发表于 2025-6-9 18:28
为什么要反射com?
要获取全部cad路径?那么为什么不遍历注册表?
要获取当前进程exe路径?那么为什么通过c# ...

谢谢,这样简单多了
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
你都有Autodesk.AutoCAD.ApplicationServices.Application了,那直接就拿他上面的com对象就可以开始反射了,还获取路径干什么
回复 支持 反对

使用道具 举报

发表于 昨天 23:17 | 显示全部楼层
获取安装目录
IO.Path.GetDirectoryName(Application.DocumentManager.MdiActiveDocument.GetType.Assembly.Location)

获取acad.exe完整路径
IO.Path.Combine(IO.Path.GetDirectoryName(Application.DocumentManager.MdiActiveDocument.GetType.Assembly.Location), "acad.exe")
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-6-17 07:11 , Processed in 0.160503 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表