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

Деформация поверхности


француз

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

Имеется поверхность, полученная вращением гладкой кривой (выглядит как чаша). На этой поверхности нарисован контур неправильной формы. Представим, что мы взяли точку поверхности на оси и потянули её вдоль оси на заданное расстояние. Поверхность должна плавно деформироваться, но так, чтобы за пределами контура она осталась без изменений. На кранице деформации не обязательно иметь непрерывную кривизну С2. Достаточно тангенциальности С1. Интересует, как в Pro/E (или ISDX и т.п.) получить такую поверхность.

На первый взгляд очень простая задачка, но я пытаюсь её решить уже более 2-х лет. Может не там копаю? :wallbash:

Имеется картика и модель, но не знаю как её втавить в письмо.

Спасибо за помощь

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


Уважаемый CadCam3d!

Очевидно, для Вас решение этой задачки не представляет сложности. Однако я плохо понял что Вы советуете. Если не трудно, поясните.

1. Сделай трим - это что, обрезать поверхность по контуру? Если это так, то что это даст? ведь я удалю ту часть поверхности, к которой мне надо иметь тангенциальность. Или надо оставить обе части?

2. Деформировать каким инструментом? Команды из TWEAK не умеют работать с поверхностями, в которых есть хоть что-то сплайновое (в моём случае - сечение). Free form я тоже пробовал. Во-первых, с помощью Control poligon сложно получить заданную толщину. Во-вторых я так и не понял что он делает на границах поверхности.

И ещё одно замечание. У большинства 3d прог (в т.ч. Pro/E) имеется классный глюк. Любая поверхность (или поверхность солида) вращения автоматически разбивается на две, если сечение поварачивается на полный оборот. Если повернуть на 359,99 градусов - будет одна поверхность, а если на 360 - две!!! Следовательно все кривые построенные на ней тоже делятся на две. По закону подлости, это разрезание происходит в самом неподходящем месте :sad:

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

У большинства 3d прог (в т.ч. Pro/E) имеется классный глюк.

<{POST_SNAPBACK}>

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

Размещайте эскиз.

На мой взляд, WARP в чистом виде тут не очень подойдет.

А вот ISDX - вполне.

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

To suslad

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

С точки зрения какой математики? П/О - что ли?

Изменено пользователем DmitryV
Ссылка на сообщение
Поделиться на других сайтах

По поводу математики. Любой школьник напишет уравнение бесконечной окружности или шарика. Но, думаю, в программе есть какие-то сложности с описанием и курса средней школы для их понимания мало. Пусть над этим ломают головы те, кому это положено.

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

Но это было отступление. А по моему первому письму у кого-нибудь есть конкретные мысли?

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

Несмотря на прошедшее время, сабж по-прежнему актуален.

Указанная выше проблема с разделением поверхности вращения на два лоскута успешно решена. Оказалось, любую подобную исходную поверхность вращения можно построить Sweep'ом!

Таким образом, задача немного упрощается. Имеется ОДНОРОДНАЯ поверхность, на ней контур и надо потянуть точку так, чтобы поверхность плавно сдеформировалась внутри этого контура. Может у кого есть свежие мысли, как ентого зверя построить?

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

А что, в Pro/E никак не получится? Там вроде тоже есть FreeForm деформация по точкам или тот же Warp. Вот тока применить толком их у меня не получается... Но мне кажется, что проблема не в программе, а в моём неумении ей пользоваться.

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

А что, в Pro/E никак не получится?

<{POST_SNAPBACK}>

Так как в Рине или Максе, потянув за точечку, наверное нет..., но в Стайле можно попробовать (хотя нужно смотреть, что там за поверхность необходимо сделать): вырезать область на "чаше", а вытянутый участок смоделировать вручную.. Можно так сформировать поверхность, с внутренними (internal) кривыми и точками на них, что по сути не будет отличаться от чистого "потягивания за точку".. :rolleyes:

Вы бы выложили хотя бы скрин. :g:

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

я не умею обсуждать поверхности по буквам на мониторе.

Если есть кокнретный пример, вышлите по почте с описанием того, что нужно, могу попробовать.

Или хотя бы здесь выложите картинку.

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

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

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

Ну можно так потянуть точку что нарушится топология поверхности (есть же пределы) и уже плавно

сдеформироваться ей (поверхности) никак не удастся.

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

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

1. Берём сплайн из находящейся рядом темы "как продлить сплайн зеркально" и строим поверхность вращением этого сплайна вокруг вертикальной оси на 360 градусов. Думаю можно и дугу вместо сплайна взять, принципиально вряд ли что-то изменится.

2. В горизонтальной плоскости рисуем произвольный контур. Например такой

post-3496-1144754069_thumb.png

3. Проецируем этот контур, на поверхность вращения, построенную в п.1.

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

post-3496-1144754101_thumb.jpg

Изменено пользователем француз
Ссылка на сообщение
Поделиться на других сайтах

Если создавать нечто, имитирующее "просто потянуть за точку вначале координат", то придется на том малиновом вырезе создавать еще вырез и уже между этим вырезом и смоделированной отдельно имитацией "вытяжки" делать поверхность с корректными сопряжениями... - иначе острые углы "малинового выреза" будут нехорошо влиять на его сопряжение с телом основной детали.. :g: - т.е. данная задача тупо не делается, по крайней мере средствами ПроЕ - наверняка в каком-нибудь Айсеме есть возможность просто потянуть и деформировать выделенную область.. - но это уже отдельная, заточенная на редактирование поверхностей, операция.. :rolleyes:

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

то, что описано, сделать можно. Если проецировать не трегольную фигуру, а четырёхугольную, то сделать это даже не очень сложно. С треугольной сложнее. Добавьте ещё одну сторону, ну хоть ма-а-а-аленькую...

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

2 Гольфстрим. Так добавьте, если надо:)). Может хоть что-то получится, а потом и до других контуров доберёмся...

2 ccв22. А Вам что-то похожее никогда не приходилось делать? Вообще у меня подобные ситуации частенько встречаются. И обычно приходится их строить с очень большими муками и получается не очень удовлетворительный результат. Конкретное изделие мне бы называть не хотелось. Но уверен на 90%, что Вы его видите ежедневно (ессно, не обязательно моё, а аналоги других производителей).

Изменено пользователем француз
Ссылка на сообщение
Поделиться на других сайтах

Математически задача несложная и описывается

"Multiside NURBs Gregory patch" + метод плотности сил.

Такой функционал можно добавить в любую CAD, используя её АПИ, но вряд ли это действительно надо массовому пользователю.

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

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

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

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

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

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

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

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

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

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

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




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