Whenever a transformation is to be processed on entity such as a move or rotate operation, the new data ( Coordinates, Radius, start/end angles ) etc are calculated and a new entity is created at the Coordinates calculated with the same ID and the older entity is deleted. Every entity in the kernel is assigned with an ID at the time of creation. The design principles of the LibreCAD v3 include the immutable concept. The modularity code allows the developers to add their favourite scripting langauges, may be python, ruby or any preferred. LibreCADv3 currently uses Lua as its scripting language, which is pretty finalised. So it can be used in any other software which may require such functionalities ( transformations, Intersections etc). The LCKernel is a robust 2D kernel being developed at the moment. This modularity is also designed keeping in mind the extensibility and usability of code. At the moment the functionality is moved from Qt to Cairo but in future, the user may have an option to choose between Qt, Cairo or may be OpenGL too. For example the LCviewerNoQt contains the code for rendering the drawings on the screen. Looking towards the LibreCAD, the Code is kept pretty modularized so that the user can have choice. My first priority was to develop, polish and enhance the 2D kernel. LibreCAD had a plan for a version 3 and the creator of LibreCAD had some code which he created 2 years ago for the v3 development. This year, I got a chance to work for a pure CAD software. I am pursuing Bachelors of Computer Science and engineering at Chandigarh Engineering College, Chandigarh, Punjab.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |