Wednesday, February 10, 2010

Preview Build for Command Line and WPF Completion

NaroCAD gets forward in usability and look&feel, but also in functionality.

WPF porting of the "old" NaroCAD was ported to WPF equivalents, so as of today only OpenCascade View and the Grid View are non WPF controls (OpenCascade is for obvious reasons), but the TreeView and Lua dialogs are also ported. Are also applied WPF styles to frames and controls, giving to NaroCAD a dark-cool appearance.

Internal changes are also disruptive so you may expect crashes and some problems with this preview build as the actions can be defined as intermediate states shapes. Also the shapes can be filled (some of them, that are ported to the new command line components) with mixed data from command line control and mouse clicks. Command line for points will be able to use relative coordinate in this way: a regular coordinate is setup as 0, 0, 0 (or any floating point way like: i.e. -0.231, .23, 10 ) and the subsequent coordinates can be defined by reusing the old coordinate simply by keeping a blank space between commas or adding/substracting using the r letter like: 0, , -23r (meaning that X coordinate is 0, Y coordinate is from previous Y and Z is the previous Z subtracted 23).
As we will continue to make it more stable you will enjoy rich help from one side and simpler definitions for creating new shapes and so.
An interesting opinion from a free software creator points out that if you will want that your (free) project to change in the direction that you intend to, you should contribute with it. The topic generator gets the idea that anyone that gets in a community, it should stride to get a role. So, just in case you are interested in contributing to NaroCAD, just as testing this release or adapting it to your specific needs, you can drop here a line.
To try this release, download it from here.

2 comments:

shurup said...

The project is very interesting! We need to implement a small project that can import a STL (or converted in IGES) files, render the models and allows to simulate their movements. We are .Net professionals, but not on c++. So I was very impressed of your wrapper to the open cascade.

Meanwhile I've found another .net wrapper to the open cascade 6.2 here: http://www.sofa.de/OCasDotNet/Index.html
It's very good organized in the namespaces and documented, but not so complete as yours.
We have frequently problems to find a nessecary functions in the open cascade documentation (I have not found a complete open cascade API documentation). Maybe you can help me. Can you provide me the way to write you (email, pm or forum)?

Ciprian Khlud said...

I will post for all topics you target on:
- the wrappers as they have problems: this work was done and we found problems and as our resources are fairly constrained (meaning two developers) we stride for now to fix the wrappers (is a project in SVN tree, but of course as wrapper compilation take around 30 minutes in a quad core machine, and yes, we use that cores to save compilation time) it will take some time without help. If you will need just how to patch wrappers and what are their issues we can arrange any way you will want to spot the problems. Wrappers have mostly two problems: they do leaks and some definitions need to be accessed via unsafe keyword. Both are easy to spot but without proper testing is hard to find a global solution for now
- the documentation is lacking in OpenCascade as a whole. We faced that and this is why we rewrote some parts that are high-level and make also harder to debug with mixed (C++ and .NET code). Those parts are the document model and a high level UI framework (and which right now takes a rewrite). This makes also our first cause of weird behavior problems we faced so far
- the rendering module we used as for now is a Java based Sunflow one. If you will want just to get the best in this component, or you will need some extending/fixing in this area, please spot them and we can target problems one by one.
A forum will be nice to have, probably the sourceforge one?