P - The Building Coder
Download
Report
Transcript P - The Building Coder
Brown University Swim Center
Building Advanced Microsoft .NET User
Interfaces for Use in Autodesk Products
Mike King
Structural Software Engineer
Odeh Engineers, Inc.
Agenda
1
2
3
0-5 minutes
5-10 minutes
10-35 minutes
4
35-50 minutes
5
50-60 minutes
Introduction
Who am I and what am I talking about?
WPF Overview
What is it?
WPF Differentiators
Lightning fast lesson in WPF
WPF in Revit
Launching WPF windows from Revit extensions
Q&A
Prior Art
AutoCAD® .NET: UI Design Featuring WPF (Parts 1 & 2)
Fenton Webb
CP114-5 & CP118-2 (AU 2009)
Depth
Content
1 hour
2 hour
CAD
WPF
3 hour
Revit
Time
Content
Depth
1 hour
2 hour
3 hour
Time
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
2004
1990
XAML
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)
Expression Blend 4
http://www.microsoft.com/expression/try-it/
Kaxaml
http://www.microsoft.com/express/Downloads/
http://kaxaml.com/
Autodesk SDK’s
Markup + Code Behind
XAML Markup
Code Behind (C#, VB.NET, etc.)
User Interface
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 1
ITEM 2
ITEM 3
ITEM 4
ITEM 5
ITEM 1
ITEM 2
ITEM 3
ITEM 4
Wrap Panel
ITEM 1
ITEM 3
ITEM 5
ITEM 2
ITEM 4
ITEM 1
ITEM 3
ITEM 4
ITEM 5
ITEM 2
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
Implement Interface
RevitAPI.dll – core database functionality
RevitAPIUI.dll – user interface integration
IExternalCommand – single command, run when clicked
IExternalApplication – application, starts and ends with Revit
Register Extension
revit.ini – initialization file (deprecated)
*.addin – manifest file
Questions?
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.