Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
[ Закрыто] Как узнать куда направлена нормаль - внутрь или наружу, Вопросы, возникающие при вставке 3D фрагмента
 
Всем добрый день. Решается задача программной вставки 3D фрагмента. Прогаммно делается так:
1. Строится точка, в которой будет вставлен 3D фрагмент (например, отверстие)
2. В этой точке создается ЛСК, к которой он будет привязан
3. Вставляется фрагмент
4. Привязывается к построенной ЛСК
5. Вычитается из тела.

При построении ЛСК используется нормаль поверхности, на которой будет располагаться фрагмент, и оси Z присваивается значение этой нормали. А теперь вопрос, как узнать, куда направлена эта нормаль, внутрь или наружу тела?
Работа с ЛСК
 
Есть трехмерная сборка. Нужно получить доступ к ЛСК выбранного фрагмента.

ff - выбранный фрагмент



[CODE] var lcsMove = new MoveRotateTransformation(DocComp);
           lcsMove.Offset_X = 300;
           lcsMove.Offset_Y = 300;
           lcsMove.Offset_Z = 300;

                     
           var lcss = DocComp.GetLCSs();
           
           
           foreach (var l in lcss)
           {
               if (l.Name == lcsname)
               {
                   var lcs = l;
                   lcs.VolatileTransformations.Add(lcsMove);
               }
           }
           
           lcs.VolatileTransformations.Add(lcsMove);[/CODE]
Проблема в поиске имени ЛСК lcsname, к которой привязан фрагмент. Или же эту ЛСК можно как-то получить непосредственно из фрагмента?
Выбор 3D фрагментов в сборке
 
Подскажите пожалуйста. Есть такая задача. Есть какая-то последовательность вычислений, которые выполняются в коде (плагин на шарпе), затем пользователю предлагается выбрать необходимый фрагмент в сборке, он его выбирает и затем плагин продолжает работу с выбранным фрагментом (перемещает, задает параметры). Как реализовать именно выбор фрагмента?
Импорт параметрических моделей
 
Имеются трехмерные параметрические модели в формате dwg, выполненные в Mechanical Desktop. Можно ли импортировать их в T-Flex 11 с сохранением параметризации? Попытки передать их через step, iges, ipt не увенчались успехом.
Программа под T-Flex
 
Если честно, то пока даже не представляю, с какой стороны к решению проблемы можно подойти. Раньше была написана программа, которая работала под Mechanical Desktop. Что-то было реализовано в dll, написанной на c++, что-то через макрос на VBA (все, что касалось построений), и он же юзал функции этой dll. Было свое меню, которое подгружалось вместо меню Mechanical Desktop. В нем были как пользовательские команды, так и команды  Mechanical Desktop:

[CODE]***POP17
ID_KOMP   [Эскиз]
ID_ENEW [Создать...]^C^C-VBARUN vbtech.CM_NEW_ESKIZ
ID_EOPEN [Открыть]^C^C-VBARUN vbtech.CM_OPEN_ESKIZ
ID_EKOMP [Боковые приставки... Shift+W]^C^C-VBARUN vbtech.CM_ESKIZ

[--]
ID_DOP_OB [->Дополнительное оборудование ...]
ID_INS_OBOR [Вставить ...]^C^COsnapOff;-VBARUN datamod.run
ID_MOVE_OBOR        [Переместить]^C^C_move
ID_ROT_OBOR        [<-Повернуть]^C^C_rotate
ID_ZAPR_ZONE  [Отображать запретную зону ]^C^C-VBARUN MenuMod.checkZone
ID_SQUARE  [Вычислить площадь ]^C^C-VBARUN DataMod.countSquare
[/CODE]

Сейчас встал вопрос о создании чего-то подобного для T-Flex. Как можно удобнее это сделать? Может есть какая более подробная документация?
Макрос для вставки 3D-фрагмента, проблема со вставкой фрагмента
 
Всем доброго времени суток!
При создании сборки с помощью макроса из параметрических 3D-фрагментов возникла проблема. Параметры фрагмента удается поменять программно. А вот как этот фрагмент вставить в заданную точку с нужным поворотом, а не в точку 0,0,0, как он это делает по умолчанию?
Изменено: Вика Зданович - 30.07.2012 10:24:11
Страницы: 1