使用 C# 实现 Catia V5 自动化
Use C# for Catia V5 Automation
我想用 C# 编程语言为 Catia V5 编写 Macros/Programs。
如何通过 c#(和 Visual Studio)访问 Catia 应用程序。我搜索了一下,发现 Catia 提供了一个 API,Microsoft COM Technologie 为 'COM-languages' 提供了一个像 c# & python.
这就是我对 C# 程序和 Catia 之间 connection/interaction 的想象:
C# - .NET <-双向集成-> COM <-> Catia API
对吗?
另外:如何设置 Visual Studio 中的所有内容,以便我可以访问 Catia API(以及代码完成等)
1) 在引用中添加 INFITF
typelib 库,它是 CATIA 应用程序的接口
2) 将 CATIA 定义为全局变量
INFITF.Application CATIA;
3) 将 catia 应用程序绑定到您的 CATIA
变量,如下语句
CATIA = (INFITF.Application)Marshal.GetActiveObject("Catia.Application");
希望这对您入门有所帮助。
你可以这样做:
- 在引用中添加
INFITF
typelib 库,它是 CATIA 应用程序的接口
INFITF.Application CATIA;
- 在里面创建按钮;例如。,
Private void buttonX(object sender, EventArgs e){
CATIA.Visible = true;
}
- 添加对 CSProj 的引用:
根据 Selin Raja M 的建议;您必须“在引用中添加 INFITF 类型库,这是 CATIA 应用程序的接口(CATIA V5 InfInterfaces 对象库)”。
只需遵循:项目 --> 参考 --> 添加 ---> COM --> CATIA V5 InfInterfaces 对象库
绑定 CATIA 应用程序并在 CSProj 中使用
using INFITF;
namespace SampleCatiaProj
{
public class LoadDocumentClass
{
public static INFITF.Application CATIA;
public bool LoadDoc()
{ CATIA =
INFITF.Application)Marshal.GetActiveObject("CATIA.Application");
CATIA.Visible = true;
CATIA.DisplayFileAlerts = true;
ProductStructureTypeLib.ProductDocument oRootProductDocument;
oRootProductDocument = (ProductStructureTypeLib.ProductDocument)CATIA.ActiveDocument;
// Some code goes here
// Keep on adding code as per CATIA V5 automation API
return true;
}
}
}
练习方案参考这个link
我想用 C# 编程语言为 Catia V5 编写 Macros/Programs。
如何通过 c#(和 Visual Studio)访问 Catia 应用程序。我搜索了一下,发现 Catia 提供了一个 API,Microsoft COM Technologie 为 'COM-languages' 提供了一个像 c# & python.
这就是我对 C# 程序和 Catia 之间 connection/interaction 的想象:
C# - .NET <-双向集成-> COM <-> Catia API
对吗?
另外:如何设置 Visual Studio 中的所有内容,以便我可以访问 Catia API(以及代码完成等)
1) 在引用中添加 INFITF
typelib 库,它是 CATIA 应用程序的接口
2) 将 CATIA 定义为全局变量
INFITF.Application CATIA;
3) 将 catia 应用程序绑定到您的 CATIA
变量,如下语句
CATIA = (INFITF.Application)Marshal.GetActiveObject("Catia.Application");
希望这对您入门有所帮助。
你可以这样做:
- 在引用中添加
INFITF
typelib 库,它是 CATIA 应用程序的接口 INFITF.Application CATIA;
- 在里面创建按钮;例如。,
Private void buttonX(object sender, EventArgs e){ CATIA.Visible = true; }
- 添加对 CSProj 的引用:
根据 Selin Raja M 的建议;您必须“在引用中添加 INFITF 类型库,这是 CATIA 应用程序的接口(CATIA V5 InfInterfaces 对象库)”。 只需遵循:项目 --> 参考 --> 添加 ---> COM --> CATIA V5 InfInterfaces 对象库
绑定 CATIA 应用程序并在 CSProj 中使用
using INFITF; namespace SampleCatiaProj { public class LoadDocumentClass { public static INFITF.Application CATIA; public bool LoadDoc() { CATIA = INFITF.Application)Marshal.GetActiveObject("CATIA.Application"); CATIA.Visible = true; CATIA.DisplayFileAlerts = true; ProductStructureTypeLib.ProductDocument oRootProductDocument; oRootProductDocument = (ProductStructureTypeLib.ProductDocument)CATIA.ActiveDocument; // Some code goes here // Keep on adding code as per CATIA V5 automation API return true; } } }
练习方案参考这个link