Перейти к содержимому

Фотография
- - - - -

Нашел САПР своей мечты ;-)


Сообщений в теме: 86

#51 a_max

a_max

    Яхтенный капитан

  • Капитан
  • 2 839 сообщений
  • Из:moscow

Отправлено 11 января 2017 - 18:22

Еще пару картинок. Наложил ломаные разной степени прорисовки  из DS друг на друга. Как и ожидалось некоторые вершины совпадают. Вспомнил еще "фичу" из DS- разбивка ребер управляющего каркаса без изменения геометрии. Ломаные при этом перескакивают на следующий порядок. Т.е. уравнение работает в обе стороны. Для каждой ломаной существует несколько наборов УВ.

Скачал книжку по всяким кривым, изучаю. "Голованов М.Н. Геометрическое моделирование."

http://www.twirpx.com/file/31060/

Так же видел пару методичек на тему составных кривых. Думаю они тоже используются.

В картинках проглядываются некоторые зависимости построения ломаной.

P.S. Что-то ТС затаился :). Какие-нибудь успехи есть?

 

Прикрепленные изображения

  • Test_DSpline.JPG
  • Test_DSpline_2.JPG
  • Test_DSpline_3.JPG

Прикрепленные файлы


  • 0

#52 bisoft

bisoft

    Яхтенный капитан

  • Капитан
  • 1 145 сообщений
  • Из:Таганрог

Отправлено 11 января 2017 - 18:41

Успехов - нет. Я так и не нашел способ построения поверхности по набору точек. И проблема не в том, как аппроксимировать и какими кривыми, а просто я не знаю способа как это можно сделать t-flex. Основной способ, который можно и нужно использовать - построение поверхности по сечениям. По теоретическому чертежу можно легко построить поверхность корпуса. Способ используемый во фришипе перенести в t-flex скорее всего не получится. В обратную сторону скорее всего можно сделать. 

 

PS: Все функции работы с геометрией во фришипе лежат в папке Units файл FreeGeometry.pas

FreeIGESUnit.pas можно посомтреть как оно экспортируется в IGES формат, который очень даже неплохо импортируется в t-flex


  • 0

#53 investgroup7

investgroup7

    Старший матрос

  • Основной экипаж
  • PipPipPip
  • 78 сообщений
  • Из:Earth ;)
  • Судно: yello submarine ;)

Отправлено 11 января 2017 - 19:47

Более правильным подходом было бы импортирование наоборот из CAD в FS (даже если исходно в сапр данные выдраны из FS).

 

FS  по сути считалка для быстрых прикидок, на САПР - поэтому и делать проект надо в САПР, перетаскивая изредка во FS чтобы посмотреть по-быстрому, при этом не особо рассчитывая на точность и отсутствие ошибок...  В САПР-е же можно проект делать аккуратно, и там боле реально его сделать без ошибок.


  • 1

#54 a_max

a_max

    Яхтенный капитан

  • Капитан
  • 2 839 сообщений
  • Из:moscow

Отправлено 11 января 2017 - 19:51

Успехов - нет. Я так и не нашел способ построения поверхности по набору точек. И проблема не в том, как аппроксимировать и какими кривыми, а просто я не знаю способа как это можно сделать t-flex. Основной способ, который можно и нужно использовать - построение поверхности по сечениям. По теоретическому чертежу можно легко построить поверхность корпуса. Способ используемый во фришипе перенести в t-flex скорее всего не получится. В обратную сторону скорее всего можно сделать. 

 

PS: Все функции работы с геометрией во фришипе лежат в папке Units файл FreeGeometry.pas

FreeIGESUnit.pas можно посомтреть как оно экспортируется в IGES формат, который очень даже неплохо импортируется в t-flexТак

Так и не надо по точкам. Вот в Компасе есть такая команда. Ее выполнение сводится к набору рядов точек, из которых выстраиваются сплайны или ломаные и по ним строится поверхность по сечениям.Как сценарий, с показом промежуточных состояний. Геометрические ядра параметрических  CAD похожи, что ACIS что Parasolid. Тока Rhino изначально на NURBS сидит. По теоретическому чертежу Вы думаю не построите разворачиваемую поверхность. Потому что там не отражается наклон образующих заданных автором чертежа. Rhino может построить Вам типа разворачиваемую поверхность по линиям которые Вы возьмете с ТЧ, но с большой долей вероятности точно не нарисует, во вторых- поверхность хоть и будет теоретически разворачиваемой, а практически будет нереализуемой на малом судне. Есть много трудов по разворачиваемым обшивкам в большом судостроении, почитав понял, что многие методы нереализуемы на МС, т.к. изгибаемость листа стали в размерах корабля, это как делать лодку из бумаги.Их задача сделать обшивку кусочно-разворачиваемой, наша- практически целиком.

 

Пространственные кривые и ломаные есть в Компасе и T-flex, точки тоже. Из них нужно программно набрать каркас УВ, далее набор ломаных как в FS (нужно вытащить уравнение), ну а по ним поверхность по сечениям. Все они останутся параметрически завязаны. И всегда можно отправить каркас УВ обратно в FS для расчетов гидростатики и динамики. Т.е. сечения должны быть не шпангоуты-батоксы -ВЛ из ТЧ, а образующие сетки из FS. Я это делал вручную, вытягивая лиспом координаты точек из сетки. Все получается, только до управляющего каркаса не дошел. Тут более высокий уровень программирования нужен, чем у меня.

 

SChellender-как пример разворачиваемой обшивки. При этом выпуклой. 

За подсказку спасибо, сразу увидел уравнения, сам чего-то в эту папку не догадался заглянуть, типа единицы и единицы. Пока не до них :)

Прикрепленные изображения

  • Построение_кон_обш.JPG
  • SuperChellenger_4.JPG

  • 0

#55 a_max

a_max

    Яхтенный капитан

  • Капитан
  • 2 839 сообщений
  • Из:moscow

Отправлено 12 января 2017 - 16:04

Пробежался по коду. Нашел пару ссылок на математические построения используемые в геометрии FreeShip.

TFreeSpline

3D CSpline

Copied from page 107 of the book: "Numerical recipes in fortan 77"

Url: http://www.library.c...okfpdf/f3-3.pdf

Modified to use centripetal parametrisation for smoother interpolation and to accept

knuckles in the controlpoints

TFreeSubdivisionSurface

This is the subdivision surface used for modelling the hull.

This is actually a quad-triangle subdivision surface as publisehed in the articles:

"Quad/triangle subdivision" by J. Stam & C. Loop http://research.microsoft.com/~cloop/qtEG.pdf

 

"On C2 triangle/quad subdivision" by Scott Schaeffer & Joe Warren

 

Некоторые ссылки не работают, но поиск по названию находит сразу.

В Pascal понемногу разбираюсь, непривычно, что все в о одной портянке. Скажите коллеги программисты, среда разработки сама умеет "раскладывать" на модули (процедуры, функции, методы).Чтоб типа объектной модели распечатать. Какую лучше поставить для чтения пока? Желательно на русском.

Еще вопрос. Как происходит добавление функций в этом пакете. Допустим написали скриптик, сделали кнопку. Нужно новый ".exe" собирать?


  • 0

#56 bisoft

bisoft

    Яхтенный капитан

  • Капитан
  • 1 145 сообщений
  • Из:Таганрог

Отправлено 12 января 2017 - 16:08

Скачайте Delphi 7, ключ найдете в гугле, жмете F9 компилится и запускается ;-)


  • 0

#57 lop

lop

    Яхтенный капитан

  • Инженер
  • 4 670 сообщений
  • Из:Колпино
  • Судно: парусная доска

Отправлено 09 февраля 2017 - 22:15

Если отталкиваться от теоретического чертежа, как канонического способа задания судовой поверхности, то использовать следует такую аппроксимацию поверхности, которая непременно включает в себя узловые/управляющие точки. Это сразу исключает NURBSы и прочие способы аппроксимации вроде b-сплайнов и Т-сплайнов, у которых часть узловых/управляющих точек поверхности не принадлежит в принципе. Такие инструменты хороши для "свободного художника", не связанного жёсткими рамками габаритов и заданных заранее кривых, в которые должна вписаться творимая фантазией поверхность: всегда можно сказать "я так это вижу", обидеться и послать критиков куда подальше. Если же приходится втискивать своё творение, созданное такими способами, в какие-то жёсткие границы, то тут и начинается гемор. Я в своё время, ещё до виндовузное, потыркался с разными сплайнами, решая задачу создания гладкой поверхности, частично ограниченной этими самыми шпангоутами-ватерлиниями-батоксами, и пришёл к выводу, что для неё лучше всего использовать обычные математические сплайны третьего порядка. Я не творец и не художник, мне эта свобода творчества лишняя. Заказчик-творец рисует примерную ватерлинию, мидель, бок, я ему считаю произвольные промежуточные сечения, распечатываю. Показываю - он правит, я пересчитываю. Никакого гемора. Даже через две точки можно провести бесконечное множество кривых. Представляете, сколько разных кривых можно провести не через 2, а через 10 шпангоутов х 5 ватерлиний х 5 батоксов х 2 половинки = пицот точек? То есть, чтобы две разные программы по одному набору точек (координат или просто чисел) построили две одинаковые геометрические поверхности, необходимо, чтобы алгоритмы построения поверхности по набору точек у обеих программ были строго идентичны. Но даже при этом условии, если эти две программы написаны разными программистами, то можно быть уверенным, что поверхности будут разными, хотя бы слегка.
  • 0

#58 investgroup7

investgroup7

    Старший матрос

  • Основной экипаж
  • PipPipPip
  • 78 сообщений
  • Из:Earth ;)
  • Судно: yello submarine ;)

Отправлено 10 февраля 2017 - 07:14

Ну дак я им про это самое и намекал с самого начала - но зато весьма забавно наблюдать за полетами программерской мысли, ага ;)

 

Не зря же и в математике от высоких порядков полиномов обычно отказываются, а уж в графике...

(исключение - только если структура полинома сильно похожа на физическую формулу)

 

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

но может приводить к изменению толщин и прочности в разы!..  

(спорю на кривых поверхностях вы этого не заметите даже если попытаетесь померить - "компьютер же рассчитал!", ага ;) )

 

 

Выглядит такое весьма забавно - можно проплавать лет дцать без проблем(вы же умные зря в шторма не лезете, да? ;) ),

а потом одна случайная штормовая волна в борт и весь шалаш в щепки!..

(тоже самое бывает если не контролировать влажность деревянных и фанерных деталей - прочность влажного дерева снижается в разы от расчетной!)

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

 

 

PS  забавно что ТУ-154 с известными еще со времен проектирования и испытания косяками(например - противоштопорный парашут, который не пошел в серию, но было уже сразу известно что без него не провести испытания тк эта хрень из штопора уже не выходит by design) пролетал лет 20-30 без аварий, но все-же было несколько единичных аварий с уходом в штопор, причем попали на эти грабли самые опытные пилоты(ну кроме квалификации летчиков-испытателей - эти похоже еще и физику и аэродинамику знают), 

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

Так вот и пролетал лет 30-40 почти без аварий, кстати один из самых массовых совецких самолетов и статистика аварийности у него была относительно низкая, но косяки там жили все время со времен проектирования.


  • 1

#59 a_max

a_max

    Яхтенный капитан

  • Капитан
  • 2 839 сообщений
  • Из:moscow

Отправлено 20 февраля 2017 - 14:47

 То есть, чтобы две разные программы по одному набору точек (координат или просто чисел) построили две одинаковые геометрические поверхности, необходимо, чтобы алгоритмы построения поверхности по набору точек у обеих программ были строго идентичны. Но даже при этом условии, если эти две программы написаны разными программистами, то можно быть уверенным, что поверхности будут разными, хотя бы слегка.

Вот для этого нужно вытащить алгоритм уравнения построения из FS. Сейчас немного отвлекся на налаживание связки FS-Компас3D на примере  проекта мотосейлера для коллеги. Наладим, будет понятнее как сделать автоматизацию процесса.

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

В системах моделирования широко применяют метод маркеров, когда программа рассчитывает разворачиваемую поверхность и показывает ее образующие. "Автоматом" как в Rhino мне не очень нравится, где-то там подвох :)


  • 0

#60 Mitry

Mitry

    Рулевой 1-го класса

  • Офицер
  • 639 сообщений
  • Из:К
  • Название: -

Отправлено 20 февраля 2017 - 22:08

По сплайнам - поищите в инете книгу

Носач В.В. Решение задач аппроксимации с помощью персональных компьютеров. Там даже программы были, на бейсике.

 

Библиотека, сам пользовался http://www.alglib.net/


  • 0

#61 a_max

a_max

    Яхтенный капитан

  • Капитан
  • 2 839 сообщений
  • Из:moscow

Отправлено 21 февраля 2017 - 13:59

По сплайнам - поищите в инете книгу

Носач В.В. Решение задач аппроксимации с помощью персональных компьютеров. Там даже программы были, на бейсике.

 

Библиотека, сам пользовался http://www.alglib.net/

Спасибо, книжку нашел, скачал. Буду изучать. Библиотеки пока не знаю как использовать, я все-таки не программист. На данный момент нужно обозначить методы, ну а потом уже искать программиста для реализации.


  • 0

#62 lop

lop

    Яхтенный капитан

  • Инженер
  • 4 670 сообщений
  • Из:Колпино
  • Судно: парусная доска

Отправлено 22 февраля 2017 - 01:42

Вот для этого нужно вытащить алгоритм уравнения построения из FS...

Ну, вытащите вы этот алгоритм из FS, и что? Чтобы "перенести поверхность" в другую программу, эта другая программа должна будет использовать тот же алгоритм. А она про это не знает и использует какой-то свой. Как вы собираетесь впихивать алгоритм из фришипа в компас? Разумеется, переносим мы из одной программы в другую не поверхности, а набор чисел. И единственный надёжный способ заставить обе программы воспринимать этот набор чисел одинаково это просто задавать координаты узловых точек простейшей сетки, подразумевающей линейную интерполяцию промежуточных координат. Обычно такой простейший способ задания поверхности есть в любой кадовской программе. Ну, а чтобы снизить погрешность интерполяции, количество узлов сетки делаем максимальным, сколько может проглотить программа и компьютер. Решение не слишком изящное с точки зрения программиста, зато наименее трудо- и времяёмкое.

Сейчас немного отвлекся на налаживание связки FS-Компас3D на примере  проекта мотосейлера для коллеги. Наладим, будет понятнее как сделать автоматизацию процесса. Про сплайны вы правы, есть материалы на тему расчета поверхности математическими методами, я думаю те примеры кораблей в дистрибутиве FS ни разу не руками построены, слишком сложные упорядоченные структуры. В системах моделирования широко применяют метод маркеров, когда программа рассчитывает разворачиваемую поверхность и показывает ее образующие. "Автоматом" как в Rhino мне не очень нравится, где-то там подвох :).

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

#63 lop

lop

    Яхтенный капитан

  • Инженер
  • 4 670 сообщений
  • Из:Колпино
  • Судно: парусная доска

Отправлено 22 февраля 2017 - 01:59

Спасибо, книжку нашел, скачал. Буду изучать. Библиотеки пока не знаю как использовать, я все-таки не программист. На данный момент нужно обозначить методы, ну а потом уже искать программиста для реализации.

Задача построения сплайна, или вообще интерполяционной кривой, это, так сказать, прямая задача определения функции у(х) по заданному значению аргумента х. Будете изучать библиотеки, одновременно задумайтесь над обратной задачей, которую тоже потребуется решать: как по известному у определить неизвестный х. Простейший пример: вы задали шпангоут узлами его пересечения с ватерлиниями, то есть для известных z пяти ватерлиний задали пять у(z) ординат точек пересечения шпангоута с этими ватерлиниями. Построили сплайн для данного шпангоута, и теперь легко можете определить с его помощью ординаты пересечения шпангоута другими, помежуточными ватерлиниями. Однако определить точки пересечения шпангоута батоксами этот сплайн вам не поможет, для этого нужна другая, дополнительная процедура.
  • 0

#64 a_max

a_max

    Яхтенный капитан

  • Капитан
  • 2 839 сообщений
  • Из:moscow

Отправлено 22 февраля 2017 - 13:43

Ну, вытащите вы этот алгоритм из FS, и что? Чтобы "перенести поверхность" в другую программу, эта другая программа должна будет использовать тот же алгоритм. А она про это не знает и использует какой-то свой. Как вы собираетесь впихивать алгоритм из фришипа в компас? Разумеется, переносим мы из одной программы в другую не поверхности, а набор чисел. И единственный надёжный способ заставить обе программы воспринимать этот набор чисел одинаково это просто задавать координаты узловых точек простейшей сетки, подразумевающей линейную интерполяцию промежуточных координат. Обычно такой простейший способ задания поверхности есть в любой кадовской программе. Ну, а чтобы снизить погрешность интерполяции, количество узлов сетки делаем максимальным, сколько может проглотить программа и компьютер. Решение не слишком изящное с точки зрения программиста, зато наименее трудо- и времяёмкое. Чот я не фкурил, вы как бэ одновременно хотите и перенести поверхность из одной проги в другую, и сделать её разворачивающейся? Вообще-то это две задачи сильно разные по сложности.

В Компасе можно построить поверхность по координатам точек сетки из FS, вручную, аппроксимируется они сплайнами. Мысль была задать еще один массив точек (УВ) связанных с сеткой посредством уравнения аналогичного FS (т.е. Nurbs), подлежащий редактированию. Правда поглядев на методы работы с поверхностью в Компасе, несколько засомневался в необходимости этого. Возможно будет достаточно наладить параметрическую связь с текстовым источником. FS нравится  именно наглядностью процесса построения поверхности.  

Для построения разворачиваемой поверхности нужно соблюдать условия построения, тут просятся некоторые добавления в интерфейс FS по работе с УВ (несложные). Также необходим способ передачи построенных в Компасе  сплайновых поверхностей  в FS для построения развертки. Там есть функция разметки линии точками, но равномерно, что пригодно не всегда.

В общем ShipConstructor врядли получится, но сделать несколько скриптов вполне возможно. Усовершенствовать модель FS  можно далеко, вплоть до уровня MaxSurf и прочих, но это уже серьезная задача для какой-нибудь кафедры программистов-корабелов.


  • 0

#65 Wt_Terpi

Wt_Terpi

    Яхтенный капитан

  • Инженер
  • 1 214 сообщений
  • Из:С. Петербург

Отправлено 26 февраля 2017 - 17:43

Если цель построить поверхность, то может взять Rhino и к ней Orca3d. Если строится разворачивающаяся поверхность при помощи Орки, то она строго состоит из сегментов конусов и призм (2-х - 5-ти как правило) - процесс ручного построения (если не подходит параметрический ввод) это фактически смещение фокусов и образующих. Далее эти образующие и точки фокусов можно экспортировать в любой CAD без потери чего либо и перестроить поверхность корпуса по ним (хотя смысла в этом не вижу  :), поскольку и дальнейшие работы в Rhino тоже проблем не генерируют).

Если цель попрограммировать, то взгляните на Grasshopper  - там слегка поинтереснее программировать параметрический ввод (как мне кажется).


  • 1

#66 a_max

a_max

    Яхтенный капитан

  • Капитан
  • 2 839 сообщений
  • Из:moscow

Отправлено 27 февраля 2017 - 14:27

Если цель построить поверхность, то может взять Rhino и к ней Orca3d. Если строится разворачивающаяся поверхность при помощи Орки, то она строго состоит из сегментов конусов и призм (2-х - 5-ти как правило) - процесс ручного построения (если не подходит параметрический ввод) это фактически смещение фокусов и образующих. Далее эти образующие и точки фокусов можно экспортировать в любой CAD без потери чего либо и перестроить поверхность корпуса по ним (хотя смысла в этом не вижу  :), поскольку и дальнейшие работы в Rhino тоже проблем не генерируют).

Если цель попрограммировать, то взгляните на Grasshopper  - там слегка поинтереснее программировать параметрический ввод (как мне кажется).

С Orca3d не работал еще, почитал мануал. По сравнению с RhinoMarine конечно прогресс. Так понял они плавно сдрейфовали с Nurbs на T-spline. Метод конусов и цилиндров реализуем и во FS, понятно телодвижений больше и не так удобно, особенно составные поверхности. FS в отличие от полноценных Nurbs-моделлеров режет поверхность только с УВ. Выход может быть в скрипте, который удерживает (перестраивает)  назначенные ребра УВ по вектору к заданным фокусам.  Еще мысль, что разворачиваемая Nurbs-поверхность есть аппроксимация "разворачиваемой" ломаной поверхности образованной ребрами УВ.

Соответственно свойства образующих поверхности можно применять и к ребрам УВ.

Пользоваться продвинутым покупным софтом конечно проще, и для профи наиболее правильный путь. Но в среде любителей простые бесплатные программы будут актуальны всегда. В плане же деталировки предлагаемые отечественные T-flex  и Компас3d  вполне неплохи. По крайней мере в построении чертежей и листов раскроя в DXF. Вот почему-то поверхностное Nurbs-моделирование наши разработчики обходят стороной :( .

Прикрепленные изображения

  • РО_1.JPG
  • РО_2.JPG

  • 0

#67 Wt_Terpi

Wt_Terpi

    Яхтенный капитан

  • Инженер
  • 1 214 сообщений
  • Из:С. Петербург

Отправлено 01 марта 2017 - 00:57

С Orca3d не работал еще, почитал мануал. По сравнению с RhinoMarine конечно прогресс. Так понял они плавно сдрейфовали с Nurbs на T-spline. Метод конусов и цилиндров реализуем и во FS, понятно телодвижений больше и не так удобно, особенно составные поверхности. FS в отличие от полноценных Nurbs-моделлеров режет поверхность только с УВ. Выход может быть в скрипте, который удерживает (перестраивает)  назначенные ребра УВ по вектору к заданным фокусам.  Еще мысль, что разворачиваемая Nurbs-поверхность есть аппроксимация "разворачиваемой" ломаной поверхности образованной ребрами УВ.

Соответственно свойства образующих поверхности можно применять и к ребрам УВ.

Пользоваться продвинутым покупным софтом конечно проще, и для профи наиболее правильный путь. Но в среде любителей простые бесплатные программы будут актуальны всегда. В плане же деталировки предлагаемые отечественные T-flex  и Компас3d  вполне неплохи. По крайней мере в построении чертежей и листов раскроя в DXF. Вот почему-то поверхностное Nurbs-моделирование наши разработчики обходят стороной :( .

Насколько я понимаю, Orca3d использует базовые примитивы Rhino. Что есть в основе с тем и работает. Базовая математика Rhino была и остается основанной на Nurbs, однако есть (или теперь возможно "была") заплатка с T-сплайнами. Я лично не использую - возможно T-сплайны полезны тем, кто рисует автомобили или стеклопластиковые лодки, но мне они без надобности - наши материалы сталь и АМг, соответственно все мелкие изменяющиеся радиусы и локальные приливы это по определению отдельные элементы (а не изменения общей формы матрицы или штампа).

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

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

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

 

Но я немного о другом - во всех этих случаях возникает одна большая проблема - импорт в CAD теоретической поверхности. Практически всегда - от Maxsurf до DELFT и FS импортированная поверхность не является "родной". Практически всегда ее нереально редактировать (я об изменении формы поверхности) и нет гарантии, что она является точной копией оригинала (математическая основа примитивов может отличаться). Например развертки сделанные в Maxsurf могут отличаться от разверток той-же поверхности после импорта в Rhino. Я подумал, что Вас волнует эта проблема именно поэтому и упомянул Orca3d.


  • 0

#68 a_max

a_max

    Яхтенный капитан

  • Капитан
  • 2 839 сообщений
  • Из:moscow

Отправлено 01 марта 2017 - 19:43

Насколько я понимаю, Orca3d использует базовые примитивы Rhino. Что есть в основе с тем и работает. Базовая математика Rhino была и остается основанной на Nurbs, однако есть (или теперь возможно "была") заплатка с T-сплайнами. Я лично не использую - возможно T-сплайны полезны тем, кто рисует автомобили или стеклопластиковые лодки, но мне они без надобности - наши материалы сталь и АМг, соответственно все мелкие изменяющиеся радиусы и локальные приливы это по определению отдельные элементы (а не изменения общей формы матрицы или штампа).

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

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

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

 

Но я немного о другом - во всех этих случаях возникает одна большая проблема - импорт в CAD теоретической поверхности. Практически всегда - от Maxsurf до DELFT и FS импортированная поверхность не является "родной". Практически всегда ее нереально редактировать (я об изменении формы поверхности) и нет гарантии, что она является точной копией оригинала (математическая основа примитивов может отличаться). Например развертки сделанные в Maxsurf могут отличаться от разверток той-же поверхности после импорта в Rhino. Я подумал, что Вас волнует эта проблема именно поэтому и упомянул Orca3d

 

Насколько я понял главное отличие Nurbs от T-spline, то что в первом УВ на одной поверхности не влияют на другую, в T-Spline же они составляют единую решетку. Это и преимущество, но и ограничение. Т.е. T-Spline очень близок к FS, DS и MS. И FS проигрывает им по инструментам а не по геометрии.

Про любителей согласен, сам первые корпуса чертил во FS, понял что явно неправильно. Потом специалисты подсказали и литературу и приемы.. Ну на то мы и любители.. :)

Вопрос в том, что почитав на эту тему, удивился обилию теоретических работ на тему РО и наших, и зарубежных, и практически полному отсутствию практических руководств применительно к раcпространенным CAD. Везде типа нарисуйте в Рино две кривые, скажите в настройках хочу разворачиваемую и готово, если не вышло редактируйте кривые. Потому и экспериментирую на тему построения изначально-конусных и цилиндрических в FS. Если бы не бедный интерфейс в нем можно  построить такие загибоны :)

В основном же корпуса с РО достаточно просты, чаще траблы в носовой части бывают, уж очень Nurbs треугольников "не любит".

Импорт-экспорт применяют в основном Iges, но мне больше нравится через текстовые форматы, хоть понимаешь как что строится. В идеале переносить именно УВ и строить сетку по схожим алгоритмам. В принципе можно от "настоящего" Nurbs вообще отказаться, как во FS и ранних MS. Была такая мысль, только так и не нашел способа работать с сеткой в Автокаде. Рино хоть умеет на нее проецировать.

Прикрепленные изображения

  • 3Dpline_2.JPG

  • 0

#69 Wt_Terpi

Wt_Terpi

    Яхтенный капитан

  • Инженер
  • 1 214 сообщений
  • Из:С. Петербург

Отправлено 02 марта 2017 - 02:05

Правильная математика для построения судовой поверхности это NURBS - когда появились поверхности NURBS помню сильно полегчало. :)

Насколько я понимаю УВ не оказывают влияния на поверхность через две точки везде. 

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

Да, IGES, но реально результат не очень. Т.е. вроде и ничего, но когда присмотришься, не высший класс. Поэтому Orca и имеет преимущество - создает сразу "родную" поверхность.

Мне кажется, я видел в сети видео посвященное построению теоретического.

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

Я, лично, практически никогда не использую построение developable loft поверхности по двум кривым. Вместо этого предпочитаю использовать loft stright sections. Если поверхность не сильно перекручена, то результат вполне приемлемый. Однако, совсем правильный результат построения РО может быть достигнут только если итоговая поверхность сделана составной и построена из кусков конусов и призм - как это делает Orca, как это описано в учебниках по построению РО. В принципе, и без Орки это можно построить - с Оркой просто удобнее.

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


  • 0

#70 a_max

a_max

    Яхтенный капитан

  • Капитан
  • 2 839 сообщений
  • Из:moscow

Отправлено 02 марта 2017 - 20:12

Правильная математика для построения судовой поверхности это NURBS - когда появились поверхности NURBS помню сильно полегчало. :)

...... 

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

 Надо будет попробовать поработать в Orca, заинтриговали :) . Для тех кто в Rhino наверно действительно наилучший вариант. Вот для других CAD думаю уже не столь гладко получится, так как перебрасывать то будем поверхность опять через Iges. Надо пробовать короче. А есть какой нить фрагмент  из Orca, потестить?

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


  • 0

#71 Wt_Terpi

Wt_Terpi

    Яхтенный капитан

  • Инженер
  • 1 214 сообщений
  • Из:С. Петербург

Отправлено 04 марта 2017 - 02:35

Попробовать не проблема, можно скачать Evaluation но проще всего взять Work-in-Progress (текущую тестовую версию). только сейчас там версия, действующая до 1 марта. Есть еще одно - к ней нужен Rhino 5-ой версии.

Но, реально ничего особенного, глобально, думаю Maxsurf будет поинтереснее.

Пожалуй, основное преимущество в том, что рисует прямо в rhino.

Да, к сожалению, с экспортом / импортом из одного CAD в другой всегда проблема. Если с точками, прямыми, окружностями и любыми их комбинациями больших проблем не ожидается - такие примитивы имеют однозначную математику, то как только дело переходит к кривым, а тем более к поверхностям, возникают (могут возникать) разночтения. Зачастую, сплайны одного CAD не могут быть точно воспроизведены в другом, а в ряде случаев даже не могут быть точно описаны в формате передачи. В результате, для сохранения формы кривых и поверхностей, системе приходится добавлять точек и переходить от аппроксимирующих кривых и поверхностей к интерполирующим. Глобально, конечно ничего страшного. Ну утрачена возможность изменения формы, поверхность и все ее сечения, офсеты и пр. "потяжелее" - мы же все равно не собирались форму менять - нам поверхность нужна для отрисовки ОР, конструкции, устройств, систем, обстройки, оборудования и т.д. Так что по большому счету - это все пустой перфекционизм.

Но если мы имеем РО и они построены совсем по правилам, то их геометрия определяется только несколькими точками и линиями. Эти данные вполне можно передать любым форматом, хоть dxf, и куда угодно - хоть в базовый Autocad для последующего проволочного моделирования. Кривые линии вполне можно перестроить в CAD. В результате имеем РО, "родные" в нашем CAD, даже если это не rhino.

Например, есть некоторый корпус:

01.jpg

Он образован двумя составными поверхностями - днище и борт и двумя простыми поверхностями - скуловой отбойник и дельтапад на днище:

03.jpg

Исходные поверхности обрезаны друг об друга и о плоскости ДП, транца и условной плоскости палубы. Реальный транец и линия борта разумеется могут иметь существенно более сложную форму и могут быть простроены позднее. В исходном виде поверхности выглядят так:

04.jpg

Или так, если "отъехать" назад:

05.jpg

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

Таким образом чтобы экспортировать эту геометрию в другой CAD и перестроить там достаточно экспортировать положение базовых плоскостей (ДП, транец, ЛБ) и несколько линий описывающих сегменты поверхности корпуса.

06.jpg

Линии, определяющие борт изображены ярко красным, днище - красно-коричневым.

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

Это рассмотрение также демонстрирует путь построения РО, применимый практически в любом CAD.

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

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

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

 


  • 0

#72 a_max

a_max

    Яхтенный капитан

  • Капитан
  • 2 839 сообщений
  • Из:moscow

Отправлено 04 марта 2017 - 17:01

Попробовать не проблема, можно скачать Evaluation но проще всего взять Work-in-Progress (текущую тестовую версию). только сейчас там версия, действующая до 1 марта. Есть еще одно - к ней нужен Rhino 5-ой версии.

Но, реально ничего особенного, глобально, думаю Maxsurf будет поинтереснее.

Пожалуй, основное преимущество в том, что рисует прямо в rhino.

...

Но если мы имеем РО и они построены совсем по правилам, то их геометрия определяется только несколькими точками и линиями. Эти данные вполне можно передать любым форматом, хоть dxf, и куда угодно - хоть в базовый Autocad для последующего проволочного моделирования. Кривые линии вполне можно перестроить в CAD. В результате имеем РО, "родные" в нашем CAD, даже если это не rhino.

...

Линии, определяющие борт изображены ярко красным, днище - красно-коричневым.

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

Это рассмотрение также демонстрирует путь построения РО, применимый практически в любом CAD.

...

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

Спасибо за развернутый ответ! Orca3D demo скачал, поставил, уже подвигал ручки в асистенсе :) . По моему баловство, особенно где РО корпус. Сегодня попробую по мануалу сделать РО. А что за Work-in-Progress, типа Бета-версия?

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

И тут как раз у FS есть хорошие  шансы, там этот принцип построения работает уже сейчас, нужно только добавить дополнительные инструменты по работе с точками. И код открытый, разобраться только надо. Сделать как в MS, некий FS-modeller, а гидростатику считать -в FS+, через .FEF, при построении нужно только строевую видеть, удобно.

Эт я уже мечтаю :)

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


  • 1

#73 egro

egro

    Рулевой 3-го класса

  • Основной экипаж
  • PipPipPipPip
  • 112 сообщений
  • Из:Chelyabinsk
  • Судно: «Лодка с мечом»
  • Название: "Чечако"

Отправлено 16 декабря 2017 - 17:56

Orca3D demo скачал, поставил,

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

Рино у меня оф. хотелось бы и плагинчик как положено поставить. :rolleyes:

Что посоветуете ?  


  • 0

#74 a_max

a_max

    Яхтенный капитан

  • Капитан
  • 2 839 сообщений
  • Из:moscow

Отправлено 18 декабря 2017 - 13:33

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

Рино у меня оф. хотелось бы и плагинчик как положено поставить. :rolleyes:

Что посоветуете ?  

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


  • 0

#75 Роман_В

Роман_В

    Рулевой 3-го класса

  • Основной экипаж
  • PipPipPipPip
  • 197 сообщений
  • Из:Самара
  • Судно: Катамаран К-60
  • Название: Утренняя звезда

Отправлено 20 декабря 2017 - 11:47

Успехов - нет. Я так и не нашел способ построения поверхности по набору точек. 

Когда-то легко и просто делал это в программе Power Shape. Она специализировалась когда-то на поверхностном моделировании, поэтому набор инструментов там для этого просто огромен.

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


  • 0



Ответить



  


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей