Tuesday, November 28, 2023
Home3D ModelingLibreCAD 3 GUI Revamp – GSoC 2020 Section 3

LibreCAD 3 GUI Revamp – GSoC 2020 Section 3

Good day!

With the final coding interval of GSoC coming to an finish, right here’s what has been labored on within the final coding interval.

Context Menu

A context menu has been added which permits the consumer to simply entry some operations in addition to change between totally different enter strategies whereas creating an entity. The context menu could be accessed by proper clicking.

The context menu has three modes, lively, inactive and chosen.


The consumer can undo,redo or begin any software by means of the inactive menu (when no entity is chosen and no operation is in progress), whereas throughout chosen mode the consumer can modify and replica the entity. In lively mode (when an operation is in progress) the consumer can change to a special methodology of enter if required and may PAN or cancel the operation.

Context menu transitions could be simply specified within the lua operations by mentioning it within the operation properties

context_transitions = {
        setSecondPoint = {"LineWithPointAngleLength", "HorizontalLine", "VerticalLine"},
        LineWithPointAngleLength = {"setSecondPoint", "HorizontalLine", "VerticalLine"},
        HorizontalLine = {"setSecondPoint", "LineWithPointAngleLength", "VerticalLine"},
        VerticalLine = {"setSecondPoint", "LineWithPointAngleLength", "HorizontalLine"},
        LineParallelToLine = {"LineOrthogonalToLine"},
        LineOrthogonalToLine = {"LineParallelToLine"},

Dock Positioning

Added dock place information within the ui_settings in order that the dock configuration (together with width proportion) could be saved and loaded as desired.


The widget title bar has been up to date to correctly change between horizontal and vertical titlebar relying on the dock place of the widget.

UI settings class has additionally been up to date to make it simpler so as to add extra configurations sooner or later.

Copying Entities

Copying and pasting of entities and dimensions has been added between the identical window or a number of home windows. Entities could be copied/pasted through the use of the copy/paste choice from the context menu or through the use of the keyboard shortcuts Ctrl-C and Ctrl-V

The entity properties information is transferred by serializing it into json format after which passing it to the required window, the place it’s deserialized and reconstructed from the properties.

Arc Operations

A number of the remaining lacking arc operations has been added (StartCenterEnd, StartCenterAngle, StartCenterLength, StartEndAngle, StartEndRadius, StartEndCenter, CenterStartEnd, CenterStartAngle, CenterStartLength). Context menu choices to modify between the enter modes has additionally been added for these arc operations.

Textual content Operations

Textual content operations lua file and textual content dialog has been added to permit the consumer to create textual content entities. Person can use both the lua operation (by means of toolbar or menu) to enter the textual content with the insertion level, peak and angle. If the consumer requires extra management over the font and different properties, textual content dialog can be utilized so as to add the textual content entity.


I had numerous enjoyable this summer time and would once more like to increase my because of my mentors and the neighborhood for serving to me with my challenge, serving to me be taught and guiding and serving to me with each doubt or challenge that I had.

Akhil Nair

Dev Log



Please enter your comment!
Please enter your name here

Most Popular

Recent Comments