整理代码

This commit is contained in:
GG Z
2025-04-24 20:56:10 +08:00
parent 4d798e5d99
commit 155cef46f8
532 changed files with 1018 additions and 854 deletions

View File

@@ -0,0 +1,58 @@
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Nice3point.Revit.Toolkit.External;
namespace ShrlAlgo.RvKits.RvView;
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class AdaptiveMEPTagCmd : ExternalCommand
{
public override void Execute()
{
try
{
var tags = UiDocument.SelectObjects<IndependentTag>();
var toRotate = new List<IndependentTag>();
var toDelete = new List<ElementId>();
foreach (var tag in tags)
{
var mep = Document.GetElement(tag.TaggedElementId.HostElementId);
var loc = mep.Location as LocationCurve;
var c = loc.Curve.Length < 2;
if (c || Math.Abs((loc.Curve as Line).Direction.Z) > 0.2)
{
toDelete.Add(tag.Id);
continue;
}
if (loc.Curve is Line l)
{
var ra = l.Direction.AngleTo(XYZ.BasisX);
if (ra > Math.PI / 4 && ra < Math.PI / 4 * 3)
{
toRotate.Add(tag);
}
}
}
Document.Invoke(
ts =>
{
foreach (var item in toRotate)
{
item.TagOrientation = TagOrientation.Vertical;
}
Document.Delete(toDelete);
}, "旋转标注");
}
catch (Autodesk.Revit.Exceptions.OperationCanceledException)
{
}
catch (Exception)
{
}
}
}