命名优化,达芬奇字体修改工具
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ public class RemoveParamCmd : ExternalCommand
|
||||
type = Document.GetElement(element.GetTypeId());
|
||||
}
|
||||
Document.Invoke(
|
||||
ts =>
|
||||
_ =>
|
||||
{
|
||||
//实例参数
|
||||
foreach (Parameter param in element.ParametersMap)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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));
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user