命名优化,达芬奇字体修改工具

This commit is contained in:
GG Z
2025-10-04 08:52:23 +08:00
parent 0d0afbc78e
commit 4722a4c881
121 changed files with 1801 additions and 1368 deletions

View File

@@ -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;
}
}

View File

@@ -60,7 +60,7 @@ public class RemoveParamCmd : ExternalCommand
type = Document.GetElement(element.GetTypeId());
}
Document.Invoke(
ts =>
_ =>
{
//实例参数
foreach (Parameter param in element.ParametersMap)

View File

@@ -17,9 +17,10 @@ namespace ShrlAlgoToolkit.RevitAddins.ModelManager
private readonly ActionEventHandler separate = new();
[ObservableProperty]
private string fileName = "示例";
public partial string FileName { get; set; } = "示例";
[ObservableProperty]
private string folderPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
public partial string FolderPath { get; set; } = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
[RelayCommand]
private void Separate()
@@ -38,7 +39,7 @@ namespace ShrlAlgoToolkit.RevitAddins.ModelManager
}
SpearateByIds(doc, list);
doc.Invoke(
ts =>
_ =>
{
doc.Delete(list);
},
@@ -58,7 +59,7 @@ namespace ShrlAlgoToolkit.RevitAddins.ModelManager
var modelLineIds = doc.OfCollector().OfCategory(BuiltInCategory.OST_Lines).Select(e => e.Id).ToList();
var texts = doc.OfCollector().OfCategory(BuiltInCategory.OST_TextNotes).Select(e => e.Id).ToList();
doc.Invoke(
ts =>
_ =>
{
doc.Delete(allOthers);
doc.Delete(ids);

View File

@@ -13,20 +13,23 @@ public partial class TemplateManagerViewModel : ObservableObject
{
private readonly ActionEventHandler handler;
[ObservableProperty]
private FontFamily[] fontFamilies;
public partial FontFamily[] FontFamilies { get; set; }
[ObservableProperty]
private FontFamily selectFontFamily;
public partial FontFamily SelectFontFamily { get; set; }
[ObservableProperty]
private double fontSize;
public partial double FontSize { get; set; }
[ObservableProperty]
private double widthScale;
public partial double WidthScale { get; set; }
public TemplateManagerViewModel()
{
handler = new ActionEventHandler();
// 创建 InstalledFontCollection 对象
var installedFonts = new InstalledFontCollection();
// 获取已安装的字体数组
fontFamilies = installedFonts.Families;
FontFamilies = installedFonts.Families;
}
[RelayCommand]
private void CleanFontType()
@@ -86,7 +89,7 @@ public partial class TemplateManagerViewModel : ObservableObject
{
var doc = uiapp.ActiveUIDocument.Document;
doc.InvokeGroup(
tg =>
_ =>
{
var col = doc.OfClass<Family>()
.Cast<Family>()
@@ -100,7 +103,7 @@ public partial class TemplateManagerViewModel : ObservableObject
var familyEditing = doc.EditFamily(family);
//所有标签文字;
familyEditing.Invoke(
ts =>
_ =>
{
var textElements = familyEditing.OfClass<TextElement>().Cast<TextElement>();
foreach (var text in textElements)
@@ -144,7 +147,7 @@ public partial class TemplateManagerViewModel : ObservableObject
}
});
doc.Invoke(
ts =>
_ =>
{
familyEditing.LoadFamily(doc, new FamilyLoadOptions(true));
},