Tuesday, April 29, 2008

Next development steps

The next development steps that will be made at NaroCAD are the following:

- analyze the performance of a C# wrapper and see if there is some performance penalty compared to a C++/CLI code. Think also if this penalty can be solved by a mix of C# and C++/CLI (these optimizations will be saved for a later stage of the project, now will just consider the possibility),
- ability to select any face of any shape to be used to draw 2D shapes on it,
- adding of a tree view that shows the shapes drawn on the system, this view also allows changing the shape parameters,
- adding more base shapes like ellipse, lines, points,
- implement an information display mechanism (coordinates, sizes in a measurement unit) that allows also changing these properties,
- implement the Undo/Redo mechanism for all the operations made by the user.

Thursday, April 24, 2008

Added import BRep

Added code that loads BRep shapes. It took almost two hours to make the code, time mostly spent on C++/CLI coding not on OpenCascade coding.

The shape is loaded from the menu that appears after a new document is created: File->Import->BRep.

Friday, April 18, 2008

Suceeded to implement the flow

Succeeded to draw a rectangle using the sketcher and display it in the 3D working space. The code needs cleanup, the drawing techniques are probably not the best but I am super happy that finally something works after many hours of struggling.

Sunday, April 13, 2008

GUI improvement

Made some GUI tunning at the NaroCAD, added new icons for launching and closing sketcher operations.
Will continue with displaying the shape drawn in the sketcher to 3D when the sketcher closes.

The 2D and 3D windows:

Wednesday, April 9, 2008

Next development step

Will continue with displaying the shape drawn in the sketcher to 3D when the sketcher closes.

Suceeded to make 2D rectangle drawing

The 2D drawing tool allows drawing with snap (if the grids are enabled) or free drawing (if grids are disabled).
Screen coordinates are properly converted to space coordinates like the following:
- in snapping mode the Hit() method directly converts screen coordinates to grid space coordinates,
- when snapping is disabled the Convert() method is used to calculate the space coordinates to be passed to the shape to be drawn.

Saturday, April 5, 2008

Worked at 2D rectangle drawing

Worked at the 2D rectangle drawing tool. One more problem remained to solve: converting from window coordinates to OpenCascade coordinates.

Will continue with implementing the functional flow proposed below.