From 2ca39e38fdf19f2735b026cc1291a7fadca4d87f Mon Sep 17 00:00:00 2001 From: Jeremy Tammik Date: Wed, 11 Jan 2023 11:34:33 +0100 Subject: [PATCH] added CreateAnalyticalCurvedPanel.cs --- .../CS/ContextualAnalyticalModel.csproj | 19 ++++--- .../CS/CreateAnalyticalCurvedPanel.cs | 50 +++++++++++++++++++ 2 files changed, 59 insertions(+), 10 deletions(-) create mode 100644 SDK/Samples/ContextualAnalyticalModel/CS/CreateAnalyticalCurvedPanel.cs diff --git a/SDK/Samples/ContextualAnalyticalModel/CS/ContextualAnalyticalModel.csproj b/SDK/Samples/ContextualAnalyticalModel/CS/ContextualAnalyticalModel.csproj index 8e1d22b7..cdd33c0d 100644 --- a/SDK/Samples/ContextualAnalyticalModel/CS/ContextualAnalyticalModel.csproj +++ b/SDK/Samples/ContextualAnalyticalModel/CS/ContextualAnalyticalModel.csproj @@ -1,11 +1,5 @@ - + - - - None - - - Debug AnyCPU @@ -68,12 +62,16 @@ OnOutputUpdated + + ..\..\..\..\..\..\Debugx64\RevitAddInUtility.dll + False + - C:\Program Files\Autodesk\Revit 2023\RevitAPI.dll + ..\..\..\..\..\..\Debugx64\RevitAPI.dll False - C:\Program Files\Autodesk\Revit 2023\RevitAPIUI.dll + ..\..\..\..\..\..\Debugx64\RevitAPIUI.dll False @@ -89,6 +87,7 @@ + @@ -117,4 +116,4 @@ set FILEFORSAMPLEREG="$(SolutionDir)..\..\..\..\Regression\API\SDKSamples\UpdateSampleDllForRegression.pl" if exist %25FILEFORSAMPLEREG%25 perl %25FILEFORSAMPLEREG%25 $(ProjectExt) "$(ProjectPath)" "$(TargetPath)" "$(SolutionDir)" - + \ No newline at end of file diff --git a/SDK/Samples/ContextualAnalyticalModel/CS/CreateAnalyticalCurvedPanel.cs b/SDK/Samples/ContextualAnalyticalModel/CS/CreateAnalyticalCurvedPanel.cs new file mode 100644 index 00000000..91298b4e --- /dev/null +++ b/SDK/Samples/ContextualAnalyticalModel/CS/CreateAnalyticalCurvedPanel.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Autodesk.Revit; +using Autodesk.Revit.DB; +using Autodesk.Revit.UI; +using Autodesk.Revit.DB.Structure; + +namespace ContextualAnalyticalModel +{ + /// + /// Implements the Revit add-in interface IExternalCommand + /// + [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] + [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] + class CreateAnalyticalCurvedPanel : IExternalCommand + { + public virtual Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + try + { + Document revitDoc = commandData.Application.ActiveUIDocument.Document; + + using (Transaction transaction = new Transaction(revitDoc, "Create Analytical Curved Panel")) + { + transaction.Start(); + + Arc arc = Arc.Create(new XYZ(10, 10, 0), new XYZ(0, 0, 0), new XYZ(15, 10, 0)); + + //create a curved AnalyticalPanel + AnalyticalPanel analyticalCrvPanel = AnalyticalPanel.Create(revitDoc, arc, new XYZ(0, 0, 1)); + + analyticalCrvPanel.StructuralRole = AnalyticalStructuralRole.StructuralRoleFloor; + analyticalCrvPanel.AnalyzeAs = AnalyzeAs.SlabOneWay; + + transaction.Commit(); + } + + return Result.Succeeded; + } + catch (Exception ex) + { + message = ex.Message; + return Result.Failed; + } + } + } +}