Оптический

Russian forum
Forum rules
Правила форума и полезная информация

ПОЖАЛУЙСТА! Начиная обсуждение, обязательно....
Post Reply
Vadter
Posts: 6
Joined: Sun Jan 24, 2016 11:51 am

Оптический

Post by Vadter »

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

Сравнительно недавно начал разработку модуля OptElements оптического дизайна (типа Zemax) на базе FreeCAD.
FreeCAD хорошая базовая основа для этого, как мне показалось.

Модуль делается с целью:
1. Проведения расчета распространения параксиальных пучков в 3D-оптической системе, состоящей из параксиальных линз, пластин, зеркал (без учета аберраций).
2. В данный момент в работе преломление лучей для оптических элементов объемной формы (составленных из плоских, сферических и цилиндрических поверхностей, данные для которых можно вводить из каталогов оптических фирм), что является вторым необходимым шагом расчета и разработки любой оптической системы (учет аберраций).

Есть вопросы:
- Каким образом сделать модуль доступным для сообщества, где и в каком виде обычно размещают новые модули для FreeCAD и как организован доступ к его версиям?
- Как организован процесс включения модуля в стандартный набор модулей FreeCAD?
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Оптический

Post by DeepSOIC »

Встречный вопрос: C++ или Python?
Если только Py, то всё просто. Модулей уже создано достаточно много. Установка сводится к созданию директории в FreeCAD/Mod/WorkbenchName

Есть также два автоматических установщика сторонних модулей:
viewtopic.php?f=8&t=13617
viewtopic.php?t=10556

Почти все публикуют модули на GitHub.

Тут кстати относительно недавно появлялся ещё один товарищ... на тему оптических систем.
viewtopic.php?f=10&t=13632
Vadter
Posts: 6
Joined: Sun Jan 24, 2016 11:51 am

Re: Оптический

Post by Vadter »

Благодарю за совет!

Модуль полностью на питоне (с возможностью прицепить 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
Vadter
Posts: 6
Joined: Sun Jan 24, 2016 11:51 am

Re: Оптический

Post by Vadter »

Здесь выкладываю последние версии модуля.

https://sourceforge.net/projects/optelements/upload/

Примеры:

https://drive.google.com/folderview?id= ... sp=sharing
Vadter
Posts: 6
Joined: Sun Jan 24, 2016 11:51 am

Re: Оптический

Post by Vadter »

Здесь буду вести дальнейшую разработку.

git clone https://github.com/vadter/OptElements.git
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Оптический

Post by DeepSOIC »

Vadter wrote:Модуль полностью на питоне
Раз модуль полностью на питоне, зачем там CMakeLists.txt, файлы .h, .cpp? :?
Vadter
Posts: 6
Joined: Sun Jan 24, 2016 11:51 am

Re: Оптический

Post by Vadter »

Это сталось от стандартного набора модуля при его создании, т.е. не исключено подключить и с++, только я не знаю как :)
Я непрограммист, а физик-оптик.
Post Reply