Preview

Труды Института системного программирования РАН

Расширенный поиск

Объектно-ориентированный подход к поддержке сценариев в системах оптического моделирования

https://doi.org/10.15514/ISPRAS-2023-35(2)-12

Аннотация

В статье рассматриваются особенности поддержки сценариев на языке Python в активно развивающейся системе интерактивной графики. Подобная поддержка является трудоёмкой задачей, которую сложно автоматизировать в общем случае. В качестве решения этой проблемы предлагается подход, позволяющий разработчикам совмещать создание новых компонентов системы с одновременным встраиванием поддержки сценариев без написания избыточного добавочного кода. Результатом работы является дружественный пользователю объектно-ориентированный API, описывающий все аспекты взаимодействия системы и сценариев. Использующие этот API сценарии могут применяться для автоматизации моделирования, а также для расширения возможностей системы с помощью специальных скриптовых классов. Последнее особо важно, так как оставляет обычным пользователям возможность самостоятельно расширять системы с закрытым исходным кодом.

Об авторах

Михаил Сергеевич КОПЫЛОВ
Институт прикладной математики им. М.В. Келдыша РАН
Россия

Младший научный сотрудник 



Николай Борисович ДЕРЯБИН
Институт прикладной математики им. М.В. Келдыша РАН
Россия

Научный сотрудник



Евгений Юрьевич ДЕНИСОВ
Институт прикладной математики им. М.В. Келдыша РАН
Россия

Научный сотрудник



Список литературы

1. PyMEL for Maya, Available at: https://help.autodesk.com/cloudhelp/2018/JPN/Maya-Tech-Docs/PyMel/index.html, accessed 13.02.2023.

2. Mechtley A., Trowbridge R. Maya Python for Games and Film: A Complete Reference for the Maya Python API. CRC Press, 2011, 381 p.

3. Collado G.E.G. Modeling and Python Scripting in Maya for the Animation Short Style. Bachelor’s Thesis. Department of Computer Engineering, California Polytechnic State University, 2016, 22 p.

4. Blender 3.4 Python API Documentation, Available at: https://docs.blender.org/api/current/index.html, accessed 13.02.2023.

5. Anders M. Blender 2.49 Scripting, Packt Publishing, 2010, 282 p.

6. Machado F., Malpica N., Borromeo S. Parametric CAD modeling for open source scientific hardware: Comparing OpenSCAD and FreeCAD Python scripts. PLoS ONE, vol. 14, issue 12, 2019, article id e0225795, 30 p.

7. Goyal M., Osborne I., Pivarski J. The Awkward World of Python and C++. arXiv preprint arXiv:2303.02205, 2023, 6 p.

8. Buse F., Bellmann T. General Purpose Lua Interpreter for Modelica. In Proc. of the 14th Modelica Conference, 2021, pp. 425-431.

9. Standish R. C++ Reflection for Python Binding. Overload, issue 152, 2019, pp. 11-18.

10. C++ Language Interface Foundation (CLIF), Available at: https://github.com/google/clif, accessed 30.03.2023.

11. Can D., Martinez V.R. et al. Pykaldi: A Python Wrapper for Kaldi. In Proc. of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2018, pp. 5889-5893.

12. RhinoScript Guides. Available at: https://developer.rhino3d.com/guides/rhinoscript/, accessed 13.02.2023.

13. Li Y. Research of Integration Technology between CATIA and TOOLMANAGER Based on CAA, International Journal of Advanced Network, Monitoring and Controls, vol. 1, issue 1, 2016, pp. 130-135.

14. Барладян Б.Х., Волобой А.Г. и др. Интеграция реалистичной графики в системы автоматизированного проектирования и управления жизненным циклом изделия. Программирование, том 44, вып. 4, 2018 г., стр. 26-35 / Barladian B.K., Voloboy A.G. et al. Integration of realistic computer graphics into computer-aided design and product lifecycle management systems, Programming and Computer Software, vol. 44, issue 4, 2018, pp. 225-232.

15. Extending and Embedding the Python Interpreter. Available at: http://docs.python.org/3/extending/index.html, accessed 13.02.2023

16. Дерябин Н.Б., Жданов Д.Д., Соколов В.Г. Внедрение языка сценариев в программные комплексы оптического моделирования. Программирование, том 43, вып. 1, 2017 г., стр. 40-53 / Deryabin N.B., Zhdanov D.D., Sokolov V.G. Embedding the Script Language into Optical Simulation Software // Programming and Computer Software, vol. 43, issue 1, 2017, pp. 13-23.

17. Галактионов В.А., Дерябин Н.Б., Денисов Е.Ю. Объектно-ориентированный подход к реализации систем компьютерной графики. Информационно-измерительные и управляющие системы, вып. 6, 2009 г., стр. 96-108 / Galaktionov V.A., Deryabin N.B., Denisov E.Yu. Object-oriented approach for computer graphics systems implementation. Information-measuring and Control Systems, issue 6, 2017, pp. 96-108 (in Russian).


Рецензия

Для цитирования:


КОПЫЛОВ М.С., ДЕРЯБИН Н.Б., ДЕНИСОВ Е.Ю. Объектно-ориентированный подход к поддержке сценариев в системах оптического моделирования. Труды Института системного программирования РАН. 2023;35(2):169-180. https://doi.org/10.15514/ISPRAS-2023-35(2)-12

For citation:


KOPYLOV M.S., DERYABIN N.B., DENISOV E.Yu. An object-oriented approach to scenario support in optics CAD systems. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2023;35(2):169-180. (In Russ.) https://doi.org/10.15514/ISPRAS-2023-35(2)-12



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)