Files
2024-12-12 09:51:40 +01:00

82 lines
6.7 KiB
Plaintext

{\rtf1\fbidis\ansi\ansicpg1252\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}{\f1\froman\fprq2\fcharset0 Times New Roman;}}
{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}
\viewkind4\uc1\pard\ltrpar\nowidctlpar\b\f0\fs20 Application:\b0 WindowWizard\b\f1\par
\f0 Revit Platform:\b0 ALL\line\b Revit Version:\b0 2011.0\line\b First Released For:\b0 2010.0\line\b Programming Language:\b0 C#\line\b Skill Level:\b0 \cf1 Beginning\cf0\line\b Category:\b0 Families\line\b Type:\b0 ExternalCommand\f1\par
\par
\b\f0 Subject:\b0 Windows Wizard\f1\par
\b\f0 Summary:\b0 This sample will demonstrate how to create a window family via wizard.\f1\par
\f0\par
\b Classes:\b0 \f1\par
\pard\ltrpar\nowidctlpar\fi360\f0 Autodesk.Revit.UI.IExternalCommand\f1\par
\f0 Autodesk.Revit.UI.IExternalApplication\f1\par
\f0 Autodesk.Revit.UI.UIDocument \par
Autodesk.Revit.DB.Element\f1\par
\f0 Autodesk.Revit\f1 .\f0 DB.\lang1024 FamilyManager\f1\par
\f0 Autodesk.Revit.DB.ParameterSet\f1\par
\lang1033\f0 Autodesk.Revit.DB.GeometryElement\f1\par
\par
\pard\ltrpar\nowidctlpar\b\f0 Project Files:\b0 \par
Command.cs\f1\par
\pard\ltrpar\nowidctlpar\li360\tx720\f0 This file contains a class Command which implements IExternalCommand interface. The function of the class is to create an instance of WindowWizard and call the method Run to execute\f1 .\par
\par
\pard\ltrpar\nowidctlpar\tx720\f0 WindowWizard.cs\par
\pard\ltrpar\nowidctlpar\li360\tx720 This file contains a class WindowWizard which stores ExternalCommandData, creates DoubleHungWinCreation instance, and also has method to create WizardForm instance\f1 .\f0 \f1\par
\pard\ltrpar\nowidctlpar\tx720\tab\par
\f0 WindowParameter.cs\par
\pard\ltrpar\nowidctlpar\li360\tx720 This file contains three classes: one is WizardParameter which stores the wizard parameters. The other is WindowParameter which store the common window parameters. Another is DoubleHungWinPara which inherits from WindowParameter stores the parameters of double hung window.\f1\par
\pard\ltrpar\nowidctlpar\tx720\par
\f0 ValidateWindowParameter.cs\par
\pard\ltrpar\nowidctlpar\li360\tx720 This file contains a class ValidateWindowParameter which validates the window parameters.\f1\par
\pard\ltrpar\nowidctlpar\tx720\par
\f0 WindowCreation.cs\par
\pard\ltrpar\nowidctlpar\li360\tx720 This file contains an abstract class WindowCreation which has abstract method to create the window family step by step.\par
\pard\ltrpar\nowidctlpar\tx720\f1\par
\f0 DoubleHungWinCreation.cs\par
\pard\ltrpar\nowidctlpar\li360\tx720 This file contains a class DoubleHungWinCreation which implements WindowCreation and creates a double hung window family step by step.\f1\tab\par
\pard\ltrpar\nowidctlpar\tx720\par
\f0 CreateExtrusion.cs\par
\pard\ltrpar\nowidctlpar\li360\tx720 This file contains a class CreateExtrusion which has methods to create CurveArray and solid extrusion.\f1\par
\pard\ltrpar\nowidctlpar\tx720\par
\f0 CreateDimension.cs\par
\pard\ltrpar\nowidctlpar\li360\tx720 This file contains a class CreateDimension which has methods to add dimension between ReferencePlanes, Faces, or a face and a ReferencePlane.\f1\par
\pard\ltrpar\nowidctlpar\tx720\par
\f0 CreateReferencePlane.cs\par
\pard\ltrpar\nowidctlpar\li360\tx720 This file contains a class CreateRefPlane which creates ReferencePlane according to a host ReferencePlane and a double offset.\f1\par
\pard\ltrpar\nowidctlpar\tx720\par
\f0 CreateAlignment.cs\f1\par
\pard\ltrpar\nowidctlpar\li360\tx720\f0 This file contains a class CreateAlignment which adds an alignment dimension between two faces.\par
\pard\ltrpar\nowidctlpar\tx720\f1\par
\f0 Utility.cs\par
\pard\ltrpar\nowidctlpar\li360\tx720 This file contains a class Utility which has static methods to allow getting common element.\f1\par
\pard\ltrpar\nowidctlpar\tx720\par
\f0 GeoHelper.cs\par
\pard\ltrpar\nowidctlpar\li360\tx720 This file contains a class GeoHelper which helps locating with geometry data.\f1\par
\pard\ltrpar\nowidctlpar\tx720\par
\pard\ltrpar\nowidctlpar\f0 WizardUI.cs\par
\pard\ltrpar\nowidctlpar\li360 This file contains a window form which allows user to do UI input and selection.\f1\par
\pard\ltrpar\nowidctlpar\par
\b\f0 Description:\b0 \par
The sample implements IExternalCommand interface and allows user to create window family via wizard. User should create a family with window family template, and then user can input dimensions for window parameters, specify the materials, and save family file locally. \f1\par
\pard\ltrpar\nowidctlpar\fi-360\li360\tx360\f0 -\tab To create Extrusion, use the method NewExtrusion of FamilyItemFactory\f1 .\par
\f0 -\tab To create Alignment, use the method NewAlignment of FamilyItemFactory\f1 .\par
\f0 -\tab To create Dimension, use the method NewDimension of FamilyItemFactory\f1 .\par
\pard\ltrpar\nowidctlpar\fi-360\li360\f0 -\tab To create ReferencePlane, use the method NewReferencePlane of FamilyItemFactory\f1 .\par
\f0 -\tab To create family type, use the method NewType of FamilyItemFactory\f1\par
\pard\ltrpar\nowidctlpar\fi-360\li360\tx360\f0 -\tab To get the materials, use the property Settings.Materials of document\f1 .\par
\pard\ltrpar\nowidctlpar\fi-360\li360\f0 -\tab To get the Categories, use the property Settings.Categories of document\f1 .\par
\pard\ltrpar\nowidctlpar\li360\par
\pard\ltrpar\nowidctlpar\b\f0 Instructions:\cf2 \f1\par
\pard\ltrpar\nowidctlpar\fi-360\li360\tx360\cf0\b0\f0 1.\tab Update your Revit.ini by following lines: \f1\par
\pard\ltrpar\nowidctlpar\li360\f0 [ExternalCommands] \par
ECCount = 1 \f1\par
\f0 ECName1=WindowWizard\par
ECClassName1=Revit.SDK.Samples.WindowWizard.CS\par
ECAssembly1 = \i <your path>\i0\f1\\\f0 WindowWizard.dll \par
\pard\ltrpar\nowidctlpar\fi-360\li360\tx360 2.\tab Start Revit\f1 .\par
\pard\ltrpar\nowidctlpar\fi-360\li360\f0 3.\tab In order to use the wizard, user should manually create a family document with window template\f1 .\f0 If the template is not right, the command will fail.\f1\par
\f0 4.\tab Launch WindowWizard via the external command menu\f1 .\par
\f0 5.\tab Input the window dimensions including type name, Height, Width, Inset and Sill Height\f1 .\f0 You can click the new or duplicate button to create a new family type and input its dimensions; User can also select the family type and modify corresponding dimensions. Click Next button.\f1\par
\f0 6.\tab Select Material for Glass Pane and Sash. Click back button to modify dimensions or next button to next step.\f1\par
\f0 7.\tab View all window types created before\f1 ,\f0 you can go back do further modification on these types. Click the file button then choose a path to store the family file. Click Finish button, Revit will create one window family automatically for you\f1 .\par
}