Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search

An object-oriented approach to scenario support in optics CAD systems

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

Abstract

This article discusses the problems of supporting Python scripts in an actively developing interactive graphics system. Such support is a time-consuming task, which is difficult to automate in the general case. As a solution to this problem, we propose an approach that allows developers to combine the creation of new system components with the simultaneous embedding of scripting support without writing redundant additional code. The result is a user-friendly object-oriented API that describes all aspects of interaction between the system and scripts. Scripts using this API can be used to modeling automation as well as to extend the system with custom extension classes. The latter is especially important as it leaves the ability for ordinary users to extend closed-source systems on their own.

About the Authors

Mikhail Sergeevich KOPYLOV
Keldysh Institute of the Applied Mathematics of RAS
Russian Federation

Junior Researcher 



Nikolai Borisovich DERYABIN
Keldysh Institute of the Applied Mathematics of RAS
Russian Federation

Researcher 



Evgeniy Yuryevich DENISOV
Keldysh Institute of the Applied Mathematics of RAS
Russian Federation

Researcher 



References

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).


Review

For citations:


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
This work is licensed under a Creative Commons Attribution 4.0 License.


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