• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Как получить габариты детали?

Автор А8208, 14.10.11, 11:05:08

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Lemieux

Цитата: Kilia от 25.04.25, 16:28:28подскажете как?
Вот так я сделал, можно получить угол поворота.

IFeature7 feature7 = part.Owner;
object[] features = feature7.SubFeatures[ksTreeTypeEnum.ksMultiTree, true, false];
IBodyReposition bodyReposition = features[10] as IBodyReposition;
ILocalCoordinateSystem localCoordinateSystem = bodyReposition.Position;
ILocalCSEulerParam eulerParam = localCoordinateSystem.LocalCSParameters as ILocalCSEulerParam;
+ Благодарностей: 1

Lemieux

Но вообще, так делать неправильно, как делаете Вы. Внутри пространства модели модель не должна принимать углы поворота не кратные 90. Она должна вращаться только в родительских пространствах.

Lemieux

Конечно тупо, что я могу "ручками" повернуть ЛСК, но при этом не могу узнать угол поворота через API  :laugh:

Kilia

Цитата: Lemieux от 25.04.25, 16:40:00Но вообще, так делать неправильно, как делаете Вы. Внутри пространства модели модель не должна принимать углы поворота не кратные 90. Она должна вращаться только в родительских пространствах.

Изначально цель получить габарит элемента(тела) в сборке. Тело - элеимент библиотеки. металлоконструкций, и он может быть повернут как угодно относительно СК. Этим телам я вставляю ЛСК так чтобы длинная сторона тела была Y, а X - перпендикулярен наибольшей плоскости тела.
И вроде все норм, т.е. в большинстве случаев например для двутавра плоскость Y0Z смотри на стенку (площадь стенки без скруглений) больше площади полки.
Но бывают двутавры, у которых площадь полок больше площади стенки без скруглений, но при этом высота двутавра больше чем полка.
И вот для таких случаев хотел определять габарит тела и в зависимости от того где высота а где ширина - поворачивать ЛСК.
Интересно есть ли способ определить у тела, полученного библиотекой Металлоконструкции, где у него высота сечения а где ширина. Или может можно до ЛСК самого тела добраться?

Lemieux

Цитата: Kilia от 25.04.25, 18:32:04Тело - элеимент библиотеки. металлоконструкций, и он может быть повернут как угодно относительно СК.
Какой системы координат? Сборки или элемента?

Kilia

Цитата: Lemieux от 25.04.25, 19:20:19Какой системы координат? Сборки или элемента?
Сборки в которой вставлен. Вот что-то типа такого. Но сейчас профиль в плоскости Y0Z, но может и вообще не в плоскости системной СК

Lemieux

Я пощупал этот плагин. Я так и не понял как определять поворот "Тела", хотя приложение знает поворот. Походу это приложение очередной "продукт" АСКОН, которое использует внутренний API КОМПАС, при этом не имеет своего API.
+ Благодарностей: 1

Lemieux

Ещё пощупал данный плагин. Даю 99%, что этот плагин работает не с API КОМПАС, а с API C3D. Реализация днищенская. Металлоконструкцию можно построить хоть в сборке, хоть в детали. При разделке углов фантом строится моментально, подтверждение операции лаг 1.5 секунды. Короче, очередная поделка АСКОН. Походу у АСКОН со всеми плагинами к КОМПАС такая шляпа, что через стандартное API невозможно работать, а шаг влево, шаг вправо попытка побега. До этого у меня был опыт с КОМПАС-Электрик.

Если решите проблему, дайте знать.

Lemieux

Кстати. Из-за этого я и стал писать аналог КиЖ, потому что их приложение для кабелей и жгутов просто позор. Нерабочее, тормознутое, неудобное, вылетающее.