Following Are The Benefits That Can Be Realized With KBE:: Zero Human Intervention

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

As compared to traditional product development technology, KBE technology brings a lot of

benefits, both tangible as well as intangible.

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.

Following are the benefits that can be


realized with KBE:
1. Reducing product development cycle time by automating routine design activities

2. Improving quality of the product

3. Enable concurrent engineering

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.

• Zero Human intervention :

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.

CATIAv5VBA helps in achieving the


following benefits:
• Iterative tasks when automated help in achieving more productivity
• Increase in efficiency when the tasks that require precision are automated
• Knowledge of the organization becomes less people-dependent

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.

Cross-language function calling


Automation is scripted, and often from languages distinct from CATIA's native language (C++) .
This has a major advantage in investing minimal efforts in learning automation. The Script
programmers need not know C++ but can manage very well with VB /VB.NET.

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.

Automation and customization :


Custom CATIA builds is NOT what we are looking for in this course, we are simply routinizing the
functions of CATIA to form a profitable business logic. Automation saves a lot of manual effort in
repetitive tasks and also helps maintain the precision.

Callbacks and Events:


CATIA (server) need not (rather cannot) callback the client automation. This limitation is not only
with CATIA but callbacks to clients, agnostic of the language would mean a lot of code goes into
just developing the event / callback framework.

Here are the sequence of events that transpire :

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.

It's all interface based access :


Direct access to the object / instances is forbidden in CATIA. From automation you can access
the objects only via interfaces, to be more precise COM interfaces. This has a significance in
security and also towards making the automation language agnostic. VB.NET automation would
be calling functions via interfaces and accessing the data via properties. Interfaces are mapped
as a wrung of interfaces , where one interface would lead to another. At any given point in time you
have one interface to hold on to.

Using CATIAv5 native features to build a


caliper
A caliper here is referred to as a solid cylinder that flushes with the surface at the point where we
need measurements. This caliper has its origin from a known distance away from the datum. This
distance can be anything towards the thickness.

We propose the following method to construct such a cylinder in CATIA (via automation).

1. At the known distance offset a plane from the datum


2. Spot thickness point can then be projected this offset plane
3. Draw a circle of known diameter on the projected plane with center as the projection spot.
(We suggest you keep the diameter as small as possible )
4. Then pad up the circle in the direction of the surface "upto-next"
5. This cylinder would be what is referred to as the caliper

Indirect measurement to get the


thickness
We have a solid cylinder that is flushing against the surface , with known parameters.

Cylinder parameters that are known

1. Radius of the cylinder


2. Center of the base offset from the datum

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.

Moving the caliper to other points :


CATIAv5 parametric modeling helps to move the geometry from point to point. The entire cylinder
is a parent child relation tracing back to the center point of the circle. Changing the reference would
change the position of the caliper and then again we can use the same method mentioned above
to calculate the 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.

You might also like