NXConnect: Multi-User CAx on a Commercial Engineering Software Application



Similar documents
Solid Edge ST3 Advances the Future of 3D Design

Hybrid 2D/3D design The right tool for the right job at the right time

SavvyDox Publishing Augmenting SharePoint and Office 365 Document Content Management Systems

Autodesk Fusion 360 Badge Guide: Design an F1 in Schools Trophy

CATIA Drafting TABLE OF CONTENTS

Oracle Enterprise Manager

OmniTouch 8400 Instant Communications Suite. My Instant Communicator Desktop User guide. Release 6.7

An introduction to 3D draughting & solid modelling using AutoCAD

Solid Edge structural frames and weldments

Developing a Feature-based System for Automated Machining Feature Recognition (ISO AP 224) of Prismatic Components

Introduction to CATIA V5

IES <Virtual Environment> Tutorial. ModelIT (Version 6.0)

Using the Coordination Monitoring Feature in Revit Structure to Manage Projects Across Disciplines

TABLE OF CONTENTS. INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE...

CHAPTER 1. Introduction to CAD/CAM/CAE Systems

Collaborating Across Disciplines with Revit Architecture, MEP, and Structure

ivms-4200 Client Software Quick Start Guide V1.02

Data management by Autodesk

Tip of the Week: Creating Geometry from AutoCAD Drawings

Basic 2D Design Be sure you have the latest information!

TestManager Administration Guide

Easy Manage Helpdesk Guide version 5.4

NEXT GENERATION ARCHIVE MIGRATION TOOLS

10. THERM DRAWING TIPS

DiskPulse DISK CHANGE MONITOR

Understand the Sketcher workbench of CATIA V5.

Microsoft Lync 2010 The Essentials

Alphacam Art combines Vectric s Aspire artistic design software with the market leading Alphacam manufacturing software.

Automotive Applications of 3D Laser Scanning Introduction

Help. Contents Back >>

Plans Comparison KUMO (5866) KUMO

Selecting the Best Approach to Teach 3D Modeling to Technical College Engineering

What s new in Teamcenter Service Pack

Wimba Pronto. Version 3.1. Administrator Guide

Advanced Event Viewer Manual

T-FLEX Parametric CAD is a full-function software system providing mechanical design professionals with the tools they need for today's complex

Design Process Automation Support through Knowledge Base Engineering

SolidWorks Implementation Guides. Sketching Concepts

Using WhatsUp IP Address Manager 1.0

LifeSize Control Installation Guide

UniCom Enterprise Phone (Polycom CX600) User Guide

How to Design and Create Your Own Custom Ext Rep

ADOBE ACROBAT CONNECT PRO MOBILE VISUAL QUICK START GUIDE

Config software for D2 systems USER S MANUAL

SpaceClaim Introduction Training Session. A SpaceClaim Support Document

Geomagic Design. Release Notes. Get to Market Faster with Better Products at a Lower Cost V17

SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package Data Federation Administration Tool Guide

Computer Aided Systems

Creating Smart Models From Scan Data

Multi-DNC. by Spectrum CNC Technologies

Creating a 2D Geometry Model

MET 306 Activity 6. Using Pro/MFG Milling Operations Creo 2.0. Machining a Mast Step

CDVS-7000 Series Remote Software Users Guide

Smart Business Architecture for Midsize Networks Network Management Deployment Guide

Driver Updater Manual

Capacity Plan. Template. Version X.x October 11, 2012

Pro/ENGINEER Wildfire 5.0 Introduction to Surface Modeling

SyAM Software Management Utilities. Creating Templates

SATA RAID SIL 3112 CONTROLLER USER S MANUAL

Backup & Disaster Recovery Appliance User Guide

RMM/MDM. Quick Reference Guide

SmartSync Backup Efficient NAS-to-NAS backup

Chapter 9. Editing Features. Learning Objectives

PARAMETRIC MODELING. David Rosen. December By carefully laying-out datums and geometry, then constraining them with dimensions and constraints,

Figure 1 - Delta Theta Input Selection

HydroDesktop Overview

Change Management for Rational DOORS User s Guide

Chapter 1. Creating Sketches in. the Sketch Mode-I. Evaluation chapter. Logon to for more details. Learning Objectives

Introduction to Autodesk Inventor for F1 in Schools

Intelligent Office: Web Optimisation Guide. Published Date: 06/11/2015. Version: 3.3

Proc. IJCAI 09 Workshop on Artificial Intelligence in Space, Pasadena, California, US July 2009 (ESA SP-673, September 2009)

User Manual for Web. Help Desk Authority 9.0

Vault Project - Plant Database Replication. Contents. Software Requirements: AutoCAD Plant 3D 2016 and AutoCAD P&ID 2016

Learning Management System (LMS) Quick Tips. Contents LMS REFERENCE GUIDE

WEB HELP DESK GETTING STARTED GUIDE

Verizon Collaboration Plug-In for Microsoft Outlook User Guide

All in the Family: Creating Parametric Components in Autodesk Revit

Pro/ENGINEER Wildfire 4.0 Basic Design

Microsoft SQL Server for Oracle DBAs Course 40045; 4 Days, Instructor-led

BITDEFENDER SECURITY FOR AMAZON WEB SERVICES

MaaS360 Mobile Device Management (MDM) Administrators Guide

The preliminary design of a wearable computer for supporting Construction Progress Monitoring

Autodesk Fusion 360: Assemblies. Overview

Acolyst VENELegal Matter Management Application

PSA INTEGRATION GUIDE

PROOFPOINT COMMUNICATION SERVICE (PCS)

User Guide. Version 3.0

<no narration for this slide>

Network Detective. Network Detective Inspector RapidFire Tools, Inc. All rights reserved Ver 3D

CATIA Functional Tolerancing & Annotation TABLE OF CONTENTS

Version 4.61 or Later. Copyright 2013 Interactive Financial Solutions, Inc. All Rights Reserved. ProviderPro Network Administration Guide.

Enabling Service-Based Application Development through Social Objects

Discover the best keywords for your online marketing campaign

Kaseya 2. User Guide. Version 1.0

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Installation / Backup \ Restore of a Coffalyser.Net server database using SQL management studio

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

SOS SO S O n O lin n e lin e Bac Ba kup cku ck p u USER MANUAL

14 Failover and Instant Failover

Transcription:

2010 PACE Global Annual Forum Page 1 NXConnect: Multi-User CAx on a Commercial Engineering Software Application Edward Red 1, Greg Jensen 2, Jordan Ryskamp 3, Kenneth Mix 4 Department of Mechanical Engineering, BYU Abstract The Engineering Design Process, supplemented by modern CAx applications and tools, is taught as a serial design sequence. It is common for errors to be discovered in downstream analysis models, process plans, or manufacturing capabilities. These errors then generate feedback changes to the upstream models, requiring model changes, and thus extending the engineering design process period as proportioned to the number of feedback cycles. This inherent serial architecture can be traced to computer architectures that support only a single user, single cursor, and single active application like CAD, CAE, CAM, and CAPP. If we recognize product development as a collaborative process, involving experts from different fields with different cultural backgrounds, then the dichotomy between the serial design process and the more optimum collaborative design process is easily traced to the single user architectures in modern CAx tools. This paper introduces a multi-user CAD prototype, called NX Connect, built on the NX Siemens Application Programming Interface (API) to demonstrate that a collaborative environment is feasible with modern CAx applications and modern computers. The NX Connect multi-user prototype uses design rationale to intelligently select the information that is shared with each user in the design session. This represents an improvement upon the existing state of the art in co-design MCAD environments. NX Connect effectively converts the single user NX CAD package into a multi-user co-design environment. NX Connect utilizes client-server architectures with a thin server and strong client. The server retains all necessary information for the part file. Each of the workstations then utilizes that information to create/update identical parts on each of their respective machines. The server also retains and makes available each change made during the design session. Each client generates a local copy of the part file and utilizes information gained during the design session to locally update the part. NX Connect promises to collapse engineering design times and to integrate multi-user activities and information exchange. Introduction Ulrich and Eppinger [1] describe product design and development in their excellent and well known text, as used by BYU Mechanical Engineering in its Capstone classes. Using sequential activities, decomposition principles, and product teams with divided and defined responsibilities, process development is taught as a systematic approach to evolve a product from conception, specification, design, testing, production and distribution. But like many design process texts, details are lacking about collaborative principles among product design teams. Design process principles like those in Ulrich and Eppinger are designed to draw product teams together for information exchange and experiential learning, to promote synergistic exchanges and intellectual discovery. Unfortunately, the tools that product teams and engineers use to evolve designs are designed for a single user and reside on a desktop computer or laptop. Engineers and companies rely on part model file management systems (PLM) and computer-aided applications (design, analysis, process planning, etc.) to move products through the detailed design phase. Because applications are designed for single users, as are computer operating systems, the current tools currently limit collaborative design. This problem has become more severe by the 1 BYU, Provo, UT, USA 84602, ered@byu.edu 3 BYU, Provo, UT, USA 84602, jryskamp@gmail.com 2 BYU, Provo, UT, USA 84602, cjensen@byu.edu 4 BYU, Provo, UT, USA 84602, kmix@byu.edu

2010 PACE Global Annual Forum Page 2 internationalization of product development and the multi-cultural teams that finalize designs. Over two decades researchers have improved design concurrency, by making more transparent the design data that parallels the product development activities. As a result there has been some reduction in product development time. But substantial productivity gains will not be realized until multiple users are able to collaborate simultaneously in the same part files, using methods not currently available in commercial single user systems. This paper introduces a multi-user CAD prototype, called NX Connect, built on the NX Siemens API to demonstrate that a collaborative environment is feasible with modern CAx applications and modern computers. One motivation behind this development has been the difficulty of conducting PACE projects which they are decomposed among student product teams from many international institutions. Background Collaborative CAx research began in the 90 s and is vigorously being pursued, because of the potential productivity gains that can be realized. Because commercial software is still single user oriented, and this multi-user research has not made its way into mainstream CAx applications, Red, et al [2], investigated the state of collaborative research, and discovered the following: Research prototypes are often based on geometry kernels like ACIS or Parasolid, and do not effectively employ existing commercial CAx API s. The conclusion is that the modern CAx API s have not anticipated multi-user environments. Researchers have not engaged industry or commercial CAx companies in any significant way, where the real problems will be discovered, and potential solutions tested. Researchers have not been sensitive enough to methods used to protect IP in a collaborative environment. Other conclusions as to the current multi-user state-of-the-art follow: Network latencies drive the architectural solutions. Client-Server dominates the collaborative CAx architectures. Application type determines multi-user participation flexibility. Collaborative approaches replicate tools at the multi-user sites, such as CAx models, the application, or dedicated collaborative software. Collaborating tools must be end-user transparent and promote multi-user interaction. Multi-user security must protect IP. Model partitioning and other constraint methods can break the model into user assignable design regions. Collaborative agent software can observe, record, transmit and organize user collaborations. Conflict resolution can be resolved by grid (regional) locking, semantic and session locking, and model blocking to partition multi-user interactions. Single event buffers and screen cursors have limited GUI collaborative flexibility for CAx applications. Based on these conclusions, Red et al suggested that methods of multi-user collaboration will most likely be successful by minor revisions to existing commercial CAx software and if they:

2010 PACE Global Annual Forum Page 3 protect IP in a distributed environment, yet allow personnel meaningful ways to simultaneously edit models. favor modes of partial model exposure, e.g., model decomposition and constraint boundaries. modify PLM systems for simultaneous ownership of models or processes. deploy agent software to reflect the cultural preferences among a set of collaborating users, to provide a desired collaborative context, and to filter and distribute user events among collaborators. use regional model decomposition and constraint boundaries (regional blocking) to assign users to specific design regions and avoid multi-user conflicts. Student research at BYU has investigated the viability of these conclusions by developing some early multi-user CAx prototypes built on Siemens NX, also integrating Skype into NX. NX Connect - Collaborative CAD Prototype NX Connect, as an add-on to the existing CAD package Siemens NX, allows multiple users to access and make changes simultaneously to a single part file. This prototype investigates collaborative modeling limitations using a primary commercial CAx application and its extensive Application Programming Interface (API). NX Connect allows multiple users to open and actively make changes to a part file simultaneously. Each user can view the part independently, zooming and rotating the model views without affecting the view of the remaining users. Each user can focus on the intended task while viewing updates made to the part file by other users. NX Connect Architecture NX Connect utilizes Client-Server (CS) with a thin server and strong client, Fig. 1, and a four module architecture, Fig. 2. The server retains all necessary information for the part file. Each workstation will utilize the server information to create/update identical parts on each of their respective machines. The server also communicates each change made during the design session. Each client generates a local copy of the part file and utilizes information gained during the design session to locally update the part. Most computation and processing are done on the local workstation. The Information Storage Module (ISM) stores the part features and related data, including all information relating to part location and multi-user access. The ISM quickly and efficiently stores and recalls small and large amounts of data. Microsoft s SQL Server is the RDMS and easily accessible by calls made in C#. A series of tables organize the various data types. Among those created are tables to manage the Parts, Users, Features, and each available feature type. A hierarchical structure was implemented where each part stored in the Parts table is assigned a Part ID, which is then used in the child table that contains all of the features, Fig. 3. The features for the previously mentioned part will have as a parameter value the Part ID for which the features apply. Each feature is then assigned a Feature ID that is utilized in the respective child table corresponding to the feature types (extrude, revolve, etc.). Similar relationships are implemented within the Feature Type tables linking those features to other children parameters such as the sketch used. Data stored in Microsoft SQL Server is limited to a subset of primitive data types and cannot store more complex NX Object types. Primitive values consist of common data types such as int, float, and char. To store the information for each part file it is necessary to first break down each of the part features into parameters that could be described using these primitive types.

2010 PACE Global Annual Forum Page 4 Fig. 4 illustrates how an NX Object is broken down into its primitive values, where the X, Y, and Z coordinates are stored in the database as either float or double type variables along with the sketch Server Client Fig. 1: CS architecture Fig. 2: NX Connect modules Fig. 3: Server feature attributes name. By using primitive values a minimal amount of change data can be sent over the network. The NX Connect multi-user environment requires changes made locally on each users system to be constantly written to the database and the database changes to be continually broadcast to all connected users. Two modules were developed for this purpose: 1) Data Capture Module (DCM) and 2) Data Sync Module (DSM). The DCM monitors the NX session to determine when changes have been made to the part file. When a change is detected the DCM determines the feature that has been created, modified, or deleted and then alerts the NX Controller of the change, then passing the change information for the modified feature. The DSM monitors the ISM to determine if any changes have been uploaded by another user. Upon finding a change to the database, the NX Controller is alerted to the changes. At the core of the NX Connect architecture is the NX Controller. This module converts all part information into their primitive values for storage in the database, as well as converting these parameters back into useful data to construct the corresponding features in the NX session on each users machine. As mentioned above, the NX Controller receives data from the DCM and DSM. When the DCM reports a change in the local NX part file, the controller gathers all pertinent information about the modified feature by utilizing the NX API. Using the API commands the controller determines the feature type and then deconstructs the feature into the basic parameters such as extrude start and stop distance, draft angle, and Boolean type. If a sketch is used for the specific feature the controller stores the sketch name for later name reference. All such information is sent to the corresponding table in the database for distribution to each user. This controller function is labeled the push function. The NX Controller is also responsible for a related pop function, Fig. 5. After a user modifies the existing CAD document, and changes are uploaded to the database, the DSM will then alert the Controller of a change ready to be distributed to each user. The NX Controller will then read the feature data and place each parameter in the appropriate API function to recreate locally the feature or modification on all user workstations.

2010 PACE Global Annual Forum Page 5 Implemented Functionality and Example Currently, our NX Connect prototype has implemented networked exchange of datum planes, sketches, extrusions, Booleans, and revolutions. Within the sketching function line and arc features can be created. Presently, no geometric or dimensional constraints on a sketch are recorded in the database Fig. 4: Object primitives Fig. 5: For each feature the push and pop functionality must be implemented separately. This code shows the pop function. or transmitted to other workstations. Other more complicated features have not yet been implemented such as sweeps, blends, surfaces, or 3D curves. By testing the NX API with our basic functionality, we are confident that we could generate a commercially viable collaborative CAx under the CS architecture, with some minor API additions, and with some ownership/revision modification of PLM software. In the orchestrated example of Tab. 1 two users collaborate to make a part that requires multiple features. In this particular example one user creates the initial plate by extruding a sketch and is then joined in the design session by user two. Both users work simultaneously to complete the desired part of Step 4 in Tab. 1. User Interfacing As add-on software to the commercial package NX, NX Connect does not change the modeling environment available through the basic NX software. The NX Connect interface consists of a small pop up window created when the NX Connect DLL is run from within the NX system. Within the window are options to populate the parts list currently stored in the database, to load a selected part from the list, and to upload the user s current part into the database. As of now, no functionality has been added to display other users within a design session or to communicate with others who might be working at the same time. Each user is aware of other users only through updates they might make to the part file.

2010 PACE Global Annual Forum Page 6 Integration with other collaborative techniques will be continually investigated. Currently we have a prototype that utilizes Skype integrated into NX so that multiple users can collaborate through audio. Steps User 1 User2 Step 1 - User 1 has the task of creating the upper ring of the part, while user two is creating the outer walls of the cylinder. Each user is editing their respective feature using the extrude function. These figures show a screen shot from each user at the same time. Both users are about to finalize their respective extrusions. Step 2 - User 2 finishes the extrusion first and the outer cylinder is updated to the screen of user 1 while user 1 is still working within the extrude dialogue box. User 1 then completes the action and the upper ring is sent to the database and out to user 2 with less than a second of delay. These figures show updated screen shots of each screen after the extrude functions are completed. Step 3 - A third user might also join the session and be responsible for uniting all the pieces. At the same time User 1 creates a through hole in the side of the cylinder by adding a cylinder to be subtracted from the part, and User two creates a lip on the top surface of the part. These figures show user 1 creating the through hole in the part while user 2 works on the upper lip. Step 4 - These figures show the final part after all actions were completed. By working together in a parallel modeling environment, the complex part was created faster than conventional single user approaches. Tab. 1: NX Connect example

2010 PACE Global Annual Forum Page 7 The goal of the v-cax environment is to provide a high level interface for modeling and viewing by multiple users, without changing dramatically the modeling interface accepted by industrial users of commercial CAx applications. Limitations The Siemens NX API was not developed for multi-users into one part file. One significant issue is determining when the NX model has been changed by a user. Initial attempts included trying to access the event buffer which would contain the most dynamic information about changes in the part file. However, it appears that NX does not allow simple access to the event buffer. An alternative method has been devised utilizing undo marks to mark restore points for the undo function. NX creates undo marks for many different actions performed within a session, including many that have no significance to the multi-user functionality. The DCM poles the NX session for undo marks that signify significant changes to the part and then sends the alert to the NX controller. Another area of difficulty is found in the way NX Connect handles sketches. Currently NX adds sketches to the history sequence as soon as a sketch is begun, and while a sketch is being edited it waits for all the geometry and constraints to be added before updating the model to contain the updated sketch. If another user adds a feature to the model history while in sketching mode, the local machine will not receive those updates, including the start of another sketch by another user. Thus two users can not concurrently create a sketch, a major detraction from the overall usefulness of a concurrent modeling system. Other than the sketcher the other NX operations do not update until they are finished. Fixing these deficiencies would not seem to be difficult. The basic design of a CAx API does not recognize the need to pass design changes among multiusers. For example, in certain cases while executing the command to return the name of a specific parameter such as Datum Axis, NX returns the handle to the parameter object, which is a memory address specific to the user s computer, but invalid on other workstations. It seems that a collaborative API could be introduced to resolve this problem by converting the geometric change data into an appropriate format for Internet exchange. CAx companies are already well versed in providing API s for conversion to neutral forms, e.g. IGES and STEP. Skype Integration with NX Mix, et al [3], integrated Skype into Siemens NX. The user interface module (UIM) is a custom built application that resides inside the NX window. This module can be called directly from the NX 6 interface through the use of an integrated button, Fig. 6. Fig. 6: NX 6 Menu Bar showing integrated Skype button (highlighted in red) The UIM heavily uses the Skype API to drive content and supply reliable voice and text-based communication. As shown in Fig. 7, the first UIM window presents the user with a buddy list that allows them to see presence information for individuals in their organization. When a name is clicked, options are given based on the type of user that was selected. For instance if that user has a cell phone on file in the system, options to either call or SMS text message that person are available, and if they have a computer account on the system they can also be instant messaged.

2010 PACE Global Annual Forum Page 8 Offline messaging and voicemail are also available. All communication windows reside in the NX interface, but are transparent to allow design work to continue as the conversations take place. Options for communication Fig. 7: Buddy List containing usernames of communicating people (grayed out here for privacy). Upon completing a conversation and closing the corresponding window, the user is asked if they would like to save the conversation. Communication topic sensitivity necessitates flexibility to choose whether conversations should be saved or not. Sensitive content, such as ITAR or IP controlled conversations, may cause the user to not save the conversation. Data Capture/Inference Module If the user saves the conversation, the raw conversation data is stored. This can include audio from a phone call, or text from an instant messaging or SMS conversation. The raw data is useful, since reviewing the communication that takes place during a project can be a useful way to answer questions about what was done. However, raw data independently can be difficult to search, especially in the case of audio files. Because of this, meta-data about the environment is automatically stored, including a time-stamp, the conversation type, the usernames of the people who were involved in the conversation, and the file paths of currently open NX parts. This last piece of meta-data allows for the linking of communication data with files for future retrieval. In addition to the automated capture of this data, the user is given the opportunity to add a title for the conversation as well as some additional tags, which are keywords that describe the data. This allows the conversation to be further categorized for future retrieval. Giving the user the option to specify this information adds a human element to the data that can be invaluable for reuse on future designs. However, note that excessive interaction with the system reduces use of the system, this implementation attempts to minimize this interaction as much as possible. The raw data along with the meta-data is then stored in the Microsoft SQL Server, which serves as the knowledge cloud storage medium. A focus of this methodology is to encourage data reuse on future designs. Microsoft SQL Server can quickly and efficiently store and relate data which will ultimately lead to faster retrieval.

2010 PACE Global Annual Forum Page 9 Data Retrieval Module The final module of the communication sub-system is the retrieval module. This implementation focused on the ability of the user to quickly retrieve conversations from the system. A simple search system was developed and is shown in Fig. 8, with results shown. Fig. 8: Results from a search for the user globalpace08 (conversations grayed out for privacy). There is a single field where keywords, dates, person s names, etc. can be entered into the system. The database then returns conversations based on those keywords. While this search system is simple, it shows that the rapid retrieval of data allows a user to quickly gather the information they need from communication based data. Future implementations will include the ability to view data using a number of organization formats, such as chronologically, by project, etc. Summary Researchers at BYU have demonstrated that there are architectures that will allow commercial CAx application software to be used in a multi-user collaborative environment. CAx software companies and vendors should recognize that multi-user CAx is feasible and practical, with minor changes and additions to existing API s and design procedures. We have also suggested that the changes will most likely be successful if they are minor revisions to existing and implanted commercial CAx software. Acknowledgements We express appreciation to these multi-user research students at BYU: Felicia Marshall, Vonn Holyoak, Kenneth Mix, Jordan Ryskamp, and Yue Xu. References 1. Ulrich, K.T., and Eppinger, S.D., Product Design and Development, 4 th edition, McGraw-Hill, 2008. 2. Red, E., Jensen, G., Holyoak, V., Marshall, F., Ryskamp, J., and Xu, Y., ν-cax: A Research Agenda for Collaborative Computer-Aided Applications, accepted for publication in Computer-Aided Design & Applications, 2010. 3. Mix, K., Jensen, G., and Ryskamp, J., Automated Design Rationale Capture within the CAx Enviroment, accepted for publication in Computer-Aided Design & Applications, 2010.