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

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


IBV

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

Мысль конечно интересная, но только что будет, когда начнутся самопересечения?

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


... как АВТОМАТИЧЕСКИ построить не рубленый массив кубиков, а гладкую поверхность.

А так ?

<noindex>http://fsapr2000.ru/index.php?s=&showt...st&p=361009</noindex>

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

Создаем массив из двух тел (под которые делается канавка) и вычитаем из цилиндра. Получаем пространственную кривую (такими покрыта вся поверхность канавки шнека в варианте с вычитанием массива).

не пойдёт т.е. шаг спирали не постоянный и в разных точках спирали ваша "пространственная кривая" будет отличаться.
Ссылка на сообщение
Поделиться на других сайтах

не пойдёт т.е. шаг спирали не постоянный и в разных точках спирали ваша "пространственная кривая" будет отличаться.

Естественно кривая будет разная. И это учитывается. Я так а сказал:"В результате выполнения этой операции формируется последовательность кривых (все они, естественно, разные)". И это видно. Это все равно, что на основе рёбер поверхности, полученной вычитанием массива, построить поверхность операцией "тело по сечениям". Только руками выбирать все рёбра будет долго. А тут автомат. И проблем при перестрйке модели не будет.
Ссылка на сообщение
Поделиться на других сайтах

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

pic2.PNG

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

pic1.PNG

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

Эту задачку оказалось удобнее всего решить для какого-то дискретного количества точек и по ним уже построить те самые силуэтные кривые. Вот как это выглядело для точек одной из граней - см. рис. Для построения "огибающей" поверхности был применен метод построения поверхности по точкам из файла, причем количество рядов этих точек составляло 600! Для сравнения, при построении поверхности по сечениям количество сечений не может превышать 150.

Какие-то грани движущегося тела не принимают участия в формировании результирующего объема (остаются в тени), поэтому проще было построить две различные поверхности - по "передней" и по "задней" кромке режущего тела. Можно было бы построить и единое тело, но для заданной спиральной траектории неизбежны были бы самопересечения, что осложнило бы вычитание полученного объема из исходного цилиндра.

После построения поверхностей заметания вычесть результирующую канавку труда не составило. 

pic4.PNG

Выкладываю файл PARASOLID с гладкой поверхностью канавки    :smile:    и файл PARASOLID с "дискретной" геометрией, можете сравнить. Для желающих построить поверхность по точкам из файла - прилагаю файл, насчитанный библиотечкой UGOPEN. 
Удачи!
И последнее замечание - теперь мне не составит труда постпроить такой шнек для практически ЛЮБОГО "кубика". Мне было интересно решить эту задачку, она не столь тривиальна, как кажется на первый взгляд.  

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

Для построения "огибающей" поверхности был применен метод построения поверхности по точкам из файла, причем количество рядов этих точек составляло 600!

А как нужные точки попали в файл?

Для сравнения, при построении поверхности по сечениям количество сечений не может превышать 150.

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

А как нужные точки попали в файл?

Почему не может?

А как нужные точки попали в файл? Ты не дочитал до конца - их насчитала DLL. 600 рядов по 30 точек в каждом - 18 000 точек. 

Почему не может? - По документации. Во всяком случае, для программного построения поверхности по сечениям их не может быть более 150.

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

... их насчитала DLL ...

Вот это и интересно. По какому критерию DLL выбирала точки т.к. "Какие-то грани движущегося тела не принимают участия в формировании результирующего объема (остаются в тени)"

Почему не может? - По документации. Во всяком случае, для программного построения поверхности по сечениям их не может быть более 150.

Понятно. Странное ограничение. Видимо, этим и объясняется выбор метода по точкам.
Ссылка на сообщение
Поделиться на других сайтах

Вот это и интересно. По какому критерию ..."

Это те точки, которые образуют силуэт кубика для какого-то момента движения. В посте №58 я прицепил мультик, там как раз генерация этих точек показана.

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

вот ещебы без програмирования построить....

Да вообще в NX многих кнопок не хватает, например: "Построить шнек для.", "Построить лопатку турбины" и др. И самое обидное - нет USB 3.0 интерфейса к мозгам, чтоб NX сразу, без лишних объяснений, понимал - что же от него требуется.. И хорошо бы - во сне, чтоб проснулся, а на экране - долгожданная модель!!

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

Это те точки, которые образуют силуэт кубика для какого-то момента движения. В посте №58 я прицепил мультик, там как раз генерация этих точек показана.

Т.е. фактически на плоскость, перпендикулярную спирали в данной точке, проецируется кубик, находящийся в той же точке, и "очерк" этой проекции апроксимируется точками. Или они (точки) все-таки расположены не на плоскости, а в пространстве?
Ссылка на сообщение
Поделиться на других сайтах

Т.е. фактически на плоскость, перпендикулярную спирали в данной точке, проецируется кубик, находящийся в той же точке, и "очерк" этой проекции апроксимируется точками. Или они (точки) все-таки расположены не на плоскости, а в пространстве?

Отличная мысль! У кубика (именно у кубика) все силуэтные кривые есть прямые линии - обязательно проверю на досуге и выложу результат. 

Но на деле не совсем так я насчитывал эти точки.

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

Есть у меня сомнение на этот счет. Кривая контакта двух соседних кубиков с цилиндром (в случае построения массива) представляет пространственную кривую. И найти для нее плоскостной эквивалент будет не просто (если вообще возможно). Если уж использовать кривые, то реальнее протащить по спирали именно эту пространственную кривую. При маленьком шаге погрешность, думаю, будет приемлемая. Жаль, что оганичение у UG 150 сечений.

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

Есть у меня сомнение на этот счет. Кривая контакта двух соседних кубиков с цилиндром (в случае построения массива) представляет пространственную кривую. И найти для нее плоскостной эквивалент будет не просто (если вообще возможно). Если уж использовать кривые, то реальнее протащить по спирали именно эту пространственную кривую. При маленьком шаге погрешность, думаю, будет приемлемая. Жаль, что оганичение у UG 150 сечений.

Конечно же, все не так просто. 

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

Да вообще в NX многих кнопок не хватает, например: "Построить шнек для.", "Построить лопатку турбины" и др.

я не это имел ввиду.
Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Решил попробовать построить без программирования. У меня получилось лишь со спиралями (шаги разные). На картинке кубик размножен 200 раз. Со сплайнами кубик крутится (естественно).

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

При создании массива геометрии с опцией «вращение» можно ли задавать переменный угол или расстояние (если можно, то как?)?

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...