API reference, please

maxchen

Looking around for some CAD
the reason is that I only need section of backend (Algo, ActiveDATA and utilities), without GUI, in my application. So that would be nice if anybody could show me reference of code. thanks.
 

Quaoar

Administrator
Staff member
Hey @maxchen do you have any specific questions regarding the SDK, e.g. are you looking for a specific function? Class reference is not finalized yet, but if you are Okay looking at raw doxygen manual pages, here you go: https://analysissitus.org/refman/index.html

Still, I would recommend you ask here what you're looking for; it will be way faster to direct you to the right place in the code.
 
Last edited:

maxchen

Looking around for some CAD
thanks very much. Here is what I am doing: one requirement from our customer is to mark "special" shape in part. the "special" as I know is some feature that I need to code myself. So I wish to learn this framework how to add my own feature. I have read code in package of "asiAlgo", e.g. AAG construction, how recognizer and rule works. But I am not sure if I understood them correctly. Manual document would be better like OCC.
 

Quaoar

Administrator
Staff member
There are two ways:

1. Match your feature using isomorphism (https://analysissitus.org/commands.html#find-isomorphisms) algorithm in the graph. This would work for moderate-size features without interactions. E.g., we use this one for finding machined holes in sheet metal parts.
2. Implement C++ rule, which is essentially just a custom algorithm where you have full flexibility for checking and extracting shape properties. There is no any guide for this approach because it would pretty much depend on what you're trying to achieve. Sometimes a feature is easy to find (like a drilled hole), and sometimes it's becoming a very tricky procedure (like recognition of pockets, chamfers or threads).
 

maxchen

Looking around for some CAD
NO.2 is my option. no doubt writing code of rule is my job and I know the feature algo. Now question is that I do not know the hierarchy or structure of framework, e.g. Diagram of class hierarchy. Sample code of dealing recognize process with some known feature rule is also OK if there is no guide. thanks.
 

Quaoar

Administrator
Staff member
You may want to check the algoritms starting from asiAlgo_Recognize* in their class names. E.g. this one for drilled holes: https://gitlab.com/ssv/AnalysisSitu.../asiAlgo_RecognizeDrillHoles.h?ref_type=heads

I don't think there is much of an architecture to follow. The whole idea is simply to iterate AAG and put some custom attributes to label specific faces as features. Actually, we did use extra "rule" classes for holes, cavities and abstract isolated features, but it's not really necessary. Furthermore, complex features like fillets or pockets did not play well with this "rule" idiom, so it would be safe to say that a recognition algorithm is "just an algorithm" and you are free to decide on its architecture. What we rather have in the framework to ease your life is the AAG itself, but it is more of a supplementary data structure to make all faces indexed, hold your attributes (labels) and give you some geometric and topological cues (dihedral angles and connected components are the central ones).
 
Top