mirror of
https://github.com/jeremytammik/RevitSdkSamples.git
synced 2026-10-03 15:37:56 +00:00
added Revit 2022 SDK minus except *rvt and *rfa
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
//
|
||||
// (C) Copyright 2003-2019 by Autodesk, Inc.
|
||||
//
|
||||
// Permission to use, copy, modify, and distribute this software in
|
||||
// object code form for any purpose and without fee is hereby granted,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both that copyright notice and the limited warranty and
|
||||
// restricted rights notice below appear in all supporting
|
||||
// documentation.
|
||||
//
|
||||
// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
|
||||
// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
|
||||
// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
|
||||
// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
|
||||
// UNINTERRUPTED OR ERROR FREE.
|
||||
//
|
||||
// Use, duplication, or disclosure by the U.S. Government is subject to
|
||||
// restrictions set forth in FAR 52.227-19 (Commercial Computer
|
||||
// Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
|
||||
// (Rights in Technical Data and Computer Software), as applicable.
|
||||
//
|
||||
|
||||
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
//
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
//
|
||||
[assembly: AssemblyTitle("")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
[assembly: AssemblyCopyright("Copyright © Autodesk, Inc. 2009")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
//
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||
//
|
||||
// Use the attributes below to control which key is used for signing.
|
||||
//
|
||||
// Notes:
|
||||
// (*) If no key is specified, the assembly is not signed.
|
||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||
// a key.
|
||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||
// following processing occurs:
|
||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||
// in the KeyFile is installed into the CSP and used.
|
||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||
// When specifying the KeyFile, the location of the KeyFile should be
|
||||
// relative to the project output directory which is
|
||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||
// located in the project directory, you would specify the AssemblyKeyFile
|
||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||
// documentation for more information on this.
|
||||
//
|
||||
[assembly: AssemblyDelaySign(false)]
|
||||
[assembly: AssemblyKeyFile("")]
|
||||
[assembly: AssemblyKeyName("")]
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RevitAddIns>
|
||||
<AddIn Type="Command">
|
||||
<Assembly>CreateBeamsColumnsBraces.dll</Assembly>
|
||||
<ClientId>74e3d44b-5ad6-4c58-a3f1-3107c4108fc4</ClientId>
|
||||
<FullClassName>Revit.SDK.Samples.CreateBeamsColumnsBraces.CS.Command</FullClassName>
|
||||
<Text>Create beams, columns and braces (CS)</Text>
|
||||
<Description>Create beams, columns and braces.</Description>
|
||||
<VisibilityMode>AlwaysVisible</VisibilityMode>
|
||||
<VendorId>ADSK</VendorId>
|
||||
<VendorDescription>Autodesk, www.autodesk.com</VendorDescription>
|
||||
</AddIn>
|
||||
</RevitAddIns>
|
||||
@@ -0,0 +1,497 @@
|
||||
//
|
||||
// (C) Copyright 2003-2019 by Autodesk, Inc.
|
||||
//
|
||||
// Permission to use, copy, modify, and distribute this software in
|
||||
// object code form for any purpose and without fee is hereby granted,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both that copyright notice and the limited warranty and
|
||||
// restricted rights notice below appear in all supporting
|
||||
// documentation.
|
||||
//
|
||||
// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
|
||||
// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
|
||||
// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
|
||||
// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
|
||||
// UNINTERRUPTED OR ERROR FREE.
|
||||
//
|
||||
// Use, duplication, or disclosure by the U.S. Government is subject to
|
||||
// restrictions set forth in FAR 52.227-19 (Commercial Computer
|
||||
// Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
|
||||
// (Rights in Technical Data and Computer Software), as applicable.
|
||||
//
|
||||
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using Autodesk.Revit;
|
||||
using Autodesk.Revit.DB;
|
||||
using Autodesk.Revit.UI;
|
||||
using Autodesk.Revit.DB.Events;
|
||||
using Autodesk.Revit.DB.Structure;
|
||||
using Autodesk.Revit.Creation;
|
||||
|
||||
using ELEMENT = Autodesk.Revit.DB.Element;
|
||||
using STRUCTURALTYPE = Autodesk.Revit.DB.Structure.StructuralType;
|
||||
|
||||
namespace Revit.SDK.Samples.CreateBeamsColumnsBraces.CS
|
||||
{
|
||||
/// <summary>
|
||||
/// Create Beams, Columns and Braces according to user's input information
|
||||
/// </summary>
|
||||
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
|
||||
[Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)]
|
||||
[Autodesk.Revit.Attributes.Journaling(Autodesk.Revit.Attributes.JournalingMode.NoCommandData)]
|
||||
public class Command : IExternalCommand
|
||||
{
|
||||
Autodesk.Revit.UI.UIApplication m_revit = null;
|
||||
|
||||
ArrayList m_columnMaps = new ArrayList(); //list of columns' type
|
||||
ArrayList m_beamMaps = new ArrayList(); //list of beams' type
|
||||
ArrayList m_braceMaps = new ArrayList(); //list of braces' type
|
||||
SortedList levels = new SortedList(); //list of list sorted by their elevations
|
||||
|
||||
Autodesk.Revit.DB.UV[,] m_matrixUV; //2D coordinates of matrix
|
||||
|
||||
/// <summary>
|
||||
/// list of all type of columns
|
||||
/// </summary>
|
||||
public ArrayList ColumnMaps
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_columnMaps;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// list of all type of beams
|
||||
/// </summary>
|
||||
public ArrayList BeamMaps
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_beamMaps;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// list of all type of braces
|
||||
/// </summary>
|
||||
public ArrayList BraceMaps
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_braceMaps;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Implement this method as an external command for Revit.
|
||||
/// </summary>
|
||||
/// <param name="revit">An object that is passed to the external application
|
||||
/// which contains data related to the command,
|
||||
/// such as the application object and active view.</param>
|
||||
/// <param name="message">A message that can be set by the external application
|
||||
/// which will be displayed if a failure or cancellation is returned by
|
||||
/// the external command.</param>
|
||||
/// <param name="elements">A set of elements to which the external application
|
||||
/// can add elements that are to be highlighted in case of failure or cancellation.</param>
|
||||
/// <returns>Return the status of the external command.
|
||||
/// A result of Succeeded means that the API external method functioned as expected.
|
||||
/// Cancelled can be used to signify that the user cancelled the external operation
|
||||
/// at some point. Failure should be returned if the application is unable to proceed with
|
||||
/// the operation.</returns>
|
||||
public Autodesk.Revit.UI.Result Execute(Autodesk.Revit.UI.ExternalCommandData revit, ref string message, Autodesk.Revit.DB.ElementSet elements)
|
||||
{
|
||||
m_revit = revit.Application;
|
||||
Transaction tran = new Transaction(m_revit.ActiveUIDocument.Document, "CreateBeamsColumnsBraces");
|
||||
tran.Start();
|
||||
|
||||
try
|
||||
{
|
||||
//if initialize failed return Result.Failed
|
||||
bool initializeOK = Initialize();
|
||||
if (!initializeOK)
|
||||
{
|
||||
tran.RollBack();
|
||||
return Autodesk.Revit.UI.Result.Failed;
|
||||
}
|
||||
|
||||
using (CreateBeamsColumnsBracesForm displayForm = new CreateBeamsColumnsBracesForm(this))
|
||||
{
|
||||
if (displayForm.ShowDialog() != DialogResult.OK)
|
||||
{
|
||||
tran.RollBack();
|
||||
return Autodesk.Revit.UI.Result.Cancelled;
|
||||
}
|
||||
}
|
||||
|
||||
tran.Commit();
|
||||
return Autodesk.Revit.UI.Result.Succeeded;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
message = ex.Message;
|
||||
tran.RollBack();
|
||||
return Autodesk.Revit.UI.Result.Failed;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// check the number of floors is less than the number of levels
|
||||
/// create beams, columns and braces according to selected types
|
||||
/// </summary>
|
||||
/// <param name="columnObject">type of column</param>
|
||||
/// <param name="beamObject">type of beam</param>
|
||||
/// <param name="braceObject">type of brace</param>
|
||||
/// <param name="floorNumber">number of floor</param>
|
||||
/// <returns>number of floors is less than the number of levels and create successfully then return true</returns>
|
||||
public bool AddInstance(object columnObject, object beamObject, object braceObject, int floorNumber)
|
||||
{
|
||||
//whether floor number less than levels number
|
||||
if (floorNumber >= levels.Count)
|
||||
{
|
||||
TaskDialog.Show("Revit", "The number of levels must be added.");
|
||||
return false;
|
||||
}
|
||||
|
||||
FamilySymbol columnSymbol = columnObject as FamilySymbol;
|
||||
FamilySymbol beamSymbol = beamObject as FamilySymbol;
|
||||
FamilySymbol braceSymbol = braceObject as FamilySymbol;
|
||||
|
||||
//any symbol is null then the command failed
|
||||
if (null == columnSymbol || null == beamSymbol || null == braceSymbol)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
for (int k = 0; k < floorNumber; k++) //iterate levels from lower one to higher
|
||||
{
|
||||
Level baseLevel = levels.GetByIndex(k) as Level;
|
||||
Level topLevel = levels.GetByIndex(k + 1) as Level;
|
||||
|
||||
int matrixXSize = m_matrixUV.GetLength(0); //length of matrix's x range
|
||||
int matrixYSize = m_matrixUV.GetLength(1); //length of matrix's y range
|
||||
|
||||
//iterate coordinate both in x direction and y direction and create beams and braces
|
||||
for (int j = 0; j < matrixYSize; j++)
|
||||
{
|
||||
for (int i = 0; i < matrixXSize; i++)
|
||||
{
|
||||
//create beams and braces in x direction
|
||||
if (i != (matrixXSize - 1))
|
||||
{
|
||||
PlaceBrace(m_matrixUV[i, j], m_matrixUV[i + 1, j], baseLevel, topLevel, braceSymbol, true);
|
||||
}
|
||||
//create beams and braces in y direction
|
||||
if (j != (matrixYSize - 1))
|
||||
{
|
||||
PlaceBrace(m_matrixUV[i, j], m_matrixUV[i, j + 1], baseLevel, topLevel, braceSymbol, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int j = 0; j < matrixYSize; j++)
|
||||
{
|
||||
for (int i = 0; i < matrixXSize; i++)
|
||||
{
|
||||
//create beams and braces in x direction
|
||||
if (i != (matrixXSize - 1))
|
||||
{
|
||||
PlaceBeam(m_matrixUV[i, j], m_matrixUV[i + 1, j], baseLevel, topLevel, beamSymbol);
|
||||
}
|
||||
//create beams and braces in y direction
|
||||
if (j != (matrixYSize - 1))
|
||||
{
|
||||
PlaceBeam(m_matrixUV[i, j], m_matrixUV[i, j + 1], baseLevel, topLevel, beamSymbol);
|
||||
}
|
||||
}
|
||||
}
|
||||
//place column of this level
|
||||
foreach (Autodesk.Revit.DB.UV point2D in m_matrixUV)
|
||||
{
|
||||
PlaceColumn(point2D, columnSymbol, baseLevel, topLevel);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// generate 2D coordinates of matrix according to parameters
|
||||
/// </summary>
|
||||
/// <param name="xNumber">Number of Columns in the X direction</param>
|
||||
/// <param name="yNumber">Number of Columns in the Y direction</param>
|
||||
/// <param name="distance">Distance between columns</param>
|
||||
public void CreateMatrix(int xNumber, int yNumber, double distance)
|
||||
{
|
||||
m_matrixUV = new Autodesk.Revit.DB.UV[xNumber, yNumber];
|
||||
|
||||
for (int i = 0; i < xNumber; i++)
|
||||
{
|
||||
for (int j = 0; j < yNumber; j++)
|
||||
{
|
||||
m_matrixUV[i, j] = new Autodesk.Revit.DB.UV(i * distance, j * distance);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// iterate all the symbols of levels, columns, beams and braces
|
||||
/// </summary>
|
||||
/// <returns>A value that signifies if the initialization was successful for true or failed for false</returns>
|
||||
private bool Initialize()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
FilteredElementIterator i = new FilteredElementCollector(m_revit.ActiveUIDocument.Document).OfClass(typeof(Level)).GetElementIterator();
|
||||
i.Reset();
|
||||
while (i.MoveNext())
|
||||
{
|
||||
//add level to list
|
||||
Level level = i.Current as Level;
|
||||
if (null != level)
|
||||
{
|
||||
levels.Add(level.Elevation, level);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
i = new FilteredElementCollector(m_revit.ActiveUIDocument.Document).OfClass(typeof(Family)).GetElementIterator();
|
||||
while (i.MoveNext())
|
||||
{
|
||||
Family f = i.Current as Family;
|
||||
if (f != null)
|
||||
{
|
||||
foreach (ElementId elementId in f.GetFamilySymbolIds())
|
||||
{
|
||||
object symbol = m_revit.ActiveUIDocument.Document.GetElement(elementId);
|
||||
FamilySymbol familyType = symbol as FamilySymbol;
|
||||
if (null == familyType)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (null == familyType.Category)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
//add symbols of beams and braces to lists
|
||||
string categoryName = familyType.Category.Name;
|
||||
if ("Structural Framing" == categoryName)
|
||||
{
|
||||
m_beamMaps.Add(new SymbolMap(familyType));
|
||||
m_braceMaps.Add(new SymbolMap(familyType));
|
||||
}
|
||||
else if ("Structural Columns" == categoryName)
|
||||
{
|
||||
m_columnMaps.Add(new SymbolMap(familyType));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// create column of certain type in certain position
|
||||
/// </summary>
|
||||
/// <param name="point2D">2D coordinate of the column</param>
|
||||
/// <param name="columnType">type of column</param>
|
||||
/// <param name="baseLevel">the base level of the column</param>
|
||||
/// <param name="topLevel">the top level of the column</param>
|
||||
private void PlaceColumn(Autodesk.Revit.DB.UV point2D, FamilySymbol columnType, Level baseLevel, Level topLevel)
|
||||
{
|
||||
//create column of certain type in certain level and start point
|
||||
Autodesk.Revit.DB.XYZ point = new Autodesk.Revit.DB.XYZ(point2D.U, point2D.V, 0);
|
||||
STRUCTURALTYPE structuralType;
|
||||
structuralType = Autodesk.Revit.DB.Structure.StructuralType.Column;
|
||||
if (!columnType.IsActive)
|
||||
columnType.Activate();
|
||||
FamilyInstance column = m_revit.ActiveUIDocument.Document.Create.NewFamilyInstance(point, columnType, topLevel, structuralType);
|
||||
|
||||
//set base level & top level of the column
|
||||
if (null != column)
|
||||
{
|
||||
Parameter baseLevelParameter = column.get_Parameter(Autodesk.Revit.DB.BuiltInParameter.FAMILY_BASE_LEVEL_PARAM);
|
||||
Parameter topLevelParameter = column.get_Parameter(Autodesk.Revit.DB.BuiltInParameter.FAMILY_TOP_LEVEL_PARAM);
|
||||
Parameter topOffsetParameter = column.get_Parameter(BuiltInParameter.FAMILY_TOP_LEVEL_OFFSET_PARAM);
|
||||
Parameter baseOffsetParameter = column.get_Parameter(BuiltInParameter.FAMILY_BASE_LEVEL_OFFSET_PARAM);
|
||||
|
||||
if (null != baseLevelParameter)
|
||||
{
|
||||
Autodesk.Revit.DB.ElementId baseLevelId;
|
||||
baseLevelId = baseLevel.Id;
|
||||
baseLevelParameter.Set(baseLevelId);
|
||||
}
|
||||
|
||||
if (null != topLevelParameter)
|
||||
{
|
||||
Autodesk.Revit.DB.ElementId topLevelId;
|
||||
topLevelId = topLevel.Id;
|
||||
topLevelParameter.Set(topLevelId);
|
||||
}
|
||||
|
||||
if (null != topOffsetParameter)
|
||||
{
|
||||
topOffsetParameter.Set(0.0);
|
||||
}
|
||||
|
||||
if (null != baseOffsetParameter)
|
||||
{
|
||||
baseOffsetParameter.Set(0.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// create beam of certain type in certain position
|
||||
/// </summary>
|
||||
/// <param name="point2D1">one point of the location line in 2D</param>
|
||||
/// <param name="point2D2">another point of the location line in 2D</param>
|
||||
/// <param name="baseLevel">the base level of the beam</param>
|
||||
/// <param name="topLevel">the top level of the beam</param>
|
||||
/// <param name="beamType">type of beam</param>
|
||||
/// <returns>nothing</returns>
|
||||
private void PlaceBeam(Autodesk.Revit.DB.UV point2D1, Autodesk.Revit.DB.UV point2D2, Level baseLevel, Level topLevel, FamilySymbol beamType)
|
||||
{
|
||||
double height = topLevel.Elevation;
|
||||
Autodesk.Revit.DB.XYZ startPoint = new Autodesk.Revit.DB.XYZ(point2D1.U, point2D1.V, height);
|
||||
Autodesk.Revit.DB.XYZ endPoint = new Autodesk.Revit.DB.XYZ(point2D2.U, point2D2.V, height);
|
||||
Autodesk.Revit.DB.ElementId topLevelId = topLevel.Id;
|
||||
|
||||
Line line = Line.CreateBound(startPoint, endPoint);
|
||||
STRUCTURALTYPE structuralType = Autodesk.Revit.DB.Structure.StructuralType.Beam;
|
||||
if (!beamType.IsActive)
|
||||
beamType.Activate();
|
||||
m_revit.ActiveUIDocument.Document.Create.NewFamilyInstance(line, beamType, topLevel, structuralType);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// create brace of certain type in certain position between two adjacent columns
|
||||
/// </summary>
|
||||
/// <param name="point2D1">one point of the location line in 2D</param>
|
||||
/// <param name="point2D2">another point of the location line in 2D</param>
|
||||
/// <param name="baseLevel">the base level of the brace</param>
|
||||
/// <param name="topLevel">the top level of the brace</param>
|
||||
/// <param name="braceType">type of beam</param>
|
||||
/// <param name="isXDirection">whether the location line is in x direction</param>
|
||||
private void PlaceBrace(Autodesk.Revit.DB.UV point2D1, Autodesk.Revit.DB.UV point2D2, Level baseLevel, Level topLevel, FamilySymbol braceType, bool isXDirection)
|
||||
{
|
||||
//get the start points and end points of location lines of two braces
|
||||
double topHeight = topLevel.Elevation;
|
||||
double baseHeight = baseLevel.Elevation;
|
||||
double middleElevation = (topHeight + baseHeight) / 2;
|
||||
double middleHeight = (topHeight - baseHeight) / 2;
|
||||
Autodesk.Revit.DB.XYZ startPoint = new Autodesk.Revit.DB.XYZ(point2D1.U, point2D1.V, middleElevation);
|
||||
Autodesk.Revit.DB.XYZ endPoint = new Autodesk.Revit.DB.XYZ(point2D2.U, point2D2.V, middleElevation);
|
||||
Autodesk.Revit.DB.XYZ middlePoint;
|
||||
|
||||
if (isXDirection)
|
||||
{
|
||||
middlePoint = new Autodesk.Revit.DB.XYZ((point2D1.U + point2D2.U) / 2, point2D2.V, topHeight);
|
||||
}
|
||||
else
|
||||
{
|
||||
middlePoint = new Autodesk.Revit.DB.XYZ(point2D2.U, (point2D1.V + point2D2.V) / 2, topHeight);
|
||||
}
|
||||
|
||||
//create two brace and set their location line
|
||||
STRUCTURALTYPE structuralType = Autodesk.Revit.DB.Structure.StructuralType.Brace;
|
||||
Autodesk.Revit.DB.ElementId levelId = topLevel.Id;
|
||||
Autodesk.Revit.DB.ElementId startLevelId = baseLevel.Id;
|
||||
Autodesk.Revit.DB.ElementId endLevelId = topLevel.Id;
|
||||
|
||||
Line line1 = Line.CreateBound(startPoint, middlePoint);
|
||||
if (!braceType.IsActive)
|
||||
braceType.Activate();
|
||||
FamilyInstance firstBrace = m_revit.ActiveUIDocument.Document.Create.NewFamilyInstance(line1, braceType, baseLevel, structuralType);
|
||||
|
||||
Parameter referenceLevel1 = firstBrace.get_Parameter(BuiltInParameter.INSTANCE_REFERENCE_LEVEL_PARAM);
|
||||
if (null != referenceLevel1)
|
||||
{
|
||||
referenceLevel1.Set(levelId);
|
||||
}
|
||||
|
||||
Line line2 = Line.CreateBound(endPoint, middlePoint);
|
||||
FamilyInstance secondBrace = m_revit.ActiveUIDocument.Document.Create.NewFamilyInstance(line2, braceType, baseLevel, structuralType);
|
||||
|
||||
Parameter referenceLevel2 = secondBrace.get_Parameter(BuiltInParameter.INSTANCE_REFERENCE_LEVEL_PARAM);
|
||||
if (null != referenceLevel2)
|
||||
{
|
||||
referenceLevel2.Set(levelId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// assistant class contains the symbol and its name.
|
||||
/// </summary>
|
||||
public class SymbolMap
|
||||
{
|
||||
string m_symbolName = "";
|
||||
FamilySymbol m_symbol = null;
|
||||
|
||||
/// <summary>
|
||||
/// constructor without parameter is forbidden
|
||||
/// </summary>
|
||||
private SymbolMap()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// constructor
|
||||
/// </summary>
|
||||
/// <param name="symbol">family symbol</param>
|
||||
public SymbolMap(FamilySymbol symbol)
|
||||
{
|
||||
m_symbol = symbol;
|
||||
string familyName = "";
|
||||
if (null != symbol.Family)
|
||||
{
|
||||
familyName = symbol.Family.Name;
|
||||
}
|
||||
m_symbolName = familyName + " : " + symbol.Name;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// SymbolName property
|
||||
/// </summary>
|
||||
public string SymbolName
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_symbolName;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// ElementType property
|
||||
/// </summary>
|
||||
public FamilySymbol ElementType
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_symbol;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,149 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectType>Local</ProjectType>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{DAEB3B8B-72CD-475C-A648-EF50EC3C2FCA}</ProjectGuid>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ApplicationIcon>
|
||||
</ApplicationIcon>
|
||||
<AssemblyKeyContainerName>
|
||||
</AssemblyKeyContainerName>
|
||||
<AssemblyName>CreateBeamsColumnsBraces</AssemblyName>
|
||||
<AssemblyOriginatorKeyFile>
|
||||
</AssemblyOriginatorKeyFile>
|
||||
<DefaultClientScript>JScript</DefaultClientScript>
|
||||
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
|
||||
<DefaultTargetSchema>IE50</DefaultTargetSchema>
|
||||
<DelaySign>false</DelaySign>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>Revit.SDK.Samples.CreateBeamsColumnsBraces.CS</RootNamespace>
|
||||
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
||||
<StartupObject>
|
||||
</StartupObject>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
||||
<ConfigurationOverrideFile>
|
||||
</ConfigurationOverrideFile>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<NoStdLib>false</NoStdLib>
|
||||
<NoWarn>
|
||||
</NoWarn>
|
||||
<Optimize>false</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DebugType>full</DebugType>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
||||
<ConfigurationOverrideFile>
|
||||
</ConfigurationOverrideFile>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<NoStdLib>false</NoStdLib>
|
||||
<NoWarn>
|
||||
</NoWarn>
|
||||
<Optimize>true</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DebugType>none</DebugType>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<Optimize>true</Optimize>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System">
|
||||
<Name>System</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Data">
|
||||
<Name>System.Data</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing">
|
||||
<Name>System.Drawing</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms">
|
||||
<Name>System.Windows.Forms</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml">
|
||||
<Name>System.XML</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AssemblyInfo.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="CreateBeamsColumnsBraces.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="CreateBeamsColumnsBracesForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="CreateBeamsColumnsBracesForm.resx">
|
||||
<DependentUpon>CreateBeamsColumnsBracesForm.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(SolutionDir)VSProps\SDKSamples.targets" />
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
<PostBuildEvent>set FILEFORSAMPLEREG="$(SolutionDir)..\..\..\..\Regression\API\SDKSamples\UpdateSampleDllForRegression.pl"
|
||||
if exist %25FILEFORSAMPLEREG%25 perl %25FILEFORSAMPLEREG%25 $(ProjectExt) "$(ProjectPath)" "$(TargetPath)" "$(SolutionDir)"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,493 @@
|
||||
//
|
||||
// (C) Copyright 2003-2019 by Autodesk, Inc.
|
||||
//
|
||||
// Permission to use, copy, modify, and distribute this software in
|
||||
// object code form for any purpose and without fee is hereby granted,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both that copyright notice and the limited warranty and
|
||||
// restricted rights notice below appear in all supporting
|
||||
// documentation.
|
||||
//
|
||||
// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
|
||||
// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
|
||||
// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
|
||||
// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
|
||||
// UNINTERRUPTED OR ERROR FREE.
|
||||
//
|
||||
// Use, duplication, or disclosure by the U.S. Government is subject to
|
||||
// restrictions set forth in FAR 52.227-19 (Commercial Computer
|
||||
// Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
|
||||
// (Rights in Technical Data and Computer Software), as applicable.
|
||||
//
|
||||
|
||||
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using Autodesk.Revit.UI;
|
||||
|
||||
namespace Revit.SDK.Samples.CreateBeamsColumnsBraces.CS
|
||||
{
|
||||
/// <summary>
|
||||
/// UI
|
||||
/// </summary>
|
||||
public class CreateBeamsColumnsBracesForm : System.Windows.Forms.Form
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.Container components = null;
|
||||
private System.Windows.Forms.Button OKButton;
|
||||
private System.Windows.Forms.TextBox XTextBox;
|
||||
private System.Windows.Forms.TextBox DistanceTextBox;
|
||||
private System.Windows.Forms.TextBox YTextBox;
|
||||
private System.Windows.Forms.ComboBox columnComboBox;
|
||||
private System.Windows.Forms.ComboBox beamComboBox;
|
||||
private System.Windows.Forms.ComboBox braceComboBox;
|
||||
private System.Windows.Forms.Button cancelButton;
|
||||
private System.Windows.Forms.TextBox floornumberTextBox;
|
||||
private System.Windows.Forms.Label columnLabel;
|
||||
private System.Windows.Forms.Label beamLabel;
|
||||
private System.Windows.Forms.Label braceLabel;
|
||||
private System.Windows.Forms.Label DistanceLabel;
|
||||
private System.Windows.Forms.Label YLabel;
|
||||
private System.Windows.Forms.Label XLabel;
|
||||
private System.Windows.Forms.Label floornumberLabel;
|
||||
private System.Windows.Forms.Label unitLabel;
|
||||
|
||||
// To store the datas
|
||||
Command m_dataBuffer = null;
|
||||
|
||||
/// <summary>
|
||||
/// constructor
|
||||
/// </summary>
|
||||
/// <param name="dataBuffer">the revit datas</param>
|
||||
public CreateBeamsColumnsBracesForm(Command dataBuffer)
|
||||
{
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
InitializeComponent();
|
||||
|
||||
m_dataBuffer = dataBuffer;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
if (components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.OKButton = new System.Windows.Forms.Button();
|
||||
this.XTextBox = new System.Windows.Forms.TextBox();
|
||||
this.YTextBox = new System.Windows.Forms.TextBox();
|
||||
this.DistanceTextBox = new System.Windows.Forms.TextBox();
|
||||
this.columnComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.beamComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.braceComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.columnLabel = new System.Windows.Forms.Label();
|
||||
this.beamLabel = new System.Windows.Forms.Label();
|
||||
this.braceLabel = new System.Windows.Forms.Label();
|
||||
this.floornumberTextBox = new System.Windows.Forms.TextBox();
|
||||
this.DistanceLabel = new System.Windows.Forms.Label();
|
||||
this.YLabel = new System.Windows.Forms.Label();
|
||||
this.XLabel = new System.Windows.Forms.Label();
|
||||
this.floornumberLabel = new System.Windows.Forms.Label();
|
||||
this.cancelButton = new System.Windows.Forms.Button();
|
||||
this.unitLabel = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// OKButton
|
||||
//
|
||||
this.OKButton.Location = new System.Drawing.Point(296, 208);
|
||||
this.OKButton.Name = "OKButton";
|
||||
this.OKButton.TabIndex = 8;
|
||||
this.OKButton.Text = "&OK";
|
||||
this.OKButton.Click += new System.EventHandler(this.OKButton_Click);
|
||||
//
|
||||
// XTextBox
|
||||
//
|
||||
this.XTextBox.Location = new System.Drawing.Point(16, 96);
|
||||
this.XTextBox.Name = "XTextBox";
|
||||
this.XTextBox.Size = new System.Drawing.Size(136, 20);
|
||||
this.XTextBox.TabIndex = 2;
|
||||
this.XTextBox.Text = "";
|
||||
this.XTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.XTextBox_Validating);
|
||||
//
|
||||
// YTextBox
|
||||
//
|
||||
this.YTextBox.Location = new System.Drawing.Point(16, 152);
|
||||
this.YTextBox.Name = "YTextBox";
|
||||
this.YTextBox.Size = new System.Drawing.Size(136, 20);
|
||||
this.YTextBox.TabIndex = 3;
|
||||
this.YTextBox.Text = "";
|
||||
this.YTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.YTextBox_Validating);
|
||||
//
|
||||
// DistanceTextBox
|
||||
//
|
||||
this.DistanceTextBox.Location = new System.Drawing.Point(16, 40);
|
||||
this.DistanceTextBox.Name = "DistanceTextBox";
|
||||
this.DistanceTextBox.Size = new System.Drawing.Size(112, 20);
|
||||
this.DistanceTextBox.TabIndex = 1;
|
||||
this.DistanceTextBox.Text = "";
|
||||
this.DistanceTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.DistanceTextBox_Validating);
|
||||
//
|
||||
// columnComboBox
|
||||
//
|
||||
this.columnComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.columnComboBox.Location = new System.Drawing.Point(240, 40);
|
||||
this.columnComboBox.Name = "columnComboBox";
|
||||
this.columnComboBox.Size = new System.Drawing.Size(288, 21);
|
||||
this.columnComboBox.TabIndex = 5;
|
||||
//
|
||||
// beamComboBox
|
||||
//
|
||||
this.beamComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.beamComboBox.Location = new System.Drawing.Point(240, 96);
|
||||
this.beamComboBox.Name = "beamComboBox";
|
||||
this.beamComboBox.Size = new System.Drawing.Size(288, 21);
|
||||
this.beamComboBox.TabIndex = 6;
|
||||
//
|
||||
// braceComboBox
|
||||
//
|
||||
this.braceComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.braceComboBox.Location = new System.Drawing.Point(240, 152);
|
||||
this.braceComboBox.Name = "braceComboBox";
|
||||
this.braceComboBox.Size = new System.Drawing.Size(288, 21);
|
||||
this.braceComboBox.TabIndex = 7;
|
||||
//
|
||||
// columnLabel
|
||||
//
|
||||
this.columnLabel.Location = new System.Drawing.Point(240, 16);
|
||||
this.columnLabel.Name = "columnLabel";
|
||||
this.columnLabel.Size = new System.Drawing.Size(120, 23);
|
||||
this.columnLabel.TabIndex = 10;
|
||||
this.columnLabel.Text = "Type of Columns:";
|
||||
//
|
||||
// beamLabel
|
||||
//
|
||||
this.beamLabel.Location = new System.Drawing.Point(240, 72);
|
||||
this.beamLabel.Name = "beamLabel";
|
||||
this.beamLabel.Size = new System.Drawing.Size(120, 23);
|
||||
this.beamLabel.TabIndex = 11;
|
||||
this.beamLabel.Text = "Type of Beams:";
|
||||
//
|
||||
// braceLabel
|
||||
//
|
||||
this.braceLabel.Location = new System.Drawing.Point(240, 128);
|
||||
this.braceLabel.Name = "braceLabel";
|
||||
this.braceLabel.Size = new System.Drawing.Size(120, 23);
|
||||
this.braceLabel.TabIndex = 12;
|
||||
this.braceLabel.Text = "Type of Braces:";
|
||||
//
|
||||
// floornumberTextBox
|
||||
//
|
||||
this.floornumberTextBox.Location = new System.Drawing.Point(16, 208);
|
||||
this.floornumberTextBox.Name = "floornumberTextBox";
|
||||
this.floornumberTextBox.Size = new System.Drawing.Size(112, 20);
|
||||
this.floornumberTextBox.TabIndex = 4;
|
||||
this.floornumberTextBox.Text = "";
|
||||
this.floornumberTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.floornumberTextBox_Validating);
|
||||
//
|
||||
// DistanceLabel
|
||||
//
|
||||
this.DistanceLabel.Location = new System.Drawing.Point(16, 16);
|
||||
this.DistanceLabel.Name = "DistanceLabel";
|
||||
this.DistanceLabel.Size = new System.Drawing.Size(152, 23);
|
||||
this.DistanceLabel.TabIndex = 14;
|
||||
this.DistanceLabel.Text = "Distance between Columns:";
|
||||
//
|
||||
// YLabel
|
||||
//
|
||||
this.YLabel.Location = new System.Drawing.Point(16, 128);
|
||||
this.YLabel.Name = "YLabel";
|
||||
this.YLabel.Size = new System.Drawing.Size(200, 23);
|
||||
this.YLabel.TabIndex = 15;
|
||||
this.YLabel.Text = "Number of Columns in the Y Direction:";
|
||||
//
|
||||
// XLabel
|
||||
//
|
||||
this.XLabel.Location = new System.Drawing.Point(16, 72);
|
||||
this.XLabel.Name = "XLabel";
|
||||
this.XLabel.Size = new System.Drawing.Size(200, 23);
|
||||
this.XLabel.TabIndex = 16;
|
||||
this.XLabel.Text = "Number of Columns in the X Direction:";
|
||||
//
|
||||
// floornumberLabel
|
||||
//
|
||||
this.floornumberLabel.Location = new System.Drawing.Point(16, 184);
|
||||
this.floornumberLabel.Name = "floornumberLabel";
|
||||
this.floornumberLabel.Size = new System.Drawing.Size(144, 23);
|
||||
this.floornumberLabel.TabIndex = 17;
|
||||
this.floornumberLabel.Text = "Number of Floors:";
|
||||
//
|
||||
// cancelButton
|
||||
//
|
||||
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.cancelButton.Location = new System.Drawing.Point(392, 208);
|
||||
this.cancelButton.Name = "cancelButton";
|
||||
this.cancelButton.TabIndex = 9;
|
||||
this.cancelButton.Text = "&Cancel";
|
||||
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
|
||||
//
|
||||
// unitLabel
|
||||
//
|
||||
this.unitLabel.Location = new System.Drawing.Point(136, 42);
|
||||
this.unitLabel.Name = "unitLabel";
|
||||
this.unitLabel.Size = new System.Drawing.Size(32, 23);
|
||||
this.unitLabel.TabIndex = 18;
|
||||
this.unitLabel.Text = "feet";
|
||||
//
|
||||
// CreateBeamsColumnsBracesForm
|
||||
//
|
||||
this.AcceptButton = this.OKButton;
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
|
||||
this.CancelButton = this.cancelButton;
|
||||
this.ClientSize = new System.Drawing.Size(546, 246);
|
||||
this.Controls.Add(this.unitLabel);
|
||||
this.Controls.Add(this.cancelButton);
|
||||
this.Controls.Add(this.floornumberLabel);
|
||||
this.Controls.Add(this.XLabel);
|
||||
this.Controls.Add(this.YLabel);
|
||||
this.Controls.Add(this.DistanceLabel);
|
||||
this.Controls.Add(this.floornumberTextBox);
|
||||
this.Controls.Add(this.DistanceTextBox);
|
||||
this.Controls.Add(this.YTextBox);
|
||||
this.Controls.Add(this.XTextBox);
|
||||
this.Controls.Add(this.braceLabel);
|
||||
this.Controls.Add(this.beamLabel);
|
||||
this.Controls.Add(this.columnLabel);
|
||||
this.Controls.Add(this.braceComboBox);
|
||||
this.Controls.Add(this.beamComboBox);
|
||||
this.Controls.Add(this.columnComboBox);
|
||||
this.Controls.Add(this.OKButton);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "CreateBeamsColumnsBracesForm";
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "Create Beams Columns and Braces";
|
||||
this.Load += new System.EventHandler(this.CreateBeamsColumnsBracesForm_Load);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Refresh the text box for the default data
|
||||
/// </summary>
|
||||
private void TextBoxRefresh()
|
||||
{
|
||||
this.XTextBox.Text = "2";
|
||||
this.YTextBox.Text = "2";
|
||||
this.DistanceTextBox.Text = 20.0.ToString("0.0");
|
||||
this.floornumberTextBox.Text = "1";
|
||||
}
|
||||
|
||||
private void CreateBeamsColumnsBracesForm_Load(object sender, System.EventArgs e)
|
||||
{
|
||||
this.TextBoxRefresh();
|
||||
|
||||
bool notLoadSymbol = false;
|
||||
if (0 == m_dataBuffer.ColumnMaps.Count)
|
||||
{
|
||||
TaskDialog.Show("Revit", "No Structural Columns family is loaded in the project, please load one firstly.");
|
||||
notLoadSymbol = true;
|
||||
}
|
||||
if (0 == m_dataBuffer.BeamMaps.Count)
|
||||
{
|
||||
TaskDialog.Show("Revit", "No Structural Framing family is loaded in the project, please load one firstly.");
|
||||
notLoadSymbol = true;
|
||||
}
|
||||
|
||||
if (notLoadSymbol)
|
||||
{
|
||||
this.DialogResult = DialogResult.Cancel;
|
||||
this.Close();
|
||||
return;
|
||||
}
|
||||
|
||||
this.columnComboBox.DataSource = m_dataBuffer.ColumnMaps;
|
||||
this.columnComboBox.DisplayMember = "SymbolName";
|
||||
this.columnComboBox.ValueMember = "ElementType";
|
||||
|
||||
this.beamComboBox.DataSource = m_dataBuffer.BeamMaps;
|
||||
this.beamComboBox.DisplayMember = "SymbolName";
|
||||
this.beamComboBox.ValueMember = "ElementType";
|
||||
|
||||
this.braceComboBox.DataSource = m_dataBuffer.BraceMaps;
|
||||
this.braceComboBox.DisplayMember = "SymbolName";
|
||||
this.braceComboBox.ValueMember = "ElementType";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// accept use's input and create columns, beams and braces
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void OKButton_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
//check whether the input is correct and create elements
|
||||
try
|
||||
{
|
||||
int xNumber = int.Parse(this.XTextBox.Text);
|
||||
int yNumber = int.Parse(this.YTextBox.Text);
|
||||
double distance = double.Parse(this.DistanceTextBox.Text);
|
||||
object columnType = columnComboBox.SelectedValue;
|
||||
object beamType = beamComboBox.SelectedValue;
|
||||
object braceType = braceComboBox.SelectedValue;
|
||||
int floorNumber = int.Parse(floornumberTextBox.Text);
|
||||
|
||||
m_dataBuffer.CreateMatrix(xNumber, yNumber, distance);
|
||||
m_dataBuffer.AddInstance(columnType, beamType, braceType, floorNumber);
|
||||
|
||||
this.DialogResult = DialogResult.OK;
|
||||
this.Close();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
TaskDialog.Show("Revit", "Please input datas correctly.");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// cancel the command
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void cancelButton_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
this.DialogResult = DialogResult.Cancel;
|
||||
this.Close();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verify the distance
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void DistanceTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
double distance = 0.1;
|
||||
try
|
||||
{
|
||||
distance = double.Parse(this.DistanceTextBox.Text);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
TaskDialog.Show("Revit", "Please enter a value larger than 5 and less than 30000.");
|
||||
this.DistanceTextBox.Text = "";
|
||||
this.DistanceTextBox.Focus();
|
||||
return;
|
||||
}
|
||||
|
||||
if (distance <= 5)
|
||||
{
|
||||
TaskDialog.Show("Revit", "Please enter a value larger than 5.");
|
||||
this.DistanceTextBox.Text = "";
|
||||
this.DistanceTextBox.Focus();
|
||||
return;
|
||||
}
|
||||
|
||||
if (distance > 30000)
|
||||
{
|
||||
TaskDialog.Show("Revit", "Please enter a value less than 30000.");
|
||||
this.DistanceTextBox.Text = "";
|
||||
this.DistanceTextBox.Focus();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verify the number of X direction
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void XTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
int xNumber = 1;
|
||||
try
|
||||
{
|
||||
xNumber = int.Parse(this.XTextBox.Text);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
TaskDialog.Show("Revit", "Please input an integer for X direction between 1 to 20.");
|
||||
this.XTextBox.Text = "";
|
||||
}
|
||||
if (xNumber < 1 || xNumber > 20)
|
||||
{
|
||||
TaskDialog.Show("Revit", "Please input an integer for X direction between 1 to 20.");
|
||||
this.XTextBox.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verify the number of Y direction
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void YTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
int yNumber = 1;
|
||||
try
|
||||
{
|
||||
yNumber = int.Parse(this.YTextBox.Text);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
TaskDialog.Show("Revit", "Please input an integer for Y direction between 1 to 20.");
|
||||
this.YTextBox.Text = "";
|
||||
}
|
||||
if (yNumber < 1 || yNumber > 20)
|
||||
{
|
||||
TaskDialog.Show("Revit", "Please input an integer for Y direction between 1 to 20.");
|
||||
this.YTextBox.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verify the number of floors
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void floornumberTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
int floorNumber = 1;
|
||||
try
|
||||
{
|
||||
floorNumber = int.Parse(floornumberTextBox.Text);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
TaskDialog.Show("Revit", "Please input an integer for the number of floors between 1 to 10.");
|
||||
this.floornumberTextBox.Text = "";
|
||||
}
|
||||
if (floorNumber < 1 || floorNumber > 10)
|
||||
{
|
||||
TaskDialog.Show("Revit", "Please input an integer for the number of floors between 1 to 10.");
|
||||
this.floornumberTextBox.Text = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,283 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used forserialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="OKButton.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="OKButton.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="OKButton.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="XTextBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="XTextBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="XTextBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="YTextBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="YTextBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="YTextBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="DistanceTextBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="DistanceTextBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="DistanceTextBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="columnComboBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="columnComboBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="columnComboBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="beamComboBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="beamComboBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="beamComboBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="braceComboBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="braceComboBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="braceComboBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="columnLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="columnLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="columnLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="beamLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="beamLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="beamLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="braceLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="braceLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="braceLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="floornumberTextBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="floornumberTextBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="floornumberTextBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="DistanceLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="DistanceLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="DistanceLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="YLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="YLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="YLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="XLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="XLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="XLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="floornumberLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="floornumberLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="floornumberLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="cancelButton.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="cancelButton.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="cancelButton.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="unitLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="unitLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="unitLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>(Default)</value>
|
||||
</data>
|
||||
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.Name">
|
||||
<value>CreateBeamsColumnsBracesForm</value>
|
||||
</data>
|
||||
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>80</value>
|
||||
</data>
|
||||
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
</root>
|
||||
Binary file not shown.
Reference in New Issue
Block a user