Перейти к публикации

Как создать массив?


IBV

Рекомендованные сообщения

Коллеги,

подскажите как сделать?

Мне нужно, создать массив по кривой. Копировать нужно тело, что на картинке справа.

Ограничения:

Копировать тело нужно вращая вокруг оси цилиндра на какой-то угол (скажем 5 градусов) и соответственно перемещая его вдоль прямой.

Т.е. в каждая копия должна находтся в положении, когда красная грань тангенциальна образующей поверхности цилиндра, а зелёная грань параллельна его торцу.

Подчёркиваю - интересно узнать как это сделать в UG, пользователей других систем прошу не беспокоить.

post-76-1288970153_thumb.png

Ссылка на сообщение
Поделиться на других сайтах


Коллеги,

подскажите как сделать?

Мне нужно, создать массив по кривой. Копировать нужно тело, что на картинке справа.

Ограничения:

Копировать тело нужно вращая вокруг оси цилиндра на какой-то угол (скажем 5 градусов) и соответственно перемещая его вдоль прямой.

Т.е. в каждая копия должна находтся в положении, когда красная грань тангенциальна образующей поверхности цилиндра, а зелёная грань параллельна его торцу.

Подчёркиваю - интересно узнать как это сделать в UG, пользователей других систем прошу не беспокоить.

Сделать можно с помощью модуля KBE

Ссылка на сообщение
Поделиться на других сайтах

Сделать можно с помощью модуля KBE

не просветите как? ещебы и файлик глянуть.....сталкивался с подобной задачей но так и не допер как это сделать в ежике.

Спасибо.

Ссылка на сообщение
Поделиться на других сайтах

.... создать массив по кривой ...

... пользователей других систем прошу не беспокоить.

Очень интересная задачка. Весь в нетерпении.

Про другие системы молчу как рыба об лед, (сам пока не решил), но надеюсь уважаемый BSV1 выложит в параллельной ветке иэящное решение.

Ссылка на сообщение
Поделиться на других сайтах

Коллеги,

подскажите как сделать?

Мне нужно, создать массив по кривой. Копировать нужно тело, что на картинке справа.

Ограничения:

Копировать тело нужно вращая вокруг оси цилиндра на какой-то угол (скажем 5 градусов) и соответственно перемещая его вдоль прямой.

Т.е. в каждая копия должна находтся в положении, когда красная грань тангенциальна образующей поверхности цилиндра, а зелёная грань параллельна его торцу.

Подчёркиваю - интересно узнать как это сделать в UG, пользователей других систем прошу не беспокоить.

Сейчас UG под рукой нет

1) Адаптировать кривую чтобы получить к ней доступ в KBE

2) В навигаторе KBE создать аттрибут или несколько аттрибутов в виде списков где собрать данные необходимые для построения класса nx_block или ug_block - требуемые данные снять с кривой

3) Создать массив из nx_block и подставить туда значения из аттрибутов

Все пункты кроме 1 делаются исключительно через навигатор KBE

Как создать простейший массив

Откройте навигатор KBE

Выберете иконку Adopt exeist object и выберете кривую - наблюдайте что после адаптирования

кривая появится в навигаторе

Выберете в навигаторе корневой элемент root и нажмите правую кнопку мыши

Вывалится список

Add Attribute

В качестве name зададим n в качестве типа Integer

В поле Formula зададим 20

Это будет число точек на сплайне

Создадим еще один аттрибут c именем prop типа List

В поле формула введем ug_curve_askProperties()

Расположем курсор точно между скобок

В навигаторе встанем на нашу кривую которую адаптировали

Нажмем правую кнопку мыши и выберем Reference

ug_curve_askProperties( ug_spline_thru: );

Результат будет примерно таким

Данная функция возвращает List у которого 3 и 4 элементы являются стартовым и конечным параметром кривой

Создадим еще один аттрибут с именем pts типа List в котором насчитаем точки вдоль кривой количеством n

В поле формула зададим

For $a From 0 To n: By 1;

Append { ug_curve_askPointOnCurve(

ug_spline_thru:,

$a*(nth(4, prop:)-nth(3, prop:))/(n:) )

};

};

Здесь $a*(nth(4, prop:)-nth(3, prop:))/(n:) - формула для расчета параметра

где nth - функция которая вазвращает элемент списка

Append дабовляет слемент в список формируемый циклом For

Для создания массива блоков

В навигаторе встаем на элемент root

По правой кнопке мыши выбираем Add Child List Rule

В name filter выбираем класс nx_block

Редактируем требуемые поля как минимум нужно отредактировать

quantity

origin

Для ссылки на порядковый номер nx_block используется имя index:

Не забывать нажимать на зеленую галочку при редактировании аттрибутов nx_block

Все

Ссылка на сообщение
Поделиться на других сайтах

Сейчас в NX6, появилась новая команда Move, которая как раз и решает

подобные задачи.

Сам не пользовался. Если IBV выложит файл - постараюсь сделать.

Ссылка на сообщение
Поделиться на других сайтах

nut888

Спасибо. Правда пока не очень понятно, но нужно попробовать разобраться. У меня такие работы могли бы повторяться, если научиться их нормально и быстро делать.

IgP

Сейчас в NX6, появилась новая команда Move, которая как раз и решает

подобные задачи.

"Сейчас" - это какая версия имеется в виду?

Сам не пользовался. Если IBV выложит файл - постараюсь сделать.

Если будет получаться, сделайте пожалуйста поворот чере 3 градуса, ладно?

Shnek_H-1.zip

Ссылка на сообщение
Поделиться на других сайтах

А где в нём такое чудо? Не нашёл.

Главное меню->Edit->Move Object...

чтобы сейчас (начиная с NX6) найти любую команду (где она находится)

пользуйтесь "Command Finder" Главное меню->Help->Command Finder

но и это может не помочь ....

так как интерфейс у NX можно настроить как угодно.

но я задачку решил с помощью "Instance Geometry"

Главное меню->Insert->Associative Copy->Instance Geometry

к сожалению с угловым шагом не получается.....

Ссылка на сообщение
Поделиться на других сайтах

IgP

К сожалению это не то.

Кстати, частично эта задача решена в SW. Там есть инструмент "вырезание телом". Но то работает, то не работает...

Но так, как в вашем файле - сделает точно.

Ссылка на сообщение
Поделиться на других сайтах

IgP

К сожалению это не то.

А что не то?

Шаг не по углу (3 град.) ?

Ориентация не та ?

или что-то другое ?

Интересная задачка ....

Ссылка на сообщение
Поделиться на других сайтах

А что не то?

1. Профиль канавки у меня не круглый. Это важно, но не очень.

2. Ширина профиля канавки у меня намного больше и местами она БОЛЬШЕ ШАГА ВИТКА.

3. Шаг - не принципиально, но хотелось бы ближе к требуемуму.

4. У вас размножен контур, а не тело. Я пробовал с телом - получается ерунда. Попробуйте размножить тело в моём файле.

Ссылка на сообщение
Поделиться на других сайтах

1. Профиль канавки у меня не круглый. Это важно, но не очень.

2. Ширина профиля канавки у меня намного больше и местами она БОЛЬШЕ ШАГА ВИТКА.

3. Шаг - не принципиально, но хотелось бы ближе к требуемуму.

Честно говоря мало, что понял ...

если же в результате должен получиться шнек, подобный тому

как в мясурбках, так для этого надо другие инструменты NX использовать.

4. Попробуйте размножить тело в моём файле.

так ведь размножил ...? в файле Shnek.zip - два файла, один мой чисто для примера,

другой Ваш, с размноженным телом,

да там нет выполнения углового шага (3 град.)

и в конце винтовой линии ориентация тела относительно цилиндра,

по крайней мере "непонятная" для меня.

но здесь возможны вар-ты:

- либо это из-за линии (она изначально из 4-х кусочков)

- а может так и должно быть

- может и я что-то пока не догоняю ......

Ссылка на сообщение
Поделиться на других сайтах

Коллеги,

подскажите как сделать?

Мне нужно, создать массив по кривой. Копировать нужно тело, что на картинке справа.

Ограничения:

Копировать тело нужно вращая вокруг оси цилиндра на какой-то угол (скажем 5 градусов) и соответственно перемещая его вдоль прямой.

Т.е. в каждая копия должна находтся в положении, когда красная грань тангенциальна образующей поверхности цилиндра, а зелёная грань параллельна его торцу.

Подчёркиваю - интересно узнать как это сделать в UG, пользователей других систем прошу не беспокоить.

Попробовал сделать так:

1. Кривую созданную по закону рассек радиальными плоскостями

Таким образом получил многоточек

2. Создал компонент из прямоугольника со скруглениями

3. Вставил несколько компонент с условиями сопряжения "каждая копия должна находится в положении, когда красная грань тангенциальна образующей поверхности цилиндра, а зелёная грань параллельна его торцу." + выбрал на прямоугольнике точку привязки (там где начинается/кончается кривая), этой точкой привязываюсь к точкам, которые построил по пункту 1.

Замечание по поводу "красная грань тангенциальна образующей поверхности цилиндра" я сделал что красная грань касательная оси вращения. В данном случае это не важно, но при другой геометрии прямогугольника это может сказаться, но и это можно решить

Понимаю, что это нереально сделать руками, но автоматизировать можно.

Вот что получилось

Ссылка на сообщение
Поделиться на других сайтах

Сейчас UG под рукой нет

1) Адаптировать кривую чтобы получить к ней доступ в KBE

2) В навигаторе KBE создать аттрибут или несколько аттрибутов в виде списков где собрать данные необходимые для построения класса nx_block или ug_block - требуемые данные снять с кривой

3) Создать массив из nx_block и подставить туда значения из аттрибутов

Что-то не получилось у меня, на пункте

For $a From 0 To n: By 1;

Append { ug_curve_askPointOnCurve(

ug_spline_thru:,

$a*(nth(4, prop:)-nth(3, prop:))/(n:) )

};

};

Выдал: The specified string contains a syntax error

Syntax error between here (List modifable) pts: For and here $a From 0 To n: By 1;

Ссылка на сообщение
Поделиться на других сайтах

так ведь размножил ...? в файле Shnek.zip - два файла, один мой чисто для примера,

другой Ваш, с размноженным телом,

да там нет выполнения углового шага (3 град.) и в конце винтовой линии ориентация тела относительно цилиндра, по крайней мере "непонятная" для меня.

Да, пардон, не заметил. По поводу "непонятной" ориентации - про то и речь. Получается так, как получается и механизма управлением ориентацией в этой функции нет. Т.е. не подходит.

Честно говоря мало, что понял ...

если же в результате должен получиться шнек, подобный тому

как в мясурбках, так для этого надо другие инструменты NX использовать.

Да, должен получиться шнек. Но не "как в мясорубке", а транспортный. Принцип совсем другой. Прогнать сечение по спирали (sweept) - там не прокатывает. Поверьте на слово - sweept не может создать тело с заданными условиями.

Понимаю, что это нереально сделать руками, но автоматизировать можно.

Так вот и пытаюсь понять, как автоматизировать. Руками - это аккурат до пенсии. И то можно не успеть.
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Danil89nur
      Доброе время суток. Столкнулся с проблемой на новой работе. Много деталей у который в свойствах отсутствует раздел "Материал" и приходится каждый раз вручную заходить туда, создавать раздел и выбирать там ""SW-Material@Name.SLDPRT". Возможно кто-то знает, либо сможет помочь с написанием простенького макроса, при нажатии на который в свойствах детали будет создаваться необходимый раздел и в нем сразу написан выбранный материал (желательно, чтоб там было указано сразу наименование материала, а не формула для его получения ""SW-Material@Name.SLDPRT"). Пытался самостоятельно через ChatGPT, но так как в програмировании я 0, то ничего не получилось)
    • Bot
      Коллеги, Благодарю вас за интерес к проекту электронной энциклопедии в области инженерного программного обеспечения PLMpedia, который более 15 лет развивался группой компаний ЛЕДАС. Представленный ниже скриншот передаёт содержание и структуру базы данных энциклопедии, накопленной за эти годы: именно такую начальную страницу, можно было до сегодняшнего дня увидеть, придя по адресу https://plmpedia.ru/ В последние несколько лет ЛЕДАС особенно интенсивно и результативно вкладывает все ресурсы в развитие своего основного бизнеса: см. ниже «О компании ЛЕДАС». Сегодня я с некоторым сожалением констатирую, что у компании ЛЕДАС более нет возможности отвлекать ресурсы своих сотрудников на некоммерческий (фактически волонтерский) проект PLMpedia. Вся база данных ресурса может быть безвозмездно передана любому юридическому или физическому лицу с единственным условием: наш преемник должен будет публично объявить о состоявшейся передаче и взятии на себя [...] View the full article
    • gudstartup
      @NordCom  у вас наверное это так происходит читайте этот раздел itnc_530.pdf
    • fenics555
      интересный индус. А нового то чего?
    • gudstartup
      откудова качаете мне интересно?
    • ДОБРЯК
      Совсем забыл про собственные вектора       собственный тон частота           0.013                        1   Расчет собственных форм и частот   1         1   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   1         2   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00       собственный тон частота       15910.75                         2   Расчет собственных форм и частот   1         1   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   1         2  -7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00        
    • gudstartup
      так я это и написал
    • Viktor2004
      Обычно если сразу по всем осям, тогда это вентилятор БП. А на старых БП вентилятор может быть и на плате управления
    • gudstartup
      @NordCom какого года чпу? посмотрим более древние руководства а в принципе надо setup.elf запустить или у вас с windows?
    • Deunet
      Спасибо Вам! Но на пикчер ссылки не рабочие, пришлите пожалуйста, если у вас есть.
×
×
  • Создать...