Dear respected OpenCASCADE Technology users,
We would like to introduce our compnay called InnoAppTech (Innovative Applications Technologies), focused on developing software products in design, engineering and manufacturing; interfaces to other software with focus on ease-of-use, re-use, ease-of-maintenance, in extensible frameworks.
This time, we are pleased to anounce two software components, namely: OCTBridge, and SketchMold, for users of OCCT. It is our hope that the components prove complementary while you develop your software, based on OCCT, to meet your specialised needs.
Please note that none of our components tries to replace or compete with the valuable OCCT components. Rather, our components aim at maximising use of OCCT to get the best of it while saving lots of time with compact, profiled, data structures. Honestly, our component OCTBridge needs OCCT for it to work (explained next).
OCTBridge is an interface (bridge) developed to make using geometry and topology services from OCCT easier and, hopefully, with additional pleasure. OCTBridge comes with its own topology data structures; each entity (Topol) has a counterpart element (TopoDS) in OCCT, along with selected services from the various APIs located in several packages of OCCT.
Each topological entity in OCTBridge (vertex, edge, loop, ...) is equipped with several methods and (integrity) data in a shape. Furthermore, OCTBridge distinguishes a wire (free-edge-chain), from a loop (face-bounding edge-chain) by different classes. It also distinguished 'oriented topology' (with unique, editable, orientation), from 'basic (BRep) topology' (with no orientation; but normally associated with at least one oriented topology); here you can actually access co-edges and co-vertices via loops and vertices, respectively. We can also get direct answers to questions such as: "how many faces are incident on the edge" from the edge instance itself; 'how many loops in a solid represent holes', and so on.
Use: you pass a TopoDS element (say, TopoDS_Solid) to OCTBridge, which in turn builds the corresponding topological data structures (say, Topol_Solid) and all the constituent counterpart entities. You may inquire several kinds of information from these entities, and even attach your own data. You can also manipulate these entities directly, e.g. applying a transformation (translate, rotate, etc) but without losing reference to the corresponding OCCT elements. You could also associate the entities with our property objects, e.g. for drawing style, and color. The entities also do generate a discrete (triangulated/polygon) representation, with defaults widely used in industry, when requested of them, and which defaults you may change. Each Topol entity also gives back the counterpart TopoDS element(s) when needed.
This is a sketching framework that offers you various sketching facilities built on fast and robust topology-based solver, which allows to create elemets such lines, arcs, circle and b-spline curves, without having to force the user to memorize abstract terms such as 'constraints'. SketchMold internally determines which algorithms to use to host the behavior of an element based on the captured shape characteristics as its context. It allows full 3D sketching without limiting your to planes only; maintains (design) intent in the form of semantic information associated with each element type during (user) specification. Subsequently, the sketch becomes an integral part of the shape that results from it, instead of being a separate object - this important to be able to effective manipulate shape independent from history.
Although SketchMold does not need OCCT to work, it provides an output to OCCT. In fact, the demonstration application that comes with SketchMold, called SketchMoldSample, communicates with OCCT using OCTBridge.
Please visit our website (given hereunder) to view demonstration videos of SketchMold in action. If this is something for you, you may request more information or for your own evaluation copy of SkethMold and/or OCTBridge using the contact form. We always respond to your questions personally, so make your request today!
We hope you find our components helpful in your development efforts!