【发布时间】:2018-02-07 21:51:48
【问题描述】:
我想在 CATIA 中搜索树,并使用 C# 返回树中部件的名称。我目前的代码如下:
private void Search(object sender, EventArgs e)
{
string searchName = OriginalBox.Text;
string name;
INFITF.SelectedElement part;
//CATIA.StartCommand("Search");
try
{
Sel.Search("Name=" + searchName + "*, all");
for (int i = 1; i <= Sel.Count; i++)
{
part = Sel.Item(i);
name = part.get_Name();
MessageBox.Show(i.ToString() + " : " + name);
}
}
catch (IOException ex)
{
if (ex.Source != null)
MessageBox.Show(ex.Source);
throw;
}
}
消息框显示“CATIASelectedElement45”。我收到消息“错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。”将 Sel.Item(i) 分配给零件时。
如何使用 Selection.Search 访问部件名称?
【问题讨论】:
-
您不是在寻找零件,而是在寻找任何东西。如果您只想查找部分,请将您的搜索字符串限制为该类型。您应该尝试使用交互式编辑 + 搜索命令。它使用和显示(几乎)与自动化 API 中的 Slection.Search 方法相同的搜索字符串。