User Manual for Code Checking Framework SDK page: 1
© 2015 Autodesk Inc. All rights reserved
TABLE OF CONTENTS
1 WHAT IS THE CODE CHECKING SDK ........................................................................................................ 5
1.1 WHAT IS CODE CHECKING FRAMEWORK FOR REVIT USERS? .......................................................................... 5
1.2 WHAT IS CODE CHECKING FRAMEWORK FOR DEVELOPERS? ........................................................................ 10
1.3 WHAT IS CODE CHECKING FRAMEWORK SDK? ............................................................................................ 11
1.4 INSTALLATION AND CONFIGURATION ............................................................................................................ 11
1.4.1 System requirements ............................................................................................................................. 11
1.4.2 Content ................................................................................................................................................. 12
1.4.3 Configuration ....................................................................................................................................... 12
1.5 VISUAL STUDIO ............................................................................................................................................. 14
1.5.1 Visual Studio template .......................................................................................................................... 14
1.5.2 Project structure ................................................................................................................................... 18
1.5.3 Visual Studio Addin .............................................................................................................................. 22
2 EXTENSIBLE STORAGE FRAMEWORK ................................................................................................... 23
2.1 EXTENSIBLE STORAGE .................................................................................................................................. 23
2.2 EXTENSIBLE STORAGE FRAMEWORK ............................................................................................................ 23
2.3 DATA MANAGEMENT AND SERIALIZATION ................................................................................................... 24
2.3.1 SchemaClass ........................................................................................................................................ 25
2.3.2 SchemaAttribute ................................................................................................................................... 26
2.3.3 Versioning ............................................................................................................................................ 26
2.3.4 SchemaPropertyAttribute ..................................................................................................................... 28
2.3.5 Subschemas .......................................................................................................................................... 31
2.3.6 Arrays and maps .................................................................................................................................. 31
2.3.7 Revit elements and enum types ............................................................................................................. 32
2.3.8 Example ................................................................................................................................................ 32
2.4 UI ................................................................................................................................................................. 33
2.4.1 Layout creation .................................................................................................................................... 33
2.4.2 UI attributes ......................................................................................................................................... 35
2.4.3 IServerUI .............................................................................................................................................. 52
2.4.4 ISchemaEditor ...................................................................................................................................... 54
2.4.5 Layout data initialization ..................................................................................................................... 55
2.4.6 Example ................................................................................................................................................ 56
2.5 DOCUMENTATION ......................................................................................................................................... 57
2.5.1 Document Body .................................................................................................................................... 57
2.5.2 Document element creation .................................................................................................................. 64
2.5.3 Attributes .............................................................................................................................................. 65
2.5.4 SubSchemaListTableAttribute .............................................................................................................. 68
2.5.5 Example ................................................................................................................................................ 69
2.6 PROPERTY GENERATOR ................................................................................................................................. 70
2.7 SCHEMA CLASS TEMPLATE ............................................................................................................................ 73
2.8 COMPLEX EXAMPLE ...................................................................................................................................... 75
2.8.1 Design .................................................................................................................................................. 75
2.8.2 Class definition..................................................................................................................................... 75
2.8.3 UI ......................................................................................................................................................... 77
2.8.4 Documentation ..................................................................................................................................... 86
2.8.5 Serialization to ProjectInfo .................................................................................................................. 91
2.8.6 Complete Code ..................................................................................................................................... 91
3 CODE CHECKING FRAMEWORK .............................................................................................................. 96
3.1 WORKFLOW .................................................................................................................................................. 96
3.2 HAVE TO KNOW ............................................................................................................................................ 96
3.3 COMPONENTS ............................................................................................................................................... 97