Tuesday, March 9, 2010

Bug fixes and not only

Cut was broken a bit and was fixed (hopefully in all cases) and was a good occasion to review the sub shape code. Firstly what is subshape? Is a function that extracts a primitive OpenCascade shape from other shape: as a point from an edge, or an edge from a box, etc.
This remains the same but also were some improvements in code logic as Mirror Point will be able to use a point not just from a point shape, but from other shape (at least from logical point of view).
As a small extension the Point3D component is extended to use referenced points from other shapes. This will may mean at least in future (the current visible functionality is unchanged) that is possible to relate a point to a line without making a subshape. In a similar way, the referenced shape is possible as with changes of today to store the same information as subshape, making possible to create (in future) extrudes or cuts internally without creating an extra subshape with all maintained code.

4 comments:

architect Adrian Crisan said...

Is this subshape, somehow like a "construction aid"? - I mean you can define "temporary" entities like symmetry axis, paths, planes, snap point, etc. that helps in building complex objects?
ie: I want to align and distribute louvers on a building facade that is not linear, but a complex curve.
I need to "play" with the number of louvers, however they have to be distributed evenly. So I have the curve that defines the facade surface, I use that as a "subhape/construction aid", offset that the distance I want, then divide that in an amount of "segments" evenly spaced.
So this was an example/question to subshape.
This indeed would be a very good tool addition to NC.

bxtrx said...

The subshape concept is used internally by developers to define a relation between shapes. Because we aim to support parametric modeling we need these relations to propagate changes.
Ex: rectangle<-subshape<-extrude
The role of subshape is to describe the relation between the extrude and rectangle, any change to rectangle propagates to extrude.

Construction aids seems very useful for modeling. We don't have yet any aids on NaroCAD, any hints on which aids might be the most useful ones would be welcome. We were thinking to add some axis and planes but not sure yet how to relate these with the object model tree, if they will be persistent or not.

Best regards,
Mihai

architect Adrian Crisan said...

Mihai - I spoke with Ciprian a while ago, and I promised to support NaroCAD project with ideas. I already started to create a document containing several things that could be considered for future NaroCAD development. This also includes the construction aids idea and several others.
Hope next week I'll have the time to wrap up the first version of that document and e-mail it to you guys.
I followed almost daily this blog in order to understand better the way you guys work/develop NaroCAD, and I guess I have a grasp on that That means I will try to complement your programing skills with what my experience in 3D modeling/rendering/animation is without overlapping.

bxtrx said...

Thank you for your help.