Если нет, то как "вытащить" центр тяжести плоского face?Вытащить нельзя. Можно только рассчитать...
Вытащить нельзя. Можно только рассчитать...Жаль. А нельзя ли получить копию геометрии плоского face в виде region?
О каком Face идёт речь?Вытащить нельзя. Можно только рассчитать...Жаль. А нельзя ли получить копию геометрии плоского face в виде region?
О каком Face идёт речь?Autodesk.AutoCAD.BoundaryRepresentation.Face
Есть Autodesk.AutoCAD.DatabaseServices.Face и есть Autodesk.AutoCAD.BoundaryRepresentation.Face
Прямого метода преобразования нет. Тебе нужно получить все Loop'ы этого Face, затем на основе их построить Polyline'ии и из их коллекции получить Region. Если это конечно получится.О каком Face идёт речь?Autodesk.AutoCAD.BoundaryRepresentation.Face
Есть Autodesk.AutoCAD.DatabaseServices.Face и есть Autodesk.AutoCAD.BoundaryRepresentation.Face
Тебе нужно получить все Loop'ы этого Face, затем на основе их построить Polyline'ии и из их коллекции получить Region.А что имеется в виду под "затем на основе их построить Polyline'ии"?
А что имеется в виду под "затем на основе их построить Polyline'ии"?Создать Polyline по коллекции точек, полученной из Face.
Тебе нужно получить все Loop'ы этого Face, затем на основе их построить Polyline'ии и из их коллекции получить Region. Если это конечно получится.Я правильно понимаю, что, если Face имеет, например, геометрию кольца, то предложенным способом решить проблему не получится?
Почему? Ты скорее всего получишь два Loop - один внутренний и один наружный.Тебе нужно получить все Loop'ы этого Face, затем на основе их построить Polyline'ии и из их коллекции получить Region. Если это конечно получится.Я правильно понимаю, что, если Face имеет, например, геометрию кольца, то предложенным способом решить проблему не получится?
Почему? Ты скорее всего получишь два Loop - один внутренний и один наружный.Да, но как я пойму, что этот Loop - окружность?
А зачем тебе понимать что это окружность? Возьми создай соответствующий 3DSolid (я так понимаю, что это что-то типа тора) и посмотри что получится.Почему? Ты скорее всего получишь два Loop - один внутренний и один наружный.Да, но как я пойму, что этот Loop - окружность?
А зачем тебе понимать что это окружность? Возьми создай соответствующий 3DSolid (я так понимаю, что это что-то типа тора) и посмотри что получится.Что-то я совсем тебя не понял... Давай, сначала:
если Face это окружность, то из Loop я могу достать только одну точку - центр окружностиТы это проверил или так думаешь?
Ты это проверил или так думаешь?Проверил на круглом сечении. В окне "Locals" VS у единственной Loop есть только один Vertecies - точка на окружности (даже не центр).
Тогда попробуй через свойство Edges - у каждого Edge есть свойство Curve (класс Autodesk.AutoCAD.Geometry.Curve3d), которое можно преобразовать в Curve ( Autodesk.AutoCAD.DatabaseServices.Curve )Ты это проверил или так думаешь?Проверил на круглом сечении. В окне "Locals" VS у единственной Loop есть только один Vertecies - точка на окружности (даже не центр).
Тогда попробуй через свойство Edges - у каждого Edge есть свойство Curve (класс Autodesk.AutoCAD.Geometry.Curve3d), которое можно преобразовать в Curve ( Autodesk.AutoCAD.DatabaseServices.Curve )Так тоже не получилось (может быть что-то не то делал). Зато придумал, как можно решить задачу по-другому. Нужно не пытаться преобразовать Face в Region, а извлечь в том же месте сечение солида - и сразу получаешь нужный Region. Вот фрагмент кода: