![]() ![]() Removing image2 from image1 should result in a totally black image.Hi guys i need to add a new Library folder of my named choice - this is what I`ve got so far, need help locate -i librecad If that’s not possible, we can compare them using We can use a program to compare the differences between the images, but I’m The idea here is to use LibreCAD command line to generate images of renderedĮntities, and compare them to existing images (what we expect). The addition of the layers could be done in Cairo and drawn directly in the Is drawing each QImage on LCADViewer widget. Multiple Cairo painters, which are each transferred to a QImage, and a QPainter The last optimization is the transfer between Cairo and Qt. Refresh the temp entities and the cursor. For example, moving the cursor should only LibreCAD 3 is redrawing everything each time the cursor is moved, some objectsĭon’t need to be refreshed every time (like the grid). It wasn’t an issueīefore because we were using only basic entities, but now with the implementation of images, this is also needed. The plugins can define their own code, only one will be reserved forĭrawing order and optimizations: Ī drawing order needs to be added as, actually, it is random. The data will be stored in the INSERT entity in the application defined group The kernel require the implementation of Blocks and INSERT entities. Modification of the entity with their drag points.Apparition of new buttons in the toolbar.The interactions with the custom entities includes: ![]() This representation is also required because otherwise it would add Lua as a If a block is modified outside LibreCAD, it will be visible in LibreCAD too, and The same on two different programs, only the interactions won’t be available. I think this is the best representation, because LibreCAD will treat the customĮntities like the other CAD programs, which will make the entities always look They would be associated to a block for the drawing, and allthe data would be included in the INSERT entity. This project will also add custom entities, which could be defined by scripts, with custom interactions. The plugins will all inherit of a Lua class, with a separation between UI functions and rendering functions, so the same plugin could easily be used in the GUI and The files operations needs to be secure, when a script needs to open or save aįile, it will ask the user where is the file, which prevent opening sensitive files.įor the automation scripts, it could operate on the files in a specific folder, like PHP does with open_basedir. Which will open a dialog in the GUI, and read console input in the command Some needs to be implemented in the UI, for example the method to write a file, ![]() It would implement methods to start or stop a script, add the bindings, etc. Currently, they only have an access to the bindings of the kernel entities.Ī plugin manager would be required in the lcadluascript library, currentlyĮverything is done in the Qt UI library, which makes it inaccessible from the The API needs to be integrated in the command line and in the quick scriptĭialog. Managers will be required in C++ because actually these information are only This includes the function to get the selected layer and metadata. Some functionĬurrently defined in Lua would be moved to a C++ API accessible from the The solution here is to run each plugin on its own instance. It is currently impossible to read or write a file, and some plugins can make LibreCAD crash. The current implementation has some limits for security reasons. This proposal is also including drawing optimizations for LibreCAD, and a unitĭetailed project description Implementation of new plugins: įirst, the Lua script system needs to be improved. The same Lua code could be run in LibreCAD, or in command line or in a quick The plugins could also make operations on files, which would allow scripts to Here the script should handle the modification of the entity so it will That, individual lines can be modified, and it doesn’t look like a rectangleĪnymore. The plugins could create newĮntities types, and define custom interactions.įor example, the rectangle plugin is only adding 4 lines in the document. This project aims at improving this plugin system. Operations are difficult to program, and won’t be intuitive for the user. The plugins can only add primitive entities to a document, others Offer a GUI version with preview of what could be done before with the LibreCADĬommand line. LibreCAD 3 Lua plugin system Brief project summary ĭuring the GSoC 2016, I began a simple implementation of Lua plugins. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |