STROYKA

Текущее время: 17 авг 2017, 21:33

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 23 май 2011, 14:27 
Не в сети

Зарегистрирован: 23 май 2011, 09:28
Сообщений: 4
Здравствуйте!
Задал вопрос сначала здесь, в личном сообщении посоветовали спросить в этом разделе. Извиняюсь за дублирование темы, удалите ту, которая не соответствует разделу. Теперь собственно сообщение.

Как-то случайно набрёл на страницу на одном форуме, где человек выкладывает свои работы в программе SketchUp, результаты впечатлили. Я сам инженер-программист, пишу программы для промышленных контроллером. Недавно закончил писать программу для ручного автооператора (грубо говоря, кран, который ездит над гальванической линией по рельсам и подымает/опускает подвески). Чтобы не гонять реальное железо на неоттестированной программе, написал программу на дельфи, в которой создал математическую модель автооператора и линии, через опять же самодельную плату ввода/вывода передавал состояния виртуальных датчиков на ПЛК и принимал состояния выходов ПЛК. Всё получилось, программу отладил, виртуальная модель работает отлично, но выглядит это вот так:
Изображение
То есть, в принципе, для одного автооператора и простой линии (маленький отрезок) всё нормально.
Теперь потихоньку начинаю работать над моделью такого же плана, но намного сложнее (автооператоров - 3 штуки, автоматическая их работа, и прочее...). Буду естественно усложнять программу, но всё время (ещё до того, как нашёл ту тему со SketchUp) не покидала мысль, что хорошо бы сделать визуализацию не плоскую, а объёмную, довольно сложную, чтобы можно было посмотреть с разных сторон (а в перспективе - и заказчику показать, как примерно будет линия выглядеть). Воть... Теперь собственно вопрос. Возможно ли настроить SketchUp с физическим плагином так, чтобы движениями объектов можно было управлять извне, из программы на дельфи, каким-нибудь образом? Нужно, чтобы в модели была некая координатная сетка с тремя осями, и некоторые объекты можно было двигать вдоль осей (движения все простые, вверх/вниз, взад/вперёд).
Или если не в SketchUp, в какой программе возможно сделать такую управляемую 3D-модель? В 3D я совсем 0, так что было бы хорошо использовать что-нибудь не сильно замудрённое (про скетчап именно такие отзывы и слышал, что простая программа для детального моделирования).
Спасибо заранее!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 24 май 2011, 23:03 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 366
Вова писал(а):
Или если не в SketchUp, в какой программе возможно сделать такую управляемую 3D-модель? В 3D я совсем 0, так что было бы хорошо использовать что-нибудь не сильно замудрённое (про скетчап именно такие отзывы и слышал, что простая программа для детального моделирования).
Спасибо заранее!

здраствуйте!

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

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


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 25 май 2011, 10:11 
Не в сети

Зарегистрирован: 23 май 2011, 09:28
Сообщений: 4
sahi писал(а):
здраствуйте!
не совсем ясна задача. , зачем такие сложности? пишем простейший скрипт назначаем ему клавишу и всё. при нажатии выбранной клавиши обект или модель будет передвигать на выбранный шаг в указанном направлении.

Это было бы супер!! Хочу уточнить. В SketchUp, получается, возможно выбрать, так сказать, центр координат, (0, 0, 0) и от него в начале работы скриптами устанавливать элементы модели на разные расстояния (скажем, модель "автооператор" - На 10, 100, 100, модель "каретка" - 20, 100, 100)? И затем скриптами же "двигать" эти модели (скажем, модели "автооператор" и "каретка" передвинуть на 10 по оси z)? Если так, то это то, что нужно!
sahi писал(а):
можно это сделать и из сторонней программы. выглядеть это будет так - программа вызывает скрипт - а скрипт уже выполняет свою функцию. - это довольно простой скрипт всего пять - семь сточек.и опять же изачем это делать из другой программы? но если вы всё же желаете я могу написать скрипт а вам нужно только его вызвать. и всё.

Да, это то, что нужно!
Поясняю ещё раз. Я пишу программы для ПЛК (программируемый логический контроллер). Грубо говоря, это микроконтроллер для промышленной автоматики. Сейчас мы делаем проект ручного автооператора. Это такой подвижный типа кран, который ездит по рельсам вдоль гальванической линии и опускает/поднимает в ванны/из ванн с различными технологическим жидкостями подвески с деталями. Приводится в движение кран двумя двигателями - вертикальным (который подымает/опускает подвеску) и горизонтальным (двигает автооператор вперёд/взад по линии). Каждый двигатель управляется четырьмя входами, то есть всего ПЛК должен использовать 8 своих выходов.
Позиционирование автооператора на позиции и подвески на положении вверху/внизу производится с помощью 3 и 4 соответсвтенно индуктивных датчиков. Также используются конечные выключатели - всего получается 11 датчиков, подключённых к входам, с помощью которых контроллер автооператора производит "выяснение" своего положения в пространстве.
Я собрал устройство на другом микроконтроллере, своеобразную интерфейсную плату, которая имеет 11 выходов (то есть, может управлять 11 входами ПЛК) и 8 входов (то есть, может считывать состояние 8 выходов ПЛК). Интерфейсная плата по USB "общается" с программой, написанной на Delphi на ПК. В программе производится эмуляция движения реального автооператора. То есть, известна скорость движения по горизонтали и вертикали. Каждые 50 мс, если ПЛК выдаёт сигнал на двигатели, в программе производится инкремент (или декремент) положения модели нарисованного автооператора. Параллельно проверяется, не "замкнулись" ли его "датчики", и если замкнулись, то передаётся этот сигнал в интерфейсную плату, и она соответственно устанавливает свои выходы. ПЛК считывает свои входы (ему как бы всё равно, реальные датчики на входе, или такие) и снимает сигнал управления двигателем. "Двигатель" останавливается, модель останавливается.
Для чего нужна 3D модель. В настоящий момент эмулируемая линия очень простая (9 ванн в один ряд, один ручной автооператора). В будущем планируется делать сложные длинные линии (возможно, в два ряда, либо под углом), с несколькими автооператорами. Нарисовать, конечно, можно, но потеряется наглядность, да к тому же я до сих пор чётко не вижу, как на 2D можно нарисовать двухрядную скажем линию (а между рядами ещё тележки должны перемещаться). Да и просто хочется красиво сделать, современно :)
Для чего вообще нужно моделирование. Для работы нескольких автооператоров в автоматическом режиме должен быть очень хорошо отлажен алгоритм их взаимодействия, чтобы не происходило простаивания, очередей. Строить в производственном цеху прототип линии почти нереально, а когда линия уже у заказчика, остаётся очень мало времени на программирование и запуск. Поэтому придумалось и отлично себя зарекомендовало на данном этапе вышеописанное моделирование. Вот... вроде всё рассказал, если что ещё непонятно, с удовольствием поясню.
То есть программа моделирования на дельфи меня полностью устраивает, хочется из неё управлять 3D моделью, просто двигать в модели элементы друг относительно друга. Вы говорите, что из сторонней программы можно двигать модели в SketcрUp с помощью скриптов. Вы можете показать пример, как это делается? Или где можно хорошо об этом почитать?
Спасибо большое!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 25 май 2011, 12:43 
В сети
VIP
Аватар пользователя

Зарегистрирован: 24 май 2010, 01:44
Сообщений: 621
Откуда: Россия Москва
Может покопать информацию по sketchup physics?

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

http://www.youtube.com/watch?v=yU2YZLv7uLM
http://www.youtube.com/watch?v=d2OBCpbCEc4


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 25 май 2011, 12:54 
Не в сети

Зарегистрирован: 23 май 2011, 09:28
Сообщений: 4
Ithil писал(а):
Может покопать информацию по sketchup physics?

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

http://www.youtube.com/watch?v=yU2YZLv7uLM
http://www.youtube.com/watch?v=d2OBCpbCEc4

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


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 26 май 2011, 02:55 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 19 май 2010, 12:33
Сообщений: 533
Откуда: Русъ
Есть много видео, где видно что модели SU регулируются ползунками, который отвечают за скорость повороты , если эта модель автомобиль, открыванием шлюза и светофором если это здания шлюза и тд, но во всех этих видео доступный на видео-ресурсах, ползунками управляют мышкой перемещая ползунки на мониторе, как то задумался, что было бы здорова связать клавиатуру с этими ползунками, тем более современные геймпады для компа, дают возможность, запрограммировать любую кнопку клавиатуры на кнопку джостика. Тем самым нарисовав модель, обеспечив ее физикой и рычагами управления, каким то образом совместив с управлением с джостика, можно создать игрушку, например гоночку, либо другие какие либо подобные вещи. Да, это было бы здорова, если этим заниматься, а так в целом этого и не нужно, врятле вы будете на презентации или в какой другой работе - пользоваться джостиком для каких либо манипуляций. Это по надо для развлекухи или для конкретных целей при создании своей игры, SU удивительно многогранный инструмент, если вы меня переубедите, я с удовольствием послушаю. Мои личные изыскания в этой области уперлись после изучения SU и легкого знакомства на примерах с sketchup physics в то что я не дошел до создания таких ползунков и не нашел плагина который бы ползунки управления переносил на клавиатуру, да и при поиске этого решения пришел к тому что я уже сказал, тоесть это всего лишь развлекуха. Буду следить за темой, вдруг всетаки ктото напишет урок как создать ползунки и найдет плагин позволяющий регулировать действие ползунков с клавиатуры.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 26 май 2011, 14:39 
Не в сети
VIP
Аватар пользователя

Зарегистрирован: 23 июл 2010, 22:01
Сообщений: 134
Откуда: SAMARA
А зачем плагин там и так можно назначать любые клавиши для управления моделью.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 26 май 2011, 21:56 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 366
Вот пример скрипта, который передвигает выбранный объект на 10мм вверх.
Вложение:
dvizhenie.rar [708 байт]
Скачиваний: 199

это простейший скрипт, а его можно и усложнить, допустим он будет определять какую модель в каком направлении двигать.
Пример:
"А" - вверх "Автомобиль"
"С" - в низ "Автомобиль"
"Д" - влево "Дом"
"Б" - в право "Дом"
и т.д
При нажатии клавиши "А" скрипт передвинет "Автомобиль" вверх и т.д


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB