
Hopefully you will like at least how it looks and you will create scripts to create more complex shapes.
using OpenCascade and .Net
Last days I've did mostly work on polish and fix what I've did let broken by Node Builder change (which generally broke Naro from place to place). Today in the free time I've did manage to integrate the line code in Lua. The code is not complete for other shapes, but when I will manage it, I will say how Lua works around. It is great that Lua will generate comparable power with IronPython implementation yet with a simpler scripting language. To be honest, IronPython will work for hard-core scripters and Lua will map only high level shapes.
I will keep you updated tomorrow on how works Lua in Naro after I will complete most (if not all) shapes.
NaroCAD uses a good architecture regarding giving hints to user like close geometry around or that it is on a specific plane or a line is paralel with another one. We name this component Solver. The solver component of Naro sometimes is not useful, sometimes is even worse, it stops you to work. For example working with a precise geometry shape, you will see that your points jump over and over again without wanting this. The reason is that the solver finds some points around or parralelism that you don't asked for. Also, if your geometry will go too complex, the solver may get slow, so you may want to disable at least parts of it.
Update: Solver points may slow down your application if you draw a lot of lines because they are checked at every mouse move. An improvement in this area is that in case of shared points, the solver to generate the points only once. By this we increase the generation solver points time from O(n) to O(shP*n), where shP = shared points, but we decrease the real time complexity to O(shP). So right now if your machine was slower, and you picked to disable the point hinter because of this, right now the normal increase is like this: for every box or extrude, you should expect an increase of 2-3x of speed. The small slowdown is when your solver points are generated.