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

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

Фришип, вопросы и ответы, обмен опытом, помощь

Фришип Free!Ship проектирование лодок

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

#901 a_max

a_max

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

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

Отправлено 12 июня 2019 - 03:24

Не понял. Я не предполагал "сохраненной активности" групп.
Какую тянем, та и активна в данный момент.
 

Вроде понял :).  Вот подправил схему. Т.е. если у нас кроме групп g0a1...c01g0 и g1a01...c0g1 будут еще g01_g11 и g02_g12 (чтоб погибь борта регулить не нарушая цилиндричности), то если мы потянем точку a0 выравнивание само сделает активной группу g0a1...c01g0, даже если последней мы регулили группу g01_g11? А когда мы регулим именно группу , то она делается активной по выбору активности в окне (g01_g11) и при этом в группу g0a1...c01g0 изменения по одной точке внесутся автоматом?

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

Я не просто так про автокад рассказал :) .

Чет сразу не подумал, теперь можно пример сделать непосредственно во Фришипе , хоть и не с параметрической цилиндрической частью.

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

  • ТЧ_конусные_линии_2.jpg

  • 0

#902 mm7

mm7

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

  • Основной экипаж
  • PipPipPipPipPipPip
  • 473 сообщений
  • Из:Вудбридж
  • Судно: виндфойл доска

Отправлено 12 июня 2019 - 03:36

если группа это цвет, и потянем а0, то потянутся все коричневые точки а1..а3,а01..а03 и g0,g1 тк они же а1,а01. (вообще 2 имени у одной точки не возможны)
И так же сместится а3b0, т.к. она на линии а0-а3.


  • 0

#903 a_max

a_max

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

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

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

если группа это цвет, и потянем а0, то потянутся все коричневые точки а1..а3,а01..а03 и g0,g1 тк они же а1,а01. (вообще 2 имени у одной точки не возможны)
И так же сместится а3b0, т.к. она на линии а0-а3.

Не, цвет это вторично,так для читаемости. Вот обвел группы прямоугольниками, Суть в том чтоб получить регулируемый участок борта с сохраняющейся цилиндричностью, что обеспечивается поочередным выбором групп для редактирования. Т.е. выбрав g01 мы должны принудительно назначить активную группу (красную или фиолетовую), а если мы двигаем a0 то точка g0a1(она включена в выравнивание a0a01) должна автоматом потянуть красную группу.

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

  • ТЧ_конусные_линии_3.jpg

  • 0

#904 mm7

mm7

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

  • Основной экипаж
  • PipPipPipPipPipPip
  • 473 сообщений
  • Из:Вудбридж
  • Судно: виндфойл доска

Отправлено 12 июня 2019 - 16:11

Мне кажется интуитивнее будет, если не выбирать группу если тянешь g01. есть же другие точки чтобы тянуть только группу g*. Простое правило -  тянуть все группы в которые входит активная точка (за которую тянешь). Если не надо тянуть а* и g* вместе, то просто тяни за другие точки.


  • 0

#905 a_max

a_max

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

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

Отправлено 12 июня 2019 - 23:07

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

Вот это как раз не нужно делать, вот простая цилиндрическая поверхность(рис1), мы можем редактировать ее либо за кромку (рис2), либо за образующую(рис3). Она останется цилиндрической. Но если потянуть и кромку и одну из образующих, то цилиндричность нарушится(рис4), образующие перестанут быть параллельными.

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

P/s Изображения встали не по порядку, смотрите в названии рисунка номер

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

  • cil_surf_4.JPG
  • cil_surf_3.JPG
  • cil_surf_2.JPG
  • cil_surf_1.JPG

Сообщение отредактировал a_max: 12 июня 2019 - 23:09

  • 0

#906 mm7

mm7

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

  • Основной экипаж
  • PipPipPipPipPipPip
  • 473 сообщений
  • Из:Вудбридж
  • Судно: виндфойл доска

Отправлено 13 июня 2019 - 01:23

Где кромка, где образующая, какие есть группы, какие точки в них входят?
Если поверхность цилиндрическая, какая вообще у нас задача - растягивать/сжимать ее вдоль оси цилиндра? Или двигать всю целиком? Или растягивать/сжимать поперек оси цилиндра?
 

ПС/ А если сделать так, чтобы двигать за псевдо-точку (рукоятку) группы? Она будет около названия группы, круглая, это вычисляемая точка, центр полигона группы. Пока я не сделал, чтобы за нее можно было двигать. Она просто рисуется на экране. Но в принципе можно сделать, чтобы за нее можно было тянуть всю группу.
Это поможет?
 

Если да, тогда что будем делать с тяганием отдельных точек? Двигать только активную точку? Или двигать все остальные?
 


Сообщение отредактировал mm7: 13 июня 2019 - 01:33

  • 0

#907 a_max

a_max

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

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

Отправлено 13 июня 2019 - 02:45

Где кромка, где образующая, какие есть группы, какие точки в них входят?
Если поверхность цилиндрическая, какая вообще у нас задача - растягивать/сжимать ее вдоль оси цилиндра? Или двигать всю целиком? Или растягивать/сжимать поперек оси цилиндра?
 

ПС/ А если сделать так, чтобы двигать за псевдо-точку (рукоятку) группы? Она будет около названия группы, круглая, это вычисляемая точка, центр полигона группы. Пока я не сделал, чтобы за нее можно было двигать. Она просто рисуется на экране. Но в принципе можно сделать, чтобы за нее можно было тянуть всю группу.
Это поможет?
 

Если да, тогда что будем делать с тяганием отдельных точек? Двигать только активную точку? Или двигать все остальные?
 

Добавил в модель цилиндрическую часть борта вместо конусной. Фиолетовый участок ограниченный точками A D G A' D' G'. Кромки-A D G и A' D' G' , образующие AA', DD' и GG'. Щаc эта область как бы отдельно, чтоб двигать можно было, но в реале борт конечно единый будет. Поскольку мы пляшем от скулы, то ведомая кромка у нас A' D' G', она присоединена к выравниванию, т.е.  D' G'  будут двигаться вслед за  A'. Но при этом мы должны иметь возможность подвинуть пару DD'  и GG' (образующие).Попробуйте подвигать кромку A' D' G' инструментом Мове, выбрав оба ребра, куда бы вы их не сдвинули поверхность останется цилиндрической а образующие параллельными, так же можно подвигать образующие DD' и GG' (вместе или отдельно). 

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

Вы мой вопрос про скайп видели? На экране проще и быстрее показать.

P/s Может все таки по первому простому варианту, одна точка-одна группа? :) Там реально все проще настроить будет. А усложнять уж потом, возможно совершенно другим путем.

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

  • model_1.jpg

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

  • Прикрепленный файл  model_1.ftm.txt   49,43К   413 Количество загрузок:

  • 0

#908 mm7

mm7

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

  • Основной экипаж
  • PipPipPipPipPipPip
  • 473 сообщений
  • Из:Вудбридж
  • Судно: виндфойл доска

Отправлено 13 июня 2019 - 15:37

скайпа у меня нет. но идею я понял.

Загрузил Ваш проект.

Собрал A' D' G' в группу G1. G1 двигается параллельно.

Посадил A' на линию Cone-A. G1 двигается не параллельно. Влияет выравнивание по линии.

В Лин. В Вин вообще все точки в кучу собирает. Поэтому пока не выкладываю.


Сообщение отредактировал mm7: 13 июня 2019 - 15:38

  • 0

#909 a_max

a_max

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

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

Отправлено 13 июня 2019 - 16:27

Собрал A' D' G' в группу G1. G1 двигается параллельно.

Посадил A' на линию Cone-A. G1 двигается не параллельно. Влияет выравнивание по линии.

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


  • 0

#910 mm7

mm7

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

  • Основной экипаж
  • PipPipPipPipPipPip
  • 473 сообщений
  • Из:Вудбридж
  • Судно: виндфойл доска

Отправлено 14 июня 2019 - 15:56

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

Если цилиндричность не самоцель, а самоцель это развертываемость, то можно кромки просто посадить на линии. И даже группы не нужны. (рис 1)

D' на линии A'-G', D на линии A-G. Групп нет.

 

Группирование так же не гарантирует цилиндричность. Если одни точки на одной линии, другие на другой, то группа, как таковая не гарантирует, их параллельность. По крайне мере мне не удается этого добиться. При тягании за А', которая на линии Cone-A, группа движется параллельно. А при тягании за другие точки, А' притягивается к линии и параллельность пропадает.

(рис2) Группа G1(A',D',G')

 

ПС/ эту неделю работать не смогу.

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

  • model_1_0.png
  • model_1.png

Сообщение отредактировал mm7: 14 июня 2019 - 16:06

  • 0

#911 a_max

a_max

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

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

Отправлено 14 июня 2019 - 17:06

Если цилиндричность не самоцель, а самоцель это развертываемость, то можно кромки просто посадить на линии. И даже группы не нужны. (рис 1)

D' на линии A'-G', D на линии A-G. Групп нет.

 

Группирование так же не гарантирует цилиндричность. Если одни точки на одной линии, другие на другой, то группа, как таковая не гарантирует, их параллельность. По крайне мере мне не удается этого добиться. При тягании за А', которая на линии Cone-A, группа движется параллельно. А при тягании за другие точки, А' притягивается к линии и параллельность пропадает.

(рис2) Группа G1(A',D',G')

 

ПС/ эту неделю работать не смогу.

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

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

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

Вот на картинке модифицированный  Андреем Фришип. Есть уже выбор рамкой как в Дельшипе, и в дальнейшем точки можно перемещать либо мышкой по принципу базовой точки (скрин курсор не ловит, нарисовал от руки крестик :)) нажав Shift, либо любым инструментом (переместить, масштаб, отражение, удалить )

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

Много групп пока отставить, если это заработает уже отлично будет.

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

  • Select_1.JPG
  • Select_2.JPG

  • 0

#912 mm7

mm7

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

  • Основной экипаж
  • PipPipPipPipPipPip
  • 473 сообщений
  • Из:Вудбридж
  • Судно: виндфойл доска

Отправлено 14 июня 2019 - 19:08

сделать рамку не большая проблема. Сделаем.

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


  • 0

#913 a_max

a_max

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

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

Отправлено 14 июня 2019 - 20:00

сделать рамку не большая проблема. Сделаем.

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

Т.е. сейчас только нужно настроить перемещение всей группы за точкой включенной в выравнивание? Взаимодействие групп пока не рассматривать.


  • 0

#914 mm7

mm7

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

  • Основной экипаж
  • PipPipPipPipPipPip
  • 473 сообщений
  • Из:Вудбридж
  • Судно: виндфойл доска

Отправлено 24 июня 2019 - 01:35

> перемещение всей группы за точкой включенной в выравнивание

 

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


  • 0

#915 a_max

a_max

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

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

Отправлено 24 июня 2019 - 04:04

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

Ограничить такие действия (вернее запретить как взаимоисключающие). В параметрических САПР это обычное дело. Типа в группе может быть только одна точка с выравниванием. Там все равно еще отлаживать надо на предмет удаления точек включенных в выравнивание. Не всегда гладко проходит.


Сообщение отредактировал a_max: 24 июня 2019 - 04:08

  • 0

#916 mm7

mm7

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

  • Основной экипаж
  • PipPipPipPipPipPip
  • 473 сообщений
  • Из:Вудбридж
  • Судно: виндфойл доска

Отправлено 24 июня 2019 - 16:41

Ограничить можно. Но не хочется.

Вообще, теоретически, это реализуемо? Пока думаю, что - да.

Но пока есть проблема с рассчетом координат точки на линии когда она ведомая, не активная.


  • 0

#917 a_max

a_max

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

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

Отправлено 24 июня 2019 - 21:58

Ограничить можно. Но не хочется.

Вообще, теоретически, это реализуемо? Пока думаю, что - да.

Но пока есть проблема с рассчетом координат точки на линии когда она ведомая, не активная.

Реализуемо что?Расчет координат точки-это какой инструмент имеете в виду?


  • 0

#918 mm7

mm7

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

  • Основной экипаж
  • PipPipPipPipPipPip
  • 473 сообщений
  • Из:Вудбридж
  • Судно: виндфойл доска

Отправлено 25 июня 2019 - 05:08

Ну типа как если объединить основание конуса в группу и двигать его вверх-вниз. Надо чтоб все точки двигались параллельно.


  • 0

#919 a_max

a_max

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

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

Отправлено 25 июня 2019 - 05:30

Ну типа как если объединить основание конуса в группу и двигать его вверх-вниз. Надо чтоб все точки двигались параллельно.

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


  • 0

#920 mm7

mm7

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

  • Основной экипаж
  • PipPipPipPipPipPip
  • 473 сообщений
  • Из:Вудбридж
  • Судно: виндфойл доска

Отправлено 25 июня 2019 - 15:26

Да вроде не сложно. Но че-то пока не получается когда одна точка на одной направляющей, другая на другой.

Пока вся группа движется параллельно, на dX и dY, точки на направляющих меняют свои dX и dY в соответствии с их линейными ограничениями. И поэтому то обгоняют всю группу, то наоборот. Причем каждая по-своему. Естественно, "параллельность" нарушается.


Сообщение отредактировал mm7: 25 июня 2019 - 15:34

  • 0

#921 a_max

a_max

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

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

Отправлено 25 июня 2019 - 16:26

Да вроде не сложно. Но че-то пока не получается когда одна точка на одной направляющей, другая на другой.

Пока вся группа движется параллельно, на dX и dY, точки на направляющих меняют свои dX и dY в соответствии с их линейными ограничениями. И поэтому то обгоняют всю группу, то наоборот. Причем каждая по-своему. Естественно, "параллельность" нарушается.

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


  • 0

#922 mm7

mm7

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

  • Основной экипаж
  • PipPipPipPipPipPip
  • 473 сообщений
  • Из:Вудбридж
  • Судно: виндфойл доска

Отправлено 25 июня 2019 - 23:24

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

 

 

Это работает, если тянуть за саму эту точку.
Скоро выложу релиз.


  • 0

#923 a_max

a_max

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

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

Отправлено 26 июня 2019 - 00:37

Это работает, если тянуть за саму эту точку.
Скоро выложу релиз.

Т.е. если "ведомую" точку двигать, она группу тянет за собой. А если "ведущие" то нет?

Релиз-эт хорошо :). Я думаю имеет смысл и промежуточные варианты пробовать, по ходу и будет видно направление куда двигаться.Там где выкладываете наверное можно же "перезаливать"  версию. Если поможет я могу типа плана составить, как я структуру действий вижу. Хоть  и по-делитански будет. 


  • 0

#924 mm7

mm7

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

  • Основной экипаж
  • PipPipPipPipPipPip
  • 473 сообщений
  • Из:Вудбридж
  • Судно: виндфойл доска

Отправлено 26 июня 2019 - 16:09

Хм. На Лин работает. На Вин, при движении группы, собирает все точки группы в одну. Разбираюсь ....


  • 0

#925 a_max

a_max

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

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

Отправлено 27 июня 2019 - 16:18

Поставил Максюрф. Буду некоторые инструменты на его примере объяснять. Группы там реализованы по простому способу. Работают с точками. Точки группы становятся красными. Имен нет. Выбор предварительный. При последующем нажатии на любую точку выбирается (подсвечивается) вся группа.Перетаскивается за точку (любую).

Что бы разгруппировать жмете на любую точку (все подсвечивается) и потом на кнопку ungroup.

Чуть выше кнопка инструмента compact. Перемещает точки по координатам первой выбранной. Последовательное применение  compact и  group позволяет например соединить две разные поверхности по кромкам. Выбор предварительный. Если в наборе присутствует группа(ы) все улетает непонятнто куда (те самые хронические недоделки).

Надо для таких инструментов делать пост-выбор с фильтрацией.

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

  • MS_group.JPG
  • MS_compact.JPG

  • 0



Ответить



  



Темы с аналогичным тегами Фришип, Free!Ship, проектирование лодок

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

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