Building Advanced Microsoft.NET User Interfaces for Use in Autodesk Products Mike King Structural...
-
Upload
brandon-hadder -
Category
Documents
-
view
217 -
download
0
Transcript of Building Advanced Microsoft.NET User Interfaces for Use in Autodesk Products Mike King Structural...
Building Advanced Microsoft .NET User Interfaces for Use in Autodesk Products
Mike KingStructural Software EngineerOdeh Engineers, Inc.
Brown University Swim Center
Agenda
1 0-5 minutesIntroduction
Who am I and what am I talking about?
2 5-10 minutesWPF Overview
What is it?
3 10-35 minutesWPF Differentiators
Lightning fast lesson in WPF
4 35-50 minutesWPF in Revit
Launching WPF windows from Revit extensions
5 50-60 minutes Q&A
Prior Art
AutoCAD® .NET: UI Design Featuring WPF (Parts 1 & 2)Fenton WebbCP114-5 & CP118-2 (AU 2009)
ContentD
ep
th
Time
1 hour 3 hour2 hour
WPF
RevitCAD
ContentD
ep
th
Time
1 hour 3 hour2 hour
WPF Revit
CAD
Bio
.NET Software Engineer Structural Engineering background Diverse development experience
Windows Presentation Foundation (WPF)
WPF Advantages
One skillset, many capabilities
Control driven business apps (Windows Form, MFC, DCL) Rich document editing (PDF, RTF, XPS) 2d graphics and drawing (GDI+) 3d graphics (DirectX)
WPF Advantages Separation of code and markup Improved tool support
Expression Blend 4 (designers) Visual Studio 2010 (developers)
Markup Explained
XAML
1990 2004
2006
WPF Cautions
Can increase development time Fewer experienced developers May have unfamiliar look and feel
Get the Tools
Visual Studio 2010 (express is OK) http://www.microsoft.com/express/Downloads/
Expression Blend 4 http://www.microsoft.com/expression/try-it/
Kaxaml http://kaxaml.com/
Autodesk SDK’s
Markup + Code Behind
XAML Markup
User Interface
Code Behind (C#, VB.NET, etc.)
Layout
Many choices Canvas Dock Panel Stack Panel Wrap Panel Grid
Adapt to screen size / resolution / DPI
Less code required
Negotiation for size and position
Dock Panel
TOP PANE
LEFT PANE
DEFAULT PANE
Stack Panel
ITEM 2
ITEM 3
ITEM 4
ITEM 5
ITEM 1 ITEM 2 ITEM 3 ITEM 4ITEM 1
Wrap Panel
ITEM 1 ITEM 2
ITEM 3 ITEM 4
ITEM 5
ITEM 1 ITEM 2
ITEM 3
ITEM 4
ITEM 5
Layout (demo)
Data Binding
Map data to user interface Represent business data visually More than just text Bind UI elements together Support for 2-way binding
Database Business Object User Interface
Data Binding (demo)
Graphics
Comprehensive 2d Graphics Support Vector Not Raster Brush Based Most Common Shapes + Paths Fully UI Integrated (Click, Mouse Over, etc.)
WPF Rounded Corner
Rectangle
Animations
Animate Almost all WPF Classes Easy Parameterized Setup Path Based Motion Key Frame Recording Subtle or Dramatic
WPF with AutoCAD
See Fenton Webb presentation for many examples Integration with Tool Palettes Modeless and Modal dialog boxes DataBinding to AutoCAD properties
WPF with Revit (demo)
Get the Revit 2011 SDK Creating a Revit project
Required Libraries RevitAPI.dll – core database functionality RevitAPIUI.dll – user interface integration
Implement Interface IExternalCommand – single command, run when clicked IExternalApplication – application, starts and ends with Revit
Register Extension revit.ini – initialization file (deprecated) *.addin – manifest file
Autodesk [and other] are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document. © 2010 Autodesk, Inc. All rights reserved.
Questions?