The OCAF presented samples where a driver is implemented for each basic shape seemed to me not the best idea at the first view. Now after studying it and analyzing some complex use cases with parametric models I decided that the solution is ok, established an application architecture solution and I will start developing it.
This developed version is estimated to take around 3 days and I will consider it the first version that can be released as an concept of the future application. The features that will be implemented were posted in an previous post.
Wednesday, November 28, 2007
Tuesday, November 27, 2007
Drawing datum planes
I am still looking at the OCAF architecture looking for a solution to create a scalable application.
The solution that I look for is how to create a general driver that can draw any shapes and that can be applied in most drawing situations. This solution would be applicable for drawing the datum components and also the work area drawn shapes.
Studied the TFunctionDrivers, the driver table, the TFunction_Function class, connection of these classes and their usage in the undo model. Looked/think at the design patterns that this classes implement.
Not made yet an estimation for implementing the functionalities for the release version, I have to find a solution first to make a proper estimation.
The solution that I look for is how to create a general driver that can draw any shapes and that can be applied in most drawing situations. This solution would be applicable for drawing the datum components and also the work area drawn shapes.
Studied the TFunctionDrivers, the driver table, the TFunction_Function class, connection of these classes and their usage in the undo model. Looked/think at the design patterns that this classes implement.
Not made yet an estimation for implementing the functionalities for the release version, I have to find a solution first to make a proper estimation.
Sunday, November 25, 2007
Next release functionalities to be implemented
Established the functionalities to be implemented for the next release version. The following use case will be implemented:
- File->New Part is chosen by the user,
- When the working area is shown draw the 3 axis datum planes, the sketch and extrude tools are displayed in the toolbar,
- Choose sketch and enter to 2D,
- Draw a rectangle (also the mouse drag functionality is implemented here),
- Apply sketch and return to the 3D view,
- Apply extrude on the rectangle and raise a box (also surface selection is implemented here).
An estimation will be made based on this use case considering the functionalities that are currently implemented.
- File->New Part is chosen by the user,
- When the working area is shown draw the 3 axis datum planes, the sketch and extrude tools are displayed in the toolbar,
- Choose sketch and enter to 2D,
- Draw a rectangle (also the mouse drag functionality is implemented here),
- Apply sketch and return to the 3D view,
- Apply extrude on the rectangle and raise a box (also surface selection is implemented here).
An estimation will be made based on this use case considering the functionalities that are currently implemented.
Published source codes
Configured the SVN access and uploaded the project source codes on Sourceforge.
The sources can be viewed on web at the address: http://narocad.svn.sourceforge.net/viewvc/narocad/
The repository address to download the source codes with a SVN client like TortoiseSVN is:
https://narocad.svn.sourceforge.net/svnroot/narocad
The sources can be viewed on web at the address: http://narocad.svn.sourceforge.net/viewvc/narocad/
The repository address to download the source codes with a SVN client like TortoiseSVN is:
https://narocad.svn.sourceforge.net/svnroot/narocad
Saturday, November 24, 2007
Application stable
Advanced further with the application development: added window drawing/redrawing functionality, undo/redo commands, possibility to change the object view (left, right, top, bottom, axonometric, front, back). At this moment the application is stable and working properly.
From this moment I can say that the application development can start. The next development steps will be to refactor the application and after that start adding new functionalities at the application skeleton.
I am starting now to reevaluate the tasks, the development schedule and deadlines and add the source codes to Sourceforge.
From this moment I can say that the application development can start. The next development steps will be to refactor the application and after that start adding new functionalities at the application skeleton.
I am starting now to reevaluate the tasks, the development schedule and deadlines and add the source codes to Sourceforge.
Wednesday, November 21, 2007
The OpenCascade application works
Succeeded to create a C++/CLI application that uses the OpenCascade library and the OCAF engine. Will continue with improving the source codes, code cleanup, improvements to the GUI and adding more functionalities (zooming, rotating, changing the perspective). Hope to release tomorrow, November 22, a first release version of the application.
The next step after the first release will be scheduling development tasks and establish weekly releases/functionalities to be delivered.
Tuesday, November 20, 2007
Drawn a box
After several failed attempts to make it run from the first shot with all the OpenCascade components included, changed the approach: removed all the components and succeeded to draw a box. Will move forward by adding the class hierarchy from the application and after that the OCAF engine. Task estimated to be finished until tomorrow, November 22.
Sunday, November 18, 2007
Code structure made, not working yet
Finally succeeded to implement an OpenCascade framework application with C++/CLI and OCAF. The class structure and collaboration started to look well, it should be easily extensible. There are problems at runtime, the OCAF document creation fails at application start even if I used the implementation from the sample applications.
It should take one more day to solve this problem and other small problems that might appear at runtime.
It should take one more day to solve this problem and other small problems that might appear at runtime.
Subscribe to:
Posts (Atom)