About | ECITTT | Conference Programme | Abstracts (17.)
ENGINEERING APPLICATION INTEGRATION
USING A PYTHON-BASED SCRIPTING APPROACH
Doug Cheney
CAD/CAM/CAE Systems Integration (TranscenData)
International TechneGroup Incorporated
Milford, Ohio
USA
Here we are, clearly in the 21st century, and engineering product data integration (PDI) continues to present a challenge. Although there have been significant technological advances in many of the discrete areas of computing, networking, communications, and the specific engineering applications, effective engineering PDI has been elusive. A key reason is the multi-dimensional aspect of engineering PDI. To realize an effective engineering PDI environment, the following factors must be addressed:
- Sharing product data throughout the product lifecycle, which may last anywhere from a year to 25 years.
- Sharing product data across multiple engineering applications such as design, analysis, test, manufacturing, etc.
- Sharing product data across the organizations that represent the virtual enterprise.
Throughout the late 1980s and 1990s, STEP (the Standard for the Exchange of Product Data) has been diligently developed as an international standard, designed to address the engineering PDI dilemma. Although STEP has been successfully used as a data exchange vehicle in various industries, the original vision of STEP (i.e., a product knowledge base that numerous applications can contribute to and access data from) has yet to be fully realized.
To effectively solve the PDI problem, it appears that a standard that attempts to define a complete digital product data representation is necessary but not sufficient. In order to make further progress in this area, the integration of desktop tools and Web-accessible resources requires a flexible and extensible set of programming interfaces for dynamic interaction, control, and data management.
International TechneGroup Incorporated (ITI) has been working on a new and exciting engineering application interoperability initiative for the last 18 months. The core concept of this initiative is to establish a "loose" (i.e., lightweight and dynamic) integration of engineering applications via a common implementation of a script-based interface to each of the application's published APIs (Application Programming Interface). ITI refers to this initiative as iScript (Integration Script). iScript is a multi-platform (e.g., UNIX and NT), multi-application (commercial systems), multi-domain (e.g., CAD, CAE, PDM, etc.) integration tool-kit, based on a distributed architecture.
After much investigation, ITI chose Python as the scripting language. Python brings a rich object model, extensive platform portability, and flexible extension model to the table. It is freely available through the open source community (www.python.org).
The first script-based integration product that ITI has developed is CADScript. CADScript represents an abstraction of the major CAD application APIs. CADScript currently supports CATIA, I-DEAS, Pro/ENGINEER, Unigraphics, Parasolid, IGES and STEP. In addition, ITI is investigating the feasibility of a CAEScript and PDMScript product offering.
ITI is working with several major corporations to implement this script-based integration paradigm in the context of real world engineering application integration problems. The high-level concepts for several of these implementations can be summarized as follows:
- A stand-alone application that iteratively optimizes the shape of a component, based on a CFD (Computational Fluid Dynamics) analysis. The basic process encompasses the creation of a parametrically defined part, followed by the iterative process of automatic gridding and mesh generation, CFD analysis, parameter optimization, and model regeneration.
- An embedded CAD application that enables a design engineer to seamlessly interact with multiple CAD systems from within a single CAD environment. More specifically, the ability to modify the driving parameters of a component from within a heterogeneous assembly model, and automatically regenerate the assembly model, given the updated component representations.
- A client/server application that enables a manufacturing engineer to compare the results of a CMM (Coordinate Measuring Machine) analysis against a native CATIA V4 model, such that the shape comparison is based on native CATIA data and point projections, while interacting with a simplified (tessellated) representation of the CATIA V4 model on an NT client.
The objects and interfaces used to programmatically integrate tools and services are being considered as part of an industry standard by ITI’s participation in the Object Management Group’s (OMG) Manufacturing Domain Task Force (MfgDTF), so they can be implemented as open standards in any language that has an IDL binding (which includes all major programming languages).
Benefits
Attendees will find answers to the following questions:
- What is meant by an integrated engineering application environment, and what are the key elements?
- How does ITI’s script-based application integration paradigm relate to the traditional data exchange paradigm?
- What is Python and why is it a good component for an integrated engineering application environment?
- What is the distributed architecture that ITI’s iScript is based on?
- How does ITI’s script-based application integration paradigm relate to other CAD and PDM standardization initiatives such as IGES, STEP, CAD Services and PDM Enablers?
- What types of programs in industry are currently utilizing this new technology?
Who Should Attend
- CAD/CAM and PDM Application Programmers
- Engineering Information Technology Managers
- System Integration Planners, Developers and Managers
Speaker Information
Doug Cheney is a Senior Software Engineer and Consultant for ITI. The past seven years he has pioneered interoperability solutions for the MCAD market in several roles: commercial software developer, implementation consultant, trainer, educator, and member of international standards committees (OMG CAD Services, SASIG Product Data Quality and PDES STEPnet/CAx Implementers Forum). Doug has a Master of Science degree in Mechanical Engineering from Brigham Young University and is the proud father of four young children.