7 Resources For CATIA Macro Programmers
7 Resources For CATIA Macro Programmers
net/publication/266142103
CITATIONS READS
4 3,608
1 author:
Brian Prasad
California Institute of Technology
263 PUBLICATIONS 2,698 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Brian Prasad on 27 September 2014.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 1
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
The consensus was that many of the organizations (and our COE-KBE work force in automotive and
aerospace industries), by trial and error, may have found “some KBE best practices.” They may have
uncovered “modeling tips in KBE” in search for design automation, knowledge reuse and integration. This
may include tips on “how to use or create a feature in CATIA V5 via KBE” or to more general tips, such
as, “how to make your KBE model more robust and morph-able?”
The team felt, that our COE users at large would benefit a lot, if we could help gather all those tips and
articles into a KBE Best Practices document.
Being the incoming chair for DPC, Brian Prasad took this responsibility to facilitate creation of such a
document. He formed a task force. Working with the COE members, who responded, Dr. Prasad created
a Table of Contents and sent out several call for Contributions. He posted it onto the KBE focus groups,
COE NewsNet and other places and email sites.
This resulted into formation of Revision One of the so called “KBE Best Practices Document
(KBP).”
In the beginning “birds of the feather” stages of its development, Brian Prasad worked with
select few contributors from our COE organization, added more sections, compiled all the
contributions into sections and created an improved version of the same. KBE best Practices
document soon exploded into several chapters and sections.
About a week before our COE-2006 Conference in Atlanta, GA, Brian Prasad created a new
complete version (Revision 2) of the KBP document. The KBP document- Rev 2 was sent to the
Editorial Board Members and contributing Authors & co-authors via Email attachments for their
review. The plan was to get together as a group and discuss the changes at the COE-2006
Conference.
During the COE-2006 Conference, KBE-DPC Committee with the help of PIC Chair, Scott
Hazel and his team held a second Annual KBE Roundtable and Open Forum on Wednesday
March 22, 2006 in Atlanta, GA, USA. The needs and contents of this document were discussed
at length. It was decided that in order to facilitate easy collaborations among the COE members,
an online media -- accessible to all COE members --should be used.
After careful evaluation of various collaborating options including Email, Wiki Encyclopedia
and COE-KBE Forum, the managing editors decided to employ the KBE forum for this purpose.
Thanks to "'Bill Abramson'" [email protected], "'Perlman, Rich'"
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 2
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 3
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
One can build an application using KTI/ICAD IDL language. Many of us --old timers have done that.
One can do an application in VBA, many of us done that too.
One can built an application in VB Scripts.
Some of us have done the same using in KnowledgeWare Tools.
Some of us had done it using PKT/GScript Language.
Some of us have done using CATIA V5 Templates.
In fact, there are many ways of doing (building a KBE application) even within our CATIA KnowledgeWare tools set
(KWA, KWE, PKT and BKT).
Then, the real question is how should we build this “automated” application so that a resulting “KBE” application
exhibits the following characteristics?
That a resulting application is dynamic. Rules reconfigure themselves or the outputs based on input
changes.
That it (my application) is Generic.—many new, known or unknown cases can be derived from one model or
a “just-one” code representation.
That it’s generative.-- new rule bodies (or models) are created automatically from the old ones (e.g. model
templates) based on changes in input specifications.
That it’s high level. A small amount of KBE code (in the form of high-level instructions or language) produces
significant results (manipulating a large number of objects)
That it’s demand-driven. System (knowledge-engine) knows the sequence in which rules become active and
controls how those rules get fired. Thus, relieving the users (KEs) to worry about (program) or to control the
so called “rule sequencing” themselves.
The above list of “TOP FIVE” is what distinguishes a true “KBE application” from its “Pure automation” solutions. The
latter (pure Automation) solutions are often built using traditional programming tools -- such as pure C++, VBA or VB
Scripts.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 4
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
(PT)
Pierre Pinard DS- KBE Support
(PP)
Fabrice Dreneali Manager R&D Solutions, DS, France
(FD)
John M. Switlik Associate Technical Fellow
(Accepted) Wichita Define Systems/Knowledge Based
Systems
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 5
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
capturing Engineering Intents (via KBE) Differences between KWA rules and KWE rules
versus pure “geometry” (Why use KBE?)
Describes What makes an application Provides more examples than what DS/Knowledge-
Generic, Robust, Reusable and Portable Ware Tools
How to ensure that rules are dynamically Better Examples than what DS provides in their
controlled and not subject to constant code Users Manual.
changes
Methods of Capturing Rules while building A Tutorial on KBE
KBE objects
Methods of Passing Parameters A step by step description of How to use various
(Integration) across KBE objects Knowledge-Ware tools
Which DS/KW Tools to use in what Describe Various Knowledge-Ware Tools:
situations. Describe situations when to use Parameters, Rules, KW terminology, and Better use
them and when Not to use them (what of PKT and PEO tools. (you will find some of these
makes best sense) in the appendix)
How to Build a best class of KBE Description of DS/KW tools and related Concepts
applications using our DS/KW tools
Describe SmartParts and Null Parts Propose Enhancement Requests for adding new
Concepts in KBE with KW Examples functions in DS/KW tools.
Acknowledgement
The Authors would like to thank the members of the Editorial Review board, contributing
authors/coauthors and the COE members for providing feedbacks and taking time to check the
accuracy of the contributions/results reported herein.
Authors would also to thank the COE Board of directors and DPC-KBE Chairs for sponsoring
creation of this document. Without the concerted efforts of everyone involved, this would not
have been possible.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 6
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
1.0 Introduction
1.1 Designing Products? BP AM1
1.1.1 Why Consider “Product as a System”? Brian Prasad
1.2 What is KBE? BP AM1
1.3 KBE Tools BP AM1
1.4 What is KnowledgeWare? Francois
Riche
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 7
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 8
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
11. Appendices:
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 9
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Bouchard
Parameters DB
Formulas DB
Design Tables DB
Macros in VBA or VB DB
Footnote: Note the legends (e.g., BP – Brian Prasad) are short abbreviations. DB: Danny
Bouchard. They are described in Chapter 5 and Sections 5.1, 5.2 and 5.3. RA: Ray Anderson
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 10
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Often while designing an artifact, engineering teams forget that the product is a system. It
consists of a number of subassemblies, each fulfilling a different but distinct function. A
subassembly is a group of two or more units that can be brought together (say for instance, share
common axes or fit together). Subassembly information includes sub-systems, components,
parts, and features (materials, attributes, parameters, and geometric features).
Process information includes assembly features (joining faces, aligning bolts, common axes,
welding lines, etc.), design methods (such as parts layout, design rules, analysis methods,
packaging, tolerance dimensions, and material substitution and form features options. A feature
is a representation of form, intent, and relevance to some aspect of part design of interest to
either functionality (part features or so called form features) or manufacturability (e.g., DFX—
Design for X-ability) [Nielsen, 1990]. Form signifies the attributes of the features present, their
connectivity (topology) and geometry. Relevancy points the reason a feature is included in the
design (e.g., issues related to functionality or DFX rules). Intent represents the imposed
constraints by the CE teams on the freedom of the parts’ function or rules associated with a DFX
principle.
In order to achieve a truly integrated product and process design (IPPD), all the above needs
have to be considered simultaneously. The core concept of IPPD is the “system definitions.”
Consider what Szucs [1980, pp. 42] stated: The term system is used to denote an object
composed of certain elements that are linked by well-defined (but not necessarily known)
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 11
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
relationships. It is stipulated that the system may interact with its environment (receive external
stimuli) and that its behavior comprises responses that are useful or profitable to the operator.
Objects completely isolated from their environment (completely closed system) and phenomena
that cannot be influenced by person are not regarded as systems in the technological sense.
Before we take a close look at the requirements of a full IPPD system, let us review what
constitutes a system. Truly, a system has three parts:
(a) Class Hierarchy (a structure definition):
Class hierarchy is a very efficient mechanism for system definition because one can use
method and variable definitions in more than one subclass (such as sub-systems, components,
etc.) without duplicating their definitions. For example, consider a system that represents
various kinds of human operated vehicles (See Figure 1). This system would contain a
generic class for vehicles, with subclasses for all the specialized types. Five major subclasses
include: auto, truck, bus, aircraft and land transport devices. Their vehicle class would
contain the methods and variables that were pertinent to all vehicle features, such as
identification numbers, passenger loads, fuel capacity, etc. The subclasses, in turn, would
contain any additional methods and variables that were specific to the specialized cases
[Taylor, 1993]. Truck may consist of pick-up, van and a tractor-trailer. Land transport
devices may include subclasses such as motorcycles, bicycles, skateboards and unicycles.
{motorcycles }
{bicycles}
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 12
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
RCs parts RCs components RCs subsystems RCs system RCs department RCs SBUs
RCs enterprise
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 13
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Today, most companies are under extreme pressure to develop products within time periods that
are rapidly shrinking. As the market changes, so does the requirements. This is more pronounced
if the products are consumer-based. For instance, the product that a consumer wants today, may
not like when delivered three years from now. Associated with this are the urgencies and
pressures on the manufacturers’ part to modify their product characteristics based on the up-to-
date requirements, while the product is still being developed. This has chilling effects in
managing the complexity of such continuously varying product specifications and handling the
ongoing changes. This is because, today, it takes an extensive time and efforts to propagate the
specifications throughout the product design and development (PDD) process and then turn them
into opportunities for growth and profits. The ongoing success of a “learning type” organization
lies in its ability to apply novel methods and tools like KBE to capture its entire life-cycle PDD
process (including its system definitions) into a system of “KBE Solutions.” Considering
“Product as a System” while building a system of “KBE Solutions” has many benefits:
The captured “product system” knowledge in the “KBE Solutions” could be reused quickly
at the product’s “system definitions” level in order to configure many relevant subsystem
solutions/possibilities.
Organization could quickly react to changing requirements since system requirements are
part of the KBE system definitions
Organization could apply the “system-definitions knowledge” of KBE solutions as a proven
baseline (starting point) to reinvent itself on new ideas or products that are not part of its
KBE solution family yet; and
By leveraging existing system knowledge in KBE Solutions, it is easy for organization to
keep up with ever changing technology, new product introduction and innovation.
Many companies are stepping up the pace of life-cycle knowledge capture and are applying
“KBE solutions & tools” more and more upfront in the product development process. By doing
so, many organizations are achieving greater flexibility in new ways of engineering products
more correctly the first time, and more often thereafter.
1.1.2 References
Deming, W.E., 1993, The New Economics, Cambridge, MA, published by MIT Center for Advanced
Engineering Study, November 1993.
Nielsen, E., 1990, “Designing Mechanical Components with Features”, Ph.D. Thesis, University of
Massachusetts, Amherst, MA.
Prasad, B., 1996, Concurrent Engineering Fundamentals: Integrated Product and Process Organization –
Volume I, Prentice Hall PTR, Upper Saddle River, New Jersey.
Prasad, B., 1997, Concurrent Engineering Fundamentals: Integrated Product a Development – Volume II,
Prentice Hall PTR, Upper Saddle River, New Jersey.
Prasad B. and Rogers, J., 2005, “A Knowledge-Based System Engineering Process For Obtaining
Engineering Design Solutions, Proceedings of IDETC/CIE 2005. ASME 2005 International Design
Engineering Technical Conferences & Computers and Information in Engineering Conference, September
24-28, 2005, Long Beach, California, USA. DETC2005-85561
Prasad, B. “What Distinguishes KBE from Automation, COE NewsNet – June 2005,
http://www.coe.org/newsnet/Jun05/knowledge.cfm#1
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 14
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 15
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
1.2.1 Introduction
For more than two decades, manufacturers have utilized PLM, previously known as computer-aided
design/manufacturing (CAD/CAM) technology to automate product design and development. Almost
every product development organization has leveraged CAD geometry creation tools — first 2D drafting
packages, and today, as 3D solid modeling systems. Today, solid modeling is most common to automate
the development of engineering drawings and to document production models, compress design cycles,
reduce prototype development costs, and improve product quality. While CAD/CAM tools have helped
many manufacturers realize substantial productivity gains, cost reductions, and time savings, they seldom
incorporate the unique knowledge, experience, and know-how gained over time. Often inclusion of such
knowledge is an increasingly valuable part of the product development process (PDP). In most
organizations, typically, an engineering design is separated from CAD or “detailing of design.” Engineers
often come up with the design in the form of a set of new/modified concepts and a set of new/modified
cross-sectional profiles or sketches. They pass those artifacts to the CAD/CAM designers. The CAD
designers use CAD/CAM tools for detailing the geometry of the parts. The fact is every time, these
engineers design a new product, they must rely on the presence of their mind to incorporate the
company’s product development knowledge, best practices, and experience into the products.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 16
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
The need to capture, manage, and utilize design knowledge and automate processes unique to a
manufacturer’s product development experience has led to the development of knowledge-based
Engineering (KBE) technology.
Competitive pressures in a global economy are making product lifecycle management (PLM) a critically
important technology component for today’s manufacturers (see Figure 1.2.1). Often PLM is a living,
evolving process for each product we manufacture. KBE is the solution for managing that process easily,
efficiently, and cost-effectively. CATIA V5, provides an array of common KBE tools to capture such PLM
processes—from concept to engineering to manufacturing—knowledge (see Figure 1.2.2).
KBE provides the solution for tying all product development technologies and processes together,
automating product design, maintaining product quality, capturing and managing product knowledge, and
providing manufacturers with a distinct competitive advantage.
The KBE developers often use a high-level authoring tool—often a language-based KBE tool to capture
all sorts of knowledge elements, to organize products and processes, and link them systematically.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 17
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
KBE is a mature methodology that bridges the gap between knowledge management and design
automation, integrating their best features with today’s proven product development tools—PLM (referred
previously as CAD/CAM), CAE (computer aided engineering), PDM (product data management), and
ERP (enterprise resource planning). With proper use of KBE, it could provide real results to some of the
biggest challenges manufacturers and engineering organizations face today.
1.2.5 References
[1] Rogers, Jeff “Getting the Most Gains Out of Knowledge-based Engineering – Parker Aerospace
Experiences”, 2004 Annual Conferences & TechniFair, April 25-28, Fontainebleau Hilton Resort, Miami
Beach, Florida, 2004.
[2] Prasad, B., 1996, Concurrent Engineering Fundamentals: Integrated Product and Process Organization – Volume
I, Prentice Hall PTR, Upper Saddle River, New Jersey.
[3] Prasad, B., 1997, Concurrent Engineering Fundamentals: Integrated Product a Development – Volume II,
Prentice Hall PTR, Upper Saddle River, New Jersey.
[4] RuleStream KBE Architecture White Paper on “The New Generation in Knowledge-based Engineering
(KBE) and Design Automation Technology” RuleStream Corporation, Wakefield, MA, 2003-2004
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 18
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 19
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 20
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
2.0 Introduction
Contributing Author: Brian Prasad Parker Aerospace, Irvine,
CA
Co-Author:
Revised By:
Edited By:
Edited By:
Reviewed By:
Many of you may have come across numerous ways of “doing automation”. Numerous ways of “linking
two dissimilar systems”, “coupling two domains (disciplines) or programs”, “two databases”, or “building
an automated design systems.” You may have noticed that some ways of “automation and integration”
gives better “flexibility and adaptability” than others. Likewise, there are many ways of building an
“application”, which performs one or more of the above automated functions. Not all such automated
applications, however, results in good KBE applications. KBE applications are different in many aspects.
KBE possesses some unique set of characteristics [see Ref. 1-6] that distinguishes it from the rest (of the
automated applications). Before, we explore further about its (KBE) characteristics; let us review first a
textbook definition of KBE [3].
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 21
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 22
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 23
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
KBE is still new and emerging concept. We need to understand what we can do with KBE and how can we do those
more “efficiently and generically” so that it is “portable,” and succinct. You don’t want your KBE application to become
a maintenance nightmare in a short span of time. Meaning, the KBE application should not suffer from frequent code
changes.
DYNAMIC, GENERIC, GENERATIVE, HIGH-LEVEL, and DEMAND-DRIVEN are FIVE words that have greater
meaning in KBE.
I believe, they (the FIVE above) represent a set of characteristics (call it a set of enablers) for qualifying an
application to be a true KBE application [see Refs. 4-5]. There are many ways of building a KBE application. One can
build an application using KTI/ICAD IDL language. Many of us --old timers have done that. One can do an application
in VBA, many of us done that too. One can built an application in VB Scripts. Some of us have done the same using
in KnowledgeWare Tools. Some of us had done it using PKT/GScript Language. Some of us have done using CATIA
V5 Templates. In fact, I could submit to you there are many ways of doing (building a KBE application) even with our
CATIA KnowledgeWare tools set (KWA, KWE, PKT and BKT).
Then, the real question is how should you build this application so that your resulting “KBE” application have (by
inheritance) the above FIVE qualities?
That your application is dynamic. Rules reconfigure themselves or the outputs based on input changes.
That it (your application) is Generic.—many new, known or unknown cases can be derived from one model or a
“just-one” code representation.
That it’s generative. -- New rule bodies (or models) are created automatically from the old ones (e.g. model
templates) based on changes in input specifications.
That it’s high level. A small amount of KBE code (in the form of high-level instructions or language) produces
significant results (manipulating a large number of objects)
That it’s demand-driven. System (knowledge-engine) knows the sequence in which rules become active and
controls how those rules get fired. Thus, relieving the users (Kegs) to worry about (program) or to control the so
called “rule sequencing” themselves.
Today, there exists numerous standalone programs written in C++; Visual Basic and Excel spreadsheets
[see Ref. 2]. While these automation solutions satisfy specific product development needs, they are often
not part of a system solution nor are they integrated into the mainstream of PLM –say at an enterprise
level. As such, any of them could not be called a true KBE Application. Many of such automated solutions
present serious shortcomings (like maintenance nightmare) and many disadvantages (like excessive cost
of integrations and maintenance) compared to the new generation of KBE technology having the above
set of FIVE built-in qualities.
2.0.5 References
[1] Parker KBE Architecture White Paper on “Knowledge-Driven Automation Program”, Parker Hannifin
Corp, Irvine, CA. 2004-2005.
[2] RuleStream KBE Architecture White Paper on “The New Generation in Knowledge-based Engineering
(KBE) and Design Automation Technology” RuleStream Corporation, Wakefield, MA, 2003-2004.
[3] Prasad, B., “Concurrent Engineering Fundamentals: Volume 2: Integrated Product and Process
Development, Chapter 6 – Capturing Life-Cycle Intent and KBE, Prentice Hall, 1977.
[4] See COE/KBE Focus Group Discussion Thread:
http://www.coe.org/forums/messageview.cfm?catid=19&threadid=6412
[5] Rogers, Jeff “Getting the Most Gains Out of Knowledge-based Engineering – Parker Aerospace
Experiences”, 2004 Annual Conferences & TechniFair, April 25-28, Fontainebleau Hilton Resort, Miami
Beach, Florida, 2004.
[6] Prasad, Brian “Knowledge Driven Automation”, Enterprise Engineering Systems, ParTech 2004, June 23 - 25,
2004, Sheraton Hotel Cleveland Hopkins Airport, Ohio, 2004.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 24
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 25
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 26
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
In typical Expert Systems (ES), and in KBE applications knowledge is fundamentally expressed by means
of if then else rules, as the former is an inheritor of the ES.
However in order to be effective the rules must be contained in a base that can be easily managed, i.e.
easy to update and easy to expand.
Rules also need a shell to organize them and allow them to connect themselves for achievement of a
result. Such a shell is referenced as the inference engine. Inference is the mean by which the rules can
be combined together in order to answer a specified question from the user, as whenever one for
example guesses:
‘What if I increase the rib cap thickness by 2 mm?
If the rule base (knowledge base) is sufficiently complete it should be able to react correctly to the user
request, producing results based upon the chaining of the rules aided by the inference engine.
Once more there comes the Artificial Intelligence (AI) with its concept to help us. The Object Oriented
(OO) paradigm, that supports the programming languages of the main KBE vendors was born in the AI
context, as a form of knowledge representation and originally named as ‘Frame. For more details
concerning Frames, see 2.9.1 Ref 1.
Frames essentially consist of a set of attributes which describe the properties of an object represented by
the frame. The values assigned to the attributes can be other frames, resulting in interdependency
between the frames. The frames can also be organized in a specialization hierarchy, creating an
inheritance relationship. In the example shown in the Figure 2.3.1 the frame living-room is a
specialization of the frame room and inherits all his attributes.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 27
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
N of walls 4 Integer
Shape rectangular Symbol
Height Real(m)
2
Area Real(m )
3
Volume Real(m )
The CATIA V5 technology does not specifically provides neither a repository for rules nor an OO
language or any type of inference engine. CATIA provides an associative structure of features that can
behave as objects.
A User Defined Feature (UDFs, see item 7.2) for example consists of a template which can encapsulate
product data based upon more basic CATIA native features in order to produce more specialized results.
Templates, as well as typical objects of the OO paradigm, can be instantiated by having their inputs filled
in. Once instantiated the templates can share their attributes by publishing their parameters and provide
additional outputs.
Engineering Knowledge can be stored in a CATIA template by means of parameter formulas and
KWA rules. Configuration and geometry related knowledge can also be captured by the process
of construction embedded in the UDF.
2.3.1 Scenario
Actually the idealization of a CATIA V5 application by means of small building blocks, such as the UDFs,
is a way to represent the knowledge associated with the product using objects, each one with its related
knowledge.
Let us considerer for example a CATIA V5 application for typical machined wing ribs (see Figure 2). A
wing rib can be represented by a set of features listed below:
Web Shell
Horizontal web stiffeners
Vertical stiffeners
Stringers cutouts
Lightening holes
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 28
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Each of these features can be treated as individual components (objects, templates or UDFs) with their
related knowledge. In order to exist (to be possible to instantiate them) the UDFs need some mandatory
inputs.
The knowledge associated to each component, including geometry construction and design/engineering
rules, can be represented using structures similar to Frames, with some additional slots, as follows:
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 29
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 30
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Traditional old KBE frameworks, as ICAD for example, forces the Knowledge engineer to initially conceive
an abstraction of the product, establish a mental model, representing it in a programming language
proper for knowledge representation and then obtaining its graphical representation. That was usually
the approach of having a code editor separate from the main browser that works as the graphical kernel
interface of the product. In this type of architecture there’s a CAD engine that establishes a client server
relationship with the knowledge base. That’s what one usually calls by a Knowledge Centered KBE
approach.
On the other hand, experienced designers, who are used to manipulate traditional CAD softwares with
wide visual interfaces resources, represent substantial part of the KBE experts in industry. These may
prefer the traditional CAD UI resources as they feel more comfortable to initiate the product conception
from a draft, directly defining very basic geometric components to represent his mental model. And then
from the basic topology the rules controlling the product definition can be plugged in. In this case there’s
no clear distinction between the graphical representation environment and a shell that holds the
knowledge base. This approach is usually considered as a CAD centered KBE approach and is adopted
by Dassault Systemes (DS) in the CATIA V5 Knowledgeware technology with his knowledge features.
In a CAD centered approach, the process of representing knowledge is not creating abstract objects but
creating geometry (CAD) that will further receive rules associated to it. The geometry will them be
generalized, turning itself to a template for constructing different configurations.
Knowledge centered KBE does not limit the knowledge architect over the topology point of view.
Knowledge centered makes the KBE engineer think about the why and not the what of the
engineering product.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 31
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
CAD centered approach forces the KBE engineer to start from a CAD model when defining an
application, unlike the knowledge centered approach which make the application arises from an
problem abstraction.
The CAD centered approach focuses more on the visual aspect of the knowledge; shape based,
making the engineering design process more transparent to the designer.
The CAD centered approach makes the designers feel more comfortable to capture knowledge
as they usually get scared with the possibility of writing code lines.
The CAD centered approach can be easier and faster to prototype as it uses more interactive
tools for product construction. Nevertheless that can be more painful if the capture of more
complex knowledge rules in the product are needed, as there’s no formal way to represent
knowledge. In CATIA V5 that capacity is provided by specific features spread through the
knowledgeware workbenches.
On the other hand interactivity is not an enemy of the knowledge centered approach.
One of the great advantages of the Knowledge centered approach is that the knowledge is independent
from the geometric model, allowing it to be represented in multiples CAD platforms by means of neutral
format files. That’s where the MOKA methodology can come to scene.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 32
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
PE technology automated creation of CAD geometric models through algorithms and procedures
that map a pre-defined set of inputs to a pre-defined set of outputs in a generalized fashion. The
goal of PE was to automate the design of families of components, sub-systems, and systems with
similar geometric characteristics. The mapping transformations, which formed the knowledge-
base in a PE system, were generally first order and based on well-known paradigms and
procedures. This knowledge was typically hard-coded in a computer program, and was very
difficult to update and maintain. The advantages of a PE system included reduction in design
time and reduction in design variations. PE systems required a substantial amount of domain
knowledge, where the domain knowledge was fairly static. Therefore, PE systems typically
automated designs based on a priori procedures and did not provide creative solutions to
dynamic problems.
Historically, Expert Systems employed a set of artificial intelligence and statistical tools to
perform reasoning at near human level. Technologies such as expert systems, genetic algorithm,
case-based reasoning, neural nets, fuzzy logic, and blackboard systems were employed to
emulate various forms of reasoning and knowledge representation/utilization.
Today, leading CAD systems are now offering more generalized PE, Expert System and
constraint-based tools all in one called Knowledge-Based Engineering (KBE). In such tools no
differentiations is the made between PE APIs, and KBE APis, and knowledge access or solving
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 33
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
algorithms or methods. Most CAD systems have developed a set of generalized KBE APIs, and
other tools to automate designs. Specialized systems (e.g., ICAD, Intent, TK/Solver and
Knowledgeware) have also demonstrated a large market opportunities for leveraging KBE
technology in product development domain.
Today, KBE technology focuses on solving hard problems that typically require human
experience and intuition, e.g., learning, pattern recognition, classification, scheduling,
configuration, and optimization. KBE systems solve both the non-geometric and geometric
problems.
The business value of KBE is to reduce the time taken in the entire life-cycle process and reduce
design variations by implementing common design standards, parts, and procedures. Such
savings are highly quantifiable and quite significant.
It must be noted that in the Conceptualization phase, a typical release engineer may propose
multiple design alternatives via KBE. Usually, the initial designs are not perfect, resulting in
many feedback loops in the design process. Thus, via KBE the search for an optimal concept
could be based on a number of algorithms-- trial & error, the intuition and experience of the
release engineer, or illusive altogether. KBE thus adds business value by proposing better design
concepts, hence reducing design time and costs be minimizing the feedback loops in the design
process.
2.5.3 References
Kasravi K., Understanding Knowledge-Based CAD/CAM, CAE Magazine, October 1994.
[2] RuleStream KBE Architecture White Paper on “The New Generation in Knowledge-based Engineering
(KBE) and Design Automation Technology” RuleStream Corporation, Wakefield, MA, 2003-2004.
[3] Prasad, B., “Concurrent Engineering Fundamentals: Volume 2: Integrated Product and Process
Development, Chapter 6 – Capturing Life-Cycle Intent and KBE, Prentice Hall, 1977.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 34
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 35
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Actually this subject is strongly related to the Knowledge Centered and the CAD centered approach
discussed in the item 2.4.The first approach starts to conceive the application from the knowledge (rule
base) that, together the requirements are considered as being the top of the product definition. The
former one forces the KBE developer to start the definition of the product by the shape itself, not by the
functions it will perform. That was supposed to happen at the end of the process of its definition.
Experienced CAD designers which became KBE engineers may, however, find difficult to adopt the top-
down philosophy, starting an application from the rules, as they always worked under the product
topology point of view.
One may think that CATIA V5 limits the feasibility of adopting the top-down philosophy due its CAD
centered approach. However, the relationship between the building blocks composing the product
objects/components as well as the design process involved can be architected before the application is
developed and as will be seen in the next section, that can result in lots of benefits.
This issue is strongly related to the availability/existence of an effective methodology for modeling the
knowledge,
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 36
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 37
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
The MOKA project, whose acronym stands for Methodology for Knowledge Based Engineering
Applications, was created in 1998 in order to provide a way of reducing the amount of investment for
development of a KBE application (see 2.9.2 Ref 2).The project resulted in a methodology that provided a
way of representing engineering knowledge by means of models and a software to support this.
In spite of the fact the MOKA methodology hasn’t succeed in providing an effective tool for automatic
code generation for KBE applications, it represents today an efficient methodology for Knowledge
Management bringing benefits for lots of companies that considerer the knowledge as his main wealth.
The MOKA approach when incorporated in a software tool proved to be efficient in identifying the called
raw knowledge in the company, i.e. the knowledge on the form of documents, spreadsheets, charts,
diagrams and even from the design expert’s minds, creating clear representations (models) of that
knowledge in a such way it can be more computer-understandable.
Besides promoting the validation of the corporate knowledge, MOKA allows a structured process of
knowledge reuse and sharing, publishing it and disseminating it through the company. MOKA acts just on
that situation considered critical and encountered by all big companies that need to be competitive in
developing new products. As depicted in Figure 2.9.1, knowledge is usually hard to access and find; lots
of money is lost when someone leaves the company; even if the knowledge is accessible, most of times
it’s disorganized and hard to understand and use.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 38
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
KNOWLEDGE UNPROTECTED
HARD TO USE
DISORGANIZED
The MOKA methodology consists of the capture of the engineering product related knowledge in two
models: Informal and Formal model
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 39
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Product,
Assemblies
Parts
Composite
Features
Geometry
Complex Geometry
Simple Geometry
FEM (finite element entity)
The objects contain properties, i.e. attributes, in order to better describe the geometry and the
components:
These objects are linked by relations of type “composed of” and “is a”.
A box is a simple geometry
A pad is a complex geometry
A fuselage tail is a complex geometry
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 40
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
2.9.3.3 Example
As a demonstration of application of the MOKA methodology in the aircraft industry scenario one can
exhibit the process of geometric modeling of the machined wing box rib shown on Figure 2.3.2 in a
Representation View. A wing rib is constructed basically from a thick plate split by two aerodynamic
surfaces. Additionally, lightening holes and web stiffeners can be included.
The rib web stiffeners can be created using the rib feature in CATIA V5 mechanical design workbench,
which takes as inputs the profile sketch and the guide curve. The profile sketch can be a very simple
geometry, as a rectangle for example. The guide curves can be either simple lines (for a vertical stiffener)
or offsets from the upper rib profile curve (in case of horizontal stiffeners). In fact any other rule can be
adopted in this case.
The lightening holes can be constructed by subtracting Pads from the rib web plate. Pad is also a feature
in the mechanical design workbench which takes as input a sketch profile and the depth of extrusion. The
profile sketch is created from four arcs and four lines, which can be offsets of the related stiffener curves.
The MOKA Representation View of the process of creation of a wing rib is depicted in the Figure 2.9.2.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 41
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Even though the automation of code generation in whatever language is still a dream, some kind of direct
translation of the objects either of the Structure View or the Representation View into a CATIA application
can be imagined using neutral format files as XML for instance. However it’s not the purpose of this best
practices directives document to teach how to perform such an automation task, but unlike that try to
indicate the route of solution.
Even so the MOKA methodology brings some clear benefits inside and outside the KBE community:
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 42
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
2.9.4 References
2.9.1 Ref 1-Inteligência Artificial-Ferramentas e Teorias, Guilherme Bittencourt.Chap. 5, item 5.5.3;
2.9.2 Ref 2-Managing Engineering Knowledge, MOKA: Methodology for Knowledge Based Engineering
Applications. Edited by Melody Stokes for the MOKA Consortium;
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 43
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 44
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 45
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 46
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 47
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 48
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Templates are en efficient way of embedding knowledge for parts which are of not great
complexity and allows reuse of designs to other Products. There are two types of Template
entities in CATIA V5 for Part level:
PowerCopy (PWC)
User-defined Feature (UDF)
Powercopies (PWCs) are very similar to UDFs, both encapsulates all the knowledge to make it
work. But, Powercopies do not hide knowledge inside it, that is, all design operations registered
in a Powercopy are exposed to the user after instantiation. In UDF, knowledge is hidden. UDFs
are displayed as a “block” in Product Tree -- like any other Catia feature (like Pad or Line),
allowing all knowledge to be hidden and exposing only the published set of user parameters.
For templates that are instantiated extensively throughout the Product Tree, UDFs are
recommended because it helps to organize the structure.
Another advantage of UDFs is the possibility to have multiple outputs, while
powercopies usually concern one output (although it displays all the objects inside it).
Another drawback for PWCs is multiple instantiation: once there is more than one PWC
in the model, naming convention becomes a problem. As geometrical entities and
parameters are created in Product Tree, entities names are changed to .1, .2, etc, losing
associativity. This could be solved using an UDF.
Throught a KBE perspective, UDFs are preferred to PWCs. The major drawback for using PKT
is licence costs. PWCs may be used and instantiated using regular HD2 licenses (no special
license) , while UDF require PKT licence for development and KT1 licence for production
(instantiation). For more information on PowerCopy and UDF, please consult the Appendix.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 49
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
The main objective of this section is building templates that are robust to user interaction, that is,
that work in different environments and do not crash. Also, as these Templates may be used in
automation processes, geometrical ambiguities must be handled inside the template.
The main aspects that have to be considered when building robust templates is :
Follow a construction methodology (presented furthermore)
References to vertices, edges and faces (must not use)
Dealing with geometrical ambiguities
Templates must work in such a way that they are robust to user interaction and geometric
variances. For example, a curve in a support may have two parallel curves associated to it
(inwards or outwards), as showed in fig. 1. Here’s a relation of some geometrical elements that
presents ambiguities:
- curve extremes
- curve orientation
- plane normal
- surface normal
- parallel curves orientation
- parallel plane orientation
- split orientation
Parallel Curves:
which one ?
Original Curve
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 50
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Directed curve
Directed surface
Directed pad
Directed Surface split
Directed Solid Split
Directed extend curve
Directed parallel curve
Create Inputs
o Geometrical entities
o References
Build multiple geometrical options
Create empty Output geometrical parameter
Create Measure parameters with formulae
Create a Rule which decides, based on the parameters above, which output will be valid
and passes it to the Output parameter.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 51
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Then, a KWA Rule must be created to decide whether curve will be chosen: the curve whose
parameter has a smaller length (see Rule below). The chosen one is passed to an empty curve
parameter, which will be the UDF output.
Rule :
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 52
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
{
Output\OutputCurve = Body\Parallel.2
}
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 53
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 54
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Actually the way of structuring a KBE application in CATIA V5 is in great part guided by how
and where the rules will be kept. One can still guess if the KWA rules should be preferable
embedded in a UDF or outside it in KWA rule in a CATPart document which handles other
UDFs. Another option would be using VB programming to create the rules associated to the
product by means of macros, reactions with macros, or even VB User Interfaces (UI) with
command buttons that triggers any check.
Let us considerer for example a UDF that inserts a lightening hole in wing rib web. The UDF
takes as inputs four curves representing four web stiffeners (2 horizontal e 2 vertical), as depicted
in the Figure 3. The hole profile is constructed by means of the inward offset of the curves and
four corner radius. Besides the construction rules which are implicit in the process of geometry
generation two design rules were created as follows:
1) A KWA rule that states that when the minimum distance between the two curves in the
pair of rib web stiffeners (which is less), either horizontal or vertical, is less than a
minimum value the hole is deactivated (see Figure 4).
2) A KWA check that states that when the user chooses a corner radius value greater than a
certain value, a rule based radius is set (see Figure 5).
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 55
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
In both cases the rules don’t require any unusable element in the UDF as the elements they
handle are essential elements for the UDF in order to be instantiated. They are particular to the
specific scenario of creating a lightening hole and do not need any external geometric elements
which are not related to the hole geometry.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 56
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 57
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
As an example let us considerer the scenario concerning the generation of system holes in a wing
rib web. An UDF can be created that takes as inputs the curve representing the system line and
the hole radius associated to it and whose output is a flanged circular hole in the rib web. One
can think about a rule that states that if the minimum distance L between two existing system
lines is less than twice the hole radius R plus a distance d value then a single race-track shape
hole is generated, instead of two circular ones (see Figure 6).
L > 2R + d
L < 2R + d
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 58
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
If the scenario presented is constituted of only two system lines the following steps can be
performed to face this situation:
Creation of an UDF that takes as inputs one system line curve and the hole radius
and whose output is a circular hole in the rib web
Creation of an UDF that takes as inputs two system line curves and the hole radius
and whose output is in a race-track shape hole in the rib web
creating a Length type parameter, editing in it a formula that measures the
minimum distance between the two system lines intersecting points with the rib
web plane
Creating a KWA rule that verifies if the minimum distance between the
intersecting points is less than twice the hole radius value plus a distance value. If
the statement it’s false, the single hole UDF is instantiated twice, by means of a
VB macro feature for example. If it’s true the race-track hole UDF is instantiated
using a macro likewise (see Figure 7).
An alternative in this scenario would be the encapsulation of the minimum distance rule within a
single UDF that would morph the hole profile according the minimum distance value. In this
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 59
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
case the UDF would always take as inputs two system lines, instantiating two circular holes if L
> 2 R + d or one race-track shape hole if L < 2 R + d. The latter situation will however request
the deactivation of a circular hole for one of the two system lines, forcing us to keep unusable
elements in the UDF.
8.8.6 References
Ref 3-
Ref 4-
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 60
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 61
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 62
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Parameters DB
Formulas DB
Design Tables DB
Macros in VBA or VB DB
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 63
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Footnote: Note the legends (e.g., BP – Brian Prasad) are short abbreviations. DB: Danny
Bouchard. They are described in Chapter 5 and Sections 5.1, 5.2 and 5.3. RA: Ray Anderson
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 64
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
The main goal of this appendix A is to overview Dassault Systemes CATIA V5 KBE tools and
provides the reader useful means to understand and efficiently use those tools to develop
automated KBE applications for downstream processes. Recommendations for basic and best
approaches to efficiently use those tools are provided.
The appendix A is divided in four different sections. The first section will go trough a quick
overview of the fundamentals and basic tools of CATIA V5 and we will focus on when and
when not to use those tools. The second section will show examples of usage of CATIA V5
intrinsic KBE tools. The last two sections will be overviews of different kinds of knowledge
templates.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 65
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
11.2.1 Parameters
Parameters are at the root of most of the KBE applications in CATIA V5. They can have
multiple type and they can take multiple values.
There are two major kinds of parameters in CATIA V5. First, there are parameters that define
intrinsic properties of a model, such as mass, volume, density and so on. The value of those
parameters is always changing from model to model, even if those models were generated from
the same design template. The user should be careful on the reusability of those parameters to
produce design templates or generic models. Some of ten could be reusable, and some of them
will have to be regenerated. We could call them intrinsic parameters. While some of these
parameters are automatically generated by CATIA after the model has been built, others can be
created by the user to generate other mechanical, or even thermal or chemical properties. As an
example, the parameters in figure A1 were automatically generated by CATIA with a measure
tool. Then, user parameters (force, acceleration) were created to link some of the previously
generated parameters.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 66
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
If I have 40 different models of brake discs (for example, hole patterns are different), I’ll have to
regenerate intrinsic properties with the measure tool for each model.
The second kind of parameters can be called driving or user-defined parameters. Those
parameters are most of the time driven by formulas and other parameters and will be used to
produce design templates and generic models. It is recommended to characterize as much as
possible generic models with user parameters and drive them with formulas (see next section). In
the next example (see figure A2), the number of bolts required to fix the brake disc is controlled
by only one parameter that can quickly and completely change design and bill of material
requirements.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 67
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
To make sure parameters efficiently support quick design changes, the design of the part itself
should include the proper features (and its associated intrinsic parameters) to support quick
design changes. This is where good modeling techniques have to be taken into account.
Parameters can also be used to store text data. In a 3D-only world, common notes that used to be
on a drawing can be stored in parameters in lieu of 3D annotations (see figure A3). The usage of
this approach shall be driven by manufacturing downstream processes after the 3D model has
been built. The population of those parameters could then be easily automated with macros and
scripts applications.
The usage of parameters can suit multi engineering requirements purposes. Remember to use
them, name them and drive them efficiently so that any downstream user that reads the model
can easily understand the intention of its author. For large amount of parameters to populate,
KBE scripts (see section XX) shall be developed to automatically populate those parameters.
As a summary, here are some guidelines for parameterization recommended practices:
Use parameters to define an interface to the part consistent with its design inputs and
outputs
Give parameters logical names and avoid using special characters and spaces
Create as many parameters as needed, but avoid cluttering the part
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 68
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
11.2.2 Formulas
A formula is a CATIA feature used to define a parameter and it can be manipulated like any
other feature. It can contain typical operators (+, -, x, /) and respects all mathematical laws. The
best approach to use formulas is to use them with renamed parameters so any downstream user
can understand the knowledgeware intent of the creator. Figure A4 shows two different ways of
defining parameters with a formula. One is clearly understandable, and the other one is hard to
see where it as on the model, unless the user edit the formula.
Figure A4: Formula that defines same parameters (not renamed, renamed)
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 69
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Figure A5: Different bolts configuration obtained from a single model thru a design table
It has been demonstrated in the past that in many industrial cases, the problems encountered with
macros are not due to errors in the scripting or VBA host implementation but because of
programming errors in the script macros.
Therefore, for beginners who have never done scripting before, it is recommended to first
familiarize with general rules of scripting / coding syntax (code presentation, indentation,
variables, objects, classes, comments, etc.). To use and understand macros in CATIA V5, it is
strongly recommended to beginners to record macros while they perform tasks in CATIA. This
is going to help a lot the user to understand to specific CATIA CAA V5 automation objects, how
they are linked together and how they are used thru functions in a specific CATIA V5 macro. For
advanced users, the more CAA V5 automation objects they can be familiar with, the more they
can automate processes in different CATIA workbenches. Macros that change/automate a big
amount of data and that produce significant changes in a model with a small amount of code
should be achieved.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 70
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
11.3.1 Lists
CATIA V5 lists features are used to manage a big amount of objects or parameters in the form of
a list. Usage of lists becomes helpful to manage bigger models. A possible example would be a
generic model of an airplane stringer on which hundreds of fastener holes location and definition
varies along the fuselage. Such a generic model would involve a change in combination of holes
diameters / locations per stress analysis requirements. Therefore, a combination (list) of
parameters characterizing those holes diameters / locations could be established in the stringer
generic model for each stringer location along the airplane fuselage.
11.3.2. Rules
A rule is a set of instructions that is used to control certain parameters and events according to a
given context (engineering, manufacturing, marketing, etc.) and its context is generally defined
using a conditional expression. There are two types of rules in CATIA V5: advisor rules and
expert rules. The main difference being in the fact that expert rules interact with models at the
class level (all features) as opposed to a specific feature for advisor rules.
Rules can be used for multi purposes. Best approaches are to use them to control the design.
Remember that a rule will control a parameter’s value if it is set in the rule. A typical example
could be the control of the interface with the surrounding structure of a ducting installation in an
airplane. Depending on the surrounding structure, the user has to install brackets at different
location to support the ducting network. A rule could be establish saying: “If surrounding
structure/Part Number= 1234567 then...install bracket”. This is a generic example to show the
advantage of creating rules when doing interface designs. Another example (see figure A6) could
be to control export control rules and licensing within an entire CATIA model or on specific
features.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 71
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Figure A6: Advisor rule controlling export control data on a specific feature
As a summary, here basic best practices on the usage of both advisor and expert rules:
Use Advisor Rules when the exact affected feature is known and well defined
Try to use If – Else If – Else statements as opposed to just multiple If statements
Try to logically order actions in a Rule
Click on a feature or Parameter in the specification tree as opposed to typing the
name in the rule editor.
Remember that the editor is CASE sensitive.
If creating a lot of code, select “Apply” after each major segment to assure that
the code is valid.
Always use parenthesis ( ) and brackets { } to input statements
11.3.3 Checks
A Check is a tool using knowledgeware language syntax to verify specific conditions
specified in the Check to control design targets (typical examples are weight, costs,
design guidelines, etc.). Like rules, there’s also two types of checks: advisor checks
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 72
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
and expert checks. Here again, the difference is that t expert checks interact with
models at the class level as opposed to a specific feature for advisor checks. Unlike
rules, Checks do not have an impact on parameter values. Once a check has been
established, the user has to respect the check’s requirements to complete the model.
On an airplane program for example, weight targets are very important. In our example
(figure A7), the weight of a generic model for a bracket cannot exceed 52 grams.
Otherwise, a pop-up message appears.
11.3.4 Reactions
Reactions are similar to rules and they were created to cope the limitations of rules and
enabling more associative design. The main limitation that helps the user identifying the
need of using a reaction is the fact that a rule cannot control parameters and feature
updates. On the other hand, reactions can control those updates and even if it is similar
to a rule, it can control a much larger amount of updates and can drive complex design
changes. Since the language for reaction is similar but can be much more complex than
the one for rules, it is recommended that the user gets familiar in writing and
understanding rules before starting using reactions.
For compatibility and extensive usage of reactions, it is highly recommended that they
can be coded in VB Script language. The ideal scenario would be to have them in both
CATIA V5 knowledge and VB Script languages, but the industry ask for results in the
shortest amount of time!
11.3.5 Loops
A CATIA V5 loop is another powerful knowledgeware tool that uses knowledgeware
languages to drive design and engineering changes. Do not confuse with the loop
statement (Do – While) used in all computer languages that executes a statement until it
becomes false. Loops shall be used to automatically create complex patterns that
cannot be achieved with typical pattern features or fast multi-instantiation of features in
CATIA V5. It is highly recommended to program loops with user templates such as
power copies or user features. This will allow users to achieve complex instantiation of
those user templates simply by using the loop function. For example, a user wants to do
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 73
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
a fast instantiation of holes drilling directions to join two parts together. He defines a
user template with three inputs: a point, a line and a surface. Then he creates a loop
that instantiate a line-point-line combination for every holes location (see figure A8)
Figure A8: Fast instantiation of holes drilling directions using loop capabilities
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 74
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 75
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
As a summary, here are some basics best practices on the usage of UDF:
Recommended to be used on Bodies, Sketches, Features, Design Tables and
Relations
Keep geometry as simple as possible and use the least possible number of
elements as inputs. Keep those inputs in a logical sequence
Give geometry and parameters meaningful names so that they are
understandable by downstream users
Constrain as much as possible to the inputs.
Avoid constraining 2D elements to “HV Axis” unless Positioned Sketch is used.
Avoid using Projections or Intersections in Sketches if possible.
Be aware of existing Master Parent/Child Relationships and relational design
links for part updates
This being said, the part template is a feature itself that is created in the CATIA model. It is
similar to User Defined Features described in the previous section. The main difference being
that they are always stored in libraries and catalogs to use them in other contexts. Several part
templates may be defined in the same CATIA model.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 76
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
Document Templates are also similar to User Features, except that the entire document is used
and not a subset of features, so they are instantiated into products (assemblies). They are
instances in assemblies and there are several methods to instantiate those templates into a
product.
Assembly templates, created interactively, always reference the root product of another
assembly. Once this template is created, the user stores it in a catalog and uses it in another
context. We are then talking about in-context and out-of context instances, which is out of the
scope of this document. The template definition is a feature located in the CATIA Product
document itself. Several assembly templates may be defined in the same CATIA Product
document.
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 77
Best Practices in KBE (Draft Rev 3.0) May 15, 2006
G:\CSD Groups\
Team_KDA\ASME-DTC-2005\ASME Presentation\ASME-DETC2005-8
Please direct all enquiries to: Dr. Brian Prasad, COE/DPC KBE Chair, [email protected].
Page 78