a new aircraft fuselage configuration? easy with gef4! · 2017-06-23 · allow unconventionnal...
TRANSCRIPT
Delivering Transformation. Together.
Ref
. tem
pla
te :
QS-
TEM
-pre
sen
tati
on
-E -
2015
1001
A NEW AIRCRAFT FUSELAGE CONFIGURATION?
Easy with GEF4!
EclipseCon France 2017 Xavier JACQUES
Ref. presentation : EclipseCon France 2017
AGENDA
Ref. presentation : EclipseCon France 2017
1. User interactions
2. Main GEF4 components
3. Geometry 2D/3D calculation
4. Cabin simulator video
2
INTRO
Ref. presentation : EclipseCon France 2017
Main Airbus requirements
Easy to use
Allow unconventionnal aircraft configuration
Precise geometry calculation
Graphical Editing Framework (GEF4)
Provide components to create graphical application
Rendered in JAVA FX Scene
Project started mid 2015
GEF4 was only in its first snapshot V0.1.0 (Mars release)
Currently using GEF4 V1.0.0 (Neon release)
3
MAIN VIEW
Ref. presentation : EclipseCon France 2017 4
DECK VIEWS
Ref. presentation : EclipseCon France 2017
Passenger deck
Cargo deck
5
Ref. presentation : EclipseCon France 2017 6
USER INTERACTIONS
ZOOM IN/OUT - PAN
Ref. presentation : EclipseCon France 2017
Easy moves
Line thickness adapted to zoom level
Can I navigate
easily on my
layouts?
7
HOVER
Ref. presentation : EclipseCon France 2017
Selection hover
Hover menu
How can I
interact with
elements?
8
CLICKABLE AREA
Ref. presentation : EclipseCon France 2017
Increase hover trigger area
It’s difficult to
select certain
elements
9
PALETTE
Ref. presentation : EclipseCon France 2017
Focusable palette
How can I
interact with
the view?
10
JAVA FX COMPONENT INTEGRATION
Ref. presentation : EclipseCon France 2017
Viewer overlay or underlay
Right click palette – JAVA FX Popup
Can I easily
create
elements?
11
JAVA FX COMPONENT INTEGRATION
Ref. presentation : EclipseCon France 2017
JAVA FX TableView
Can I have
cabin info on
the view?
12
ELEMENTS CREATION
Ref. presentation : EclipseCon France 2017
It should be
very fast to
create seats
13
FRONT VIEW
Ref. presentation : EclipseCon France 2017
Height element positioning check
I’d like to see
aircraft section
at location I
want
14
MEASUREMENTS
Ref. presentation : EclipseCon France 2017
Measure spacing between every elements
I’d like to
measure
everything in the
cabin
15
Ref. presentation : EclipseCon France 2017 16
MAIN GEF4 COMPONENTS
MVC ARCHITECTURE
Ref. presentation : EclipseCon France 2017
MvcModule (Configuration)
Configure
Bindings
VisualPart (Controller)
PartFactory Create
Policy Behavior
Visual
Viewer (View)
Content (Model)
Bound to
Create
Refresh
*
1
17
VISUALPART
Ref. presentation : EclipseCon France 2017
Manage visual to be rendered in the viewer
Created by PartFactory with its associated content
IContentPart
IFeedbackPart
IHandlePart
18
MvcModule Configure
Bindings
Visual Part
Part Factory
Create
Policy Behavior
Visual
Viewer
Content
Bound
to
Create
Refresh
*
1
MODULE
Ref. presentation : EclipseCon France 2017
Base class MvcModule
MvcFxModule provided for JAVA FX with default bindings for
Hover
Feedback
Selection
Mouse scroll
…
MvcFxModule can be overrided to Add/Change/Remove default bindings
19
MvcModule Configure
Bindings
Visual Part
Part Factory
Create
Policy Behavior
Visual
Viewer
Content
Bound
to
Create
Refresh
*
1
VIEWER
Ref. presentation : EclipseCon France 2017
Default implementation provided as FXViewer (JAVA FX)
Populated by VisualParts
State represented with internal models
ContentModel
SelectionModel
FocusModel
HoverModel
ContentModel and SelectionModel can be manipulated after an user interaction
20
MvcModule Configure
Bindings
Visual Part
Part Factory
Create
Policy Behavior
Visual
Viewer
Content
Bound
to
Create
Refresh
*
1
POLICY
Ref. presentation : EclipseCon France 2017
Bound to a IVisualPart
2 different Policy types
Interaction
Transaction
Usage examples
IVisualPart creation
Change geometry element thickness on zoom in/out
Drag & Drop elements
Right click palette creation
Hover menu click
21
MvcModule Configure
Bindings
Visual Part
Part Factory
Create
Policy Behavior
Visual
Viewer
Content
Bound
to
Create
Refresh
*
1
BEHAVIOR
Ref. presentation : EclipseCon France 2017
Bound to a IVisualPart
Actively listens to Viewer model changes
Selection behavior provided is reponsible to create/delete feeback and handle parts
Usage examples
Selection behavior overriden to remove handle parts creation
Clickable area default size change
Palette focus feedback change
22
MvcModule Configure
Bindings
Visual Part
Part Factory
Create
Policy Behavior
Visual
Viewer
Content
Bound
to
Create
Refresh
*
1
Ref. presentation : EclipseCon France 2017 23
GEOMETRY 2D/3D CALCULATION
GEF4 GEOMETRY
Ref. presentation : EclipseCon France 2017
Provided by geometry plug-in
Define 3 main geometry interfaces for visual elements
ICurve
IShape
IMultishape
Provide geometry relationship utilites
Touches
Intersect
Get intersection points
Contains
24
FUSELAGE 3D DEFINITION
Ref. presentation : EclipseCon France 2017
Discretized with multiple cross section
A cross section is a fuselage cut at a given position
25
FUSELAGE 3D DEFINITION
Ref. presentation : EclipseCon France 2017
User has the possibility to create cross section shape
Then other cross section are automatically computed
26
AIRCRAFT ENVELOPE DEFINITION
Ref. presentation : EclipseCon France 2017
360 segments connect each user defined cross sections
Interpolated with splines
27
CROSS SECTION COMPUTATION
Ref. presentation : EclipseCon France 2017
Intersections between a plan and all segments
Cross section saved as a Polygon
28
AIRCRAFT GEOMETRY EXAMPLE
Ref. presentation : EclipseCon France 2017
With 3 cross sections defined by user
Top View
Side View
29
GEOMETRY ELEMENT COMPUTATION EXAMPLE
Ref. presentation : EclipseCon France 2017
Deck floor geometry top view computation
Intersection between Polygon and Line on every cross section
30
GEOMETRY ELEMENT COMPUTATION EXAMPLE
Ref. presentation : EclipseCon France 2017
Floor geometry result saved in a Polygon
Floor top view representation
31
COLLISION CHECK ENGINE
Ref. presentation : EclipseCon France 2017
Check 2D/3D clash
Help user to validate his aircraft and cabin layouts
Heavy usage of touches() and contains() method
32
Ref. presentation : EclipseCon France 2017 33
CABIN SIMULATOR
Graphical rendering demo
CABIN SIMULATOR
Ref. presentation : EclipseCon France 2017
Multi agent simulation
Simulate boarding and deplaning
Multiple parameterizations
‐ Passenger physical characteristics
‐ Passenger behaviors
‐ Doors, seats affectation
Based on passenger deck view
Reuse graphical code
Removal of user interaction
Only addition : Passenger and luggage drawings
34
CABIN SIMULATOR DEMO
Ref. presentation : EclipseCon France 2017 35
CONCLUSION
Ref. presentation : EclipseCon France 2017 36
Hard Start
Long learning curve
Bindings and injections are complicated to understand
Best way to learn: Analyze logo example and other small examples
Good results
Good feedback from users
Nice graphical rendering
Good performance
Special thanks to Alexander Nyssen and Matthias Wienand for their help!
QUESTIONS & ANSWERS
Ref. presentation : EclipseCon France 2017 37
CONTACTS
CIMPA PLM Services
4 Avenue Didier Daurat,
31700 Blagnac
www.cimpa.com
Xavier JACQUES
Solution Architect
T. + 33 (0)5 32 11 04 42
Ref. presentation : EclipseCon France 2017 38
Delivering Transformation. Together.
© CIMPA SAS. All rights reserved. Confidential and proprietary document. This document and all information contained herein is the sole property of CIMPA SAS. No intellectual property rights are granted by the delivery of this document or the disclosure of its content. This document shall not be reproduced or disclosed to a third
party without the express written consent of CIMPA SAS. This document and its content shall not be used for any purpose other than that for which it is supplied. The statements made herein do not constitute an offer. They are based on the mentioned assumptions and are expressed in good faith. Where the supporting grounds for
these statements are not shown, CIMPA SAS. will be pleased to explain the basis thereof.
CIMPA S.A.S. SOCIETE PAR ACTIONS SIMPLIFIEE. Equity Capital: 152449 €. 393 341 540 RCS TOULOUSE.
Headquarter address : 4, AVENUE DIDIER DAURAT. CENTREDA 1. 31700 BLAGNAC - FRANCE