diff --git a/RookieStation/CommonTools/ExecuteCmd/CmdChangeBackgroundColor.cs b/RookieStation/CommonTools/ExecuteCmd/ChangeBackgroundColor.cs similarity index 94% rename from RookieStation/CommonTools/ExecuteCmd/CmdChangeBackgroundColor.cs rename to RookieStation/CommonTools/ExecuteCmd/ChangeBackgroundColor.cs index 74f8a53..5b5a846 100644 --- a/RookieStation/CommonTools/ExecuteCmd/CmdChangeBackgroundColor.cs +++ b/RookieStation/CommonTools/ExecuteCmd/ChangeBackgroundColor.cs @@ -11,7 +11,7 @@ namespace RookieStation.CommonTools.ExecuteCmd { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdChangeBackgroundColor : IExternalCommand + internal class ChangeBackgroundColor : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { diff --git a/RookieStation/CommonTools/ExecuteCmd/CmdDecryptFamily.cs b/RookieStation/CommonTools/ExecuteCmd/DecryptFamily.cs similarity index 98% rename from RookieStation/CommonTools/ExecuteCmd/CmdDecryptFamily.cs rename to RookieStation/CommonTools/ExecuteCmd/DecryptFamily.cs index 481f1fe..0766560 100644 --- a/RookieStation/CommonTools/ExecuteCmd/CmdDecryptFamily.cs +++ b/RookieStation/CommonTools/ExecuteCmd/DecryptFamily.cs @@ -14,7 +14,7 @@ namespace RookieStation.CommonTools.ExecuteCmd { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdDecryptFamily : IExternalCommand + internal class DecryptFamily : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { diff --git a/RookieStation/CommonTools/ExecuteCmd/CmdEncryptFamily.cs b/RookieStation/CommonTools/ExecuteCmd/EncryptFamily.cs similarity index 98% rename from RookieStation/CommonTools/ExecuteCmd/CmdEncryptFamily.cs rename to RookieStation/CommonTools/ExecuteCmd/EncryptFamily.cs index 1f1c46f..363d4f6 100644 --- a/RookieStation/CommonTools/ExecuteCmd/CmdEncryptFamily.cs +++ b/RookieStation/CommonTools/ExecuteCmd/EncryptFamily.cs @@ -14,7 +14,7 @@ namespace RookieStation.CommonTools.ExecuteCmd { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdEncryptFamily : IExternalCommand + internal class EncryptFamily : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { diff --git a/RookieStation/CommonTools/ExecuteCmd/CmdUseFamilyPane.cs b/RookieStation/CommonTools/ExecuteCmd/UseFamilyPane.cs similarity index 96% rename from RookieStation/CommonTools/ExecuteCmd/CmdUseFamilyPane.cs rename to RookieStation/CommonTools/ExecuteCmd/UseFamilyPane.cs index b1a6916..2fa2334 100644 --- a/RookieStation/CommonTools/ExecuteCmd/CmdUseFamilyPane.cs +++ b/RookieStation/CommonTools/ExecuteCmd/UseFamilyPane.cs @@ -7,7 +7,7 @@ namespace RookieStation.CommonTools.ExecuteCmd { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdUseFamilyPane : IExternalCommand + internal class UseFamilyPane : IExternalCommand { private Guid guid = new Guid("{028001AD-0588-4A9C-AA03-D7E472D85050}"); diff --git a/RookieStation/Drawing/ExecuteCmds/CmdBatchExportDwg.cs b/RookieStation/Drawing/ExecuteCmds/BatchExportDwg.cs similarity index 96% rename from RookieStation/Drawing/ExecuteCmds/CmdBatchExportDwg.cs rename to RookieStation/Drawing/ExecuteCmds/BatchExportDwg.cs index b7eecec..82b7fad 100644 --- a/RookieStation/Drawing/ExecuteCmds/CmdBatchExportDwg.cs +++ b/RookieStation/Drawing/ExecuteCmds/BatchExportDwg.cs @@ -11,7 +11,7 @@ namespace RookieStation.Drawing.ExecuteCmds { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdBatchExportDwg : IExternalCommand + internal class BatchExportDwg : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { diff --git a/RookieStation/Drawing/ExecuteCmds/CmdCreateShelvesLegend.cs b/RookieStation/Drawing/ExecuteCmds/CmdCreateShelvesLegend.cs deleted file mode 100644 index 25804b8..0000000 --- a/RookieStation/Drawing/ExecuteCmds/CmdCreateShelvesLegend.cs +++ /dev/null @@ -1,180 +0,0 @@ -using Autodesk.Revit.DB; -using Autodesk.Revit.DB.Architecture; -using Autodesk.Revit.UI; -using Autodesk.Revit.UI.Selection; -using RookieStation.Drawing.Models; -using RookieStation.Extension; -using RookieStation.ProjectConfig; -using RookieStation.Utils; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Windows.Controls; - -namespace RookieStation.Drawing.ExecuteCmds -{ - [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] - [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdCreateShelvesLegend : IExternalCommand - { - public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) - { - UIDocument uidoc = commandData.Application.ActiveUIDocument; - Document doc = uidoc.Document; - - if (uidoc.ActiveView.ViewType == ViewType.DrawingSheet) - { - var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter(), "请选择参考的视口确定比例尺"); - var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例"); - var viewport = doc.GetElement(portRefer) as Viewport; - var viewPlan = doc.GetElement(viewport.ViewId); - if (!(viewPlan is ViewPlan)) - { - TaskDialog.Show("温馨提示", "请选择平面视图的视口"); - return Result.Failed; - } - try - { - doc.InvokeGroup(tg => - { - var viewScale = viewport.get_Parameter(BuiltInParameter.VIEW_SCALE).AsInteger(); - View legend = null; - doc.Invoke(ts => - { - legend = RsRevitUtils.CreateNewLegend(doc, "货架说明", viewScale); - }); - doc.Invoke(ts => - { - var shelvesData = GetShelfData(doc); - CreateShelfLegend(doc, shelvesData, legend, viewScale); - }); - doc.Invoke(ts => - { - RsRevitUtils.SetLegendLocation(doc, legend, location); - }); - }, "创建货架图例"); - } - catch (Autodesk.Revit.Exceptions.OperationCanceledException) - { - } - } - else - { - TaskDialog.Show("温馨提示", "请打开图纸视图"); - return Result.Failed; - } - return Result.Succeeded; - } - - private List GetShelfData(Document doc) - { - var shelves = new FilteredElementCollector(doc).OfClass(typeof(FamilyInstance)).OfCategory(BuiltInCategory.OST_Furniture).Cast().Where(s => s.Symbol.FamilyName.Contains("货架")); - var rooms = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Rooms).Cast(); - double area = 0.0; - foreach (var room in rooms) - { - area += RsRevitUtils.ConvertSquareFeetToSquareMetre(room.get_Parameter(BuiltInParameter.ROOM_AREA).AsDouble()); - } - var shelfGroup = shelves.GroupBy(g => g.Name); - List statistics = new List(); - foreach (var group in shelfGroup) - { - var instance = group.ElementAt(0); - var l = instance.Symbol.GetParameters("长度").FirstOrDefault().AsValueString(); - - ShelfStatistic shelfStatistic = new ShelfStatistic - { - ShelfType = instance.Name, - Count = group.Count(), - GroundArea = Math.Round(area, 2), - DesignOrders = UserConstant.Orders - }; - shelfStatistic.LinearMetre = shelfStatistic.Count * Convert.ToDouble(l) / 1000; - shelfStatistic.CapacityOrders = Convert.ToInt32(shelfStatistic.LinearMetre * 80); - statistics.Add(shelfStatistic); - } - return statistics; - } - - /// - /// 创建表格、文字 - /// - /// - /// - /// - /// - private void CreateShelfLegend(Document doc, List statistics, View newLegend, int viewScale) - { - TextNoteType textNoteType = new FilteredElementCollector(doc).OfClass(typeof(TextNoteType)).Where(x => x.Name.Contains(UserConstant.FontName)).FirstOrDefault() as TextNoteType; - if (textNoteType == null) - { - textNoteType = new FilteredElementCollector(doc).OfClass(typeof(TextNoteType)).Cast().FirstOrDefault().Duplicate(UserConstant.FontName) as TextNoteType; - textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).SetValueString("2.5"); - textNoteType.get_Parameter(BuiltInParameter.TEXT_WIDTH_SCALE).SetValueString("0.8"); - } - double fontSize = textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).AsDouble(); - double actualTextHeight = fontSize * 1.6; - double tableCellHeight = actualTextHeight * viewScale * 1.2;//图例网格高度 - double tableCellWidth = tableCellHeight * 5;//图例网格长度 - double[] widths = new double[6] { tableCellHeight * 2, tableCellHeight * 2, tableCellHeight * 6, tableCellHeight * 2, tableCellHeight * 2, tableCellHeight * 2 }; - CurveArray curveArray = new CurveArray(); - - for (int i = statistics.Count + 1; i >= 0; i--)//水平线 - { - Curve line; - if (i > 0 && i < statistics.Count) - { - line = Line.CreateBound(XYZ.Zero, XYZ.BasisX * tableCellWidth * 3).CreateOffset(tableCellHeight * i, -XYZ.BasisZ); - } - else - { - line = Line.CreateBound(XYZ.Zero, XYZ.BasisX * tableCellWidth * 6).CreateOffset(tableCellHeight * i, -XYZ.BasisZ); - } - curveArray.Append(line); - } - for (int i = 0; i < 7; i++)//垂直线 - { - Curve line = Line.CreateBound(XYZ.Zero, XYZ.BasisY * (statistics.Count() + 1) * tableCellHeight).CreateOffset(tableCellWidth * i, XYZ.BasisZ); - curveArray.Append(line); - } - var y = XYZ.BasisY * tableCellHeight * (statistics.Count + 0.5); - - var opts = new TextNoteOptions(textNoteType.Id) - { - VerticalAlignment = VerticalTextAlignment.Middle, - HorizontalAlignment = HorizontalTextAlignment.Center - }; - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * tableCellWidth * 0.5 + y, "货架类型", opts); - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 1.5) + y, "数量", opts); - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 2.5) + y, "总延米", opts); - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 3.5) + y, "总承载单量", opts); - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 4.5) + y, "日均单量", opts); - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 5.5) + y, "场地面积", opts); - for (int i = 0; i < statistics.Count(); i++) - { - var yElevation = XYZ.BasisY * tableCellHeight * (i + 0.5); - - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * tableCellWidth * 0.5 + yElevation, statistics[i].ShelfType, opts); - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 1.5) + yElevation, statistics[i].Count.ToString(), opts); - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 2.5) + yElevation, - statistics[i].LinearMetre.ToString(), opts); - } - //承载单量总和 - int orders = 0; - for (int i = 0; i < statistics.Count; i++) - { - orders += statistics[i].CapacityOrders; - } - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 3.5) + XYZ.BasisY * tableCellHeight * statistics.Count() / 2, orders.ToString(), opts); - //设计单量 - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 4.5) + XYZ.BasisY * tableCellHeight * statistics.Count() / 2, statistics.FirstOrDefault().DesignOrders.ToString(), opts); - //面积 - TextNote area = TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 5.5) + XYZ.BasisY * tableCellHeight * statistics.Count() / 2, statistics[0].GroundArea + "m2".ToString(), opts); - FormattedText formattedText = new FormattedText(area.Text); - TextRange range = new TextRange(area.Text.Length - 2, 1); - formattedText.SetSuperscriptStatus(range, true); - area.SetFormattedText(formattedText); - var curves = doc.Create.NewDetailCurveArray(newLegend, curveArray); - } - } -} \ No newline at end of file diff --git a/RookieStation/Drawing/ExecuteCmds/CreateFurnitureLegend.cs b/RookieStation/Drawing/ExecuteCmds/CreateFurnitureLegend.cs new file mode 100644 index 0000000..d2ba939 --- /dev/null +++ b/RookieStation/Drawing/ExecuteCmds/CreateFurnitureLegend.cs @@ -0,0 +1,140 @@ +using Autodesk.Revit.DB; +using Autodesk.Revit.UI; +using Autodesk.Revit.UI.Selection; +using RookieStation.Drawing.Models; +using RookieStation.Extension; +using RookieStation.ProjectConfig; +using RookieStation.Utils; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Controls; + +namespace RookieStation.Drawing.ExecuteCmds +{ + [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] + [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] + internal class CreateFurnitureLegend : IExternalCommand + { + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + UIDocument uidoc = commandData.Application.ActiveUIDocument; + Document doc = uidoc.Document; + + if (uidoc.ActiveView.ViewType == ViewType.DrawingSheet) + { + try + { + var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter(), "请选择参考的视口以确定比例"); + var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例"); + var viewport = doc.GetElement(portRefer) as Viewport; + var viewPlan = doc.GetElement(viewport.ViewId); + if (!(viewPlan is ViewPlan)) + { + TaskDialog.Show("温馨提示", "请选择平面视图的视口"); + return Result.Failed; + } + + doc.InvokeGroup(tg => + { + var viewScale = viewport.get_Parameter(BuiltInParameter.VIEW_SCALE).AsInteger(); + View legend = null; + doc.Invoke(ts => + { + legend = RsRevitUtils.CreateNewLegend(doc, "家具图例", viewScale); + }); + doc.Invoke(ts => + { + var furnitureData = GetData(doc); + CreateLegend(doc, furnitureData, legend); + }); + doc.Invoke(ts => + { + RsRevitUtils.SetLegendLocation(doc, legend, location); + }); + }, "创建家具图例"); + } + catch (Autodesk.Revit.Exceptions.OperationCanceledException) + { + } + } + else + { + TaskDialog.Show("温馨提示", "请打开图纸视图"); + return Result.Failed; + } + return Result.Succeeded; + } + + /// + /// 获取货架数据 + /// + /// + /// + private List GetData(Document doc) + { + var furnitures = new FilteredElementCollector(doc).OfClass(typeof(FamilyInstance)).OfCategory(BuiltInCategory.OST_Furniture).Cast(); + //按族分组 + var familyGroups = furnitures.GroupBy(g => g.Symbol.FamilyName); + var data = new List(); + + //遍历每个族的分组 + foreach (var instanceByFamily in familyGroups) + { + //按族类型分组 + var symbolGroups = instanceByFamily.GroupBy(g => g.Name); + //遍历每个族类型 + foreach (var instancesBySymbol in symbolGroups) + { + //var instance = instancesBySymbol.ElementAt(0); + dynamic datarow = new { FamilyName = instanceByFamily.Key, SymbolName = instancesBySymbol.Key, Count = instancesBySymbol.Count().ToString() }; + + data.Add(datarow); + } + } + dynamic headrow = new { FamilyName = "家具类型", SymbolName = "家具尺寸", Count = "数量" }; + data.Add(headrow); + return data; + } + + private void CreateLegend(Document doc, List data, View newLegend) + { + TextNoteType textNoteType = RsRevitUtils.GetOrNewTextNoteType(doc, UserConstant.TextSymbolName); + double fontSize = textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).AsDouble(); + double tableGridHeight = fontSize * newLegend.Scale * 2;//图例网格高度 + double tableGridWidth = tableGridHeight * 2.5; + double[] widths = new double[3] { tableGridWidth * 2, tableGridWidth * 3, tableGridWidth }; + RsRevitUtils.CreateTable(doc, newLegend, data.Count, 3, tableGridHeight, widths); + + var opts = new TextNoteOptions(textNoteType.Id) + { + HorizontalAlignment = HorizontalTextAlignment.Center, + VerticalAlignment = VerticalTextAlignment.Middle, + }; + for (int i = 0; i < data.Count; i++) + { + var y = XYZ.BasisY * (i + 0.5) * tableGridHeight; + var datarow = data[i]; + //doc.Create.NewFamilyInstance(XYZ.BasisX * (tableGridWidth / 2) + y, datarow.GetType().GetProperty("FamilyName").GetValue(datarow).ToString(), newLegend); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth) + y, datarow.GetType().GetProperty("FamilyName").GetValue(datarow).ToString(), opts); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 7 / 2) + y, datarow.GetType().GetProperty("SymbolName").GetValue(datarow).ToString(), opts); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 11 / 2) + y, datarow.GetType().GetProperty("Count").GetValue(datarow).ToString(), opts); + //TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 7 / 2) + y, $"{item.Count}个", opts); + //LegendItem item = data[i]; + //y = XYZ.BasisY * (i + 0.5) * tableGridHeight; + //if (item.PlaneLegendType != null) + //{ + // doc.Create.NewFamilyInstance(XYZ.BasisX * (tableGridWidth / 2) + y, item.PlaneLegendType, newLegend); + //} + //TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 3 / 2) + y, item.Description, opts); + //if (item.ElevationLegend != null) + //{ + // doc.Create.NewFamilyInstance(XYZ.BasisX * (tableGridWidth * 5 / 2) + y, item.ElevationLegend, newLegend); + //} + //if (item.Count != 0) + //{ + // TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 7 / 2) + y, $"{item.Count}个", opts); + //} + } + } + } +} \ No newline at end of file diff --git a/RookieStation/Drawing/ExecuteCmds/CreateGroundPavingLegend.cs b/RookieStation/Drawing/ExecuteCmds/CreateGroundPavingLegend.cs new file mode 100644 index 0000000..8d411da --- /dev/null +++ b/RookieStation/Drawing/ExecuteCmds/CreateGroundPavingLegend.cs @@ -0,0 +1,315 @@ +using Autodesk.Revit.UI; +using Autodesk.Revit.DB; +using Autodesk.Revit.UI.Selection; +using RookieStation.Utils; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RookieStation.Extension; +using RookieStation.ProjectConfig; + +namespace RookieStation.Drawing.ExecuteCmds +{ + [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] + [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] + internal class CreateGroundPavingLegend : IExternalCommand + { + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + UIDocument uidoc = commandData.Application.ActiveUIDocument; + Document doc = uidoc.Document; + + if (uidoc.ActiveView.ViewType == ViewType.DrawingSheet) + { + try + { + var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter(), "请选择参考的视口以确定比例"); + var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例"); + var viewport = doc.GetElement(portRefer) as Viewport; + var viewPlan = doc.GetElement(viewport.ViewId); + if (!(viewPlan is ViewPlan)) + { + TaskDialog.Show("温馨提示", "请选择平面视图的视口"); + return Result.Failed; + } + + doc.InvokeGroup(tg => + { + var viewScale = viewport.get_Parameter(BuiltInParameter.VIEW_SCALE).AsInteger(); + View legend = null; + doc.Invoke(ts => + { + legend = RsRevitUtils.CreateNewLegend(doc, "地面铺贴图例", viewScale); + }); + doc.Invoke(ts => + { + var items = GetData(doc); + CreateLegend(doc, items, legend); + }); + doc.Invoke(ts => + { + RsRevitUtils.SetLegendLocation(doc, legend, location); + }); + }, "创建地面铺贴图例"); + } + catch (Autodesk.Revit.Exceptions.OperationCanceledException) + { + } + } + else + { + TaskDialog.Show("温馨提示", "请打开图纸视图"); + return Result.Failed; + } + return Result.Succeeded; + } + + /// + /// 获取数据 + /// + /// + /// + private List GetData(Document doc) + { + var floors = new FilteredElementCollector(doc).OfClass(typeof(Floor)).OfCategory(BuiltInCategory.OST_Floors); + var sites = new FilteredElementCollector(doc).OfClass(typeof(FamilyInstance)).OfCategory(BuiltInCategory.OST_Site); + var filledRegionTypes = new FilteredElementCollector(doc).OfClass(typeof(FilledRegionType)).OfCategory(BuiltInCategory.OST_DetailComponents); + var data = new List(); + + //按族分组 + var floorTypeGroups = floors.GroupBy(g => g.Name); + + //遍历每个族的分组 + foreach (var instanceByFamily in floorTypeGroups) + { + var floor = instanceByFamily.ElementAt(0) as Floor; + var floorType = floor.FloorType; + + string floorTypeName = floorType.Name; + + for (int i = 0; i < filledRegionTypes.Count(); i++) + { + var t = filledRegionTypes.ElementAt(i) as FilledRegionType; + + if (floorTypeName.Contains(t.Name)) + { + dynamic datarow = new { FilledRegionTypeName = t.Name, TypeName = floorTypeName }; + data.Add(datarow); + break; + } + //如果没找到填充图案则新建 + if (i == filledRegionTypes.Count() - 1) + GetOrNewFloorTypeFilledRegionType(doc, floorType, floorTypeName, t); + } + } + + var siteGroups = sites.GroupBy(s => s.Name); + foreach (var siteGroup in siteGroups) + { + var site = siteGroup.ElementAt(0) as FamilyInstance; + var symbol = site.Symbol; + string symbolTypeName = symbol.Name; + for (int i = 0; i < filledRegionTypes.Count(); i++) + { + var t = filledRegionTypes.ElementAt(i) as FilledRegionType; + + if (symbolTypeName.Contains(t.Name)) + { + dynamic datarow = new { FilledRegionTypeName = t.Name, TypeName = symbolTypeName }; + data.Add(datarow); + break; + } + //如果没找到填充图案则新建 + if (i == filledRegionTypes.Count() - 1) + GetOrNewSiteFilledRegion(doc, symbol, symbolTypeName, t); + } + } + return data; + } + + private static void GetOrNewSiteFilledRegion(Document doc, FamilySymbol familySymbol, string floorTypeName, FilledRegionType defaultFilledRegionType) + { + FilledRegionType newFilledRegionType = null; + + newFilledRegionType = defaultFilledRegionType.Duplicate(floorTypeName) as FilledRegionType; + try + { + ElementId mId = null; + foreach (Parameter item in familySymbol.ParametersMap) + { + if (item.Definition.ParameterType == ParameterType.Material) + { + mId = item.AsElementId(); + break; + } + } + + var material = doc.GetElement(mId) as Material; + + //根据墙体核心层材质,赋予填充图案 + if (material.CutForegroundPatternId != ElementId.InvalidElementId) + { + newFilledRegionType.ForegroundPatternId = material.CutForegroundPatternId; + newFilledRegionType.ForegroundPatternColor = material.CutForegroundPatternColor; + newFilledRegionType.BackgroundPatternId = material.CutForegroundPatternId; + newFilledRegionType.BackgroundPatternColor = material.CutForegroundPatternColor; + } + else if (material.CutBackgroundPatternId != ElementId.InvalidElementId) + { + newFilledRegionType.ForegroundPatternId = material.CutBackgroundPatternId; + newFilledRegionType.ForegroundPatternColor = material.CutBackgroundPatternColor; + newFilledRegionType.BackgroundPatternId = material.CutBackgroundPatternId; + newFilledRegionType.BackgroundPatternColor = material.CutBackgroundPatternColor; + } + else if (material.SurfaceForegroundPatternId != ElementId.InvalidElementId) + { + newFilledRegionType.ForegroundPatternId = material.SurfaceForegroundPatternId; + newFilledRegionType.ForegroundPatternColor = material.SurfaceForegroundPatternColor; + newFilledRegionType.BackgroundPatternId = material.SurfaceForegroundPatternId; + newFilledRegionType.BackgroundPatternColor = material.SurfaceForegroundPatternColor; + } + else if (material.SurfaceBackgroundPatternId != ElementId.InvalidElementId) + { + newFilledRegionType.ForegroundPatternId = material.SurfaceBackgroundPatternId; + newFilledRegionType.ForegroundPatternColor = material.SurfaceBackgroundPatternColor; + newFilledRegionType.BackgroundPatternId = material.SurfaceBackgroundPatternId; + newFilledRegionType.BackgroundPatternColor = material.SurfaceBackgroundPatternColor; + } + else + { + newFilledRegionType.ForegroundPatternId = ElementId.InvalidElementId; + newFilledRegionType.BackgroundPatternId = ElementId.InvalidElementId; + } + } + catch (Exception) + { + newFilledRegionType.ForegroundPatternId = ElementId.InvalidElementId; + newFilledRegionType.BackgroundPatternId = ElementId.InvalidElementId; + } + //填充图案默认为空 + } + + /// + /// 新建填充图案 + /// + /// + /// + /// + /// + private static void GetOrNewFloorTypeFilledRegionType(Document doc, FloorType floorType, string floorTypeName, FilledRegionType defaultFilledRegionType) + { + FilledRegionType newFilledRegionType = null; + + newFilledRegionType = defaultFilledRegionType.Duplicate(floorTypeName) as FilledRegionType; + try + { + var compound = floorType.GetCompoundStructure(); + var mId = compound.GetMaterialId(compound.GetFirstCoreLayerIndex()); + + var material = doc.GetElement(mId) as Material; + + //根据墙体核心层材质,赋予填充图案 + if (material.CutForegroundPatternId != ElementId.InvalidElementId) + { + newFilledRegionType.ForegroundPatternId = material.CutForegroundPatternId; + newFilledRegionType.ForegroundPatternColor = material.CutForegroundPatternColor; + newFilledRegionType.BackgroundPatternId = material.CutForegroundPatternId; + newFilledRegionType.BackgroundPatternColor = material.CutForegroundPatternColor; + } + else if (material.CutBackgroundPatternId != ElementId.InvalidElementId) + { + newFilledRegionType.ForegroundPatternId = material.CutBackgroundPatternId; + newFilledRegionType.ForegroundPatternColor = material.CutBackgroundPatternColor; + newFilledRegionType.BackgroundPatternId = material.CutBackgroundPatternId; + newFilledRegionType.BackgroundPatternColor = material.CutBackgroundPatternColor; + } + else if (material.SurfaceForegroundPatternId != ElementId.InvalidElementId) + { + newFilledRegionType.ForegroundPatternId = material.SurfaceForegroundPatternId; + newFilledRegionType.ForegroundPatternColor = material.SurfaceForegroundPatternColor; + newFilledRegionType.BackgroundPatternId = material.SurfaceForegroundPatternId; + newFilledRegionType.BackgroundPatternColor = material.SurfaceForegroundPatternColor; + } + else if (material.SurfaceBackgroundPatternId != ElementId.InvalidElementId) + { + newFilledRegionType.ForegroundPatternId = material.SurfaceBackgroundPatternId; + newFilledRegionType.ForegroundPatternColor = material.SurfaceBackgroundPatternColor; + newFilledRegionType.BackgroundPatternId = material.SurfaceBackgroundPatternId; + newFilledRegionType.BackgroundPatternColor = material.SurfaceBackgroundPatternColor; + } + else + { + newFilledRegionType.ForegroundPatternId = ElementId.InvalidElementId; + newFilledRegionType.BackgroundPatternId = ElementId.InvalidElementId; + } + } + catch (Exception) + { + newFilledRegionType.ForegroundPatternId = ElementId.InvalidElementId; + newFilledRegionType.BackgroundPatternId = ElementId.InvalidElementId; + } + //填充图案默认为空 + } + + private void CreateLegend(Document doc, List data, View newLegend) + { + TextNoteType textNoteType = RsRevitUtils.GetOrNewTextNoteType(doc, UserConstant.TextSymbolName); + double fontSize = textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).AsDouble(); + double headGridHeight = fontSize * newLegend.Scale * 2;//图例网格高度 + double tableGridWidth = headGridHeight * 2.5; + double tableGridHeight = headGridHeight * 3; + double[] widths = new double[2] { tableGridWidth * 2, tableGridWidth * 3 }; + RsRevitUtils.CreateTable(doc, newLegend, data.Count + 1, 2, headGridHeight, tableGridHeight, widths); + + var filledRegionTypes = new FilteredElementCollector(doc).OfClass(typeof(FilledRegionType)).OfCategory(BuiltInCategory.OST_DetailComponents); + + var opts = new TextNoteOptions(textNoteType.Id) + { + HorizontalAlignment = HorizontalTextAlignment.Center, + VerticalAlignment = VerticalTextAlignment.Middle, + }; + XYZ y = null; + for (int i = 0; i < data.Count; i++) + { + y = XYZ.BasisY * (i + 0.5) * tableGridHeight; + var datarow = data[i]; + var floorTypeName = datarow.GetType().GetProperty("TypeName").GetValue(datarow).ToString(); + FilledRegionType wallfilledRegionType = null; + foreach (var filledRegionType in filledRegionTypes) + { + if (floorTypeName.Contains(filledRegionType.Name)) + { + wallfilledRegionType = filledRegionType as FilledRegionType; + break; + } + } + CurveLoop cl = new CurveLoop(); + var cenP = XYZ.BasisX * tableGridWidth + y; + var lefttop = cenP - tableGridWidth * XYZ.BasisX / 2 + tableGridHeight * XYZ.BasisY * 0.4; + var leftbottom = cenP - tableGridWidth * XYZ.BasisX / 2 - tableGridHeight * XYZ.BasisY * 0.4; + var righttop = cenP + tableGridWidth * XYZ.BasisX / 2 + tableGridHeight * XYZ.BasisY * 0.4; + var rightbottom = cenP + tableGridWidth * XYZ.BasisX / 2 - tableGridHeight * XYZ.BasisY * 0.4; + Line l1 = Line.CreateBound(leftbottom, lefttop); + Line l2 = Line.CreateBound(lefttop, righttop); + Line l3 = Line.CreateBound(righttop, rightbottom); + Line l4 = Line.CreateBound(rightbottom, leftbottom); + cl.Append(l1); + cl.Append(l2); + cl.Append(l3); + cl.Append(l4); + List l = new List(); + l.Add(cl); + if (wallfilledRegionType != null) + { + FilledRegion.Create(doc, wallfilledRegionType.Id, newLegend.Id, l); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 7 / 2) + y, floorTypeName, opts); + } + } + y += XYZ.BasisY * (tableGridHeight + headGridHeight) / 2; + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth) + y, "图例", opts); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 7 / 2) + y, "图例说明", opts); + } + } +} \ No newline at end of file diff --git a/RookieStation/Drawing/ExecuteCmds/CmdCreateLightLegend.cs b/RookieStation/Drawing/ExecuteCmds/CreateLightLegend.cs similarity index 67% rename from RookieStation/Drawing/ExecuteCmds/CmdCreateLightLegend.cs rename to RookieStation/Drawing/ExecuteCmds/CreateLightLegend.cs index fe7fab0..742f7a5 100644 --- a/RookieStation/Drawing/ExecuteCmds/CmdCreateLightLegend.cs +++ b/RookieStation/Drawing/ExecuteCmds/CreateLightLegend.cs @@ -16,7 +16,7 @@ namespace RookieStation.Drawing.ExecuteCmds { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdCreateLightLegend : IExternalCommand + internal class CreateLightLegend : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { @@ -25,17 +25,18 @@ namespace RookieStation.Drawing.ExecuteCmds if (doc.ActiveView.ViewType == ViewType.DrawingSheet) { - var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter(), "请选择参考的视口确定比例"); - var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例"); - var viewport = doc.GetElement(portRefer) as Viewport; - var viewPlan = doc.GetElement(viewport.ViewId); - if (!(viewPlan is ViewPlan)) - { - TaskDialog.Show("温馨提示", "请选择平面视图的视口"); - return Result.Failed; - } try { + var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter(), "请选择参考的视口以确定比例"); + var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例"); + var viewport = doc.GetElement(portRefer) as Viewport; + var viewPlan = doc.GetElement(viewport.ViewId); + if (!(viewPlan is ViewPlan)) + { + TaskDialog.Show("温馨提示", "请选择平面视图的视口"); + return Result.Failed; + } + doc.InvokeGroup(tg => { var viewScale = viewport.get_Parameter(BuiltInParameter.VIEW_SCALE).AsInteger(); @@ -46,8 +47,8 @@ namespace RookieStation.Drawing.ExecuteCmds }); doc.Invoke(ts => { - var items = GetLightData(doc); - CreateLightLegend(doc, GetLightData(doc), legend, viewScale); + var items = GetData(doc); + CreateLegend(doc, items, legend); }); doc.Invoke(ts => { @@ -68,29 +69,30 @@ namespace RookieStation.Drawing.ExecuteCmds return Result.Succeeded; } - private List GetLightData(Document doc) + private List GetData(Document doc) { var lights = new FilteredElementCollector(doc).OfClass(typeof(FamilyInstance)).OfCategory(BuiltInCategory.OST_LightingFixtures).Cast().Where(s => s.Symbol.FamilyName.Contains("灯")); var lightFamilyGroup = lights.GroupBy(g => g.Symbol.FamilyName);//按族分组 - List items = new List(); + List items = new List(); + //常规注释 var lightAnnotationSymboltypes = new FilteredElementCollector(doc).OfClass(typeof(FamilySymbol)).OfCategory(BuiltInCategory.OST_GenericAnnotation).Cast().Where(s => s.Name.Contains("灯")); foreach (var g1 in lightFamilyGroup) { var lightSymbolGroup = g1.ToList().GroupBy(f => f.Name).Reverse();//同一族按类型分组 + foreach (var g2 in lightSymbolGroup) { var instance = g2.ElementAt(0); - //var wattage = instance.Symbol.get_Parameter(BuiltInParameter.FBX_LIGHT_WATTAGE).AsValueString(); var mark = instance.Symbol.get_Parameter(BuiltInParameter.WINDOW_TYPE_ID).AsString(); - var annotation = instance.Symbol.get_Parameter(BuiltInParameter.ALL_MODEL_MODEL).AsString(); - var comment = annotation == null ? $"{instance.Symbol.FamilyName}" : $"{instance.Symbol.FamilyName},{annotation}"; + var annotation = instance.Symbol.GetParameters("物料说明").FirstOrDefault().AsString(); + var comment = annotation == null ? $"{instance.Symbol.FamilyName}" : $"{annotation}"; var planeLegendTypes = from type in lightAnnotationSymboltypes where type.Name.Contains(instance.Symbol.FamilyName) && type.Name.Contains("平面") select type; - LegendItem item = new LegendItem + LightingDevices item = new LightingDevices { PlaneLegendType = planeLegendTypes.FirstOrDefault(), Description = comment, @@ -104,34 +106,27 @@ namespace RookieStation.Drawing.ExecuteCmds return items; } - private void CreateLightLegend(Document doc, List items, View newLegend, int viewScale) + private void CreateLegend(Document doc, List items, View newLegend) { - TextNoteType textNoteType = new FilteredElementCollector(doc).OfClass(typeof(TextNoteType)).Where(x => x.Name.Contains(UserConstant.FontName)).FirstOrDefault() as TextNoteType; - if (textNoteType == null) - { - textNoteType = new FilteredElementCollector(doc).OfClass(typeof(TextNoteType)).Cast().FirstOrDefault().Duplicate(UserConstant.FontName) as TextNoteType; - textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).SetValueString("2.5"); - textNoteType.get_Parameter(BuiltInParameter.TEXT_WIDTH_SCALE).SetValueString("0.8"); - } + TextNoteType textNoteType = RsRevitUtils.GetOrNewTextNoteType(doc, UserConstant.TextSymbolName); double fontSize = textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).AsDouble(); double actualTextHeight = fontSize * 1.6; - double tableGridHeight = actualTextHeight * viewScale * 2;//图例网格高度 + double tableGridHeight = actualTextHeight * newLegend.Scale * 2;//图例网格高度 var opts = new TextNoteOptions(textNoteType.Id) { HorizontalAlignment = HorizontalTextAlignment.Center, VerticalAlignment = VerticalTextAlignment.Middle, }; - double[] widths = new double[5] { tableGridHeight * 2, tableGridHeight * 2, tableGridHeight * 6, tableGridHeight * 2, tableGridHeight * 2 }; - RsRevitUtils.CreateTable(doc, newLegend, items.Count + 1, 5, tableGridHeight, widths); + double[] widths = new double[4] { tableGridHeight * 2, tableGridHeight * 2, tableGridHeight * 6, tableGridHeight * 2 }; + RsRevitUtils.CreateTable(doc, newLegend, items.Count + 1, 4, tableGridHeight, widths); var y = XYZ.BasisY * (items.Count + 0.5) * tableGridHeight; TextNote.Create(doc, newLegend.Id, XYZ.BasisX * tableGridHeight + y, "图例", opts); TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 3) + y, "编号", opts); TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 7) + y, "说明", opts); - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 11) + y, "色温", opts); - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 13) + y, "数量", opts); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 11) + y, "数量", opts); for (int i = items.Count - 1; i >= 0; i--) { - LegendItem item = items[i]; + LightingDevices item = items[i]; y = XYZ.BasisY * (i + 0.5) * tableGridHeight; if (item.PlaneLegendType != null) { @@ -145,15 +140,11 @@ namespace RookieStation.Drawing.ExecuteCmds { TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 7) + y, item.Description, opts); } - if (!string.IsNullOrEmpty(item.ColorTemperature)) - { - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 11) + y, item.ColorTemperature, opts); - } if (!string.IsNullOrEmpty(item.Count.ToString())) { - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 13) + y, $"{item.Count}个", opts); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 11) + y, $"{item.Count}个", opts); } } } diff --git a/RookieStation/Drawing/ExecuteCmds/CmdCreateMainMaterialsTable.cs b/RookieStation/Drawing/ExecuteCmds/CreateMainMaterialsTable.cs similarity index 99% rename from RookieStation/Drawing/ExecuteCmds/CmdCreateMainMaterialsTable.cs rename to RookieStation/Drawing/ExecuteCmds/CreateMainMaterialsTable.cs index 72bdfb5..dd3bce3 100644 --- a/RookieStation/Drawing/ExecuteCmds/CmdCreateMainMaterialsTable.cs +++ b/RookieStation/Drawing/ExecuteCmds/CreateMainMaterialsTable.cs @@ -15,7 +15,7 @@ namespace RookieStation.Drawing.ExecuteCmds { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdCreateMainMaterialsTable : IExternalCommand + internal class CreateMainMaterialsTable : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { diff --git a/RookieStation/Drawing/ExecuteCmds/CreatePlaneGraphLegend.cs b/RookieStation/Drawing/ExecuteCmds/CreatePlaneGraphLegend.cs new file mode 100644 index 0000000..a80c797 --- /dev/null +++ b/RookieStation/Drawing/ExecuteCmds/CreatePlaneGraphLegend.cs @@ -0,0 +1,157 @@ +using Autodesk.Revit.UI; +using Autodesk.Revit.DB; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Autodesk.Revit.UI.Selection; +using RookieStation.Extension; +using RookieStation.ProjectConfig; +using RookieStation.Utils; +using Autodesk.Revit.DB.Architecture; +using RookieStation.Drawing.Models; +using System.Windows.Controls; +using System.Data; +using OfficeOpenXml.Style; + +namespace RookieStation.Drawing.ExecuteCmds +{ + [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] + [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] + internal class CreatePlaneGraphLegend : IExternalCommand + { + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + UIDocument uidoc = commandData.Application.ActiveUIDocument; + Document doc = uidoc.Document; + if (uidoc.ActiveView.ViewType == ViewType.DrawingSheet) + { + try + { + var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter(), "请选择参考的视口以确定比例"); + var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例"); + var viewport = doc.GetElement(portRefer) as Viewport; + var viewPlan = doc.GetElement(viewport.ViewId); + if (!(viewPlan is ViewPlan)) + { + TaskDialog.Show("温馨提示", "请选择平面视图的视口"); + return Result.Failed; + } + + doc.InvokeGroup(tg => + { + var viewScale = viewport.get_Parameter(BuiltInParameter.VIEW_SCALE).AsInteger(); + View legend = null; + doc.Invoke(ts => + { + legend = RsRevitUtils.CreateNewLegend(doc, "平面图例", viewScale); + }); + doc.Invoke(ts => + { + TextNoteType textNoteType = RsRevitUtils.GetOrNewTextNoteType(doc, UserConstant.TextSymbolName); + CreateLegend(doc, legend); + }); + doc.Invoke(ts => + { + RsRevitUtils.SetLegendLocation(doc, legend, location); + }); + }, "创建平面图例"); + } + catch (Autodesk.Revit.Exceptions.OperationCanceledException) + { + } + } + else + { + TaskDialog.Show("温馨提示", "请在图纸视图下使用该命令"); + return Result.Failed; + } + return Result.Succeeded; + } + + /// + /// 获取数据 + /// + /// + /// + private List GetData(Document doc) + { + var shelves = new FilteredElementCollector(doc).OfClass(typeof(FamilyInstance)).OfCategory(BuiltInCategory.OST_Furniture).Cast().Where(s => s.Symbol.FamilyName.Contains("货架")); + var rooms = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Rooms).Cast(); + double area = 0.0; + int orders = 0; + foreach (var room in rooms) + { + area += RsRevitUtils.ConvertSquareFeetToSquareMetre(room.get_Parameter(BuiltInParameter.ROOM_AREA).AsDouble()); + } + var shelfGroup = shelves.GroupBy(g => g.Name); + List statistics = new List(); + foreach (var group in shelfGroup) + { + //分组的实例 + var instance = group.ElementAt(0); + //当前分组货架的长度 + var l = instance.Symbol.GetParameters("长度").FirstOrDefault().AsValueString(); + orders = group.Count() * Convert.ToInt16(l) / 1000 * 80; + } + statistics.Add(UserConstant.Orders.ToString()); + statistics.Add(orders.ToString()); + statistics.Add(Convert.ToInt16(area).ToString()); + + return statistics; + } + + private void CreateLegend(Document doc, View newLegend) + { + //DataTable dt = new DataTable(); + //dt.Columns.Add("设计单量"); + //dt.Columns.Add("日均单量"); + //dt.Columns.Add("场地面积"); + //DataRow dr = dt.NewRow(); + TextNoteType textNoteType = RsRevitUtils.GetOrNewTextNoteType(doc, UserConstant.TextSymbolName); + double fontSize = textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).AsDouble(); + double tableCellHeight = fontSize * newLegend.Scale * 2;//图例网格高度 + double tableCellWidth = tableCellHeight * 4;//图例网格长度 + + CurveArray curveArray = new CurveArray(); + + for (int i = 2; i >= 0; i--)//水平线 + { + Curve line; + if (i > 0 && i < 2) + { + line = Line.CreateBound(XYZ.Zero, XYZ.BasisX * tableCellWidth * 3).CreateOffset(tableCellHeight * i, -XYZ.BasisZ); + } + else + { + line = Line.CreateBound(XYZ.Zero, XYZ.BasisX * tableCellWidth * 3).CreateOffset(tableCellHeight * i, -XYZ.BasisZ); + } + curveArray.Append(line); + } + for (int i = 0; i < 4; i++)//垂直线 + { + Curve line = Line.CreateBound(XYZ.Zero, XYZ.BasisY * 2 * tableCellHeight).CreateOffset(tableCellWidth * i, XYZ.BasisZ); + curveArray.Append(line); + } + var curves = doc.Create.NewDetailCurveArray(newLegend, curveArray); + var opts = new TextNoteOptions(textNoteType.Id) + { + VerticalAlignment = VerticalTextAlignment.Middle, + HorizontalAlignment = HorizontalTextAlignment.Center + }; + var y = XYZ.BasisY * tableCellHeight * 1.5; + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * tableCellWidth * 0.5 + y, "设计单量", opts); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 1.5) + y, "日均单量", opts); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 2.5) + y, "场地面积", opts); + var li = GetData(doc); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 0.5) + XYZ.BasisY * tableCellHeight * 0.5, li[0], opts); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 1.5) + XYZ.BasisY * tableCellHeight * 0.5, li[1], opts); + var area = TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableCellWidth * 2.5) + XYZ.BasisY * tableCellHeight * 0.5, li[2] + "m2".ToString(), opts); + FormattedText formattedText = new FormattedText(area.Text); + TextRange range = new TextRange(area.Text.Length - 2, 1); + formattedText.SetSuperscriptStatus(range, true); + area.SetFormattedText(formattedText); + } + } +} \ No newline at end of file diff --git a/RookieStation/Drawing/ExecuteCmds/CmdCreateSocketLegend.cs b/RookieStation/Drawing/ExecuteCmds/CreateSocketLegend.cs similarity index 68% rename from RookieStation/Drawing/ExecuteCmds/CmdCreateSocketLegend.cs rename to RookieStation/Drawing/ExecuteCmds/CreateSocketLegend.cs index 08d79dc..0252b70 100644 --- a/RookieStation/Drawing/ExecuteCmds/CmdCreateSocketLegend.cs +++ b/RookieStation/Drawing/ExecuteCmds/CreateSocketLegend.cs @@ -15,7 +15,7 @@ namespace RookieStation.Drawing.ExecuteCmds { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdCreateSocketLegend : IExternalCommand + internal class CreateSocketLegend : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { @@ -24,17 +24,18 @@ namespace RookieStation.Drawing.ExecuteCmds if (uidoc.ActiveView.ViewType == ViewType.DrawingSheet) { - var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter(), "请选择参考的视口确定比例尺"); - var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例"); - var viewport = doc.GetElement(portRefer) as Viewport; - var viewPlan = doc.GetElement(viewport.ViewId); - if (!(viewPlan is ViewPlan)) - { - TaskDialog.Show("温馨提示", "请选择平面视图的视口"); - return Result.Failed; - } try { + var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter(), "请选择参考的视口以确定比例"); + var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例"); + var viewport = doc.GetElement(portRefer) as Viewport; + var viewPlan = doc.GetElement(viewport.ViewId); + if (!(viewPlan is ViewPlan)) + { + TaskDialog.Show("温馨提示", "请选择平面视图的视口"); + return Result.Failed; + } + doc.InvokeGroup(tg => { var viewScale = viewport.get_Parameter(BuiltInParameter.VIEW_SCALE).AsInteger(); @@ -45,8 +46,8 @@ namespace RookieStation.Drawing.ExecuteCmds }); doc.Invoke(ts => { - var items = GetSocketData(doc); - CreateSocketLegend(doc, GetSocketData(doc), legend, viewScale); + var items = GetData(doc); + CreateLegend(doc, items, legend); }); doc.Invoke(ts => { @@ -67,7 +68,7 @@ namespace RookieStation.Drawing.ExecuteCmds return Result.Succeeded; } - private List GetSocketData(Document doc) + private List GetData(Document doc) { ElementCategoryFilter filter1 = new ElementCategoryFilter(BuiltInCategory.OST_CommunicationDevices); ElementCategoryFilter filter2 = new ElementCategoryFilter(BuiltInCategory.OST_ElectricalFixtures); @@ -76,7 +77,7 @@ namespace RookieStation.Drawing.ExecuteCmds var socketAnnotationSymboltypes = new FilteredElementCollector(doc).OfClass(typeof(FamilySymbol)).OfCategory(BuiltInCategory.OST_GenericAnnotation).Cast().Where(s => s.Name.Contains("插座")); var socketFamilyGroup = sockets.GroupBy(g => g.Symbol.FamilyName);//按族分组 - List items = new List(); + List items = new List(); foreach (var g1 in socketFamilyGroup) { @@ -89,12 +90,11 @@ namespace RookieStation.Drawing.ExecuteCmds where type.Name.Contains(familyName) && type.Name.Contains("平面") select type; - LegendItem item = new LegendItem + LightingDevices item = new LightingDevices { PlaneLegendType = planeLegendTypes.FirstOrDefault(), Description = familyName.Split(' ').FirstOrDefault(), Count = g2.Count(), - Position = "现场定高" }; items.Add(item); } @@ -102,34 +102,27 @@ namespace RookieStation.Drawing.ExecuteCmds return items; } - private void CreateSocketLegend(Document doc, List items, View newLegend, int viewScale) + private void CreateLegend(Document doc, List items, View newLegend) { - TextNoteType textNoteType = new FilteredElementCollector(doc).OfClass(typeof(TextNoteType)).Where(x => x.Name.Contains(UserConstant.FontName)).FirstOrDefault() as TextNoteType; - if (textNoteType == null) - { - textNoteType = new FilteredElementCollector(doc).OfClass(typeof(TextNoteType)).Cast().FirstOrDefault().Duplicate(UserConstant.FontName) as TextNoteType; - textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).SetValueString("2.5"); - textNoteType.get_Parameter(BuiltInParameter.TEXT_WIDTH_SCALE).SetValueString("0.8"); - } + TextNoteType textNoteType = RsRevitUtils.GetOrNewTextNoteType(doc, UserConstant.TextSymbolName); double fontSize = textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).AsDouble(); double actualTextHeight = fontSize * 1.6; - double tableGridHeight = actualTextHeight * viewScale * 2;//图例网格高度 + double tableGridHeight = actualTextHeight * newLegend.Scale * 2;//图例网格高度 double tableGridWidth = tableGridHeight * 2; var opts = new TextNoteOptions(textNoteType.Id) { HorizontalAlignment = HorizontalTextAlignment.Center, VerticalAlignment = VerticalTextAlignment.Middle, }; - double[] widths = new double[4] { tableGridWidth, tableGridWidth, tableGridWidth, tableGridWidth }; - RsRevitUtils.CreateTable(doc, newLegend, items.Count + 1, 4, tableGridHeight, widths); + double[] widths = new double[3] { tableGridWidth, tableGridWidth, tableGridWidth }; + RsRevitUtils.CreateTable(doc, newLegend, items.Count + 1, 3, tableGridHeight, widths); var y = XYZ.BasisY * (items.Count + 0.5) * tableGridHeight; TextNote.Create(doc, newLegend.Id, XYZ.BasisX * tableGridHeight + y, "图例", opts); TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 3) + y, "说明", opts); - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 5) + y, "定位", opts); - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 7) + y, "数量", opts); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 5) + y, "数量", opts); for (int i = items.Count - 1; i >= 0; i--) { - LegendItem item = items[i]; + LightingDevices item = items[i]; y = XYZ.BasisY * (i + 0.5) * tableGridHeight; //TextNote.Create(doc, newLegend.Id, new XYZ(tableGridWidth * 0.5, (items.Count + 0.5) * tableGridHeight, 0), "图例", opts); if (item.PlaneLegendType != null) @@ -140,12 +133,8 @@ namespace RookieStation.Drawing.ExecuteCmds { TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 3) + y, item.Description, opts); } - if (item.Position != null) - { - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 5) + y, item.Position, opts); - } - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 7) + y, $"{item.Count}个", opts); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridHeight * 5) + y, $"{item.Count}个", opts); } } } diff --git a/RookieStation/Drawing/ExecuteCmds/CmdCreateSwitchLegend.cs b/RookieStation/Drawing/ExecuteCmds/CreateSwitchLegend.cs similarity index 67% rename from RookieStation/Drawing/ExecuteCmds/CmdCreateSwitchLegend.cs rename to RookieStation/Drawing/ExecuteCmds/CreateSwitchLegend.cs index 6ccd43b..3675ab8 100644 --- a/RookieStation/Drawing/ExecuteCmds/CmdCreateSwitchLegend.cs +++ b/RookieStation/Drawing/ExecuteCmds/CreateSwitchLegend.cs @@ -15,7 +15,7 @@ namespace RookieStation.Drawing.ExecuteCmds { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdCreateSwitchLegend : IExternalCommand + internal class CreateSwitchLegend : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { @@ -24,17 +24,18 @@ namespace RookieStation.Drawing.ExecuteCmds if (uidoc.ActiveView.ViewType == ViewType.DrawingSheet) { - var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter(), "请选择参考的视口确定比例尺"); - var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例"); - var viewport = doc.GetElement(portRefer) as Viewport; - var viewPlan = doc.GetElement(viewport.ViewId); - if (!(viewPlan is ViewPlan)) - { - TaskDialog.Show("温馨提示", "请选择平面视图的视口"); - return Result.Failed; - } try { + var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter(), "请选择参考的视口以确定比例"); + var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例"); + var viewport = doc.GetElement(portRefer) as Viewport; + var viewPlan = doc.GetElement(viewport.ViewId); + if (!(viewPlan is ViewPlan)) + { + TaskDialog.Show("温馨提示", "请选择平面视图的视口"); + return Result.Failed; + } + doc.InvokeGroup(tg => { var viewScale = viewport.get_Parameter(BuiltInParameter.VIEW_SCALE).AsInteger(); @@ -45,8 +46,8 @@ namespace RookieStation.Drawing.ExecuteCmds }); doc.Invoke(ts => { - var items = GetSwitchData(doc); - CreateSwitchLegend(doc, GetSwitchData(doc), legend, viewScale); + var items = GetData(doc); + CreateLegend(doc, GetData(doc), legend); }); doc.Invoke(ts => { @@ -66,12 +67,12 @@ namespace RookieStation.Drawing.ExecuteCmds return Result.Succeeded; } - private List GetSwitchData(Document doc) + private List GetData(Document doc) { var switchs = new FilteredElementCollector(doc).OfClass(typeof(FamilyInstance)).OfCategory(BuiltInCategory.OST_LightingDevices).Cast().Where(s => s.Symbol.FamilyName.Contains("开关")); var socketFamilyGroup = switchs.GroupBy(g => g.Symbol.FamilyName).Reverse();//按族分组 - List items = new List(); + List items = new List(); foreach (var g1 in socketFamilyGroup) { @@ -87,7 +88,7 @@ namespace RookieStation.Drawing.ExecuteCmds var elevationLegendTypes = from type in switchAnnotationSymboltypes where type.Name.Contains(symbolName) && type.Name.Contains("立面") select type; - LegendItem item = new LegendItem + LightingDevices item = new LightingDevices { PlaneLegendType = planeLegendTypes.FirstOrDefault(), Description = symbolName, @@ -100,50 +101,40 @@ namespace RookieStation.Drawing.ExecuteCmds return items; ; } - private void CreateSwitchLegend(Document doc, List items, View newLegend, int viewScale) + private void CreateLegend(Document doc, List items, View newLegend) { - TextNoteType textNoteType = new FilteredElementCollector(doc).OfClass(typeof(TextNoteType)).Where(x => x.Name.Contains(UserConstant.FontName)).FirstOrDefault() as TextNoteType; - if (textNoteType == null) - { - textNoteType = new FilteredElementCollector(doc).OfClass(typeof(TextNoteType)).Cast().FirstOrDefault().Duplicate(UserConstant.FontName) as TextNoteType; - textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).SetValueString("2.5"); - textNoteType.get_Parameter(BuiltInParameter.TEXT_WIDTH_SCALE).SetValueString("0.8"); - } + TextNoteType textNoteType = RsRevitUtils.GetOrNewTextNoteType(doc, UserConstant.TextSymbolName); double fontSize = textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).AsDouble(); double actualTextHeight = fontSize * 1.6; - double tableGridHeight = actualTextHeight * viewScale * 2;//图例网格高度 + double tableGridHeight = actualTextHeight * newLegend.Scale * 2;//图例网格高度 double tableGridWidth = tableGridHeight * 2; var opts = new TextNoteOptions(textNoteType.Id) { HorizontalAlignment = HorizontalTextAlignment.Center, VerticalAlignment = VerticalTextAlignment.Middle, }; - double[] widths = new double[4] { tableGridWidth, tableGridWidth, tableGridWidth, tableGridWidth }; - RsRevitUtils.CreateTable(doc, newLegend, items.Count + 1, 4, tableGridHeight, widths); + double[] widths = new double[3] { tableGridWidth, tableGridWidth, tableGridWidth }; + RsRevitUtils.CreateTable(doc, newLegend, items.Count + 1, 3, tableGridHeight, widths); var y = XYZ.BasisY * (items.Count + 0.5) * tableGridHeight; TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth / 2) + y, "图例", opts); TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 3 / 2) + y, "说明", opts); - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 5 / 2) + y, "立面图例", opts); - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 7 / 2) + y, "数量", opts); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 5 / 2) + y, "数量", opts); for (int i = items.Count - 1; i >= 0; i--) { - LegendItem item = items[i]; + LightingDevices item = items[i]; y = XYZ.BasisY * (i + 0.5) * tableGridHeight; if (item.PlaneLegendType != null) { doc.Create.NewFamilyInstance(XYZ.BasisX * (tableGridWidth / 2) + y, item.PlaneLegendType, newLegend); } TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 3 / 2) + y, item.Description, opts); - if (item.ElevationLegend != null) - { - doc.Create.NewFamilyInstance(XYZ.BasisX * (tableGridWidth * 5 / 2) + y, item.ElevationLegend, newLegend); - } + if (item.Count != 0) { - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 7 / 2) + y, $"{item.Count}个", opts); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 5 / 2) + y, $"{item.Count}个", opts); } } - TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 5.5) + y, "注:面板底边距地H:1300mm", opts); + //TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 5.5) + y, "注:面板底边距地H:1300mm", opts); } } } \ No newline at end of file diff --git a/RookieStation/Drawing/ExecuteCmds/CmdCreateViewPlanAnnotation.cs b/RookieStation/Drawing/ExecuteCmds/CreateViewPlanAnnotation.cs similarity index 99% rename from RookieStation/Drawing/ExecuteCmds/CmdCreateViewPlanAnnotation.cs rename to RookieStation/Drawing/ExecuteCmds/CreateViewPlanAnnotation.cs index 642756c..8d3f9dd 100644 --- a/RookieStation/Drawing/ExecuteCmds/CmdCreateViewPlanAnnotation.cs +++ b/RookieStation/Drawing/ExecuteCmds/CreateViewPlanAnnotation.cs @@ -14,7 +14,7 @@ namespace RookieStation.Drawing.ExecuteCmds { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdCreateViewPlanAnnotation : IExternalCommand + internal class CreateViewPlanAnnotation : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { diff --git a/RookieStation/Drawing/ExecuteCmds/CmdCreateViewSectionAnnotation.cs b/RookieStation/Drawing/ExecuteCmds/CreateViewSectionAnnotation.cs similarity index 98% rename from RookieStation/Drawing/ExecuteCmds/CmdCreateViewSectionAnnotation.cs rename to RookieStation/Drawing/ExecuteCmds/CreateViewSectionAnnotation.cs index f43b2d5..1bc87a4 100644 --- a/RookieStation/Drawing/ExecuteCmds/CmdCreateViewSectionAnnotation.cs +++ b/RookieStation/Drawing/ExecuteCmds/CreateViewSectionAnnotation.cs @@ -15,7 +15,7 @@ namespace RookieStation.Drawing.ExecuteCmds { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdCreateViewSectionAnnotation : IExternalCommand + internal class CreateViewSectionAnnotation : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { diff --git a/RookieStation/Drawing/ExecuteCmds/CreateWallLegend.cs b/RookieStation/Drawing/ExecuteCmds/CreateWallLegend.cs new file mode 100644 index 0000000..6cc6de4 --- /dev/null +++ b/RookieStation/Drawing/ExecuteCmds/CreateWallLegend.cs @@ -0,0 +1,231 @@ +using Autodesk.Revit.UI; +using Autodesk.Revit.DB; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RookieStation.ProjectConfig; +using RookieStation.Utils; +using Autodesk.Revit.UI.Selection; +using RookieStation.Extension; + +namespace RookieStation.Drawing.ExecuteCmds +{ + [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] + [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] + internal class CreateWallLegend : IExternalCommand + { + public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) + { + UIDocument uidoc = commandData.Application.ActiveUIDocument; + Document doc = uidoc.Document; + + if (uidoc.ActiveView.ViewType == ViewType.DrawingSheet) + { + try + { + var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter(), "请选择参考的视口以确定比例"); + var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例"); + var viewport = doc.GetElement(portRefer) as Viewport; + var viewPlan = doc.GetElement(viewport.ViewId); + if (!(viewPlan is ViewPlan)) + { + TaskDialog.Show("温馨提示", "请选择平面视图的视口"); + return Result.Failed; + } + + doc.InvokeGroup(tg => + { + var viewScale = viewport.get_Parameter(BuiltInParameter.VIEW_SCALE).AsInteger(); + View legend = null; + doc.Invoke(ts => + { + legend = RsRevitUtils.CreateNewLegend(doc, "墙体图例", viewScale); + }); + doc.Invoke(ts => + { + var items = GetData(doc); + CreateLegend(doc, items, legend); + }); + doc.Invoke(ts => + { + RsRevitUtils.SetLegendLocation(doc, legend, location); + }); + }, "创建墙体图例"); + } + catch (Autodesk.Revit.Exceptions.OperationCanceledException) + { + } + } + else + { + TaskDialog.Show("温馨提示", "请打开图纸视图"); + return Result.Failed; + } + return Result.Succeeded; + } + + /// + /// 获取数据 + /// + /// + /// + private List GetData(Document doc) + { + var walls = new FilteredElementCollector(doc).OfClass(typeof(Wall)).OfCategory(BuiltInCategory.OST_Walls); + var filledRegionTypes = new FilteredElementCollector(doc).OfClass(typeof(FilledRegionType)).OfCategory(BuiltInCategory.OST_DetailComponents); + //按族分组 + var wallTypeGroups = walls.GroupBy(g => g.Name); + var data = new List(); + + //遍历每个族的分组 + foreach (var instanceByFamily in wallTypeGroups) + { + var wall = instanceByFamily.ElementAt(0) as Wall; + var wallType = wall.WallType; + + string finalName = string.Empty; + if (wallType.Name.Contains("-")) + finalName = wallType.Name.Substring(0, wallType.Name.IndexOf("-")); + if (finalName == "") + { + finalName = wallType.Name; + } + for (int i = 0; i < filledRegionTypes.Count(); i++) + { + var t = filledRegionTypes.ElementAt(i) as FilledRegionType; + //通过名称,类型,把不需要的墙体过滤掉 + if (wallType.Name.Contains("墙饰面") || wallType.Name.Contains("踢脚线") || wallType.Kind != WallKind.Basic) + { + continue; + } + if (wallType.Name.Contains(t.Name)) + { + dynamic datarow = new { FilledRegionTypeName = t.Name, WallTypeName = finalName }; + data.Add(datarow); + break; + } + //如果没找到填充图案则新建 + if (i == filledRegionTypes.Count() - 1) + { + GetOrNewWallTypeFilledRegionType(doc, wallType, finalName, t); + //填充图案默认为空 + } + } + } + return data; + } + + private static void GetOrNewWallTypeFilledRegionType(Document doc, WallType wallType, string finalName, FilledRegionType t) + { + FilledRegionType newFilledRegionType = null; + + newFilledRegionType = t.Duplicate(finalName) as FilledRegionType; + + try + { + var compound = wallType.GetCompoundStructure(); + var mId = compound.GetMaterialId(compound.GetFirstCoreLayerIndex()); + var material = doc.GetElement(mId) as Material; + //根据墙体核心层材质,赋予填充图案 + if (material.CutForegroundPatternId != ElementId.InvalidElementId) + { + newFilledRegionType.ForegroundPatternId = material.CutForegroundPatternId; + newFilledRegionType.ForegroundPatternColor = material.CutForegroundPatternColor; + newFilledRegionType.BackgroundPatternId = material.CutForegroundPatternId; + newFilledRegionType.BackgroundPatternColor = material.CutForegroundPatternColor; + } + else if (material.CutBackgroundPatternId != ElementId.InvalidElementId) + { + newFilledRegionType.ForegroundPatternId = material.CutBackgroundPatternId; + newFilledRegionType.ForegroundPatternColor = material.CutBackgroundPatternColor; + newFilledRegionType.BackgroundPatternId = material.CutBackgroundPatternId; + newFilledRegionType.BackgroundPatternColor = material.CutBackgroundPatternColor; + } + else if (material.SurfaceForegroundPatternId != ElementId.InvalidElementId) + { + newFilledRegionType.ForegroundPatternId = material.SurfaceForegroundPatternId; + newFilledRegionType.ForegroundPatternColor = material.SurfaceForegroundPatternColor; + newFilledRegionType.BackgroundPatternId = material.SurfaceForegroundPatternId; + newFilledRegionType.BackgroundPatternColor = material.SurfaceForegroundPatternColor; + } + else if (material.SurfaceBackgroundPatternId != ElementId.InvalidElementId) + { + newFilledRegionType.ForegroundPatternId = material.SurfaceBackgroundPatternId; + newFilledRegionType.ForegroundPatternColor = material.SurfaceBackgroundPatternColor; + newFilledRegionType.BackgroundPatternId = material.SurfaceBackgroundPatternId; + newFilledRegionType.BackgroundPatternColor = material.SurfaceBackgroundPatternColor; + } + else + { + newFilledRegionType.ForegroundPatternId = ElementId.InvalidElementId; + newFilledRegionType.BackgroundPatternId = ElementId.InvalidElementId; + } + } + catch (Exception) + { + newFilledRegionType.ForegroundPatternId = ElementId.InvalidElementId; + newFilledRegionType.BackgroundPatternId = ElementId.InvalidElementId; + } + } + + private void CreateLegend(Document doc, List data, View newLegend) + { + TextNoteType textNoteType = RsRevitUtils.GetOrNewTextNoteType(doc, UserConstant.TextSymbolName); + double fontSize = textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).AsDouble(); + double tableGridHeight = fontSize * newLegend.Scale * 2;//图例网格高度 + double tableGridWidth = tableGridHeight * 2.5; + double[] widths = new double[2] { tableGridWidth * 2, tableGridWidth * 3 }; + RsRevitUtils.CreateTable(doc, newLegend, data.Count + 1, 2, tableGridHeight, widths); + + var filledRegionTypes = new FilteredElementCollector(doc).OfClass(typeof(FilledRegionType)).OfCategory(BuiltInCategory.OST_DetailComponents); + + var opts = new TextNoteOptions(textNoteType.Id) + { + HorizontalAlignment = HorizontalTextAlignment.Center, + VerticalAlignment = VerticalTextAlignment.Middle, + }; + XYZ y = null; + for (int i = 0; i < data.Count; i++) + { + y = XYZ.BasisY * (i + 0.5) * tableGridHeight; + var datarow = data[i]; + var wallTypeName = datarow.GetType().GetProperty("WallTypeName").GetValue(datarow).ToString(); + FilledRegionType wallfilledRegionType = null; + foreach (var filledRegionType in filledRegionTypes) + { + if (wallTypeName.Contains(filledRegionType.Name)) + { + wallfilledRegionType = filledRegionType as FilledRegionType; + break; + } + } + CurveLoop cl = new CurveLoop(); + var cenP = XYZ.BasisX * tableGridWidth + y; + var lefttop = cenP - tableGridWidth * XYZ.BasisX / 2 + tableGridHeight * XYZ.BasisY * 0.4; + var leftbottom = cenP - tableGridWidth * XYZ.BasisX / 2 - tableGridHeight * XYZ.BasisY * 0.4; + var righttop = cenP + tableGridWidth * XYZ.BasisX / 2 + tableGridHeight * XYZ.BasisY * 0.4; + var rightbottom = cenP + tableGridWidth * XYZ.BasisX / 2 - tableGridHeight * XYZ.BasisY * 0.4; + Line l1 = Line.CreateBound(leftbottom, lefttop); + Line l2 = Line.CreateBound(lefttop, righttop); + Line l3 = Line.CreateBound(righttop, rightbottom); + Line l4 = Line.CreateBound(rightbottom, leftbottom); + cl.Append(l1); + cl.Append(l2); + cl.Append(l3); + cl.Append(l4); + List l = new List(); + l.Add(cl); + if (wallfilledRegionType != null) + { + FilledRegion.Create(doc, wallfilledRegionType.Id, newLegend.Id, l); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 7 / 2) + y, wallTypeName, opts); + } + } + y += XYZ.BasisY * tableGridHeight; + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth) + y, "图例", opts); + TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 7 / 2) + y, "图例说明", opts); + } + } +} \ No newline at end of file diff --git a/RookieStation/Drawing/ExecuteCmds/CmdCreateWires.cs b/RookieStation/Drawing/ExecuteCmds/CreateWires.cs similarity index 99% rename from RookieStation/Drawing/ExecuteCmds/CmdCreateWires.cs rename to RookieStation/Drawing/ExecuteCmds/CreateWires.cs index 9e8bc10..d7d6556 100644 --- a/RookieStation/Drawing/ExecuteCmds/CmdCreateWires.cs +++ b/RookieStation/Drawing/ExecuteCmds/CreateWires.cs @@ -14,7 +14,7 @@ namespace RookieStation.Drawing.ExecuteCmds { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdCreateWires : IExternalCommand + internal class CreateWires : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { diff --git a/RookieStation/Drawing/ExecuteCmds/CmdUnifyViewportOnViewSheet.cs b/RookieStation/Drawing/ExecuteCmds/UnifyViewportOnViewSheet.cs similarity index 99% rename from RookieStation/Drawing/ExecuteCmds/CmdUnifyViewportOnViewSheet.cs rename to RookieStation/Drawing/ExecuteCmds/UnifyViewportOnViewSheet.cs index f284c7f..3eaf1b4 100644 --- a/RookieStation/Drawing/ExecuteCmds/CmdUnifyViewportOnViewSheet.cs +++ b/RookieStation/Drawing/ExecuteCmds/UnifyViewportOnViewSheet.cs @@ -14,7 +14,7 @@ namespace RookieStation.Drawing.ExecuteCmds { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] - internal class CmdUnifyViewportOnViewSheet : IExternalCommand + internal class UnifyViewportOnViewSheet : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { diff --git a/RookieStation/Drawing/Models/LegendItem.cs b/RookieStation/Drawing/Models/LightingDevices.cs similarity index 97% rename from RookieStation/Drawing/Models/LegendItem.cs rename to RookieStation/Drawing/Models/LightingDevices.cs index 303869f..1848396 100644 --- a/RookieStation/Drawing/Models/LegendItem.cs +++ b/RookieStation/Drawing/Models/LightingDevices.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; namespace RookieStation.Drawing.Models { - internal class LegendItem + internal class LightingDevices { /// /// 标记、编号 diff --git a/RookieStation/Finishes/ExecuteCmds/CmdFloorFinishes.cs b/RookieStation/Finishes/ExecuteCmds/FloorFinishes.cs similarity index 99% rename from RookieStation/Finishes/ExecuteCmds/CmdFloorFinishes.cs rename to RookieStation/Finishes/ExecuteCmds/FloorFinishes.cs index 6089d90..68db306 100644 --- a/RookieStation/Finishes/ExecuteCmds/CmdFloorFinishes.cs +++ b/RookieStation/Finishes/ExecuteCmds/FloorFinishes.cs @@ -17,7 +17,7 @@ namespace RookieStation.Finishes.ExecuteCmds [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] [Obsolete("已替换", true)] - internal class CmdFloorFinishes : IExternalCommand + internal class FloorFinishes : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { diff --git a/RookieStation/Properties/Resources.Designer.cs b/RookieStation/Properties/Resources.Designer.cs index aa19da6..de4a518 100644 --- a/RookieStation/Properties/Resources.Designer.cs +++ b/RookieStation/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace RookieStation.Properties { // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen // (以 /str 作为命令选项),或重新生成 VS 项目。 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -190,6 +190,16 @@ namespace RookieStation.Properties { } } + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap PlaneLegend { + get { + object obj = ResourceManager.GetObject("PlaneLegend", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// 查找 System.Drawing.Bitmap 类型的本地化资源。 /// diff --git a/RookieStation/Properties/Resources.resx b/RookieStation/Properties/Resources.resx index 90ff466..775be92 100644 --- a/RookieStation/Properties/Resources.resx +++ b/RookieStation/Properties/Resources.resx @@ -157,6 +157,9 @@ ..\Resources\MainMaterials.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\PlaneLegend.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\reception.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/RookieStation/Resources/PlaneLegend.png b/RookieStation/Resources/PlaneLegend.png new file mode 100644 index 0000000..ba8b362 Binary files /dev/null and b/RookieStation/Resources/PlaneLegend.png differ diff --git a/RookieStation/RookieStation.csproj b/RookieStation/RookieStation.csproj index 615bf68..ed0f1ea 100644 --- a/RookieStation/RookieStation.csproj +++ b/RookieStation/RookieStation.csproj @@ -94,24 +94,27 @@ - - - + + + ProgressMonitorView.xaml - - - - - - - - - - + + + + + + + + + + + + + @@ -132,12 +135,12 @@ - + - + @@ -146,7 +149,7 @@ - + @@ -208,6 +211,12 @@ Always + + Always + + + Always + Always @@ -295,12 +304,6 @@ Always - - Always - - - Always - Always @@ -464,39 +467,103 @@ + - + Always - + Always - + Always - + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + Always Always - + Always - + Always - + Always - + Always - + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + Always diff --git a/RookieStation/RsApp.cs b/RookieStation/RsApp.cs index c2a6c52..59c1f7f 100644 --- a/RookieStation/RsApp.cs +++ b/RookieStation/RsApp.cs @@ -101,30 +101,36 @@ namespace RookieStation.RibbonMenu //出图面板 RibbonPanel drawingPanel = application.CreateRibbonPanel(TabName, DrawingPanelName); - CreatePushButton(drawingPanel, "主材表", Properties.Resources.MainMaterials, DrawingSheetCmdEnabled); + CreatePushButton(drawingPanel, "主材表", Properties.Resources.MainMaterials, DrawingSheetCmdEnabled); SplitButtonData splitButtonData = new SplitButtonData("创建图例", "创建图例"); var spb = drawingPanel.AddItem(splitButtonData) as SplitButton; - PushButtonData shelfButtonData = new PushButtonData("货架说明", "货架说明", AddInPath, typeof(CmdCreateShelvesLegend).FullName) + PushButtonData shelfButtonData = new PushButtonData("平面图例", "平面图例", AddInPath, typeof(CreatePlaneGraphLegend).FullName) + { + LargeImage = ConvertFromBitmap(Properties.Resources.PlaneLegend), + Image = ConvertFromBitmap(Properties.Resources.PlaneLegend), + AvailabilityClassName = DrawingSheetCmdEnabled + }; + PushButtonData furnitureButtonData = new PushButtonData("家具图例", "家具图例", AddInPath, typeof(CreateFurnitureLegend).FullName) { LargeImage = ConvertFromBitmap(Properties.Resources.ShelfLegend), Image = ConvertFromBitmap(Properties.Resources.ShelfLegend), AvailabilityClassName = DrawingSheetCmdEnabled }; - PushButtonData lightButtonData = new PushButtonData("灯具说明", "灯具说明", AddInPath, typeof(CmdCreateLightLegend).FullName) + PushButtonData lightButtonData = new PushButtonData("灯具图例", "灯具图例", AddInPath, typeof(CreateLightLegend).FullName) { LargeImage = ConvertFromBitmap(Properties.Resources.LightLegend), Image = ConvertFromBitmap(Properties.Resources.LightLegend), AvailabilityClassName = DrawingSheetCmdEnabled }; - PushButtonData socketButtonData = new PushButtonData("插座说明", "插座说明", AddInPath, typeof(CmdCreateSocketLegend).FullName) + PushButtonData socketButtonData = new PushButtonData("插座图例", "插座图例", AddInPath, typeof(CreateSocketLegend).FullName) { LargeImage = ConvertFromBitmap(Properties.Resources.SocketLegend), Image = ConvertFromBitmap(Properties.Resources.SocketLegend), AvailabilityClassName = DrawingSheetCmdEnabled }; - PushButtonData switchButtonData = new PushButtonData("开关说明", "开关说明", AddInPath, typeof(CmdCreateSwitchLegend).FullName) + PushButtonData switchButtonData = new PushButtonData("开关图例", "开关图例", AddInPath, typeof(CreateSwitchLegend).FullName) { LargeImage = ConvertFromBitmap(Properties.Resources.SwitchLegend), Image = ConvertFromBitmap(Properties.Resources.SwitchLegend), @@ -135,19 +141,19 @@ namespace RookieStation.RibbonMenu spb.AddPushButton(socketButtonData); spb.AddPushButton(switchButtonData); - CreatePushButton(drawingPanel, "平面标注", Properties.Resources.ViewPlanDim, ViewPlanCmdEnabled); - CreatePushButton(drawingPanel, "立面标注", Properties.Resources.ViewSectionDim, ViewSectionCmdEnabled); - CreatePushButton(drawingPanel, "创建导线", Properties.Resources.Wire, ViewPlanCmdEnabled); - var UnifyViewportPBD = CreatePushButton(drawingPanel, "统一视口", Properties.Resources.UnifyViewport, ViewPlanCmdEnabled); - UnifyViewportPBD.ToolTip = "请选择一个合适的楼层平面,该视口为模型和标注注释的范围为最大"; - CreatePushButton(drawingPanel, "批量导出DWG", Properties.Resources.ExportDWG, null); + CreatePushButton(drawingPanel, "平面标注", Properties.Resources.ViewPlanDim, ViewPlanCmdEnabled); + CreatePushButton(drawingPanel, "立面标注", Properties.Resources.ViewSectionDim, ViewSectionCmdEnabled); + CreatePushButton(drawingPanel, "创建导线", Properties.Resources.Wire, ViewPlanCmdEnabled); + var UnifyViewportPBD = CreatePushButton(drawingPanel, "统一视口", Properties.Resources.UnifyViewport, ViewPlanCmdEnabled); + UnifyViewportPBD.ToolTip = "请选择一个合适的楼层平面,以该楼层平面视口范围作为图纸视口范围"; + CreatePushButton(drawingPanel, "批量导出DWG", Properties.Resources.ExportDWG, null); //通用面板 RibbonPanel commonToolsPanel = application.CreateRibbonPanel(TabName, CommonTools); //CreatePushButton(commonToolsPanel, "加密族", Properties.Resources.Encrypt, null); //CreatePushButton(commonToolsPanel, "解密族", Properties.Resources.Decrypt, null); - CreatePushButton(commonToolsPanel, "族库浏览", Properties.Resources.FamilyLib, null); - CreatePushButton(commonToolsPanel, "切换背景色", Properties.Resources.Background, null); + CreatePushButton(commonToolsPanel, "族库浏览", Properties.Resources.FamilyLib, null); + CreatePushButton(commonToolsPanel, "切换背景色", Properties.Resources.Background, null); RegisterDockPane(application); return Result.Succeeded; } diff --git a/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型-右.rfa b/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型-右.rfa new file mode 100644 index 0000000..441e16d Binary files /dev/null and b/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型-右.rfa differ diff --git a/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型.0025.rfa b/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型.0025.rfa new file mode 100644 index 0000000..6df5aa7 Binary files /dev/null and b/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型.0025.rfa differ diff --git a/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型.0026.rfa b/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型.0026.rfa new file mode 100644 index 0000000..821d3b2 Binary files /dev/null and b/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型.0026.rfa differ diff --git a/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型.0027.rfa b/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型.0027.rfa new file mode 100644 index 0000000..3478062 Binary files /dev/null and b/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型.0027.rfa differ diff --git a/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型.rfa b/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型.rfa new file mode 100644 index 0000000..c228ea9 Binary files /dev/null and b/RookieStation/RsLibrary/FamilyLibrary/出入口/收检台-L型.rfa differ diff --git a/RookieStation/RsLibrary/FamilyLibrary/家具/L型收检接待台.rfa b/RookieStation/RsLibrary/FamilyLibrary/家具/L型收检接待台.rfa deleted file mode 100644 index 8e954c7..0000000 Binary files a/RookieStation/RsLibrary/FamilyLibrary/家具/L型收检接待台.rfa and /dev/null differ diff --git a/RookieStation/RsLibrary/FamilyLibrary/家具/寄件接待台.rfa b/RookieStation/RsLibrary/FamilyLibrary/家具/寄件接待台.rfa index a9f5f0f..ffb067a 100644 Binary files a/RookieStation/RsLibrary/FamilyLibrary/家具/寄件接待台.rfa and b/RookieStation/RsLibrary/FamilyLibrary/家具/寄件接待台.rfa differ diff --git a/RookieStation/RsLibrary/FamilyLibrary/家具/绿动回收台-单.0001.rfa b/RookieStation/RsLibrary/FamilyLibrary/家具/绿动回收台-单.0001.rfa new file mode 100644 index 0000000..3bec177 Binary files /dev/null and b/RookieStation/RsLibrary/FamilyLibrary/家具/绿动回收台-单.0001.rfa differ diff --git a/RookieStation/RsLibrary/FamilyLibrary/家具/绿动回收台-单.rfa b/RookieStation/RsLibrary/FamilyLibrary/家具/绿动回收台-单.rfa index 073538e..30371b6 100644 Binary files a/RookieStation/RsLibrary/FamilyLibrary/家具/绿动回收台-单.rfa and b/RookieStation/RsLibrary/FamilyLibrary/家具/绿动回收台-单.rfa differ diff --git a/RookieStation/RsLibrary/FamilyLibrary/家具/绿动回收台-双.rfa b/RookieStation/RsLibrary/FamilyLibrary/家具/绿动回收台-双.rfa index 9f58f8e..eb12945 100644 Binary files a/RookieStation/RsLibrary/FamilyLibrary/家具/绿动回收台-双.rfa and b/RookieStation/RsLibrary/FamilyLibrary/家具/绿动回收台-双.rfa differ diff --git a/RookieStation/RsLibrary/FamilyLibrary/标识标牌/壁挂灯箱.0001.rfa b/RookieStation/RsLibrary/FamilyLibrary/标识标牌/壁挂灯箱.0001.rfa new file mode 100644 index 0000000..d4e97e7 Binary files /dev/null and b/RookieStation/RsLibrary/FamilyLibrary/标识标牌/壁挂灯箱.0001.rfa differ diff --git a/RookieStation/RsLibrary/FamilyLibrary/标识标牌/壁挂灯箱.rfa b/RookieStation/RsLibrary/FamilyLibrary/标识标牌/壁挂灯箱.rfa index d4e97e7..6d0f1cd 100644 Binary files a/RookieStation/RsLibrary/FamilyLibrary/标识标牌/壁挂灯箱.rfa and b/RookieStation/RsLibrary/FamilyLibrary/标识标牌/壁挂灯箱.rfa differ diff --git a/RookieStation/RsLibrary/FamilyLibrary/门/门嵌板-双开地弹玻璃门.rfa b/RookieStation/RsLibrary/FamilyLibrary/门/门嵌板-双开地弹玻璃门.rfa new file mode 100644 index 0000000..8355284 Binary files /dev/null and b/RookieStation/RsLibrary/FamilyLibrary/门/门嵌板-双开地弹玻璃门.rfa differ diff --git a/RookieStation/RsLibrary/MainMaterials/AP三开开关.jpg b/RookieStation/RsLibrary/MainMaterials/AP三开开关.jpg new file mode 100644 index 0000000..e3e5b96 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/AP三开开关.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/AP五孔插座.jpg b/RookieStation/RsLibrary/MainMaterials/AP五孔插座.jpg new file mode 100644 index 0000000..b38056d Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/AP五孔插座.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/AP单开开关.jpg b/RookieStation/RsLibrary/MainMaterials/AP单开开关.jpg new file mode 100644 index 0000000..414bfee Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/AP单开开关.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/AP双开开关.jpg b/RookieStation/RsLibrary/MainMaterials/AP双开开关.jpg new file mode 100644 index 0000000..40ef30b Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/AP双开开关.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/AP弱电面板.jpg b/RookieStation/RsLibrary/MainMaterials/AP弱电面板.jpg new file mode 100644 index 0000000..ddf2cfa Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/AP弱电面板.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/T5支架灯.jpg b/RookieStation/RsLibrary/MainMaterials/T5支架灯.jpg new file mode 100644 index 0000000..a997ddf Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/T5支架灯.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/吊灯.png b/RookieStation/RsLibrary/MainMaterials/前台吊灯.png similarity index 100% rename from RookieStation/RsLibrary/MainMaterials/吊灯.png rename to RookieStation/RsLibrary/MainMaterials/前台吊灯.png diff --git a/RookieStation/RsLibrary/MainMaterials/塑胶地板.jpg b/RookieStation/RsLibrary/MainMaterials/塑胶地板.jpg new file mode 100644 index 0000000..a6c4dd2 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/塑胶地板.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/明装射灯.png b/RookieStation/RsLibrary/MainMaterials/明装射灯.png deleted file mode 100644 index 283eba5..0000000 Binary files a/RookieStation/RsLibrary/MainMaterials/明装射灯.png and /dev/null differ diff --git a/RookieStation/RsLibrary/MainMaterials/明装筒灯.jpg b/RookieStation/RsLibrary/MainMaterials/明装筒灯.jpg new file mode 100644 index 0000000..210aee2 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/明装筒灯.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/明装筒灯.png b/RookieStation/RsLibrary/MainMaterials/明装筒灯.png deleted file mode 100644 index ee3e531..0000000 Binary files a/RookieStation/RsLibrary/MainMaterials/明装筒灯.png and /dev/null differ diff --git a/RookieStation/RsLibrary/MainMaterials/木门.jpg b/RookieStation/RsLibrary/MainMaterials/木门.jpg new file mode 100644 index 0000000..ca58b89 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/木门.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/木饰面.png b/RookieStation/RsLibrary/MainMaterials/木饰面.png deleted file mode 100644 index 16e3bb3..0000000 Binary files a/RookieStation/RsLibrary/MainMaterials/木饰面.png and /dev/null differ diff --git a/RookieStation/RsLibrary/MainMaterials/枫木免漆板.jpg b/RookieStation/RsLibrary/MainMaterials/枫木免漆板.jpg new file mode 100644 index 0000000..4fd0738 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/枫木免漆板.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/桥架.png b/RookieStation/RsLibrary/MainMaterials/桥架.png deleted file mode 100644 index cdc07ed..0000000 Binary files a/RookieStation/RsLibrary/MainMaterials/桥架.png and /dev/null differ diff --git a/RookieStation/RsLibrary/MainMaterials/深灰色铝塑板.jpg b/RookieStation/RsLibrary/MainMaterials/深灰色铝塑板.jpg new file mode 100644 index 0000000..f6e4db3 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/深灰色铝塑板.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/灰色地砖.jpg b/RookieStation/RsLibrary/MainMaterials/灰色地砖.jpg new file mode 100644 index 0000000..d93178c Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/灰色地砖.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/灰色地砖.png b/RookieStation/RsLibrary/MainMaterials/灰色地砖.png deleted file mode 100644 index 58336b0..0000000 Binary files a/RookieStation/RsLibrary/MainMaterials/灰色地砖.png and /dev/null differ diff --git a/RookieStation/RsLibrary/MainMaterials/灰色桥架.jpg b/RookieStation/RsLibrary/MainMaterials/灰色桥架.jpg new file mode 100644 index 0000000..411cd82 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/灰色桥架.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/烤漆玻璃.jpg b/RookieStation/RsLibrary/MainMaterials/烤漆玻璃.jpg new file mode 100644 index 0000000..5a813da Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/烤漆玻璃.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/玻璃门.jpg b/RookieStation/RsLibrary/MainMaterials/玻璃门.jpg new file mode 100644 index 0000000..8e4e6fe Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/玻璃门.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/电动卷闸门.jpg b/RookieStation/RsLibrary/MainMaterials/电动卷闸门.jpg new file mode 100644 index 0000000..44638d0 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/电动卷闸门.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/白色乳胶漆.jpg b/RookieStation/RsLibrary/MainMaterials/白色乳胶漆.jpg new file mode 100644 index 0000000..7b3b50b Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/白色乳胶漆.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/白色乳胶漆.png b/RookieStation/RsLibrary/MainMaterials/白色乳胶漆.png deleted file mode 100644 index d74e3d7..0000000 Binary files a/RookieStation/RsLibrary/MainMaterials/白色乳胶漆.png and /dev/null differ diff --git a/RookieStation/RsLibrary/MainMaterials/白色人造石.jpg b/RookieStation/RsLibrary/MainMaterials/白色人造石.jpg new file mode 100644 index 0000000..69a2da5 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/白色人造石.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/白色铝塑板.jpg b/RookieStation/RsLibrary/MainMaterials/白色铝塑板.jpg new file mode 100644 index 0000000..97c281f Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/白色铝塑板.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/白色铝塑板.png b/RookieStation/RsLibrary/MainMaterials/白色铝塑板.png deleted file mode 100644 index 37113b9..0000000 Binary files a/RookieStation/RsLibrary/MainMaterials/白色铝塑板.png and /dev/null differ diff --git a/RookieStation/RsLibrary/MainMaterials/真石漆.jpg b/RookieStation/RsLibrary/MainMaterials/真石漆.jpg new file mode 100644 index 0000000..8023d2c Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/真石漆.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/矿棉板吊顶.jfif b/RookieStation/RsLibrary/MainMaterials/矿棉板吊顶.jfif new file mode 100644 index 0000000..adb6710 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/矿棉板吊顶.jfif differ diff --git a/RookieStation/RsLibrary/MainMaterials/矿棉板吊顶.jpg b/RookieStation/RsLibrary/MainMaterials/矿棉板吊顶.jpg new file mode 100644 index 0000000..adb6710 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/矿棉板吊顶.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/纸面石膏板.jpg b/RookieStation/RsLibrary/MainMaterials/纸面石膏板.jpg new file mode 100644 index 0000000..7816daa Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/纸面石膏板.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/芝麻灰花岗岩.jfif b/RookieStation/RsLibrary/MainMaterials/芝麻灰花岗岩.jfif new file mode 100644 index 0000000..a397ba0 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/芝麻灰花岗岩.jfif differ diff --git a/RookieStation/RsLibrary/MainMaterials/芝麻灰花岗岩.jpg b/RookieStation/RsLibrary/MainMaterials/芝麻灰花岗岩.jpg new file mode 100644 index 0000000..a397ba0 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/芝麻灰花岗岩.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/蒙古黑花岗岩.jpg b/RookieStation/RsLibrary/MainMaterials/蒙古黑花岗岩.jpg new file mode 100644 index 0000000..6c996f4 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/蒙古黑花岗岩.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/轨道射灯.jpg b/RookieStation/RsLibrary/MainMaterials/轨道射灯.jpg new file mode 100644 index 0000000..0adc9b9 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/轨道射灯.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/钢化玻璃.jpg b/RookieStation/RsLibrary/MainMaterials/钢化玻璃.jpg new file mode 100644 index 0000000..b9c2fe3 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/钢化玻璃.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/铝合金.jfif b/RookieStation/RsLibrary/MainMaterials/铝合金.jfif new file mode 100644 index 0000000..632c28c Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/铝合金.jfif differ diff --git a/RookieStation/RsLibrary/MainMaterials/铝合金.jpg b/RookieStation/RsLibrary/MainMaterials/铝合金.jpg new file mode 100644 index 0000000..632c28c Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/铝合金.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/铝方通.jfif b/RookieStation/RsLibrary/MainMaterials/铝方通.jfif new file mode 100644 index 0000000..5c94c49 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/铝方通.jfif differ diff --git a/RookieStation/RsLibrary/MainMaterials/铝方通.jpg b/RookieStation/RsLibrary/MainMaterials/铝方通.jpg new file mode 100644 index 0000000..5c94c49 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/铝方通.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/黑钛不锈钢.jpg b/RookieStation/RsLibrary/MainMaterials/黑钛不锈钢.jpg new file mode 100644 index 0000000..da46a86 Binary files /dev/null and b/RookieStation/RsLibrary/MainMaterials/黑钛不锈钢.jpg differ diff --git a/RookieStation/RsLibrary/MainMaterials/黑钛不锈钢(哑光).png b/RookieStation/RsLibrary/MainMaterials/黑钛不锈钢(哑光).png deleted file mode 100644 index 7b529b3..0000000 Binary files a/RookieStation/RsLibrary/MainMaterials/黑钛不锈钢(哑光).png and /dev/null differ diff --git a/RookieStation/UserConstant.cs b/RookieStation/UserConstant.cs index 3069400..1fa676a 100644 --- a/RookieStation/UserConstant.cs +++ b/RookieStation/UserConstant.cs @@ -15,7 +15,10 @@ namespace RookieStation.ProjectConfig private static string AddinPath = typeof(RsApp).Assembly.Location; public static string AddinDirectory => System.IO.Path.GetDirectoryName(AddinPath); - public static string FontName = "宋体-2.5mm_0.8"; + public static string TextSymbolName = "黑体-2.5mm_0.8"; + public static string FontFamily = "黑体"; + public static string FontSize = "2.5"; + public static string WidthScale = "0.8"; #if (DEBUG) //调试路径 diff --git a/RookieStation/Utils/RsRevitUtils.cs b/RookieStation/Utils/RsRevitUtils.cs index 23cf1ad..eebdd2a 100644 --- a/RookieStation/Utils/RsRevitUtils.cs +++ b/RookieStation/Utils/RsRevitUtils.cs @@ -168,14 +168,14 @@ namespace RookieStation.Utils return; } CurveArray curveArray = new CurveArray(); - var width = 0.0; + var totalWidth = 0.0; foreach (var w in gridwidths) { - width += w; + totalWidth += w; } for (int i = 0; i <= rowcount; i++)//水平网格 { - Curve c = Line.CreateBound(XYZ.Zero, XYZ.BasisX * width).CreateOffset(gridheight * i, -XYZ.BasisZ); + Curve c = Line.CreateBound(XYZ.Zero, XYZ.BasisX * totalWidth).CreateOffset(gridheight * i, -XYZ.BasisZ); curveArray.Append(c); } Curve line = Line.CreateBound(XYZ.Zero, XYZ.BasisY * rowcount * gridheight); @@ -188,6 +188,47 @@ namespace RookieStation.Utils doc.Create.NewDetailCurveArray(legend, curveArray); } + /// + /// 创建表格 + /// + /// + /// 图例视图 + /// 行数(含标题行) + /// 列数 + /// 单元格高度 + /// 各单元格对应的宽度 + public static void CreateTable(Document doc, View legend, int rowcount, int columncount, double headHeight, double gridheight, params double[] gridwidths) + { + if (columncount != gridwidths.Count()) + { + System.Windows.Forms.MessageBox.Show("列数和提供的列宽数量不一致。"); + return; + } + CurveArray curveArray = new CurveArray(); + var totalWidth = 0.0; + foreach (var w in gridwidths) + { + totalWidth += w; + } + for (int i = 0; i <= rowcount - 1; i++)//水平网格 + { + Curve c = Line.CreateBound(XYZ.Zero, XYZ.BasisX * totalWidth).CreateOffset(gridheight * i, -XYZ.BasisZ); + curveArray.Append(c); + } + //标题行 + Curve line = Line.CreateBound(XYZ.Zero, XYZ.BasisX * totalWidth).CreateOffset(gridheight * (rowcount - 1) + headHeight, -XYZ.BasisZ); + curveArray.Append(line); + //列 + line = Line.CreateBound(XYZ.Zero, XYZ.BasisY * ((rowcount - 1) * gridheight + headHeight)); + curveArray.Append(line); + for (int i = 0; i < columncount; i++)//垂直网格 + { + line = line.CreateOffset(gridwidths[i], XYZ.BasisZ); + curveArray.Append(line); + } + doc.Create.NewDetailCurveArray(legend, curveArray); + } + /// /// 通过名称获取默认的墙类型完整厚度 /// @@ -720,5 +761,78 @@ namespace RookieStation.Utils } return null; } + + /// + /// 获取或创建文字类型 + /// + /// + /// 文字类型名称 + /// + /// + /// + /// + public static TextNoteType GetOrNewTextNoteType(Document doc, string textSymbolName) + { + TextNoteType textNoteType = new FilteredElementCollector(doc).OfClass(typeof(TextNoteType)).Where(x => x.Name.Contains(textSymbolName)).FirstOrDefault() as TextNoteType; + if (textNoteType == null) + { + textNoteType = new FilteredElementCollector(doc).OfClass(typeof(TextNoteType)).Cast().FirstOrDefault().Duplicate(textSymbolName) as TextNoteType; + textNoteType.get_Parameter(BuiltInParameter.TEXT_FONT).SetValueString(UserConstant.FontFamily); + textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).SetValueString(UserConstant.FontSize); + textNoteType.get_Parameter(BuiltInParameter.TEXT_WIDTH_SCALE).SetValueString(UserConstant.WidthScale); + } + + return textNoteType; + } + + ///// + ///// 创建表格 + ///// + ///// + ///// 图例视图 + ///// 图例比例 + ///// + ///// + ///// + ///// + //public static void CreateLegend(Document doc, View newLegend, int viewScale, TextNoteType textNoteType, int rowCount, List headRow, double tableHeight) + //{ + // double fontSize = textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).AsDouble(); + // double actualTextHeight = fontSize * 1.6; + // double tableCellHeight = actualTextHeight * viewScale * 1.2;//图例网格高度 + // double tableCellWidth = tableCellHeight * 5;//图例网格长度 + // double[] widths = new double[6] { tableCellHeight * 2, tableCellHeight * 2, tableCellHeight * 6, tableCellHeight * 2, tableCellHeight * 2, tableCellHeight * 2 }; + // CurveArray curveArray = new CurveArray(); + + // for (int i = rowCount + 1; i >= 0; i--)//水平线 + // { + // Curve line; + // if (i > 0 && i < statistics.Count) + // { + // line = Line.CreateBound(XYZ.Zero, XYZ.BasisX * tableCellWidth * 3).CreateOffset(tableCellHeight * i, -XYZ.BasisZ); + // } + // else + // { + // line = Line.CreateBound(XYZ.Zero, XYZ.BasisX * tableCellWidth * 6).CreateOffset(tableCellHeight * i, -XYZ.BasisZ); + // } + // curveArray.Append(line); + // } + + // for (int i = 0; i < headRow.Count; i++)//垂直线 + // { + // Curve line = Line.CreateBound(XYZ.Zero, XYZ.BasisY * (statistics.Count() + 1) * tableCellHeight).CreateOffset(tableCellWidth * i, XYZ.BasisZ); + // curveArray.Append(line); + // } + // var opts = new TextNoteOptions(textNoteType.Id) + // { + // VerticalAlignment = VerticalTextAlignment.Middle, + // HorizontalAlignment = HorizontalTextAlignment.Center + // }; + // var y = XYZ.BasisY * tableCellHeight * (rowCount + 0.5); + // for (int i = 0; i < headRow.Count; i++) + // { + // TextNote.Create(doc, newLegend.Id, XYZ.BasisX * tableCellWidth * (i + 1) * 0.5 + y, headRow[i], opts); + // } + //} } } \ No newline at end of file diff --git a/RookieStationSetup/RookieStationSetup.vdproj b/RookieStationSetup/RookieStationSetup.vdproj index 4382cab..0f49661 100644 --- a/RookieStationSetup/RookieStationSetup.vdproj +++ b/RookieStationSetup/RookieStationSetup.vdproj @@ -13,12 +13,6 @@ "SccProvider" = "8:" "Hierarchy" { - "Entry" - { - "MsmKey" = "8:_02094458B1124B9BB73E8D249B7B2335" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } "Entry" { "MsmKey" = "8:_032CB90F0BF943239BB69AAB64E6E14F" @@ -81,13 +75,7 @@ } "Entry" { - "MsmKey" = "8:_1A9EDF70859E409592E35E31AEDC26DE" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_1AB9102E95934295AC08274702F82876" + "MsmKey" = "8:_1B4CA244EA2B43F08480F0A66E00D492" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } @@ -129,12 +117,30 @@ } "Entry" { + "MsmKey" = "8:_25E2C115CD134A8284912FD4CE7DF2D9" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_292A0BD8970F43038273330569718D0A" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_2B19E60F5BDB440481ECBD432199D184" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_2C27474C5BAE4F50AEB6AFC53C2B2E4D" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_2C3C4DFBA6334529BD077412B9B4A343" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -153,6 +159,12 @@ } "Entry" { + "MsmKey" = "8:_2FC2FCCF298440EAA285011AEA240EA0" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_318C1B44007A4107B8511C9631C09425" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -171,6 +183,12 @@ } "Entry" { + "MsmKey" = "8:_3639373B68A546A9BD741112B9BFF8D7" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_370156AF90A846D8A936B0ED24AE007E" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -183,6 +201,24 @@ } "Entry" { + "MsmKey" = "8:_3D00EBBD7EEE463C87A67ACA72D73FF7" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_3E53AA1652844993AC40B123AFD89804" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_40AB6E71EF1044F2AA327852629C4166" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_41775BD319E34B2C88358704BB370C4B" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -195,6 +231,18 @@ } "Entry" { + "MsmKey" = "8:_460A5B6BD0764335A3108A9178D4BE12" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_4F074CC0A85D4467ADE9AAE44162DFBE" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_4F1D2AFDF92D41FB809FB635297BECD7" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -261,6 +309,12 @@ } "Entry" { + "MsmKey" = "8:_64E6D442510449789C6696C24CC387DC" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_6611E00E851D4212ADFAE1B8FAF8F250" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -279,12 +333,6 @@ } "Entry" { - "MsmKey" = "8:_689F545FD72E436E954CE49088FC52D5" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_6980032153ED4208826D6D0C3D1834D2" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -297,13 +345,25 @@ } "Entry" { - "MsmKey" = "8:_6A85FF95D7764D46905FFFBB9BD5F0F4" + "MsmKey" = "8:_6B17F4D39BED4015A225CC9774765826" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_6B17F4D39BED4015A225CC9774765826" + "MsmKey" = "8:_6C85BD6EF54B4982BA2DBBA226229AA7" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6EC43FCDF6B045CFBC5FA294D862A2BF" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6FF7126F478C439A912506B1B28AE7E7" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } @@ -351,6 +411,18 @@ } "Entry" { + "MsmKey" = "8:_85604F8F78CC4EC18A93C53163524C9E" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_865C99606DA345BFB97A7CF9D9ABB279" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_87B3C6ABBC8FF8A77BFE903B40AF6691" "OwnerKey" = "8:_FBE461B9D4BD4603919E2821D88FB7CB" "MsmSig" = "8:_UNDEFINED" @@ -363,7 +435,7 @@ } "Entry" { - "MsmKey" = "8:_89D4725F90F24CE08D05A39C4CCFC1BA" + "MsmKey" = "8:_8B599EAB4C784EE0A46667C7D436ADB9" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } @@ -381,7 +453,13 @@ } "Entry" { - "MsmKey" = "8:_92BC7EFB9EB247C6BE29CD0CD52C1166" + "MsmKey" = "8:_910746F064C24F6D9A12DF708C2F4F4F" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_925982F7A94D44EFB94FAAF9D92F6C89" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } @@ -417,6 +495,12 @@ } "Entry" { + "MsmKey" = "8:_9CC5D819F53B41288E558AC43CA23BBD" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_9E53E94CA4C84976ACF61A45CF3C085E" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -435,6 +519,12 @@ } "Entry" { + "MsmKey" = "8:_A231B056AA2A4F2D9B94874DEFA66468" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_A34A4549497845D7BF1582DD3F1A69EB" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -495,6 +585,24 @@ } "Entry" { + "MsmKey" = "8:_B83181B20E5041DDA1B21C13F90EBB32" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_C0049AC84B874F37B34524EB280FEC36" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_C0CC639639A0496980691591781AE6C9" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_C0EC3A0D07D4490A8EB69553A7CBE2A2" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -507,6 +615,12 @@ } "Entry" { + "MsmKey" = "8:_C29B742A1315468F84F02D7D49E144B6" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_C58BF8A450F44D988A6617D87A67A2E9" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -525,13 +639,13 @@ } "Entry" { - "MsmKey" = "8:_C93A254F3D5E4FDBAE49E9981D5FA10D" + "MsmKey" = "8:_CA838E6409624FCD8795AD075EE07CE0" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_CA838E6409624FCD8795AD075EE07CE0" + "MsmKey" = "8:_CA9380B4884B440DAD04ACBD9EEFF952" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } @@ -543,13 +657,13 @@ } "Entry" { - "MsmKey" = "8:_CC98C16F36814E47B7A071BA0E2D6EC0" + "MsmKey" = "8:_CBAE5ADB8F6E45CBBE50873AAF5AEB35" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_CD6689FCC66148918EC6F4D46B86573D" + "MsmKey" = "8:_CC98C16F36814E47B7A071BA0E2D6EC0" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } @@ -573,12 +687,24 @@ } "Entry" { + "MsmKey" = "8:_D6A7E4B99C23400D92F66E00F963106E" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_D7CE0EFBE9E549AF95F204F2459A3AAE" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_D8C459AAFD1246DCAF4AC41887783B66" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_D8D84847A8CD46DDB4C769FD75A4F0D8" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -609,6 +735,12 @@ } "Entry" { + "MsmKey" = "8:_E10599C3B2CE4DEBBBC6CE21EAD8FFCA" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_E26E0990C8FE2CD4B9BDF57F61611379" "OwnerKey" = "8:_FBE461B9D4BD4603919E2821D88FB7CB" "MsmSig" = "8:_UNDEFINED" @@ -651,12 +783,6 @@ } "Entry" { - "MsmKey" = "8:_F096D99831204118A26826E7C92C0142" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_F3DBE5F365DC458EBC7E4BD1CFCF285D" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -858,26 +984,6 @@ } "File" { - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_02094458B1124B9BB73E8D249B7B2335" - { - "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\白色乳胶漆.png" - "TargetName" = "8:白色乳胶漆.png" - "Tag" = "8:" - "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_032CB90F0BF943239BB69AAB64E6E14F" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\门\\幕墙门-双扇无边框.rfa" @@ -1069,30 +1175,10 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1A9EDF70859E409592E35E31AEDC26DE" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1B4CA244EA2B43F08480F0A66E00D492" { - "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\灰色地砖.png" - "TargetName" = "8:灰色地砖.png" - "Tag" = "8:" - "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1AB9102E95934295AC08274702F82876" - { - "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\白色铝塑板.png" - "TargetName" = "8:白色铝塑板.png" + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\木门.jpg" + "TargetName" = "8:木门.jpg" "Tag" = "8:" "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" "Condition" = "8:" @@ -1240,6 +1326,46 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_25E2C115CD134A8284912FD4CE7DF2D9" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\黑钛不锈钢.jpg" + "TargetName" = "8:黑钛不锈钢.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_292A0BD8970F43038273330569718D0A" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\白色人造石.jpg" + "TargetName" = "8:白色人造石.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2B19E60F5BDB440481ECBD432199D184" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\其他\\吊线.rfa" @@ -1260,6 +1386,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2C27474C5BAE4F50AEB6AFC53C2B2E4D" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\白色乳胶漆.jpg" + "TargetName" = "8:白色乳胶漆.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2C3C4DFBA6334529BD077412B9B4A343" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\出入口\\L型收检台.rfa" @@ -1320,6 +1466,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2FC2FCCF298440EAA285011AEA240EA0" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\前台吊灯.png" + "TargetName" = "8:前台吊灯.png" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_318C1B44007A4107B8511C9631C09425" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\家具\\咖餐厅座椅组.rfa" @@ -1380,6 +1546,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3639373B68A546A9BD741112B9BFF8D7" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\AP五孔插座.jpg" + "TargetName" = "8:AP五孔插座.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_370156AF90A846D8A936B0ED24AE007E" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\家具\\绿动回收台-双.rfa" @@ -1420,6 +1606,66 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3D00EBBD7EEE463C87A67ACA72D73FF7" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\AP弱电面板.jpg" + "TargetName" = "8:AP弱电面板.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3E53AA1652844993AC40B123AFD89804" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\铝合金.jpg" + "TargetName" = "8:铝合金.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_40AB6E71EF1044F2AA327852629C4166" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\玻璃门.jpg" + "TargetName" = "8:玻璃门.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_41775BD319E34B2C88358704BB370C4B" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\Texture\\寄件区-左.png" @@ -1460,6 +1706,46 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_460A5B6BD0764335A3108A9178D4BE12" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\烤漆玻璃.jpg" + "TargetName" = "8:烤漆玻璃.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4F074CC0A85D4467ADE9AAE44162DFBE" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\纸面石膏板.jpg" + "TargetName" = "8:纸面石膏板.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4F1D2AFDF92D41FB809FB635297BECD7" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\板饰面\\地砖.rfa" @@ -1662,6 +1948,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_64E6D442510449789C6696C24CC387DC" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\铝方通.jpg" + "TargetName" = "8:铝方通.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6611E00E851D4212ADFAE1B8FAF8F250" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\门\\幕墙门-玻璃门.rfa" @@ -1722,26 +2028,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_689F545FD72E436E954CE49088FC52D5" - { - "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\木饰面.png" - "TargetName" = "8:木饰面.png" - "Tag" = "8:" - "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6980032153ED4208826D6D0C3D1834D2" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\家具\\绿动回收台-单.rfa" @@ -1782,10 +2068,30 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6A85FF95D7764D46905FFFBB9BD5F0F4" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6B17F4D39BED4015A225CC9774765826" { - "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\桥架.png" - "TargetName" = "8:桥架.png" + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\标识标牌\\菜鸟使命.rfa" + "TargetName" = "8:菜鸟使命.rfa" + "Tag" = "8:" + "Folder" = "8:_B551F2A6C0904D6BBC32D147053B2218" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6C85BD6EF54B4982BA2DBBA226229AA7" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\灰色地砖.jpg" + "TargetName" = "8:灰色地砖.jpg" "Tag" = "8:" "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" "Condition" = "8:" @@ -1802,12 +2108,32 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6B17F4D39BED4015A225CC9774765826" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6EC43FCDF6B045CFBC5FA294D862A2BF" { - "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\标识标牌\\菜鸟使命.rfa" - "TargetName" = "8:菜鸟使命.rfa" + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\深灰色铝塑板.jpg" + "TargetName" = "8:深灰色铝塑板.jpg" "Tag" = "8:" - "Folder" = "8:_B551F2A6C0904D6BBC32D147053B2218" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6FF7126F478C439A912506B1B28AE7E7" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\T5支架灯.jpg" + "TargetName" = "8:T5支架灯.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" @@ -1973,6 +2299,46 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_85604F8F78CC4EC18A93C53163524C9E" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\AP三开开关.jpg" + "TargetName" = "8:AP三开开关.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_865C99606DA345BFB97A7CF9D9ABB279" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\白色铝塑板.jpg" + "TargetName" = "8:白色铝塑板.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_87B3C6ABBC8FF8A77BFE903B40AF6691" { "AssemblyRegister" = "3:1" @@ -2004,10 +2370,10 @@ "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_89D4725F90F24CE08D05A39C4CCFC1BA" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8B599EAB4C784EE0A46667C7D436ADB9" { - "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\明装筒灯.png" - "TargetName" = "8:明装筒灯.png" + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\电动卷闸门.jpg" + "TargetName" = "8:电动卷闸门.jpg" "Tag" = "8:" "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" "Condition" = "8:" @@ -2064,10 +2430,30 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_92BC7EFB9EB247C6BE29CD0CD52C1166" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_910746F064C24F6D9A12DF708C2F4F4F" { - "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\明装射灯.png" - "TargetName" = "8:明装射灯.png" + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\AP单开开关.jpg" + "TargetName" = "8:AP单开开关.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_925982F7A94D44EFB94FAAF9D92F6C89" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\塑胶地板.jpg" + "TargetName" = "8:塑胶地板.jpg" "Tag" = "8:" "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" "Condition" = "8:" @@ -2175,6 +2561,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9CC5D819F53B41288E558AC43CA23BBD" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\钢化玻璃.jpg" + "TargetName" = "8:钢化玻璃.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9E53E94CA4C84976ACF61A45CF3C085E" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\Texture\\菜鸟驿站寄件业务收费标准(210_297竖版).jpg" @@ -2235,6 +2641,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A231B056AA2A4F2D9B94874DEFA66468" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\蒙古黑花岗岩.jpg" + "TargetName" = "8:蒙古黑花岗岩.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A34A4549497845D7BF1582DD3F1A69EB" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\标识标牌\\腰封玻璃贴.rfa" @@ -2377,6 +2803,66 @@ "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B83181B20E5041DDA1B21C13F90EBB32" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\灰色乳胶漆.png" + "TargetName" = "8:灰色乳胶漆.png" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C0049AC84B874F37B34524EB280FEC36" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\轨道射灯.jpg" + "TargetName" = "8:轨道射灯.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C0CC639639A0496980691591781AE6C9" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\真石漆.jpg" + "TargetName" = "8:真石漆.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C0EC3A0D07D4490A8EB69553A7CBE2A2" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\Document\\样板工程量清单.xlsx" @@ -2417,6 +2903,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C29B742A1315468F84F02D7D49E144B6" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\灰色桥架.jpg" + "TargetName" = "8:灰色桥架.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C58BF8A450F44D988A6617D87A67A2E9" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\Texture\\寄件出口.png" @@ -2477,12 +2983,12 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C93A254F3D5E4FDBAE49E9981D5FA10D" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CA838E6409624FCD8795AD075EE07CE0" { - "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\灰色乳胶漆.png" - "TargetName" = "8:灰色乳胶漆.png" + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\标识标牌\\精工背发光字.rfa" + "TargetName" = "8:精工背发光字.rfa" "Tag" = "8:" - "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Folder" = "8:_B551F2A6C0904D6BBC32D147053B2218" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" @@ -2497,12 +3003,12 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CA838E6409624FCD8795AD075EE07CE0" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CA9380B4884B440DAD04ACBD9EEFF952" { - "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\标识标牌\\精工背发光字.rfa" - "TargetName" = "8:精工背发光字.rfa" + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\AP双开开关.jpg" + "TargetName" = "8:AP双开开关.jpg" "Tag" = "8:" - "Folder" = "8:_B551F2A6C0904D6BBC32D147053B2218" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" @@ -2537,12 +3043,12 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CC98C16F36814E47B7A071BA0E2D6EC0" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CBAE5ADB8F6E45CBBE50873AAF5AEB35" { - "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\门\\双扇平开防火子母门.rfa" - "TargetName" = "8:双扇平开防火子母门.rfa" + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\明装筒灯.jpg" + "TargetName" = "8:明装筒灯.jpg" "Tag" = "8:" - "Folder" = "8:_E72FF5B6871B4CAD9DD292E024751230" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" @@ -2557,12 +3063,12 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CD6689FCC66148918EC6F4D46B86573D" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CC98C16F36814E47B7A071BA0E2D6EC0" { - "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\吊灯.png" - "TargetName" = "8:吊灯.png" + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\门\\双扇平开防火子母门.rfa" + "TargetName" = "8:双扇平开防火子母门.rfa" "Tag" = "8:" - "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Folder" = "8:_E72FF5B6871B4CAD9DD292E024751230" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" @@ -2648,6 +3154,26 @@ "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D6A7E4B99C23400D92F66E00F963106E" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\芝麻灰花岗岩.jpg" + "TargetName" = "8:芝麻灰花岗岩.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D7CE0EFBE9E549AF95F204F2459A3AAE" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\Texture\\验视台卡.jpg" @@ -2668,6 +3194,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D8C459AAFD1246DCAF4AC41887783B66" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\枫木免漆板.jpg" + "TargetName" = "8:枫木免漆板.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D8D84847A8CD46DDB4C769FD75A4F0D8" { "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\开关\\单联开关 - 暗装.rfa" @@ -2768,6 +3314,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E10599C3B2CE4DEBBBC6CE21EAD8FFCA" + { + "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\矿棉板吊顶.jpg" + "TargetName" = "8:矿棉板吊顶.jpg" + "Tag" = "8:" + "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E26E0990C8FE2CD4B9BDF57F61611379" { "AssemblyRegister" = "3:1" @@ -2919,26 +3485,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F096D99831204118A26826E7C92C0142" - { - "SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\MainMaterials\\黑钛不锈钢(哑光).png" - "TargetName" = "8:黑钛不锈钢(哑光).png" - "Tag" = "8:" - "Folder" = "8:_39AC4D3278AD4B5FBAB245C54BDCB334" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_F3DBE5F365DC458EBC7E4BD1CFCF285D" { "AssemblyRegister" = "3:1" @@ -3284,15 +3830,15 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:菜鸟驿站工具集" - "ProductCode" = "8:{955919C6-9AC0-4F22-A967-B744811AC465}" - "PackageCode" = "8:{5DBA2E94-5B58-46D5-B369-FB7A2BF796C3}" + "ProductCode" = "8:{24CA1B74-49E9-4106-ACB0-2312A355990C}" + "PackageCode" = "8:{5DB6F108-28BF-41FB-8CDC-0870AB1752DA}" "UpgradeCode" = "8:{127EC3EC-7539-468B-84EA-E1ECDD6204E6}" "AspNetVersion" = "8:2.0.50727.0" "RestartWWWService" = "11:FALSE" "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:TRUE" - "ProductVersion" = "8:1.0.7" + "ProductVersion" = "8:1.0.8" "Manufacturer" = "8:YTX Engineering" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:"