命名优化,达芬奇字体修改工具
This commit is contained in:
@@ -37,7 +37,7 @@ public class CorrectReferLevelExecutes
|
||||
public List<MessageModel> SetInstances()
|
||||
{
|
||||
List<MessageModel> errors = [];
|
||||
doc.Invoke(ts =>
|
||||
doc.Invoke(_ =>
|
||||
{
|
||||
//对比标高,得到实际分层位置
|
||||
foreach (var keyPair in levelOutlines)
|
||||
@@ -109,7 +109,7 @@ public class CorrectReferLevelExecutes
|
||||
public List<MessageModel> SetMEPCurves()
|
||||
{
|
||||
List<MessageModel> errors = [];
|
||||
doc.Invoke(ts =>
|
||||
doc.Invoke(_ =>
|
||||
{
|
||||
//对比标高,得到实际分层位置
|
||||
foreach (var keyPair in levelOutlines)
|
||||
@@ -185,7 +185,6 @@ public class CorrectReferLevelExecutes
|
||||
public static Dictionary<Level, Outline> GetRegions(IEnumerable<Level> levels)
|
||||
{
|
||||
Dictionary<Level, Outline> levelOutlines = [];
|
||||
|
||||
////获取标高范围
|
||||
for (var i = 0; i < levels.Count() - 1; i++)
|
||||
{
|
||||
@@ -219,39 +218,41 @@ public class CorrectReferLevelExecutes
|
||||
familyInstance.Symbol.Activate();
|
||||
}
|
||||
|
||||
var hostLevel = familyInstance.Host as Level;
|
||||
var offset = hostLevel.Elevation + originOffset - level.Elevation;
|
||||
var loc = familyInstance.Location as LocationCurve;
|
||||
var p1 = loc.Curve.GetEndPoint(0);
|
||||
var p2 = loc.Curve.GetEndPoint(1);
|
||||
var line = Line.CreateBound(p1.Add(XYZ.BasisZ * level.Elevation), p2.Add(XYZ.BasisZ * level.Elevation));
|
||||
|
||||
var newFamilyInstance = doc.Create.NewFamilyInstance(level.GetPlaneReference(), line, familyInstance.Symbol);
|
||||
var offsetParam = newFamilyInstance.get_Parameter(BuiltInParameter.INSTANCE_FREE_HOST_OFFSET_PARAM);
|
||||
offsetParam.Set(offset);
|
||||
foreach (Parameter param in familyInstance.Parameters)
|
||||
if (familyInstance.Host is Level hostLevel)
|
||||
{
|
||||
if (param.IsReadOnly || param.Definition.Name == offsetParam.Definition.Name)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
var offset = hostLevel.Elevation + originOffset - level.Elevation;
|
||||
var loc = familyInstance.Location as LocationCurve;
|
||||
var p1 = loc.Curve.GetEndPoint(0);
|
||||
var p2 = loc.Curve.GetEndPoint(1);
|
||||
var line = Line.CreateBound(p1.Add(XYZ.BasisZ * level.Elevation), p2.Add(XYZ.BasisZ * level.Elevation));
|
||||
|
||||
switch (param.StorageType)
|
||||
var newFamilyInstance = doc.Create.NewFamilyInstance(level.GetPlaneReference(), line, familyInstance.Symbol);
|
||||
var offsetParam = newFamilyInstance.get_Parameter(BuiltInParameter.INSTANCE_FREE_HOST_OFFSET_PARAM);
|
||||
offsetParam.Set(offset);
|
||||
foreach (Parameter param in familyInstance.Parameters)
|
||||
{
|
||||
case StorageType.None:
|
||||
break;
|
||||
case StorageType.Integer:
|
||||
newFamilyInstance.get_Parameter(param.Definition).Set(param.AsInteger());
|
||||
break;
|
||||
case StorageType.Double:
|
||||
newFamilyInstance.get_Parameter(param.Definition).Set(param.AsDouble());
|
||||
break;
|
||||
case StorageType.String:
|
||||
newFamilyInstance.get_Parameter(param.Definition).Set(param.AsString());
|
||||
break;
|
||||
case StorageType.ElementId:
|
||||
newFamilyInstance.get_Parameter(param.Definition).Set(param.AsElementId());
|
||||
break;
|
||||
if (param.IsReadOnly || param.Definition.Name == offsetParam.Definition.Name)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
switch (param.StorageType)
|
||||
{
|
||||
case StorageType.None:
|
||||
break;
|
||||
case StorageType.Integer:
|
||||
newFamilyInstance.get_Parameter(param.Definition).Set(param.AsInteger());
|
||||
break;
|
||||
case StorageType.Double:
|
||||
newFamilyInstance.get_Parameter(param.Definition).Set(param.AsDouble());
|
||||
break;
|
||||
case StorageType.String:
|
||||
newFamilyInstance.get_Parameter(param.Definition).Set(param.AsString());
|
||||
break;
|
||||
case StorageType.ElementId:
|
||||
newFamilyInstance.get_Parameter(param.Definition).Set(param.AsElementId());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -266,7 +267,6 @@ public class CorrectReferLevelExecutes
|
||||
private static void ModifyOneLevelBasedFamily(Document doc, Level level, FamilyInstance familyInstance)
|
||||
{
|
||||
var baseLevelParam = familyInstance.get_Parameter(BuiltInParameter.FAMILY_LEVEL_PARAM);
|
||||
var originLevel = doc.GetElement(baseLevelParam.AsElementId()) as Level;
|
||||
baseLevelParam.Set(level.Id);
|
||||
|
||||
var param = familyInstance.get_Parameter(BuiltInParameter.INSTANCE_FREE_HOST_OFFSET_PARAM);
|
||||
@@ -276,6 +276,7 @@ public class CorrectReferLevelExecutes
|
||||
}
|
||||
|
||||
var value = param.AsDouble();
|
||||
var originLevel = doc.GetElement(baseLevelParam.AsElementId()) as Level;
|
||||
param.Set(originLevel.Elevation + value - level.Elevation);
|
||||
}
|
||||
/// <summary>
|
||||
@@ -342,7 +343,6 @@ public class CorrectReferLevelExecutes
|
||||
/// <param name="doc"></param>
|
||||
/// <param name="level"></param>
|
||||
/// <param name="familyInstance"></param>
|
||||
/// <exception cref="ArgumentOutOfRangeException"></exception>
|
||||
private static void ModifyWorkPlaneBasedFamily(Document doc, Level level, FamilyInstance familyInstance)
|
||||
{
|
||||
var baseLevelParam = familyInstance.get_Parameter(BuiltInParameter.INSTANCE_SCHEDULE_ONLY_LEVEL_PARAM);
|
||||
@@ -384,8 +384,6 @@ public class CorrectReferLevelExecutes
|
||||
case StorageType.ElementId:
|
||||
newFamilyInstance.get_Parameter(param.Definition).Set(param.AsElementId());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user