加密解密,工程量表
This commit is contained in:
78
RookieStation/CommonTools/ExecuteCmd/CmdDecryptFamily.cs
Normal file
78
RookieStation/CommonTools/ExecuteCmd/CmdDecryptFamily.cs
Normal file
@@ -0,0 +1,78 @@
|
||||
using Autodesk.Revit.DB;
|
||||
using Autodesk.Revit.UI;
|
||||
using Autodesk.Revit.UI.Selection;
|
||||
using RookieStation.CommonTools.ViewModels;
|
||||
using RookieStation.Extension;
|
||||
using RookieStation.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
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
|
||||
{
|
||||
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;
|
||||
TaskDialog dialog = new TaskDialog("解密族");
|
||||
dialog.MainInstruction = "请选择当前项目解密族的范围";
|
||||
dialog.AddCommandLink(TaskDialogCommandLinkId.CommandLink1, "已使用的族");
|
||||
dialog.AddCommandLink(TaskDialogCommandLinkId.CommandLink2, "所有族");
|
||||
TaskDialogResult taskDialogResult = dialog.Show();
|
||||
if (TaskDialogResult.CommandLink1 == taskDialogResult)
|
||||
{
|
||||
var instances = new FilteredElementCollector(doc).OfClass(typeof(FamilyInstance)).Cast<FamilyInstance>();
|
||||
var distinctFamiliesUsed = instances.GroupBy(f => f.Symbol.FamilyName).Select(f => f.FirstOrDefault()).ToList().ConvertAll(f => f.Symbol.Family);
|
||||
try
|
||||
{
|
||||
doc.InvokeGroup(tg =>
|
||||
{
|
||||
EncryptOrDecryptFamily decryptFamily = new EncryptOrDecryptFamily(distinctFamiliesUsed);
|
||||
decryptFamily.IsEncrypt = false;
|
||||
decryptFamily.ProgressModal();
|
||||
}, "解密使用族");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!(ex is Autodesk.Revit.Exceptions.OperationCanceledException))
|
||||
{
|
||||
Log.WriteLog(ex.Message);
|
||||
return Result.Failed;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (TaskDialogResult.CommandLink2 == taskDialogResult)
|
||||
{
|
||||
var families = new FilteredElementCollector(doc).OfClass(typeof(Family)).Cast<Family>().ToList();
|
||||
try
|
||||
{
|
||||
doc.InvokeGroup(tg =>
|
||||
{
|
||||
EncryptOrDecryptFamily decryptFamily = new EncryptOrDecryptFamily(families);
|
||||
decryptFamily.IsEncrypt = false;
|
||||
decryptFamily.ProgressModal();
|
||||
}, "解密所有族");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!(ex is Autodesk.Revit.Exceptions.OperationCanceledException))
|
||||
{
|
||||
Log.WriteLog(ex.Message);
|
||||
return Result.Failed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return Result.Succeeded;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
using Autodesk.Revit.DB;
|
||||
using Autodesk.Revit.UI;
|
||||
using Autodesk.Revit.UI.Selection;
|
||||
using RookieStation.CommonTools.ViewModels;
|
||||
using RookieStation.Extension;
|
||||
using RookieStation.Utils;
|
||||
using System;
|
||||
@@ -22,69 +23,56 @@ namespace RookieStation.CommonTools.ExecuteCmd
|
||||
Autodesk.Revit.ApplicationServices.Application app = uiapp.Application;
|
||||
Document doc = uidoc.Document;
|
||||
DocumentSet docset = uiapp.Application.Documents;
|
||||
var instances = new FilteredElementCollector(doc).OfClass(typeof(FamilyInstance)).Cast<FamilyInstance>();
|
||||
var distinctInstances = instances.GroupBy(f => f.Symbol.FamilyName).Select(f => f.FirstOrDefault());
|
||||
TaskDialog dialog = new TaskDialog("加密族");
|
||||
dialog.MainInstruction = "请选择当前项目加密族的范围";
|
||||
dialog.AddCommandLink(TaskDialogCommandLinkId.CommandLink1, "已使用的族");
|
||||
dialog.AddCommandLink(TaskDialogCommandLinkId.CommandLink2, "所有族");
|
||||
TaskDialogResult taskDialogResult = dialog.Show();
|
||||
|
||||
try
|
||||
if (TaskDialogResult.CommandLink1 == taskDialogResult)
|
||||
{
|
||||
doc.InvokeGroup(tg =>
|
||||
{
|
||||
foreach (var ins in distinctInstances)
|
||||
var instances = new FilteredElementCollector(doc).OfClass(typeof(FamilyInstance)).Cast<FamilyInstance>();
|
||||
var distinctFamiliesUsed = instances.GroupBy(f => f.Symbol.FamilyName).Select(f => f.FirstOrDefault()).ToList().ConvertAll(f => f.Symbol.Family);
|
||||
try
|
||||
{
|
||||
var famdoc = doc.EditFamily(ins.Symbol.Family);
|
||||
var formcol = new FilteredElementCollector(famdoc).OfClass(typeof(GenericForm)).Cast<GenericForm>();
|
||||
var vcol = new FilteredElementCollector(famdoc).OfClass(typeof(Autodesk.Revit.DB.View)).Cast<Autodesk.Revit.DB.View>();
|
||||
var dimcol = new FilteredElementCollector(famdoc).OfClass(typeof(Autodesk.Revit.DB.Dimension)).Cast<Autodesk.Revit.DB.Dimension>();
|
||||
var curvecol = new FilteredElementCollector(famdoc).OfClass(typeof(Autodesk.Revit.DB.CurveElement)).Cast<Autodesk.Revit.DB.CurveElement>();
|
||||
|
||||
famdoc.Invoke(ts =>
|
||||
doc.InvokeGroup(tg =>
|
||||
{
|
||||
foreach (var view in vcol)
|
||||
{
|
||||
var elemidtohide = new List<ElementId>();
|
||||
foreach (GenericForm form in formcol)
|
||||
{
|
||||
if (form.CanBeHidden(view))
|
||||
{
|
||||
elemidtohide.Add(form.Id);
|
||||
}
|
||||
}
|
||||
foreach (Dimension dim in dimcol)
|
||||
{
|
||||
if (dim.CanBeHidden(view))
|
||||
{
|
||||
elemidtohide.Add(dim.Id);
|
||||
}
|
||||
}
|
||||
foreach (CurveElement curve in curvecol)
|
||||
{
|
||||
if (curve.CanBeHidden(view))
|
||||
{
|
||||
elemidtohide.Add(curve.Id);
|
||||
}
|
||||
}
|
||||
|
||||
if (elemidtohide.Count > 0)
|
||||
{
|
||||
view.HideElements(elemidtohide);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
famdoc.LoadFamily(doc, new RsFamilyLoadOption());
|
||||
|
||||
famdoc.Close(false);
|
||||
EncryptOrDecryptFamily encryptFamily = new EncryptOrDecryptFamily(distinctFamiliesUsed);
|
||||
encryptFamily.IsEncrypt = true;
|
||||
encryptFamily.ProgressModal();
|
||||
}, "加密使用族");
|
||||
}
|
||||
}, "加密族");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!(ex is Autodesk.Revit.Exceptions.OperationCanceledException))
|
||||
catch (Exception ex)
|
||||
{
|
||||
message = ex.Message;
|
||||
return Result.Failed;
|
||||
if (!(ex is Autodesk.Revit.Exceptions.OperationCanceledException))
|
||||
{
|
||||
Log.WriteLog(ex.Message);
|
||||
return Result.Failed;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (TaskDialogResult.CommandLink2 == taskDialogResult)
|
||||
{
|
||||
var families = new FilteredElementCollector(doc).OfClass(typeof(Family)).Cast<Family>().ToList();
|
||||
try
|
||||
{
|
||||
doc.InvokeGroup(tg =>
|
||||
{
|
||||
EncryptOrDecryptFamily encryptFamily = new EncryptOrDecryptFamily(families);
|
||||
encryptFamily.IsEncrypt = true;
|
||||
encryptFamily.ProgressModal();
|
||||
}, "加密所有族");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!(ex is Autodesk.Revit.Exceptions.OperationCanceledException))
|
||||
{
|
||||
Log.WriteLog(ex.Message);
|
||||
return Result.Failed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return Result.Succeeded;
|
||||
}
|
||||
}
|
||||
|
||||
191
RookieStation/CommonTools/ViewModels/EncryptOrDecryptFamily.cs
Normal file
191
RookieStation/CommonTools/ViewModels/EncryptOrDecryptFamily.cs
Normal file
@@ -0,0 +1,191 @@
|
||||
using Autodesk.Revit.DB;
|
||||
using RookieStation.CommonTools.Views;
|
||||
using RookieStation.Extension;
|
||||
using RookieStation.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace RookieStation.CommonTools.ViewModels
|
||||
{
|
||||
internal class EncryptOrDecryptFamily
|
||||
{
|
||||
public EncryptOrDecryptFamily(List<Family> families)
|
||||
{
|
||||
Families = families;
|
||||
}
|
||||
|
||||
public bool IsEncrypt { get; set; }
|
||||
private ProgressMonitorControl viewmodel { get; set; }
|
||||
private ProgressMonitorView CurrentUI { get; set; }
|
||||
private bool Cancel { get; set; }
|
||||
|
||||
private List<Family> Families { get; set; }
|
||||
|
||||
private delegate void ProgressBarDelegate();
|
||||
|
||||
public void ProgressModal()
|
||||
{
|
||||
if (Families.Count() == 0)
|
||||
throw new Exception("当前项目不存在族");
|
||||
|
||||
viewmodel = new ProgressMonitorControl();
|
||||
viewmodel.MaxValue = Families.Count;
|
||||
viewmodel.ProgressTitle = "族加密";
|
||||
CurrentUI = new Views.ProgressMonitorView();
|
||||
CurrentUI.DataContext = viewmodel;
|
||||
CurrentUI.Closed += CurrentUI_Closed;
|
||||
CurrentUI.ContentRendered += FireUPModal;
|
||||
|
||||
CurrentUI.ShowDialog();
|
||||
}
|
||||
|
||||
private void FireUPModal(object sender, EventArgs e)
|
||||
{
|
||||
CurrentUI.ContentRendered -= FireUPModal;
|
||||
|
||||
for (int i = 0; i < Families.Count; i++)
|
||||
{
|
||||
if (Cancel)
|
||||
break;
|
||||
viewmodel.CurrentValue += 1;
|
||||
viewmodel.CurrentContext = string.Format("总进度{1}/{2}\r\n正在对<{0}>进行处理", Families[i].Name, viewmodel.CurrentValue, viewmodel.MaxValue);
|
||||
try
|
||||
{
|
||||
if (IsEncrypt)
|
||||
{
|
||||
HideFamilyElem(Families[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
UnHideFamilyElem(Families[i]);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
CloseWindow();
|
||||
Log.WriteLog(ex.Message);
|
||||
}
|
||||
|
||||
CurrentUI.Dispatcher.Invoke(new ProgressBarDelegate(viewmodel.NotifyUI), System.Windows.Threading.DispatcherPriority.Background);
|
||||
}
|
||||
|
||||
CloseWindow();
|
||||
}
|
||||
|
||||
private void HideFamilyElem(Family family)
|
||||
{
|
||||
if (!family.IsEditable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
var famdoc = family.Document.EditFamily(family);
|
||||
var formcol = new FilteredElementCollector(famdoc).OfClass(typeof(GenericForm)).Cast<GenericForm>();
|
||||
var vcol = new FilteredElementCollector(famdoc).OfClass(typeof(Autodesk.Revit.DB.View)).Cast<Autodesk.Revit.DB.View>();
|
||||
var dimcol = new FilteredElementCollector(famdoc).OfClass(typeof(Autodesk.Revit.DB.Dimension)).Cast<Autodesk.Revit.DB.Dimension>();
|
||||
var curvecol = new FilteredElementCollector(famdoc).OfClass(typeof(Autodesk.Revit.DB.CurveElement)).Cast<Autodesk.Revit.DB.CurveElement>();
|
||||
|
||||
famdoc.Invoke(ts =>
|
||||
{
|
||||
foreach (var view in vcol)
|
||||
{
|
||||
var elemidtohide = new List<ElementId>();
|
||||
foreach (GenericForm form in formcol)
|
||||
{
|
||||
if (form.CanBeHidden(view))
|
||||
{
|
||||
elemidtohide.Add(form.Id);
|
||||
}
|
||||
}
|
||||
foreach (Dimension dim in dimcol)
|
||||
{
|
||||
if (dim.CanBeHidden(view))
|
||||
{
|
||||
elemidtohide.Add(dim.Id);
|
||||
}
|
||||
}
|
||||
foreach (CurveElement curve in curvecol)
|
||||
{
|
||||
if (curve.CanBeHidden(view))
|
||||
{
|
||||
elemidtohide.Add(curve.Id);
|
||||
}
|
||||
}
|
||||
|
||||
if (elemidtohide.Count > 0)
|
||||
{
|
||||
view.HideElements(elemidtohide);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
famdoc.LoadFamily(family.Document, new RsFamilyLoadOption());
|
||||
|
||||
famdoc.Close(false);
|
||||
}
|
||||
|
||||
private void UnHideFamilyElem(Family family)
|
||||
{
|
||||
if (!family.IsEditable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
var famdoc = family.Document.EditFamily(family);
|
||||
var formcol = new FilteredElementCollector(famdoc).OfClass(typeof(GenericForm)).Cast<GenericForm>();
|
||||
var vcol = new FilteredElementCollector(famdoc).OfClass(typeof(Autodesk.Revit.DB.View)).Cast<Autodesk.Revit.DB.View>();
|
||||
var dimcol = new FilteredElementCollector(famdoc).OfClass(typeof(Autodesk.Revit.DB.Dimension)).Cast<Autodesk.Revit.DB.Dimension>();
|
||||
var curvecol = new FilteredElementCollector(famdoc).OfClass(typeof(Autodesk.Revit.DB.CurveElement)).Cast<Autodesk.Revit.DB.CurveElement>();
|
||||
|
||||
famdoc.Invoke(ts =>
|
||||
{
|
||||
foreach (var view in vcol)
|
||||
{
|
||||
var elemidtounHide = new List<ElementId>();
|
||||
foreach (GenericForm form in formcol)
|
||||
{
|
||||
if (form.IsHidden(view))
|
||||
{
|
||||
elemidtounHide.Add(form.Id);
|
||||
}
|
||||
}
|
||||
foreach (Dimension dim in dimcol)
|
||||
{
|
||||
if (dim.IsHidden(view))
|
||||
{
|
||||
elemidtounHide.Add(dim.Id);
|
||||
}
|
||||
}
|
||||
foreach (CurveElement curve in curvecol)
|
||||
{
|
||||
if (curve.IsHidden(view))
|
||||
{
|
||||
elemidtounHide.Add(curve.Id);
|
||||
}
|
||||
}
|
||||
|
||||
if (elemidtounHide.Count > 0)
|
||||
{
|
||||
view.UnhideElements(elemidtounHide);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
famdoc.LoadFamily(family.Document, new RsFamilyLoadOption());
|
||||
|
||||
famdoc.Close(false);
|
||||
}
|
||||
|
||||
private void CloseWindow()
|
||||
{
|
||||
CurrentUI.Closed -= CurrentUI_Closed;
|
||||
CurrentUI.Close();
|
||||
}
|
||||
|
||||
private void CurrentUI_Closed(object sender, EventArgs e)
|
||||
{
|
||||
Cancel = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace RookieStation.CommonTools.ViewModels
|
||||
{
|
||||
internal class ProgressMonitorControl : INotifyPropertyChanged
|
||||
{
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
public int MaxValue { get; set; }
|
||||
public int CurrentValue { get; set; }
|
||||
public string CurrentContext { get; set; }
|
||||
public string ProgressTitle { get; set; }
|
||||
|
||||
public ProgressMonitorControl()
|
||||
{
|
||||
MaxValue = 100;
|
||||
CurrentValue = 0;
|
||||
CurrentContext = string.Empty;
|
||||
}
|
||||
|
||||
public void NotifyUI()
|
||||
{
|
||||
Type classType = this.GetType();
|
||||
if (classType != null)
|
||||
{
|
||||
System.Reflection.PropertyInfo[] currentProperties = classType.GetProperties();
|
||||
foreach (System.Reflection.PropertyInfo currentProperty in currentProperties)
|
||||
OnPropertyChanged(currentProperty.Name);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnPropertyChanged(string targetProperty)
|
||||
{
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(targetProperty));
|
||||
}
|
||||
}
|
||||
}
|
||||
42
RookieStation/CommonTools/Views/ProgressMonitorView.xaml
Normal file
42
RookieStation/CommonTools/Views/ProgressMonitorView.xaml
Normal file
@@ -0,0 +1,42 @@
|
||||
<Window
|
||||
x:Class="RookieStation.CommonTools.Views.ProgressMonitorView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:RookieStation.CommonTools.Views"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
Title="{Binding ProgressTitle}"
|
||||
ResizeMode="NoResize"
|
||||
SizeToContent="WidthAndHeight"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<Window.Resources>
|
||||
<!--<Style TargetType="Separator">
|
||||
<Setter Property="Height" Value="5" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>-->
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml" />
|
||||
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</Window.Resources>
|
||||
|
||||
<StackPanel Margin="5">
|
||||
<TextBlock Text="{Binding CurrentContext}" />
|
||||
<ProgressBar
|
||||
Width="300"
|
||||
Height="23"
|
||||
Maximum="{Binding MaxValue}"
|
||||
Value="{Binding CurrentValue}" />
|
||||
<Button
|
||||
x:Name="btnCancel"
|
||||
Width="50"
|
||||
Margin="5"
|
||||
HorizontalAlignment="Right"
|
||||
Content="取消"
|
||||
IsCancel="True" />
|
||||
</StackPanel>
|
||||
</Window>
|
||||
27
RookieStation/CommonTools/Views/ProgressMonitorView.xaml.cs
Normal file
27
RookieStation/CommonTools/Views/ProgressMonitorView.xaml.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace RookieStation.CommonTools.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for ProgressMonitorView.xaml
|
||||
/// </summary>
|
||||
public partial class ProgressMonitorView : Window
|
||||
{
|
||||
public ProgressMonitorView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
Width="58"
|
||||
Height="145"
|
||||
MinWidth="150"
|
||||
MinWidth="200"
|
||||
MinHeight="150"
|
||||
mc:Ignorable="d">
|
||||
<Window.Resources>
|
||||
|
||||
18
RookieStation/Properties/Resources.Designer.cs
generated
18
RookieStation/Properties/Resources.Designer.cs
generated
@@ -63,9 +63,9 @@ namespace RookieStation.Properties {
|
||||
/// <summary>
|
||||
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap AutoShelfLegend {
|
||||
internal static System.Drawing.Bitmap cainiao {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("AutoShelfLegend", resourceCulture);
|
||||
object obj = ResourceManager.GetObject("cainiao", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
@@ -73,9 +73,19 @@ namespace RookieStation.Properties {
|
||||
/// <summary>
|
||||
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap cainiao {
|
||||
internal static System.Drawing.Bitmap Decrypt {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("cainiao", resourceCulture);
|
||||
object obj = ResourceManager.GetObject("Decrypt", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Encrypt {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Encrypt", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,12 +118,15 @@
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="AutoShelfLegend" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\AutoShelfLegend.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="cainiao" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\resources\cainiao.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Decrypt" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Decrypt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Encrypt" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Encrypt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="EntranceGate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\resources\entrancegate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
|
||||
BIN
RookieStation/Resources/Decrypt.png
Normal file
BIN
RookieStation/Resources/Decrypt.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 558 B |
BIN
RookieStation/Resources/Encrypt.png
Normal file
BIN
RookieStation/Resources/Encrypt.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 604 B |
@@ -93,7 +93,13 @@
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CommonTools\ExecuteCmd\CmdDecryptFamily.cs" />
|
||||
<Compile Include="CommonTools\ExecuteCmd\CmdEncryptFamily.cs" />
|
||||
<Compile Include="CommonTools\ViewModels\EncryptOrDecryptFamily.cs" />
|
||||
<Compile Include="CommonTools\ViewModels\ProgressMonitorControl.cs" />
|
||||
<Compile Include="CommonTools\Views\ProgressMonitorView.xaml.cs">
|
||||
<DependentUpon>ProgressMonitorView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Drawing\ExecuteCmds\CmdAutoCreateLegend.cs" />
|
||||
<Compile Include="Drawing\ExecuteCmds\CmdBatchExportDwg.cs" />
|
||||
<Compile Include="Drawing\ExecuteCmds\CmdCreateViewSectionAnnotation.cs" />
|
||||
@@ -341,6 +347,10 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<Page Include="CommonTools\Views\ProgressMonitorView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Drawing\Views\WpfLegendCreator.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
@@ -393,6 +403,8 @@
|
||||
<None Include="Resources\ExportDWG.png" />
|
||||
<None Include="Resources\AutoShelfLegend.gif" />
|
||||
<None Include="Resources\Legend.png" />
|
||||
<None Include="Resources\Decrypt.png" />
|
||||
<None Include="Resources\Encrypt.png" />
|
||||
<Content Include="Resources\LogoExtrusion.png" />
|
||||
<None Include="Resources\ViewPlanDim.png" />
|
||||
<None Include="Resources\ViewSectionDim.png" />
|
||||
|
||||
@@ -98,7 +98,7 @@ namespace RookieStation.RibbonMenu
|
||||
|
||||
//统计面板
|
||||
RibbonPanel statisticsPanel = application.CreateRibbonPanel(TabName, StatisticsPanelName);
|
||||
CreatePushButton<CmdExportWorkSchedule>(statisticsPanel, "工程量导出", Properties.Resources.WorkSchedule, null);
|
||||
CreatePushButton<CmdExportBudgetInventory>(statisticsPanel, "工程量导出", Properties.Resources.WorkSchedule, null);
|
||||
//出图面板
|
||||
RibbonPanel drawingPanel = application.CreateRibbonPanel(TabName, DrawingPanelName);
|
||||
CreatePushButton<CmdAutoCreateLegend>(drawingPanel, "货架图例说明", Properties.Resources.Legend, DrawingSheetCmdEnabled);
|
||||
@@ -110,8 +110,9 @@ namespace RookieStation.RibbonMenu
|
||||
|
||||
//通用面板
|
||||
RibbonPanel commonToolsPanel = application.CreateRibbonPanel(TabName, CommonTools);
|
||||
CreatePushButton<CmdEncryptFamily>(commonToolsPanel, "加密族", Properties.Resources.Encrypt, null);
|
||||
CreatePushButton<CmdDecryptFamily>(commonToolsPanel, "解密族", Properties.Resources.Decrypt, null);
|
||||
CreatePushButton<CmdUseFamilyPane>(commonToolsPanel, "族库浏览", Properties.Resources.FamilyLib, null);
|
||||
|
||||
RegisterDockPane(application);
|
||||
return Result.Succeeded;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace RookieStation.ProjectConfig
|
||||
internal static string DocumentDirectory => AddinDirectory + "\\Document\\";
|
||||
|
||||
internal static string LogFolder = AddinDirectory + "\\Log\\";
|
||||
internal static string DbFolder = AddinDirectory;
|
||||
internal static string DbFolder = AddinDirectory + "\\";
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -531,6 +531,12 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_FD27823B3253486DB7BBB13FEC35052D"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_FBE461B9D4BD4603919E2821D88FB7CB"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
@@ -2354,6 +2360,26 @@
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_FD27823B3253486DB7BBB13FEC35052D"
|
||||
{
|
||||
"SourcePath" = "8:..\\RookieStation\\bin\\Release\\x64\\SQLite.Interop.dll"
|
||||
"TargetName" = "8:SQLite.Interop.dll"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_7C1EF99E309C4A3FB02B902F06BE7F60"
|
||||
"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:"
|
||||
}
|
||||
}
|
||||
"FileType"
|
||||
{
|
||||
@@ -2587,7 +2613,7 @@
|
||||
"Name" = "8:Microsoft Visual Studio"
|
||||
"ProductName" = "8:菜鸟驿站工具集"
|
||||
"ProductCode" = "8:{5DCFF0F8-3C6C-4C34-B888-63FE8034843E}"
|
||||
"PackageCode" = "8:{125C2C8A-BD7F-42BD-98CF-9784E5BADD7F}"
|
||||
"PackageCode" = "8:{91ECDA1D-5270-45EF-890D-1889A8B67DC7}"
|
||||
"UpgradeCode" = "8:{127EC3EC-7539-468B-84EA-E1ECDD6204E6}"
|
||||
"AspNetVersion" = "8:2.0.50727.0"
|
||||
"RestartWWWService" = "11:FALSE"
|
||||
|
||||
Reference in New Issue
Block a user