Здравствуйте!
Сравнительно недавно начал разработку модуля OptElements оптического дизайна (типа Zemax) на базе FreeCAD.
FreeCAD хорошая базовая основа для этого, как мне показалось.
Модуль делается с целью:
1. Проведения расчета распространения параксиальных пучков в 3D-оптической системе, состоящей из параксиальных линз, пластин, зеркал (без учета аберраций).
2. В данный момент в работе преломление лучей для оптических элементов объемной формы (составленных из плоских, сферических и цилиндрических поверхностей, данные для которых можно вводить из каталогов оптических фирм), что является вторым необходимым шагом расчета и разработки любой оптической системы (учет аберраций).
Есть вопросы:
- Каким образом сделать модуль доступным для сообщества, где и в каком виде обычно размещают новые модули для FreeCAD и как организован доступ к его версиям?
- Как организован процесс включения модуля в стандартный набор модулей FreeCAD?
Оптический
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: Оптический
Встречный вопрос: C++ или Python?
Если только Py, то всё просто. Модулей уже создано достаточно много. Установка сводится к созданию директории в FreeCAD/Mod/WorkbenchName
Есть также два автоматических установщика сторонних модулей:
viewtopic.php?f=8&t=13617
viewtopic.php?t=10556
Почти все публикуют модули на GitHub.
Тут кстати относительно недавно появлялся ещё один товарищ... на тему оптических систем.
viewtopic.php?f=10&t=13632
Если только Py, то всё просто. Модулей уже создано достаточно много. Установка сводится к созданию директории в FreeCAD/Mod/WorkbenchName
Есть также два автоматических установщика сторонних модулей:
viewtopic.php?f=8&t=13617
viewtopic.php?t=10556
Почти все публикуют модули на GitHub.
Тут кстати относительно недавно появлялся ещё один товарищ... на тему оптических систем.
viewtopic.php?f=10&t=13632
Re: Оптический
Благодарю за совет!
Модуль полностью на питоне (с возможностью прицепить numpy-f2py с написанием быстрых внешних модулей на фортране или си).
Про ссылку на товарища большое спасибо, постараюсь с ним связаться.
В процессе разработки модуля появился вопрос: в окошке Data-Base-Placement не удовлетворяет количество знаков после запятой, хотелось бы еще как минимум два десятичных разряда (а лучше бы все double). Повышение разрядности (decimal) в настройках не помогает - меняется разрядность только в окошке Data-Draft. Данный вопрос возникает в связи с тем, что оптическая схема может потребовать точность до 0.1 мкм, и до 1.е-6 градуса.
Вот конкретный пример работы программы на данный момент:
Трассировка лучей для step модели с сайта thorlabs (крышеобразная призма http://www.thorlabs.de/newgrouppage9.cf ... oup_id=144 ):
https://drive.google.com/file/d/0B0EhxZ ... sp=sharing
Версия FreeCAD:
OS: Ubuntu 14.04.3 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6254 (Git)
Build type: None
Branch: master
Hash: 44ad4d94c722296642f136f68f75fa740f1f295f
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
Модуль полностью на питоне (с возможностью прицепить numpy-f2py с написанием быстрых внешних модулей на фортране или си).
Про ссылку на товарища большое спасибо, постараюсь с ним связаться.
В процессе разработки модуля появился вопрос: в окошке Data-Base-Placement не удовлетворяет количество знаков после запятой, хотелось бы еще как минимум два десятичных разряда (а лучше бы все double). Повышение разрядности (decimal) в настройках не помогает - меняется разрядность только в окошке Data-Draft. Данный вопрос возникает в связи с тем, что оптическая схема может потребовать точность до 0.1 мкм, и до 1.е-6 градуса.
Вот конкретный пример работы программы на данный момент:
Трассировка лучей для step модели с сайта thorlabs (крышеобразная призма http://www.thorlabs.de/newgrouppage9.cf ... oup_id=144 ):
https://drive.google.com/file/d/0B0EhxZ ... sp=sharing
Версия FreeCAD:
OS: Ubuntu 14.04.3 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6254 (Git)
Build type: None
Branch: master
Hash: 44ad4d94c722296642f136f68f75fa740f1f295f
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
Re: Оптический
Здесь выкладываю последние версии модуля.
https://sourceforge.net/projects/optelements/upload/
Примеры:
https://drive.google.com/folderview?id= ... sp=sharing
https://sourceforge.net/projects/optelements/upload/
Примеры:
https://drive.google.com/folderview?id= ... sp=sharing
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: Оптический
Vadter wrote:Модуль полностью на питоне
Раз модуль полностью на питоне, зачем там CMakeLists.txt, файлы .h, .cpp?Vadter wrote:git clone https://github.com/vadter/OptElements.git
Re: Оптический
Это сталось от стандартного набора модуля при его создании, т.е. не исключено подключить и с++, только я не знаю как
Я непрограммист, а физик-оптик.
Я непрограммист, а физик-оптик.