update file

This commit is contained in:
GG Z
2021-06-08 15:56:12 +08:00
parent 7cc0dbfd5c
commit a3f6bdcc32
67 changed files with 1060 additions and 758 deletions

View File

@@ -37,6 +37,7 @@ namespace RookieStation.PackAreaModule
catch (Exception ex)
{
TaskDialog.Show("错误", ex.Message);
Log.WriteLog(ex.Message);
}
finally
{

View File

@@ -18,7 +18,7 @@ namespace RookieStation.CommonTools
UIApplication uiapp = commandData.Application;
UIDocument uidoc = uiapp.ActiveUIDocument;
//var dpid = new DockablePaneId(PaneIdentifiers.GetManagerPaneIdentifier());
var library_directory = UserConstant.LibraryPreDirectory;
var library_directory = UserConstant.FamilyLibraryDirectory;
System.Diagnostics.Process.Start(library_directory);
return Result.Succeeded;
}

View File

@@ -19,7 +19,7 @@ namespace RookieStation
UIDocument uidoc = uiapp.ActiveUIDocument;
Autodesk.Revit.ApplicationServices.Application app = uiapp.Application;
Document doc = uidoc.Document;
ICollection<ImportInstance> instances = new FilteredElementCollector(doc).OfClass(typeof(ImportInstance)).Cast<ImportInstance>().ToList();
var instances = new FilteredElementCollector(doc).OfClass(typeof(ImportInstance)).Cast<ImportInstance>();
List<Curve> curves = new List<Curve>();
var geometryElement = instances.First().get_Geometry(new Options());

View File

@@ -20,10 +20,9 @@ namespace RookieStation
Document doc = uidoc.Document;
//var instance = doc.GetElement(uidoc.Selection.PickObject(ObjectType.Element, new ShelvesFilter(), "请选择货架")) as FamilyInstance;
List<FamilyInstance> instances = uidoc.Selection.PickObjects(ObjectType.Element, "请选择货架")
var instances = uidoc.Selection.PickObjects(ObjectType.Element, "请选择货架")
.Select(x => doc.GetElement(x))
.Cast<FamilyInstance>()
.ToList();
.Cast<FamilyInstance>();
ReferenceArray refArry = new ReferenceArray();
List<Face> reffaces = new List<Face>();
@@ -34,7 +33,7 @@ namespace RookieStation
Line line = Line.CreateUnbound(p, v);
//createoffest需要根据线的方向和参考方向进行叉乘
var line1 = line.CreateOffset(1000 / 304.8, XYZ.BasisZ) as Line;
if (instances.Count < 1)
if (instances.Count() < 1)
{
return Result.Cancelled;
}

View File

@@ -87,7 +87,7 @@ namespace RookieStation.PackAreaModule
fis = new List<FamilyInstance>();
Level level = uidoc.ActiveView.GenLevel;
Family gate_family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.LibraryPreDirectory + "Gate\\闸机.rfa");
Family gate_family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.FamilyLibraryDirectory + "Gate\\闸机.rfa");
ElementId symbol_id = gate_family.GetFamilySymbolIds().FirstOrDefault();
FamilySymbol gate_symbol = doc.GetElement(symbol_id) as FamilySymbol;
offest = gate_symbol.GetParameters("深度").FirstOrDefault().AsDouble() / 2;

View File

@@ -98,7 +98,7 @@ namespace RookieStation.PackAreaModule
List<XYZ> pts = new List<XYZ>();
doc.Invoke(ts =>
{
Family gate_family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.LibraryPreDirectory + "Gate\\L型收检台.rfa");
Family gate_family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.FamilyLibraryDirectory + "Gate\\L型收检台.rfa");
IEnumerable<ElementId> left_symbolId = from id in gate_family.GetFamilySymbolIds()
where doc.GetElement(id).Name == "左"
select id;

View File

@@ -9,7 +9,7 @@ using System.IO;
using System.Linq;
using System.Windows;
namespace RookieStation.CommonTools
namespace RookieStation.Finishes
{
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
[Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)]
@@ -26,8 +26,8 @@ namespace RookieStation.CommonTools
FamilySymbol symbol;
WpfFloorFinishes floorCovering = CommonUtils.GenerateWindow<WpfFloorFinishes>();
var rooms = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Rooms).ToList();
if (rooms.Count == 0)
var roomcounts = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Rooms).OfClass(typeof(Room)).GetElementCount();
if (roomcounts == 0)
{
TaskDialog.Show("温馨提示", "项目中当前没有房间");
return Result.Cancelled;
@@ -208,7 +208,7 @@ namespace RookieStation.CommonTools
trans.Start();
//删除模型线
doc.Delete(modelCurveIds);
family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.LibraryPreDirectory + "FloorFinish\\地砖.rfa");
family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.FamilyLibraryDirectory + "FloorFinish\\地砖.rfa");
ElementId symbolId = family.GetFamilySymbolIds().FirstOrDefault();
symbol = doc.GetElement(symbolId) as FamilySymbol;
symbol.Activate();

View File

@@ -30,8 +30,8 @@ namespace RookieStation.PackAreaModule
double lrdistance = 0.0;
double fbdistance = 0.0;
var rooms = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Rooms).ToList();
if (rooms.Count == 0)
var roomcounts = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Rooms).GetElementCount();
if (roomcounts == 0)
{
TaskDialog.Show("温馨提示", "项目中当前没有房间");
return Result.Cancelled;
@@ -192,7 +192,7 @@ namespace RookieStation.PackAreaModule
trans.Start();
//删除模型线
doc.Delete(modelCurveIds);
family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.LibraryPreDirectory + "Lamp\\成品吊灯.rfa");
family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.FamilyLibraryDirectory + "Lamp\\成品吊灯.rfa");
ElementId symbolId = family.GetFamilySymbolIds().FirstOrDefault();
symbol = doc.GetElement(symbolId) as FamilySymbol;
symbol.Activate();

View File

@@ -220,7 +220,7 @@ namespace RookieStation.ShippingAreaModule
FamilyInstance signage = null;
doc.Invoke(ts =>
{
family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.LibraryPreDirectory + "Sign\\菜鸟使命.rfa");
family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.FamilyLibraryDirectory + "Sign\\菜鸟使命.rfa");
ElementId symbolId = family.GetFamilySymbolIds().FirstOrDefault();
symbol = doc.GetElement(symbolId) as FamilySymbol;
symbol.Activate();
@@ -249,7 +249,7 @@ namespace RookieStation.ShippingAreaModule
FamilyInstance reception = null;
doc.Invoke(ts =>
{
family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.LibraryPreDirectory + "Furniture\\寄件接待台.rfa");
family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.FamilyLibraryDirectory + "Furniture\\寄件接待台.rfa");
ElementId symbolId = family.GetFamilySymbolIds().FirstOrDefault();
symbol = doc.GetElement(symbolId) as FamilySymbol;
symbol.Activate();
@@ -268,7 +268,7 @@ namespace RookieStation.ShippingAreaModule
FamilyInstance logo = null;
doc.Invoke(ts =>
{
family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.LibraryPreDirectory + "Sign\\菜鸟LOGO.rfa");
family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.FamilyLibraryDirectory + "Sign\\菜鸟LOGO.rfa");
ElementId symbolId = family.GetFamilySymbolIds().FirstOrDefault(id => doc.GetElement(id).Name == glow_text_symbol);
symbol = doc.GetElement(symbolId) as FamilySymbol;
symbol.Activate();
@@ -286,7 +286,7 @@ namespace RookieStation.ShippingAreaModule
doc.Invoke(ts =>
{
family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.LibraryPreDirectory + "Lamp\\圆形吊灯.rfa");
family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.FamilyLibraryDirectory + "Lamp\\圆形吊灯.rfa");
ElementId symbolId = family.GetFamilySymbolIds().FirstOrDefault();
symbol = doc.GetElement(symbolId) as FamilySymbol;
symbol.Activate();

View File

@@ -149,7 +149,7 @@ namespace RookieStation.PackAreaModule
XYZ final_point = XYZ.Zero;
doc.Invoke(ts =>
{
shelf_family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.LibraryPreDirectory + "Shelf\\单联货架.rfa");
shelf_family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.FamilyLibraryDirectory + "Shelf\\单联货架.rfa");
var shelf_symbol_ids = shelf_family.GetFamilySymbolIds();
foreach (var id in shelf_symbol_ids)
{
@@ -504,7 +504,7 @@ namespace RookieStation.PackAreaModule
{
var shelfwidth = fi.Symbol.GetParameters("宽度").FirstOrDefault().AsDouble();
Family card = RsRevitUtils.GetLoadedFamily(doc, UserConstant.LibraryPreDirectory + "Shelf\\货架端牌.rfa");
Family card = RsRevitUtils.GetLoadedFamily(doc, UserConstant.FamilyLibraryDirectory + "Shelf\\货架端牌.rfa");
var cardsymbolIds = card.GetFamilySymbolIds();
FamilySymbol cardsymbol = null;

View File

@@ -11,7 +11,7 @@ using System.Text;
using System.Threading.Tasks;
using System.Windows.Media.Effects;
namespace RookieStation.CommonTools
namespace RookieStation.Finishes
{
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
[Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)]
@@ -24,8 +24,8 @@ namespace RookieStation.CommonTools
Autodesk.Revit.ApplicationServices.Application app = uiapp.Application;
Document doc = uidoc.Document;
List<Room> rooms = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Rooms).Cast<Room>().ToList();
if (rooms.Count == 0)
var roomcounts = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Rooms).GetElementCount();
if (roomcounts == 0)
{
TaskDialog.Show("温馨提示", "项目中当前没有房间");
return Result.Cancelled;
@@ -53,6 +53,7 @@ namespace RookieStation.CommonTools
catch (Exception ex)
{
TaskDialog.Show("错误", ex.Message);
Log.WriteLog(ex.Message);
}
finally
{

View File

@@ -14,7 +14,7 @@ namespace RookieStation
public static string AddinDirectory => System.IO.Path.GetDirectoryName(AddinPath);
internal static string LibraryPreDirectory => AddinDirectory + "\\RsLibrary\\";
internal static string FamilyLibraryDirectory => AddinDirectory + "RsLibrary\\FamilyLibrary\\";
internal static ObjectSnapTypes SnapAll =>
ObjectSnapTypes.Intersections
@@ -28,29 +28,8 @@ namespace RookieStation
| ObjectSnapTypes.Quadrants
| ObjectSnapTypes.Tangents;
private static double height;
private static int orders;
internal static double Height => Properties.Settings.Default.Height;
internal static double Height
{
get
{
//var b = double.TryParse(ProjectConfigUtil.GetCfgValue("Height"), out height);
height = Properties.Settings.Default.Height;
return height;
}
set => height = value;
}
internal static int Orders
{
get
{
//bool b = int.TryParse(ProjectConfigUtil.GetCfgValue("Orders"), out orders);
orders = Properties.Settings.Default.Orders;
return orders;
}
set => orders = value;
}
internal static int Orders => Properties.Settings.Default.Orders;
}
}

View File

@@ -169,5 +169,15 @@ namespace RookieStation.Properties {
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap WorkSchedule {
get {
object obj = ResourceManager.GetObject("WorkSchedule", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@@ -151,4 +151,7 @@
<data name="WallFinishes" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\resources\wallfinishes.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="WorkSchedule" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\WorkSchedule.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

View File

@@ -2,7 +2,7 @@
<RevitAddIns>
<AddIn Type="Application">
<Name>菜鸟驿站插件</Name>
<Assembly>RookieStation.dll</Assembly>
<Assembly>\RsLibrary\RookieStation.dll</Assembly>
<ClientId>1aac8233-690c-4dd6-89c0-78221dd65497</ClientId>
<FullClassName>RookieStation.RsApp</FullClassName>
<VendorId>ADSK</VendorId>

View File

@@ -12,6 +12,7 @@
<TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -88,9 +89,10 @@
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="cmdExportWorkSchedule.cs" />
<Compile Include="CmdExportWorkSchedule.cs" />
<Compile Include="CmdLogoExtrusion.cs" />
<Compile Include="CmdPlaceWallFinishes.cs" />
<Compile Include="TestCmd.cs" />
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
@@ -105,6 +107,7 @@
<Compile Include="CmdBrowserFamily.cs" />
<Compile Include="CmdPlaceShelves.cs" />
<Compile Include="Utils\CommonUtils.cs" />
<Compile Include="Utils\Log.cs" />
<Compile Include="Utils\ViewPlanCmdEnabled.cs" />
<Compile Include="CmdPlaceEntranceGate.cs" />
<Compile Include="CmdPlaceExitGate.cs" />
@@ -162,95 +165,98 @@
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<None Include="RsLibrary\Door\幕墙门-双扇无边框.rfa">
<None Include="RsLibrary\Document\样板工程量清单.xlsx">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Door\幕墙门-玻璃门.rfa">
<None Include="RsLibrary\FamilyLibrary\Door\幕墙门-双扇无边框.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\FloorFinish\地砖.rfa">
<None Include="RsLibrary\FamilyLibrary\Door\幕墙门-玻璃门.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Furniture\寄件接待台.rfa">
<None Include="RsLibrary\FamilyLibrary\FloorFinish\地砖.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Furniture\拆包桌.rfa">
<None Include="RsLibrary\FamilyLibrary\Furniture\寄件接待台.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Gate\L型收检台.rfa">
<None Include="RsLibrary\FamilyLibrary\Furniture\拆包桌.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Gate\简易收检台.rfa">
<None Include="RsLibrary\FamilyLibrary\Gate\L型收检台.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Gate\闸机.rfa">
<None Include="RsLibrary\FamilyLibrary\Gate\简易收检台.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Lamp\吊灯.rfa">
<None Include="RsLibrary\FamilyLibrary\Gate\闸机.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Lamp\灯.rfa">
<None Include="RsLibrary\FamilyLibrary\Lamp\灯.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Shelf\三联货架.rfa">
<None Include="RsLibrary\FamilyLibrary\Lamp\筒灯.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Shelf\联货架.rfa">
<None Include="RsLibrary\FamilyLibrary\Shelf\联货架.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Shelf\联货架.rfa">
<None Include="RsLibrary\FamilyLibrary\Shelf\联货架.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Shelf\货架端牌.rfa">
<None Include="RsLibrary\FamilyLibrary\Shelf\双联货架.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Sign\侧招灯箱.rfa">
<None Include="RsLibrary\FamilyLibrary\Shelf\货架端牌.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Sign\四牌.rfa">
<None Include="RsLibrary\FamilyLibrary\Sign\侧招灯箱.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Sign\地贴.rfa">
<None Include="RsLibrary\FamilyLibrary\Sign\四牌.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Sign\贴.rfa">
<None Include="RsLibrary\FamilyLibrary\Sign\贴.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Sign\常规门头.rfa">
<None Include="RsLibrary\FamilyLibrary\Sign\墙贴.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Sign\玻璃贴.rfa">
<None Include="RsLibrary\FamilyLibrary\Sign\常规门头.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Sign\菜鸟LOGO.rfa">
<None Include="RsLibrary\FamilyLibrary\Sign\玻璃贴.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Sign\菜鸟使命.rfa">
<None Include="RsLibrary\FamilyLibrary\Sign\菜鸟LOGO.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\Sign\防撞条.rfa">
<None Include="RsLibrary\FamilyLibrary\Sign\菜鸟使命.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\WallFinish\校园文化墙.rfa" />
<None Include="RsLibrary\台卡.rfa">
<None Include="RsLibrary\FamilyLibrary\Sign\防撞条.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\定位线.rfa">
<None Include="RsLibrary\FamilyLibrary\WallFinish\校园文化墙.rfa" />
<None Include="RsLibrary\FamilyLibrary\台卡.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\寄件收费标准.rfa">
<None Include="RsLibrary\FamilyLibrary\定位线.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\快递指导规范.rfa">
<None Include="RsLibrary\FamilyLibrary\寄件收费标准.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\绿动箱.rfa">
<None Include="RsLibrary\FamilyLibrary\快递指导规范.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\背景墙.rfa">
<None Include="RsLibrary\FamilyLibrary\绿动箱.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\菜鸟驿站.rte" />
<None Include="RsLibrary\FamilyLibrary\背景墙.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\FamilyLibrary\菜鸟驿站.rte" />
<None Include="packages.config" />
<None Include="RookieStation.addin">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
@@ -307,6 +313,7 @@
</ItemGroup>
<ItemGroup>
<Content Include="Resources\WallFinishes.png" />
<None Include="Resources\WorkSchedule.png" />
<Content Include="RsLibrary\Texture\免费WiFi.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>

View File

@@ -18,6 +18,7 @@ namespace RookieStation
private const string ReceptionPanelName = "前台布置";
private const string EntranceAndExitGatePanelName = "取件区";
private const string FinishesPanelName = "饰面,完成面";
private const string StatisticsPanelName = "统计";
private const string CommonTools = "通用工具";
//获取Ribbon类所在的通用类库目录
@@ -111,7 +112,7 @@ namespace RookieStation
//饰面,完成面
RibbonPanel finishesPanel = application.CreateRibbonPanel(TabName, FinishesPanelName);
PushButtonData floorfinishesPBD = new PushButtonData("地面铺装", "地面铺装", AddInPath, "RookieStation.CommonTools.CmdPlaceFloorFinishes")
PushButtonData floorfinishesPBD = new PushButtonData("地面铺装", "地面铺装", AddInPath, "RookieStation.Finishes.CmdPlaceFloorFinishes")
{
LargeImage = ConvertFromBitmap(Properties.Resources.FloorFinishes),
Image = ConvertFromBitmap(Properties.Resources.FloorFinishes)
@@ -119,13 +120,22 @@ namespace RookieStation
var floorcoveringbtn = (PushButton)finishesPanel.AddItem(floorfinishesPBD);
floorcoveringbtn.AvailabilityClassName = "RookieStation.ViewPlanCmdEnabled";
PushButtonData wallcoveringPBD = new PushButtonData("墙饰面", "墙饰面", AddInPath, "RookieStation.CommonTools.CmdPlaceWallFinishes")
PushButtonData wallcoveringPBD = new PushButtonData("墙饰面", "墙饰面", AddInPath, "RookieStation.Finishes.CmdPlaceWallFinishes")
{
LargeImage = ConvertFromBitmap(Properties.Resources.WallFinishes),
Image = ConvertFromBitmap(Properties.Resources.WallFinishes)
};
var wallcoveringbtn = (PushButton)finishesPanel.AddItem(wallcoveringPBD);
wallcoveringbtn.AvailabilityClassName = "RookieStation.ViewPlanCmdEnabled";
//统计面板
RibbonPanel statisticsPanel = application.CreateRibbonPanel(TabName, StatisticsPanelName);
PushButtonData statisticsfamilyPBD = new PushButtonData("输出统计表", "工程量统计", AddInPath, "RookieStation.Statistics.CmdExportWorkSchedule")
{
LargeImage = ConvertFromBitmap(Properties.Resources.WorkSchedule),
Image = ConvertFromBitmap(Properties.Resources.WorkSchedule)
};
statisticsPanel.AddItem(statisticsfamilyPBD);
//通用面板
RibbonPanel commonToolsPanel = application.CreateRibbonPanel(TabName, CommonTools);
@@ -134,7 +144,7 @@ namespace RookieStation
LargeImage = ConvertFromBitmap(Properties.Resources.FamilyLib),
Image = ConvertFromBitmap(Properties.Resources.FamilyLib)
};
var browserfamilybtn = (PushButton)commonToolsPanel.AddItem(browserfamilyPBD);
commonToolsPanel.AddItem(browserfamilyPBD);
return Result.Succeeded;

52
RookieStation/TestCmd.cs Normal file
View File

@@ -0,0 +1,52 @@
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace RookieStation
{
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
[Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)]
internal class TestCmd : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
UIApplication uiapp = commandData.Application;
UIDocument uidoc = uiapp.ActiveUIDocument;
Autodesk.Revit.ApplicationServices.Application app = uiapp.Application;
Document doc = uidoc.Document;
DocumentSet docset = uiapp.Application.Documents;
ICollection<Element> sys = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_FurnitureSystems).OfClass(typeof(FamilyInstance)).ToElements();
foreach (FamilyInstance sy in sys)
{
if (sy.Symbol.FamilyName.Contains("亚克力"))
{
TaskDialog.Show("提示", "存在");
}
}
using (Transaction trans = new Transaction(doc, "cmd"))
{
try
{
trans.Start();
//Do Something.
trans.Commit();
}
catch (Exception ex)
{
message = ex.Message;
if (trans.GetStatus() == TransactionStatus.Started)
{
trans.RollBack();
}
return Result.Cancelled;
}
}
return Result.Succeeded;
}
}
}

View File

@@ -73,6 +73,7 @@ namespace RookieStation.Utils
catch (Exception ex)
{
TaskDialog.Show("错误", ex.Message);
Log.WriteLog(ex.Message);
}
finally
{

View File

@@ -154,8 +154,8 @@ namespace RookieStation.Utils
///给第一个表中的单元格赋值
/// </summary>
/// <param name="fileName"></param>
/// <param name="rowNum"></param>
/// <param name="ColumnNum"></param>
/// <param name="rowNum">从1开始</param>
/// <param name="ColumnNum">从1开始</param>
/// <param name="value"></param>
public static void EditCellValue(string fileName, int rowNum, int ColumnNum, string value)
{
@@ -164,7 +164,7 @@ namespace RookieStation.Utils
{
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
ExcelWorksheet sheet = package.Workbook.Worksheets[0];
string filename = System.IO.Path.GetFileNameWithoutExtension(fileName);
//string filename = System.IO.Path.GetFileNameWithoutExtension(fileName);
sheet.Cells[rowNum, ColumnNum].Value = value;
package.Save();
}
@@ -185,7 +185,7 @@ namespace RookieStation.Utils
{
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
ExcelWorksheet sheet = package.Workbook.Worksheets[sheetname];
string filename = System.IO.Path.GetFileNameWithoutExtension(fileName);
//string filename = System.IO.Path.GetFileNameWithoutExtension(fileName);
sheet.Cells[rowNum, ColumnNum].Value = value;
package.Save();
}
@@ -206,7 +206,7 @@ namespace RookieStation.Utils
{
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
ExcelWorksheet sheet = package.Workbook.Worksheets[0];
string filename = System.IO.Path.GetFileNameWithoutExtension(fileName);
//string filename = System.IO.Path.GetFileNameWithoutExtension(fileName);
sheet.Cells[cellName].Value = value;
package.Save();
}

View File

@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace RookieStation.Utils
{
internal class Log
{
public static void WriteLog(string strLog)
{
try
{
string logFolder = UserConstant.FamilyLibraryDirectory + "\\Log";
string logFile = Path.Combine(logFolder, DateTime.Now.ToString("yyyyMMdd") + ".log");
if (!Directory.Exists(logFolder))
Directory.CreateDirectory(logFolder);
FileStream fs;
StreamWriter sw;
if (File.Exists(logFile))
fs = new FileStream(logFile, FileMode.Append, FileAccess.Write);
else
fs = new FileStream(logFile, FileMode.Create, FileAccess.Write);
sw = new StreamWriter(fs);
sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss-ffff : ") + strLog);
sw.Close();
fs.Close();
}
catch
{ }
}
}
}

View File

@@ -11,6 +11,36 @@ namespace RookieStation.Utils
{
internal static class RsRevitUtils
{
/// <summary>
/// 英尺转米
/// </summary>
/// <param name="valuetoconvert"></param>
/// <returns></returns>
public static double FtConvertToM(double valuetoconvert)
{
return UnitUtils.ConvertFromInternalUnits(valuetoconvert, DisplayUnitType.DUT_METERS);
}
/// <summary>
/// 平方英尺转平方米
/// </summary>
/// <param name="valuetoconvert"></param>
/// <returns></returns>
public static double SFConvertToSM(double valuetoconvert)
{
return UnitUtils.ConvertFromInternalUnits(valuetoconvert, DisplayUnitType.DUT_SQUARE_METERS);
}
/// <summary>
/// 英尺转换成毫米单位
/// </summary>
/// <param name="valuetoconvert"></param>
/// <returns></returns>
public static double FtConvertToMM(double valuetoconvert)
{
return UnitUtils.ConvertFromInternalUnits(valuetoconvert, DisplayUnitType.DUT_MILLIMETERS);
}
/// <summary>
/// 通过名称获取默认的墙类型完整厚度
/// </summary>
@@ -115,7 +145,7 @@ namespace RookieStation.Utils
{
//Autodesk.Revit.ApplicationServices.Application.CurrentUsersDataFolderPath
string oriDatei = @"" + Environment.GetEnvironmentVariable("appdata") + @"\Autodesk\Revit\Autodesk Revit 2020\Revit.ini";
string tmpDatei = UserConstant.LibraryPreDirectory + "\\Rs.ini";
string tmpDatei = UserConstant.FamilyLibraryDirectory + "\\Rs.ini";
if (System.IO.File.Exists(oriDatei))
{
@@ -128,7 +158,7 @@ namespace RookieStation.Utils
{
if (inputLine.StartsWith("DefaultTemplate="))
{
inputLine.Insert(16, UserConstant.LibraryPreDirectory + "\\菜鸟驿站.rte,");
inputLine.Insert(16, UserConstant.FamilyLibraryDirectory + "\\菜鸟驿站.rte,");
//if (inputLine.Contains("Example_SCHEMA.rte"))
//{
//}
@@ -151,7 +181,7 @@ namespace RookieStation.Utils
FamilySymbol linesymbol = null;
doc.Invoke(ts =>
{
Family linefamily = GetLoadedFamily(doc, UserConstant.LibraryPreDirectory + "定位线.rfa");
Family linefamily = GetLoadedFamily(doc, UserConstant.FamilyLibraryDirectory + "定位线.rfa");
linesymbol = doc.GetElement(linefamily.GetFamilySymbolIds().FirstOrDefault()) as FamilySymbol;
}, "载入定位线并布置");

View File

@@ -38,7 +38,7 @@ namespace RookieStation
}
else
{
TaskDialog.Show("错误消息", "参数有误");
TaskDialog.Show("温馨提示", "参数有误");
}
bool isCoutine = true;
@@ -58,7 +58,7 @@ namespace RookieStation
var hand = shelf.HandOrientation;
var width = shelf.Symbol.GetParameters("宽度").FirstOrDefault().AsDouble();
Family family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.LibraryPreDirectory + "Shelf\\货架端牌.rfa");
Family family = RsRevitUtils.GetLoadedFamily(doc, UserConstant.FamilyLibraryDirectory + "Shelf\\货架端牌.rfa");
var symbolIds = family.GetFamilySymbolIds();
@@ -158,7 +158,7 @@ namespace RookieStation
}
else
{
TaskDialog.Show("错误消息", "参数有误");
TaskDialog.Show("温馨提示", "参数有误");
}
bool isContinue = true;

View File

@@ -57,7 +57,7 @@ namespace RookieStation
}
else
{
TaskDialog.Show("错误消息", "请输入所需参数");
TaskDialog.Show("温馨提示", "请输入所需参数");
}
}

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@@ -18,12 +18,11 @@
</setting>
<setting name="Shelves" serializeAs="Xml">
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>单个,1500,400</string>
</ArrayOfString>
</value>
</setting>
</RookieStation.Properties.Settings>
</userSettings>
</configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7"/></startup></configuration>

View File

@@ -3,31 +3,103 @@ using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Electrical;
using Autodesk.Revit.DB.Plumbing;
using Autodesk.Revit.UI;
using OfficeOpenXml;
using RookieStation.Utils;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static OfficeOpenXml.ExcelErrorValue;
namespace RookieStation.CommonTools
namespace RookieStation.Statistics
{
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
internal class cmdExportWorkSchedule : IExternalCommand
internal class CmdExportWorkSchedule : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
UIApplication uiapp = commandData.Application;
UIDocument uidoc = uiapp.ActiveUIDocument;
Document doc = uidoc.Document;
string filename = UserConstant.AddinDirectory + "\\RsLibrary\\Document\\样板工程量清单.xlsx";
SaveFileDialog sfd = new SaveFileDialog()
{
Filter = "Excel文件|*.xlsx"
};
//VistaFolderBrowserDialog dialog = new VistaFolderBrowserDialog()
//{
// Multiselect = false,
//};
string destinationfilename = string.Empty;
if (sfd.ShowDialog() == DialogResult.OK)
{
destinationfilename = sfd.FileName;
File.Copy(filename, destinationfilename, true);
}
if (destinationfilename == string.Empty)
{
return Result.Cancelled;
}
//白色乳胶漆
double wall_blankemulsionpaint_area = 0.0;
//灰色乳胶漆
double wall_greyemulsionpaint_area = 0.0;
double wall_Skirting_area = 0.0;
//踢脚线
double wall_Skirting_length = 0.0;
//铝塑板
double wall_aluminum_plastic_panel_area = 0.0;
//轻钢龙骨
double wall_steel_panel_area = 0.0;
//桥架
double cabletray_length = 0.0;
//消防管
double pipe_length = 0.0;
var walls = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).OfClass(typeof(Wall)).ToList();
//寄件台
double reception_desk_length = 0;
//绿动箱
int green_recycling_box_num = 0;
int Trash_can_num = 0;
int shelf_num = 0;
string shelf_size = string.Empty;
int shelf_card_num = 0;
int high_cam = 0;
int cainiao_duty_num = 0;
//防撞条长度
double containment_length = 0.0;
//标识牌
int signage_num = 0;
//地贴
int ground_signage_num = 0;
//侧招灯箱
int light_box_num = 0;
//海报
int poster_num = 0;
//亚克力不发光字
int text_num = 0;
//闸机
int extrance_gate_num = 0;
//收检台
int exit_gate_desk_num = 0;
//配电箱
int switching_cabinet_num = 0;
//从开关
int switch_num = 0;
//插座
int socket_num = 0;
//射灯
int spotlight_num = 0;
//筒灯
int downlight_num = 0;
//吊灯
int chandelier_num = 0;
int bracket_light_num = 0;
var walls = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).OfClass(typeof(Wall));
foreach (Wall wall in walls)
{
if (wall.Name.Contains("灰色乳胶漆"))
@@ -40,101 +112,211 @@ namespace RookieStation.CommonTools
}
else if (wall.Name.Contains("黑钛不锈钢"))
{
wall_Skirting_area += wall.get_Parameter(BuiltInParameter.HOST_AREA_COMPUTED).AsDouble();
wall_Skirting_length += wall.get_Parameter(BuiltInParameter.CURVE_ELEM_LENGTH).AsDouble();
}
else if (wall.Name.Contains("铝塑板"))
{
wall_aluminum_plastic_panel_area += wall.get_Parameter(BuiltInParameter.HOST_AREA_COMPUTED).AsDouble();
}
else if (wall.Name.Contains("轻钢龙骨"))
{
wall_steel_panel_area += wall.get_Parameter(BuiltInParameter.HOST_AREA_COMPUTED).AsDouble();
}
var pipes = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_PipeCurves).OfClass(typeof(Pipe)).ToList();
}
var pipes = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_PipeCurves).OfClass(typeof(Pipe));
foreach (Pipe p in pipes)
{
pipe_length += p.get_Parameter(BuiltInParameter.CURVE_ELEM_LENGTH).AsDouble();
}
var cts = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_CableTray).OfClass(typeof(CableTray)).ToList();
var cts = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_CableTray).OfClass(typeof(CableTray));
foreach (CableTray ct in cts)
{
cabletray_length += ct.get_Parameter(BuiltInParameter.CURVE_ELEM_LENGTH).AsDouble();
}
var lights = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_LightingFixtures).OfClass(typeof(FamilyInstance)).ToList();
foreach (var light in lights)
var lights = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_LightingFixtures).OfClass(typeof(FamilyInstance));
foreach (FamilyInstance light in lights)
{
if (light.Name.Contains("荧光灯"))
if (light.Symbol.FamilyName.Contains("支架灯"))
{
bracket_light_num += 1;
}
else if (light.Name.Contains("筒灯"))
else if (light.Symbol.FamilyName.Contains("筒灯"))
{
downlight_num += 1;
}
else if (light.Name.Contains("吊灯"))
else if (light.Symbol.FamilyName.Contains("吊灯"))
{
chandelier_num += 1;
}
else if (light.Name.Contains("射灯"))
else if (light.Symbol.FamilyName.Contains("射灯"))
{
spotlight_num += 1;
}
}
var sockets = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_ElectricalFixtures).OfClass(typeof(FamilyInstance)).ToList();
var sockets = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_ElectricalFixtures).OfClass(typeof(FamilyInstance));
foreach (var socket in sockets)
foreach (FamilyInstance socket in sockets)
{
if (socket.Name.Contains("二三孔"))
if (socket.Symbol.FamilyName.Contains("二三孔"))
{
socket_num += 1;
}
else if (socket.Symbol.FamilyName.Contains("数据信息"))
{
socket_num += 1;
}
}
var switchs = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_LightingDevices).OfClass(typeof(FamilyInstance));
foreach (FamilyInstance swit in switchs)
{
if (swit.Symbol.FamilyName.Contains("单联") && swit.Name.Contains("单控"))
{
switch_num += 1;
}
}
var furnitures = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Furniture).OfClass(typeof(FamilyInstance));
foreach (FamilyInstance furn in furnitures)
{
if (furn.Symbol.FamilyName.Contains("收检台"))
{
if (!furn.Symbol.FamilyName.Contains("大样"))
{
exit_gate_desk_num += 1;
}
}
else if (furn.Symbol.FamilyName.Contains("接待台"))
{
reception_desk_length = furn.Symbol.GetParameters("台面长度").FirstOrDefault().AsDouble();
}
else if (furn.Symbol.FamilyName.Contains("绿动箱"))
{
if (!furn.Symbol.FamilyName.Contains("大样"))
{
green_recycling_box_num += 1;
if (furn.Symbol.Name.Contains("1500"))
{
Trash_can_num += 2;
}
else
{
Trash_can_num += 1;
}
}
}
else if (furn.Symbol.FamilyName.Contains("货架"))
{
shelf_num += 1;
}
}
var furnituressystem = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_FurnitureSystems).OfClass(typeof(FamilyInstance));
foreach (FamilyInstance furnsys in furnituressystem)
{
if (furnsys.Symbol.FamilyName.Contains("端牌"))
{
shelf_card_num += 1;
}
else if (furnsys.Symbol.FamilyName.Contains("使命"))
{
cainiao_duty_num += 1;
}
else if (furnsys.Symbol.FamilyName.Contains("防撞条"))
{
containment_length += furnsys.get_Parameter(BuiltInParameter.FAMILY_LINE_LENGTH_PARAM).AsDouble();
}
else if (furnsys.Symbol.FamilyName.Contains("标识"))
{
signage_num += 1;
}
else if (furnsys.Symbol.FamilyName.Contains("亚克力"))
{
text_num += furnsys.GetParameters("文字").FirstOrDefault().AsString().Length;
}
else if (furnsys.Symbol.FamilyName.Contains("地贴"))
{
ground_signage_num += 1;
}
else if (furnsys.Symbol.FamilyName.Contains("灯箱"))
{
light_box_num += 1;
}
else if (furnsys.Symbol.FamilyName.Contains("海报"))
{
poster_num += 1;
}
}
var equipments = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_SpecialityEquipment).OfClass(typeof(FamilyInstance));
foreach (FamilyInstance equip in equipments)
{
if (equip.Symbol.FamilyName.Contains("闸机"))
{
extrance_gate_num += 1;
}
else if (equip.Symbol.FamilyName.Contains("高拍仪"))
{
high_cam += 1;
}
}
var doors = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Doors).OfClass(typeof(FamilyInstance));
foreach (FamilyInstance door in doors)
{
if (door.Symbol.FamilyName.Contains("卷帘"))
{
}
else if (socket.Name.Contains("数据信息"))
else if (door.Symbol.FamilyName.Contains("卷帘"))
{
}
}
var switchs = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_LightingDevices).OfClass(typeof(FamilyInstance)).ToList();
foreach (var swit in switchs)
{
if (swit.Name.Contains("单联") && swit.Name.Contains("单控"))
FileInfo fi = new FileInfo(destinationfilename);
using (ExcelPackage package = new ExcelPackage(fi))
{
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
ExcelWorksheet sheet0 = package.Workbook.Worksheets["汇总表"];
ExcelWorksheet sheet1 = package.Workbook.Worksheets["基装"];
//消防管
sheet1.Cells[8, 7].Value = RsRevitUtils.FtConvertToM(pipe_length);
//桥架
sheet1.Cells[9, 7].Value = RsRevitUtils.FtConvertToM(cabletray_length);
//乳胶漆
sheet1.Cells[10, 7].Value = RsRevitUtils.SFConvertToSM(wall_blankemulsionpaint_area + wall_greyemulsionpaint_area);
//铝塑板
sheet1.Cells[11, 7].Value = RsRevitUtils.SFConvertToSM(wall_aluminum_plastic_panel_area);
sheet1.Cells[14, 7].Value = RsRevitUtils.SFConvertToSM(wall_steel_panel_area);
//踢脚线
sheet1.Cells[19, 7].Value = RsRevitUtils.FtConvertToM(wall_Skirting_length);
sheet1.Cells[24, 7].Value = RsRevitUtils.FtConvertToM(reception_desk_length);
sheet1.Cells[25, 7].Value = green_recycling_box_num;
sheet1.Cells[26, 7].Value = exit_gate_desk_num;
sheet1.Cells[32, 7].Value = switching_cabinet_num;
//为什么和桥架乳胶漆长度不一样
sheet1.Cells[33, 7].Value = RsRevitUtils.FtConvertToM(cabletray_length);
sheet1.Cells[39, 7].Value = socket_num;
sheet1.Cells[40, 7].Value = switch_num;
sheet1.Cells[41, 7].Value = chandelier_num;
sheet1.Cells[42, 7].Value = spotlight_num;
sheet1.Cells[46, 7].Value = downlight_num;
sheet1.Cells[47, 7].Value = bracket_light_num;
ExcelWorksheet sheet2 = package.Workbook.Worksheets["道具"];
//sheet2.Cells[8, 6].Value = UnitUtils.ConvertFromInternalUnits(pipe_length, DisplayUnitType.DUT_METERS);
sheet2.Cells[4, 7].Value = Trash_can_num;
sheet2.Cells[5, 7].Value = extrance_gate_num;
ExcelWorksheet sheet3 = package.Workbook.Worksheets["品牌模块"];
//sheet3.Cells[8, 6].Value = UnitUtils.ConvertFromInternalUnits(pipe_length, DisplayUnitType.DUT_METERS);
sheet3.Cells[7, 6].Value = light_box_num;
sheet3.Cells[9, 6].Value = text_num;
sheet3.Cells[10, 6].Value = text_num;
sheet3.Cells[11, 6].Value = signage_num;
sheet3.Cells[14, 6].Value = cainiao_duty_num;
sheet3.Cells[16, 6].Value = RsRevitUtils.FtConvertToM(containment_length);
sheet3.Cells[17, 6].Value = ground_signage_num;
sheet3.Cells[18, 6].Value = shelf_card_num;
sheet3.Cells[19, 6].Value = shelf_num;
package.Save();
}
}
var furnitures = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Furniture).OfClass(typeof(FamilyInstance)).ToList();
foreach (var furn in furnitures)
{
if (furn.Name.Contains("收检台"))
{
}
else if (furn.Name.Contains("接待台"))
{
}
else if (furn.Name.Contains("绿动箱"))
{
}
else if (furn.Name.Contains("货架"))
{
}
}
var furnituressystem = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_FurnitureSystems).OfClass(typeof(FamilyInstance)).ToList();
foreach (var furn in furnitures)
{
if (furn.Name.Contains("端牌"))
{
}
}
var equipments = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_SpecialityEquipment).OfClass(typeof(FamilyInstance)).ToList();
foreach (var equip in equipments)
{
if (equip.Name.Contains("闸机"))
{
}
else if (equip.Name.Contains("高拍仪"))
{
//ExcelUtils.EditCellValue();
}
}
var doors = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Doors).OfClass(typeof(FamilyInstance)).ToList();
foreach (var door in doors)
{
if (door.Name.Contains("卷帘"))
{
}
else if (door.Name.Contains("卷帘"))
{
}
}
System.Diagnostics.Process.Start(destinationfilename);
return Result.Succeeded;
}
}

File diff suppressed because it is too large Load Diff