Presentation is loading. Please wait.

Presentation is loading. Please wait.

STEP and Scriptable CAx Tool Integration

Similar presentations


Presentation on theme: "STEP and Scriptable CAx Tool Integration"— Presentation transcript:

1 STEP and Scriptable CAx Tool Integration
Doug Cheney Senior Software Engineer International TechneGroup Incorporated

2 Complimentary Interoperability Approaches
Data integration : Exchange product data via a STEP model representation Complete, standalone definition of model Requires two model conversions: native to standard to target Native model is duplicated in standard and target system formats Systems integration : Share product data via CADScript--a neutral application programming interface Only data and behavior needed by applications Requires access to licensed installations of CAD systems Native model stays in native system Native Model Neutral Target System Systems Engineer Component Local System Model CADScript Remote

3 Multi-CAD data and algorithm access
CADScript Overview Multi-CAD data and algorithm access with scripting ease IGES & STEP and platform independence Pro/ENGINEER CATIA I-DEAS UG and Parasolid

4 Complimentary Usage Scenarios
Data integration using STEP Multi-disciplinary repository of all product data Long-term data retention Legacy data migration Systems integration using CADScript Multi-CAD application Collaborative engineering Cross-platform application Multi-system assembly design

5 Multi-CAD Application Example
Application Domain CAD Model Quality Control Key CAD Interface Requirements Support for each of the major CAD applications (e.g., CATIA, I-DEAS, Pro/E and UG) and formats (IGES, STEP, Parasolid) Access to native CAD data and algorithms (no data exchange) Identical diagnostic algorithms for all systems Focus on diagnostic development, not system integrations Application Integration Success Metrics CADScript V2.0 – 130K lines of C++ CADScript V3.0 – 29K lines of Python CADScript V3.0 – 19 Diagnostics CADScript V4.0 – 40 Diagnostics

6 Multi-CAD Application Architecture
Menu Callbacks Application Algorithms Application User Interface CADScript Customer Software UG Pro/E CATIA ITI Software I-DEAS PDE/Lib CAD Vendor Software

7 Collaborative Engineering Example
Application Domain CAD Model View and Mark-up Key CAD Interface Requirements Support for each of the major CAD systems (CATIA, I-DEAS, Pro/E and UG) Model query using precise measurements (i.e., no translation) Assembly based queries Web based client/server architecture High performance and large scalability Application Integration Success Metrics Very short time-to-market for “production-ready” (multi-CAD) visualization product (less than 6 months)

8 Collaborative Engineering Architecture
Client Server class PartSession: def demo(self) def demoStep2(self, partFile, tesTol, edgeTol) def display(self) def area(self, uniqId) def length(self, uniqId) def modifyParameter(self, uniqId, rhs, type) Application Server CADServer HTTP (URL) requests URL Call Mapper Web Browser Calls Java Applet CADScript Customer Software The web browser demonstration uses a simple HTML based interface to allow viewing and modification of parameters in a model located on the server. The server session code is defined in a class called “PartSession”. When a URL is accessed by the web browser, a method in the PartSession class is invoked that generates and returns HTML to the browser. This HTML contains additional links (that map to methods in PartSession) as well as some JavaScript code and a reference to a small Java applet that allows 3D visualization and interaction. When loaded, the viewer requests a tessellated representation of the model from the server. The viewer can be put into a mode that allows the user to select edges or faces. When an entity is selected, a server side method is called to compute the length or area of the entity (the computation is done in the CAD system via CADScript). An additional HTML page allows the user to view and modify parameters in the model. After making changes, the model can be regenerated by a button in the viewer. ITI Software UG Pro/E CATIA CAD Vendor Software I-DEAS PDE/Lib Example browser request:

9 Cross-Platform Application Example
Application Domain Coordinate Measuring Machine (CMM) Key CAD Interface Requirements Access UNIX-only CAD (CATIA V4) data from an NT client The application requests a tessellated version of the CAD model from the server, the precise CAD geometry/topology is never sent to the client Application Integration Success Metrics Realization of NT-only solution with access to UNIX data

10 Cross-Platform Application Architecture
NT Client UNIX Server Application Client class CadModel: def displayPart() def gridFace() def projectPoints() Menu Callbacks Application Server class ApplSession: def displayPart() def gridFace() def projectPoints() HTTP (URL) requests CADServer URL Call Mapper CMM Application C++ Proxy Layer (automatically generated from PartSession.py) CADScript Customer Software ITI Software UG Pro/E CATIA CAD Vendor Software I-DEAS PDE/Lib

11 Multi-CAD Assembly Design Example
Application Domain Parametric Assembly Design Key CAD Interface Requirements Dynamic access to the latest version of component models in any supported CAD system (CATIA, I-DEAS, Pro/E and UG) Interact with all components within a single CAD system user interface Model query using precise measurements (i.e., no translation) Parametric modification of remote components driven by local parameters Application Integration Success Metrics Enabling true multi-CAD assembly design!

12 Multi-CAD Assembly Design Architecture
Client Server Application Client class PartClient: def cmdAddExtPart() def cmdExtPartMass() Menu Callbacks Application Server class PartSession: def openModel() def parameters() def modifyParameter() HTTP (URL) requests CADServer URL Call Mapper Unigraphics Python Proxy Layer (automatically generated from PartSession.py) CADScript The embedded client consists of a CADScript program running within the UG environment. The key class in the program is called “PartClient”. During construction, PartClient registers several menu callbacks so that picking items in the new FIPER menu results in a PartClient method being invoked. PartClient communicates with the same server as the web browser demonstration used. However, instead of requesting URLs, it uses a proxy layer that was automatically generated from the PartSession.py file. The proxy layer contains a class that mirrors the PartSession class and its methods on the client side. This allows the client code to interact with PartSession methods as if they were all local rather than running on another system. The PartClient class maintains several data structures to allow “external parts” to be instantiated within the UG environment. Although these parts look like UG geometry, they are actually UG user defined objects with graphics that are obtained from the server. The FIPER menu adds a number of commands for interacting with these parts. Almost all the code in PartClient is independent of the CAD system it is running in. The only UG/Open calls made are for creation of UDOs to represent the external parts. CADScript Customer Software ITI Software UG Pro/E CATIA CAD Vendor Software I-DEAS PDE/Lib

13 Summary System integration is a complimentary approach to data integration using STEP System integration empowers dynamic usage scenarios Instant access to the latest versions of native CAD models Precise measurements performed by native CAD systems Consistent parametric modifications across CAD systems Flexible software architecture enabling remote CAD system control via URL calls Rapid application development without software integration nightmares (no build problems) Simple, concise, and intuitive application logic Multi-CAD assembly design example: client is only 570 lines of Python code, server is only 551 lines


Download ppt "STEP and Scriptable CAx Tool Integration"

Similar presentations


Ads by Google