Страница 1 из 1

Аэродинамический профиль.

СообщениеДобавлено: 25 сен 2012 02:00
Gomer191
Здраствуйте. Если не затруднит, помогите решить одну проблемку. Была дана задача сделать параметризованный аэродинамический профиль для крыла. Сложность в том, что у разных типов аэродинамических профилей может быть различное количество точек. Я построил для верхней и нижней дужки по 40 точек (с запасом), натянул на них сплайны и привязал их к икселевской таблице с профилями. Никак не могу разобраться, как сделать так, чтобы кривая перестраивалась в зависимости от количества точек. Пробовал для ненужных точек присваивать оператор "ЛОЖЬ", но при этом кривая не может перестроится, т.к. потеряны связи с точками. Заранее благодарю за помощь.

Re: Аэродинамический профиль.

СообщениеДобавлено: 25 сен 2012 08:09
[PTM]
проще сделать через генератор, в идеале на VB.
Для примера поищи пример многоугольника- я выкладвал

Re: Аэродинамический профиль.

СообщениеДобавлено: 25 сен 2012 13:55
Gomer191
До VB пока не дорос, уровень не тот, дело в том, что параметризацией пришлось заняться совсем недавно, если не затруднит, объясните подробнее что за генератор?

Re: Аэродинамический профиль.

СообщениеДобавлено: 25 сен 2012 14:25
[PTM]
Собственно генертор-это макрос который динамичеки делает точки и натягивает сплайн. Смотри пример

Re: Аэродинамический профиль.

СообщениеДобавлено: 26 сен 2012 00:13
Gomer191
Спасибо, очень интересная работа. Ну например, если сделать так: Создаю параметр, обзываю его "тип профиля", задаю ему связь со строками проектной таблицы, в которой находятся координаты точек. Создаю правило, в котором прописываю: "Если" такой-то профиль, "То" натягиваем сплайн на такие-то точки, "если" такой-то профиль, "то" на такие-то. Катю только осваиваю, многих вещей пока просто не знаю, как бы примерно выглядело такое правило? Штука в том, что проектная таблица это обязательное условие.

Re: Аэродинамический профиль.

СообщениеДобавлено: 26 сен 2012 02:39
Gomer191
Для наглядности вот он http://files.mail.ru/6S8GZM

Re: Аэродинамический профиль.

СообщениеДобавлено: 26 сен 2012 08:17
[PTM]
в катьку в удф таблицу напрямую вроде как не передать. поэтому- ваш путь только генерирование профиля внутри VB скрипта с параметрами.
таблица тоже будет подгружаться в скрипт. Точки рисовать не надо- это лишнее.

Re: Аэродинамический профиль.

СообщениеДобавлено: 26 сен 2012 19:29
Gomer191
Спасибо за совет, буду пробовать.

Re: Аэродинамический профиль.

СообщениеДобавлено: 28 сен 2012 12:58
zerganalizer
[PTM] писал(а):в катьку в удф таблицу напрямую вроде как не передать. поэтому- ваш путь только генерирование профиля внутри VB скрипта с параметрами.
таблица тоже будет подгружаться в скрипт. Точки рисовать не надо- это лишнее.


Тут вы сильно ошиблись, и это работает даже без VB. Это можно купить за бугром баксов за 15-20 в зависимости от сайта. Свой такой лоадер я пока не продаю.

Re: Аэродинамический профиль.

СообщениеДобавлено: 28 сен 2012 16:34
Gomer191
Ну покупать такие вещи не вижу смысла, это для дипломной работы. Кстати и правда получилось все сделать без VB и натянуть кривую. В UDF таблицу передать не получилось, но можно передать параметр, который определяет конфигурацию таблицы, т.е. какая нужна строка, или столбец с наименованием профиля. Спасибо всем за помощь.

Re: Аэродинамический профиль.

СообщениеДобавлено: 30 сен 2012 01:37
Gomer191
Один из способов, может кому-нибудь поможет. http://www.youtube.com/watch?v=nP_gErfA5IQ

Re: Аэродинамический профиль.

СообщениеДобавлено: 15 окт 2012 18:25
browser1
Способ показанный на видео у меня не сработал. На 3 колонке,цикл останавливается с вот такой картиной. Если выкинуть любой столбец, т.е. оставить 2, то ошибок нет, макрос якобы срабатывает, но в катии ничего кроме сета с названием GeometryFromExel. нет да и сам сет пустой. Может кто подскажет почему?

Re: Аэродинамический профиль.

СообщениеДобавлено: 15 окт 2012 20:17
[PTM]
могу предположить только то. что дело может быть в ".", а надо ","

Re: Аэродинамический профиль.

СообщениеДобавлено: 16 окт 2012 17:17
browser1
Ой виноват. Я сомневался, что разница в точке и запятой, но попробовав понял, что Вы правы. Поменял, все работает