Following Are The Benefits That Can Be Realized With KBE:: Zero Human Intervention
Following Are The Benefits That Can Be Realized With KBE:: Zero Human Intervention
Following Are The Benefits That Can Be Realized With KBE:: Zero Human Intervention
1. Besides improved quality of the products, There has been a significant reduction in costs
and lead time for new products realized by many organizations .
2. In addition, this technology ensures that the knowledge is captured and continuously
enhanced and reused for newer products.
3. One of the major concerns of an engineering organization is the “Aging work force” where
enormous amount of engineering knowledge is permanently lost on retirement or on
leaving of the highly experienced designers from the company. KBE technology helps to
capture all the knowledge and ensures that it is available for the future.
Figure shows a comparison of traditional product development with KBE product development.
Typically, the tasks in product development can be categorized into creative tasks and routine
tasks.
Creative tasks typically involve arriving at multiple design alternatives, design optimization, etc.
Any traditional product development involves only about 20% of creative tasks and the remaining
80% of the tasks are routine in nature.
KBE helps in automating the routine tasks so that the designers spend less time on routine tasks
(about 20%) and they can focus more on creative tasks. In addition, an organization can realize
about 20% to 40% reduction in the cycle time as well as effort in the product development.
Automation is applicable almost about everywhere in today's context but to start off with it is not
always easy to justify the benefits of automation. We shall discuss typical cases where automation
can be promptly applied and that would also make us understand the significance of it.
CATIAv5VBA is applied across industries but its actually meant to target specific problems.
Repetitive tasks consume manual effort that can be better invested in improving the design
process and other innovations. CATIAv5VBA (in a larger sense it is referred to as KBE) lets you
encode the process once and run it over iterations. While automation can take over the repetitive
task the human resource can then concentrate on improving it. We still cannot completely
eliminate human intervention, as there are automation scripts that do take timely intervention from
users.
• Iteration and Precision :
Accuracy over iterations is Precision , human resources do get exhausted and the chances of
losing accuracy then creeps in. Machines have no fatigue and can continue with the same
accuracy all through out. Whats even more - automations can be set for desired level of accuracy
thus saving computational resources and even time.
• Knowledge ownership :
In a traditional setup human resources (experienced) are the beholders of knowledge and know
better of the organization's design process and constraints. Attrition has its own reasons, but when
people separate from the organization, training a replacement takes significant time.
All this can be avoided when such iterative process can be automated. Knowledge rules remain
encoded within the software and thus organization remains the sole owner of it.
Popular CAD tool CATIA can be automated using external VB programs ( interface for which is
provided. Interfaces need to be inducted in the VB project separately.)
VB.NET code calls the commands in CATIA to automate tasks without human intervention.
Architecture of CATIA as described on the CATIA home page has a clear definition of the layers of
object model that needs to be accessed.
CATIA itself is written in C++, has provisions to let other languages call its API (Application
programming interface) – API is language agnostic This is possible with COM interfaces which
are packed in .TLB files.
When you start a project you would see that the automation needs to state and add the interfaces
that would be used. When the call from VB automation passes into CATIA for action remember
that it is across 2 languages this call has to pass before the action can be carried out by CATIA.
Not all the functions in CATIA that are available to C++ programs is available in VB. There are
restrictions due to commercial reasons. So don’t expect to have all the functionality available to
be automated in VB.
If the interfaces were packed flat into one bundle that would have been overwhelming and thus
they are namspaced and physically packed under different libraries. Libraries as these have
intuitive classification so that a user of CATIA can easily pick and interface looking at the name.
CATIA as an automation server
CATIA is a computer aided design tool built on Component object model (COM). CATIA itself was
built on C++ 2003 but has provision to be accessed from other languages that can command it to
execute commands from the code. This very concept of letting external programs to supply routine
commands into CATIA is what is called automation or out-process-scripting.
While the statement seems innocent and simple, there are inherent challenges underneath the
definition when it comes to implementation.
COM provides this extra privilege in have agnostic approach to the native language of the server. In
between your automation and CATIA, there exists a layer of language neutral interfaces , MIDL (
acronym for Microsoft Interface Definition Language) that helps you to percolate the call from
VB.NET to underlying code built on C++.
Example could be simple: When you are trying to call a function inside CATIA library that returns
an int, it has to be translated to VB.NET as Integer. This level of translation is done on the MIDL
layer.
1. Automation waits in anticipation till CATIA is up and running - it can poll CATIA if its started
but CATIA cannot callback
2. Automation then issues the command to perform tasks in CATIA
3. CATIA cannot report back as callbacks are not enabled, so the automation client (your
automation) then polls the server (CATIA) for any changes and conclusion of the
commands
4. For any interruptions or distress events CATIA cannot report back to the automation client
It's a waterfall object model:
CATIA exposes a waterfall model of objects underneath for the automation script that you would
be writing in. The "waterfall " is symbollic of the fact that objects are accessed one after the other
in a sequence, starting from the top to bottom. So as to say, if you need to reach the Part object
of the document , you need to ask the application to give you a handle to the document which in
turn lends you a handle on the part and then onto the shapes further. There is no way you can
reach the shapes directly from the application.
We propose the following method to construct such a cylinder in CATIA (via automation).
We know the volume of cylindrical solid is given by the equation pi*r*r*h and we are now interested
in calculating the height of the cylinder.
From measurements in SPA workbench we can get the volume of such cylinder in m^3 .This can
help us derive the height.
Height of the cylinder + thickness = Offset from datum. Thickness thus can be then concluded.
This thickness is the thickness underneath the point.
SPA workbench API can reveal the volume of the cylinder quite easily. Volume then since is a
function of radius and mathematical pi, and known radius we can easily derive the length of the
cylinder. This length is against the thickness in the summation of the total offset.
This leads us indirectly to the underlying thickness of the material. - The Spot Thickness.
This enables rapid automated measurements. One can expect spots (points) in the order of 10^3
being measured very easily. This though by manual measurements remains a challenge.