После этого я хотел создать несколько тел, используя логические операции над этими телами.
Код: Выделить всё
private void button3_Click(object sender, EventArgs e)
{
PartDocument partDoc = (PartDocument)myCATIA.ActiveDocument;
Part part = partDoc.Part;
Body body1 = part.Bodies.Add();
Body body2 = part.Bodies.Add();
Body body3 = part.Bodies.Add();
body1.set_Name("A");
body2.set_Name("B");
body3.set_Name("C");
ShapeFactory shapeFactory = (ShapeFactory)part.ShapeFactory;
Body addNewAdd = shapeFactory.AddNewAdd(body1 ,body2);
}
Код: Выделить всё
ShapeFactory shapeFactory = (ShapeFactory)part.ShapeFactory;
Body addNewAdd = shapeFactory.*AddNewAdd*(body1 ,body2);
System.InvalidCastException: ''System COM-объект типа «ComObject» не удалось назначить типу интерфейса «PARTITF.Add». Эта операция не удалась, поскольку вызов QueryInterface в компоненте COM для интерфейса с IID «{80EBCA5F-B839-0000-0280-030BA6000000}» завершился неудачно со следующей ошибкой: Такой интерфейс не поддерживается (HRESULT возвратил исключение: 0x80004002 (E_NOINTERFACE)). '
Код: Выделить всё
ShapeFactory shapeFactory = (ShapeFactory)part.ShapeFactory;
ShapeFactory shapeFactory2 = (ShapeFactory)part.ShapeFactory;
Add addNewAdd = shapeFactory.AddNewAdd(body2);
Add addNewRemove = (Add)shapeFactory2.AddNewRemove(body1);
В общем, так и есть. Я просто хотел вот так в своем дереве:
ДЕРЕВО
Подробнее здесь: https://stackoverflow.com/questions/784 ... in-c-sharp