Доброго времени суток, уважаемые форумчане. Помогите пожалуйста разобраться в вопросе! Пытаюсь наложить совмещение на две точки, концы двух линий. Выдает ошибку.
public void Error()
{
PartDocument oDoc = (PartDocument)oApp.Documents.Add(DocumentTypeEnum.kPartDocumentObject);
PartComponentDefinition oCD = oDoc.ComponentDefinition;
PlanarSketch sketch = oCD.Sketches.Add(oCD.WorkPlanes[1]);
TransientGeometry oTG = oApp.TransientGeometry;
SketchLine line1 = sketch.SketchLines.AddByTwoPoints(oTG.CreatePoint2d(1, 1), oTG.CreatePoint2d(2, 2));
SketchLine line2 = sketch.SketchLines.AddByTwoPoints(oTG.CreatePoint2d(-1, -1), oTG.CreatePoint2d(-2, 2));
sketch.GeometricConstraints.AddCoincident((SketchEntity)line1.StartSketchPoint, (SketchEntity)line2.StartSketchPoint);
// можно, конечно, вот так заморочиться
// sketch.GeometricConstraints.AddCoincident((SketchEntity)line1.StartSketchPoint, (SketchEntity)line2);
// sketch.GeometricConstraints.AddCoincident((SketchEntity)line1, (SketchEntity)line2.StartSketchPoint);
}
Единственная возможность выполнить задачу, которую я отыскал, попарно совместить концы отрезков с линиями (см. закомментированный код).
И вроде бы кучу времени уже потратил, и вроде как можно на одну строку больше писать, или обернуть во что-то и дальше двигаться! Но не могу успокоиться, вот прям разобраться хочу: это я что-то не так делаю? Или все-таки под капотом пользовательского интерфейса происходит именно совмещение точек с отрезками, когда мы как бы "совмещаем две точки"? Есть идеи?