修复bug和新增部分功能

This commit is contained in:
GG Z
2024-10-08 16:21:39 +08:00
parent 082b781808
commit b6647218be
44 changed files with 1709 additions and 1390 deletions

View File

@@ -17,7 +17,7 @@ namespace Sai.RvKits.RvMEP
public partial class RotateMEPViewModel : ObservableObject
{
[ObservableProperty]
private double angle;
private double angle = 90;
[ObservableProperty]
private bool isSingleSelect = true;
[RelayCommand]
@@ -40,7 +40,7 @@ namespace Sai.RvKits.RvMEP
var r = uidoc.Selection.PickObject(ObjectType.Element, new FuncFilter(e =>
{
return e is FamilyInstance && e.GetConnectors().OfType<Connector>().Any(c => c.IsConnected);
}), "请选择可以连管的构件");
}), "请选择已经连管的构件");
elemIds.Add(r.ElementId);
}
@@ -49,15 +49,40 @@ namespace Sai.RvKits.RvMEP
elemIds = uidoc.Selection.PickObjects(ObjectType.Element, new FuncFilter(e =>
{
return e is FamilyInstance && e.GetConnectors().OfType<Connector>().Any(c => c.IsConnected);
}), "请选择可以连管的构件,并完成").Select(r => doc.GetElement(r).Id).ToList();
}), "请选择已经连管的构件,并完成").Select(r => doc.GetElement(r).Id).ToList();
}
}
foreach (var id in uidoc.Selection.GetElementIds())
foreach (var id in elemIds)
{
var elem = uidoc.Document.GetElement(id);
var referConn = elem.GetConnectors().OfType<Connector>().FirstOrDefault(c => c.IsConnected);
var referConn = elem.GetConnectors().OfType<Connector>().FirstOrDefault(c =>
{
if (c.IsConnected)
{
if (c.CoordinateSystem.BasisZ.X > 0)
{
return true;
}
else
{
if (c.CoordinateSystem.BasisZ.Y > 0)
{
return true;
}
else
{
if (c.CoordinateSystem.BasisZ.Z > 0)
{
return true;
}
}
}
}
return false;
});
if (referConn != null)
{
@@ -71,7 +96,7 @@ namespace Sai.RvKits.RvMEP
referConn.CoordinateSystem.Origin,
referConn.CoordinateSystem.BasisZ),
Angle.ToRadian());
}, "旋转");
}, "旋转实例");
}
}
});