-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain_script.csx
More file actions
37 lines (31 loc) · 1.42 KB
/
Copy pathmain_script.csx
File metadata and controls
37 lines (31 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#r "C:/Program Files/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.27/ref/net8.0/System.Runtime.dll"
// #r "C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.8/mscorlib.dll"
#r "C:/Program Files/Autodesk/Revit 2025/RevitAPI.dll"
#r "C:/Program Files/Autodesk/Revit 2025/RevitAPIUI.dll"
#load "./Helpers/DocumentHelper.csx"
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.Attributes;
using System.Diagnostics;
[Transaction(TransactionMode.Manual)]
public class DemoCmd : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
var uiapp = commandData.Application;
var doc = uiapp.ActiveUIDocument.Document;
DocumentHelper.TraceDocumentStats(doc);
var info = DocumentHelper.GetProjectInfo(doc);
var wallCount = DocumentHelper.CountElements<Wall>(doc);
TaskDialog.Show("C# Script Demo",
$"{info}\n\nWalls: {wallCount}");
var selectedRef = uiapp.ActiveUIDocument.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType.Element);
var selectedElement = doc.GetElement(selectedRef);
var bbox = selectedElement.get_BoundingBox(null);
var topCenter = (bbox.Max + new XYZ(bbox.Min.X, bbox.Min.Y, bbox.Max.Z)) / 2;
Trace.Write(bbox);
Trace.Write(topCenter);
Trace.Write(bbox.Max);
return Result.Succeeded;
}
}