This commit is contained in:
GG Z
2021-09-18 14:48:46 +08:00
parent 6a7254b9dd
commit 750058386d
36 changed files with 528 additions and 214 deletions

View File

@@ -25,7 +25,8 @@ namespace RookieStation.Drawing.ExecuteCmds
if (doc.ActiveView.ViewType == ViewType.DrawingSheet)
{
var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter<Viewport>(), "请选择参考的视口");
var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter<Viewport>(), "请选择参考的视口确定比例");
var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例");
var viewport = doc.GetElement(portRefer) as Viewport;
var viewPlan = doc.GetElement(viewport.ViewId);
if (!(viewPlan is ViewPlan))
@@ -50,7 +51,7 @@ namespace RookieStation.Drawing.ExecuteCmds
});
doc.Invoke(ts =>
{
RsRevitUtils.SetLegendLocation(doc, legend);
RsRevitUtils.SetLegendLocation(doc, legend, location);
});
}, "创建灯具图例");
}

View File

@@ -27,7 +27,8 @@ namespace RookieStation.Drawing.ExecuteCmds
try
{
CurveArray curveArray = new CurveArray();
var tableLocation = uidoc.Selection.PickPoint(ObjectSnapTypes.Endpoints, "请选择布图区域左上角点");
var tableLocation = uidoc.Selection.PickPoint(ObjectSnapTypes.Endpoints, "请选择布图区域左上角点");
var tableLocation1 = uidoc.Selection.PickPoint(ObjectSnapTypes.Endpoints, "请选择布图区域右下角点");
var sql = SQLiteUtil.GetInstance();
sql.CreateDb(UserConstant.DbFolder + "Inventory.db");
@@ -50,8 +51,7 @@ namespace RookieStation.Drawing.ExecuteCmds
foreach (var ele in collectorAll)
{
string name = string.Empty;
FamilyInstance fi = ele as FamilyInstance;
if (fi != null)
if (ele is FamilyInstance fi)
{
name = fi.Symbol.FamilyName;
}
@@ -80,18 +80,21 @@ namespace RookieStation.Drawing.ExecuteCmds
materialItems.Add(item);
}
}
var width = 346 / 304.8;
var height = 283 / 304.8;
var gridWidth = width / 7;
var gridHeight = height / (materialItems.Count + 1);//表头要加1
//var width = 346 / 304.8;
//var height = 283 / 304.8;
var width = tableLocation1.X - tableLocation.X;
var height = tableLocation.Y - tableLocation1.Y;
var cellWidth = width / 7;
var cellHeight = height / (materialItems.Count + 1);//表头要加1
doc.InvokeGroup(tg =>
{
doc.Invoke(ts =>
{
for (int j = 0; j < 8; j++)
{
var colStart = new XYZ(tableLocation.X + j * gridWidth, tableLocation.Y, 0);
var colEnd = new XYZ(tableLocation.X + j * gridWidth, tableLocation.Y - height, 0);
var colStart = new XYZ(tableLocation.X + j * cellWidth, tableLocation.Y, 0);
var colEnd = new XYZ(tableLocation.X + j * cellWidth, tableLocation.Y - height, 0);
Line colLine = Line.CreateBound(colStart, colEnd);
curveArray.Append(colLine);
}
@@ -103,8 +106,8 @@ namespace RookieStation.Drawing.ExecuteCmds
};
for (int i = 0; i <= materialItems.Count; i++)
{
var rowStart = new XYZ(tableLocation.X, tableLocation.Y - i * gridHeight, 0);
var rowEnd = new XYZ(tableLocation.X + width, tableLocation.Y - i * gridHeight, 0);
var rowStart = new XYZ(tableLocation.X, tableLocation.Y - i * cellHeight, 0);
var rowEnd = new XYZ(tableLocation.X + width, tableLocation.Y - i * cellHeight, 0);
Line rowLine = Line.CreateBound(rowStart, rowEnd);
curveArray.Append(rowLine);
@@ -112,37 +115,37 @@ namespace RookieStation.Drawing.ExecuteCmds
{
TextNote.Create(doc,
doc.ActiveView.Id,
new XYZ(tableLocation.X + 0.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new XYZ(tableLocation.X + 0.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
"材料名称\nDESCRIPTION",
opts);
TextNote.Create(doc,
doc.ActiveView.Id,
new XYZ(tableLocation.X + 1.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new XYZ(tableLocation.X + 1.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
"防火等级\nFIRE RATING",
opts);
TextNote.Create(doc,
doc.ActiveView.Id,
new XYZ(tableLocation.X + 2.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new XYZ(tableLocation.X + 2.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
"图例\nLEGEND",
opts);
TextNote.Create(doc,
doc.ActiveView.Id,
new XYZ(tableLocation.X + 3.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new XYZ(tableLocation.X + 3.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
"规格\nSPECIFICATIONS",
opts);
TextNote.Create(doc,
doc.ActiveView.Id,
new XYZ(tableLocation.X + 4.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new XYZ(tableLocation.X + 4.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
"颜色\nPIGMENT",
opts);
TextNote.Create(doc,
doc.ActiveView.Id,
new XYZ(tableLocation.X + 5.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new XYZ(tableLocation.X + 5.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
"位置\nPOSITION",
opts);
TextNote.Create(doc,
doc.ActiveView.Id,
new XYZ(tableLocation.X + 6.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new XYZ(tableLocation.X + 6.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
"备注\nREMARK",
opts);
continue;
@@ -151,12 +154,12 @@ namespace RookieStation.Drawing.ExecuteCmds
var item = materialItems[i - 1];//从0开始i=0已运行并跳过此段
TextNote.Create(doc,
doc.ActiveView.Id,
new XYZ(tableLocation.X + 0.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new XYZ(tableLocation.X + 0.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
item.Description,
opts);
TextNote.Create(doc,
doc.ActiveView.Id,
new XYZ(tableLocation.X + 1.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new XYZ(tableLocation.X + 1.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
item.FireRating,
opts);
@@ -164,7 +167,7 @@ namespace RookieStation.Drawing.ExecuteCmds
var ii = ImageInstance.Create(doc,
activeview,
it.Id,
new ImagePlacementOptions(new XYZ(tableLocation.X + 2.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new ImagePlacementOptions(new XYZ(tableLocation.X + 2.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
BoxPlacement.Center));
doc.Regenerate();
ii.get_Parameter(BuiltInParameter.RASTER_SHEETHEIGHT).SetValueString("21");
@@ -172,22 +175,22 @@ namespace RookieStation.Drawing.ExecuteCmds
TextNote.Create(doc,
doc.ActiveView.Id,
new XYZ(tableLocation.X + 3.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new XYZ(tableLocation.X + 3.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
item.Specifications,
opts);
TextNote.Create(doc,
doc.ActiveView.Id,
new XYZ(tableLocation.X + 4.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new XYZ(tableLocation.X + 4.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
item.Pigment,
opts);
TextNote.Create(doc,
doc.ActiveView.Id,
new XYZ(tableLocation.X + 5.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new XYZ(tableLocation.X + 5.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
item.Position,
opts);
TextNote.Create(doc,
doc.ActiveView.Id,
new XYZ(tableLocation.X + 6.5 * gridWidth, tableLocation.Y - (i + 0.5) * gridHeight, 0),
new XYZ(tableLocation.X + 6.5 * cellWidth, tableLocation.Y - (i + 0.5) * cellHeight, 0),
item.Remark,
opts);
}

View File

@@ -25,6 +25,7 @@ namespace RookieStation.Drawing.ExecuteCmds
if (uidoc.ActiveView.ViewType == ViewType.DrawingSheet)
{
var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter<Viewport>(), "请选择参考的视口确定比例尺");
var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例");
var viewport = doc.GetElement(portRefer) as Viewport;
var viewPlan = doc.GetElement(viewport.ViewId);
if (!(viewPlan is ViewPlan))
@@ -49,7 +50,7 @@ namespace RookieStation.Drawing.ExecuteCmds
});
doc.Invoke(ts =>
{
RsRevitUtils.SetLegendLocation(doc, legend);
RsRevitUtils.SetLegendLocation(doc, legend, location);
});
}, "创建货架图例");
}
@@ -113,9 +114,9 @@ namespace RookieStation.Drawing.ExecuteCmds
}
double fontSize = textNoteType.get_Parameter(BuiltInParameter.TEXT_SIZE).AsDouble();
double actualTextHeight = fontSize * 1.6;
double tableGridHeight = actualTextHeight * viewScale * 1.2;//图例网格高度
double tableGridWidth = tableGridHeight * 5;//图例网格长度
double[] widths = new double[6] { tableGridHeight * 2, tableGridHeight * 2, tableGridHeight * 6, tableGridHeight * 2, tableGridHeight * 2, tableGridHeight * 2 };
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--)//水平线
@@ -123,39 +124,39 @@ namespace RookieStation.Drawing.ExecuteCmds
Curve line;
if (i > 0 && i < statistics.Count)
{
line = Line.CreateBound(XYZ.Zero, XYZ.BasisX * tableGridWidth * 3).CreateOffset(tableGridHeight * i, -XYZ.BasisZ);
line = Line.CreateBound(XYZ.Zero, XYZ.BasisX * tableCellWidth * 3).CreateOffset(tableCellHeight * i, -XYZ.BasisZ);
}
else
{
line = Line.CreateBound(XYZ.Zero, XYZ.BasisX * tableGridWidth * 6).CreateOffset(tableGridHeight * i, -XYZ.BasisZ);
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) * tableGridHeight).CreateOffset(tableGridWidth * i, XYZ.BasisZ);
Curve line = Line.CreateBound(XYZ.Zero, XYZ.BasisY * (statistics.Count() + 1) * tableCellHeight).CreateOffset(tableCellWidth * i, XYZ.BasisZ);
curveArray.Append(line);
}
var y = XYZ.BasisY * tableGridHeight * (statistics.Count + 0.5);
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 * tableGridWidth * 0.5 + y, "货架类型", opts);
TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 1.5) + y, "数量", opts);
TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 2.5) + y, "总延米", opts);
TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 3.5) + y, "总承载单量", opts);
TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 4.5) + y, "设计单量", opts);
TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 5.5) + y, "场地面积", opts);
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 * tableGridHeight * (i + 0.5);
var yElevation = XYZ.BasisY * tableCellHeight * (i + 0.5);
TextNote.Create(doc, newLegend.Id, XYZ.BasisX * tableGridWidth * 0.5 + yElevation, statistics[i].ShelfType, opts);
TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 1.5) + yElevation, statistics[i].Count.ToString(), opts);
TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 2.5) + yElevation,
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);
}
//承载单量总和
@@ -164,11 +165,11 @@ namespace RookieStation.Drawing.ExecuteCmds
{
orders += statistics[i].CapacityOrders;
}
TextNote.Create(doc, newLegend.Id, XYZ.BasisX * (tableGridWidth * 3.5) + XYZ.BasisY * tableGridHeight * statistics.Count() / 2, orders.ToString(), opts);
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 * (tableGridWidth * 4.5) + XYZ.BasisY * tableGridHeight * statistics.Count() / 2, statistics.FirstOrDefault().DesignOrders.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 * (tableGridWidth * 5.5) + XYZ.BasisY * tableGridHeight * statistics.Count() / 2, statistics[0].GroundArea + "m2".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);

View File

@@ -24,7 +24,8 @@ namespace RookieStation.Drawing.ExecuteCmds
if (uidoc.ActiveView.ViewType == ViewType.DrawingSheet)
{
var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter<Viewport>(), "请选择参考的视口");
var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter<Viewport>(), "请选择参考的视口确定比例尺");
var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例");
var viewport = doc.GetElement(portRefer) as Viewport;
var viewPlan = doc.GetElement(viewport.ViewId);
if (!(viewPlan is ViewPlan))
@@ -49,7 +50,7 @@ namespace RookieStation.Drawing.ExecuteCmds
});
doc.Invoke(ts =>
{
RsRevitUtils.SetLegendLocation(doc, legend);
RsRevitUtils.SetLegendLocation(doc, legend, location);
});
}, "创建插座图例");
}

View File

@@ -24,7 +24,8 @@ namespace RookieStation.Drawing.ExecuteCmds
if (uidoc.ActiveView.ViewType == ViewType.DrawingSheet)
{
var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter<Viewport>(), "请选择参考的视口");
var portRefer = uidoc.Selection.PickObject(ObjectType.Element, new SelectFilter<Viewport>(), "请选择参考的视口确定比例尺");
var location = uidoc.Selection.PickPoint(UserConstant.SnapAll, "请选择左下角点放置图例");
var viewport = doc.GetElement(portRefer) as Viewport;
var viewPlan = doc.GetElement(viewport.ViewId);
if (!(viewPlan is ViewPlan))
@@ -49,7 +50,7 @@ namespace RookieStation.Drawing.ExecuteCmds
});
doc.Invoke(ts =>
{
RsRevitUtils.SetLegendLocation(doc, legend);
RsRevitUtils.SetLegendLocation(doc, legend, location);
});
}, "创建开关图例");
}

View File

@@ -103,6 +103,10 @@ namespace RookieStation.Drawing.ExecuteCmds
GetParallFacesReferenceArray(faces, faces.FirstOrDefault(), referenceArray, referenceArrayArray);
foreach (ReferenceArray array in referenceArrayArray)
{
if (array.Size == 0)
{
continue;
}
var face = familyInstance.GetGeometryObjectFromReference(array.get_Item(0)) as PlanarFace;
var line = Line.CreateUnbound(loc, face.FaceNormal).CreateOffset(600 / 304.8, XYZ.BasisZ) as Line;
doc.Create.NewDimension(doc.ActiveView, line, array);
@@ -516,6 +520,7 @@ namespace RookieStation.Drawing.ExecuteCmds
private void JoinWallsAndColumns(Document doc)
{
var wallcol = doc.QueryByView<Wall>(doc.ActiveView);
StringBuilder sb = new StringBuilder();
foreach (var wall in wallcol)
{
var columncol = doc.QueryByView<FamilyInstance>(doc.ActiveView, BuiltInCategory.OST_StructuralColumns);
@@ -526,7 +531,6 @@ namespace RookieStation.Drawing.ExecuteCmds
LogicalOrFilter orFilter = new LogicalOrFilter(isInsideFilter, intersectsFilter);
columncol.WherePasses(orFilter);
StringBuilder sb = new StringBuilder();
foreach (FamilyInstance column in columncol)
{
if (!JoinGeometryUtils.AreElementsJoined(doc, wall, column))
@@ -537,10 +541,13 @@ namespace RookieStation.Drawing.ExecuteCmds
}
catch (Exception)
{
sb.Append(column.Id.IntegerValue.ToString() + "\n\r");
sb.Append($"{column.Name}:{column.Id.IntegerValue}/{wall.Name}:{wall.Id.IntegerValue}" + "\n\r");
}
}
}
}
if (sb.Length > 0)
{
TaskDialog.Show("连接墙柱存在错误", sb.ToString());
}
}
@@ -632,18 +639,19 @@ namespace RookieStation.Drawing.ExecuteCmds
FilteredElementCollector eles = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).WhereElementIsNotElementType();
IntersectionResultArray intersection;
StringBuilder sb = new StringBuilder();
foreach (Wall ele in eles)
foreach (Element e in eles)
{
if (ele != null)
Wall wall = e as Wall;
if (wall != null)
{
var lc = ele.Location as LocationCurve;
var lc = wall.Location as LocationCurve;
var c = lc.Curve;
var result = curve.Intersect(c, out intersection);
if (result == SetComparisonResult.Overlap)
{
joinedElements.Add(ele.Id);
joinedElements.Add(wall.Id);
}
sb.Append(ele.Id.ToString() + result + "\r\n");
sb.Append(wall.Id.ToString() + result + "\r\n");
}
}
return joinedElements;

View File

@@ -43,23 +43,24 @@ namespace RookieStation.Drawing.ExecuteCmds
for (int i = 0; i < ids.Count; i++)
{
var wall = doc.GetElement(ids[i]);
var loc = RsRevitUtils.GetLocationCurveByElement(wall).Evaluate(0.5, true) + new XYZ(0, 0, 10 / 304.8);
var loc = RsRevitUtils.GetLocationCurveByElement(wall).Evaluate(0.5, true) + new XYZ(0, 0, 20 / 304.8);
var tagtext = loc + new XYZ(0, 0, 10 * (i + 1));
var tag = IndependentTag.Create(doc, v.Id, new Reference(wall), true, TagMode.TM_ADDBY_MATERIAL, TagOrientation.Horizontal, XYZ.Zero);
var tag = IndependentTag.Create(doc, v.Id, new Reference(wall), true, TagMode.TM_ADDBY_MATERIAL, TagOrientation.Horizontal, loc);
doc.Regenerate();
//tag.LeaderEnd = loc;
//tag.TagHeadPosition = tagtext;
tags.Add(tag);
}
doc.Regenerate();
for (int i = 0; i < tags.Count; i++)
{
IndependentTag tag = tags[i];
Wall wall = tag.GetTaggedLocalElement() as Wall;
double wallLength = wall.get_Parameter(BuiltInParameter.CURVE_ELEM_LENGTH).AsDouble();
//tag.LeaderElbow = new XYZ(tag.LeaderEnd.X + wallLength / 2, tag.LeaderEnd.Y + wallLength / 2, (i * 0.1 + 1) * 20);
//tag.TagHeadPosition = new XYZ(tag.LeaderEnd.X + wallLength / 2 + 10, tag.LeaderEnd.Y + wallLength / 2 + 10, (i * 0.1 + 1) * 20);
//tag.LeaderEnd += new XYZ(wallLength / 2, wallLength / 2, 0);
}
//for (int i = 0; i < tags.Count; i++)
//{
// IndependentTag tag = tags[i];
// Wall wall = tag.GetTaggedLocalElement() as Wall;
// double wallLength = wall.get_Parameter(BuiltInParameter.CURVE_ELEM_LENGTH).AsDouble();
// tag.LeaderElbow = new XYZ(tag.LeaderEnd.X + wallLength / 2, tag.LeaderEnd.Y + wallLength / 2, (i * 0.1 + 1) * 20);
// tag.TagHeadPosition = new XYZ(tag.LeaderEnd.X + wallLength / 2 + 10, tag.LeaderEnd.Y + wallLength / 2 + 10, (i * 0.1 + 1) * 20);
// tag.LeaderEnd += new XYZ(wallLength / 2, wallLength / 2, 0);
//}
}
}
});

View File

@@ -10,6 +10,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Windows;
using RookieStation.Finishes.Views;
using RookieStation.Properties;
namespace RookieStation.Finishes.ExecuteCmds
{
@@ -32,7 +33,10 @@ namespace RookieStation.Finishes.ExecuteCmds
return Result.Failed;
}
WpfFloorFinishes floorCovering = CommonUtils.ShowDialog<WpfFloorFinishes>();
if (floorCovering.DialogResult != true)
{
return Result.Cancelled;
}
double length;
double width;
double gap;

View File

@@ -28,7 +28,10 @@ namespace RookieStation.Finishes.ExecuteCmds
}
WpfFloorFinishes floorFinishes = CommonUtils.ShowDialog<WpfFloorFinishes>();
if (floorFinishes.DialogResult != true)
{
return Result.Cancelled;
}
double length, width, gap, thickness;
bool IsByRoom = false;
if (floorFinishes.DialogResult == true)

View File

@@ -3,7 +3,7 @@
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"
xmlns:local="clr-namespace:RookieStation.Finishes.Views"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Width="81"
Height="59"

View File

@@ -46,6 +46,10 @@ namespace RookieStation.MailingAreaModule.ExecuteCmds
revitWindow = uiapp.MainWindowHandle;
WpfReceptionArea receptionAreaPlacement = CommonUtils.ShowDialog<WpfReceptionArea>();
if (receptionAreaPlacement.DialogResult != true)
{
return Result.Cancelled;
}
//初始值
//阻燃板厚度
double fireRetardantBoardWidth = 15 / 304.8;

View File

@@ -5,6 +5,8 @@ using RookieStation.ProjectConfig.Views;
using RookieStation.Utils;
using System;
using System.IO;
using System.Linq;
using System.Windows.Forms;
namespace RookieStation.ProjectConfig.ExecuteCmds
{
@@ -18,24 +20,53 @@ namespace RookieStation.ProjectConfig.ExecuteCmds
UIDocument uidoc = uiapp.ActiveUIDocument;
Document doc = uidoc.Document;
WpfProjectSettings settings = CommonUtils.ShowDialog<WpfProjectSettings>();
if (settings.DialogResult != true)
{
return Result.Cancelled;
}
if (!doc.IsFamilyDocument)
{
doc.Invoke(ts =>
{
doc.ProjectInformation.get_Parameter(BuiltInParameter.PROJECT_BUILDING_NAME).Set(Properties.Settings.Default.SchoolName);
doc.ProjectInformation.get_Parameter(BuiltInParameter.PROJECT_NAME).Set(Properties.Settings.Default.ProjectName);
try
{
doc.ProjectInformation.GetParameters("建设单位").FirstOrDefault().Set(Properties.Settings.Default.ConstrctionOrg);
doc.ProjectInformation.GetParameters("项目负责人").FirstOrDefault().Set(Properties.Settings.Default.Leader);
doc.ProjectInformation.GetParameters("设计").FirstOrDefault().Set(Properties.Settings.Default.Designer);
doc.ProjectInformation.GetParameters("校对").FirstOrDefault().Set(Properties.Settings.Default.ProofReader);
doc.ProjectInformation.GetParameters("审核").FirstOrDefault().Set(Properties.Settings.Default.Reviewer);
doc.ProjectInformation.GetParameters("审定").FirstOrDefault().Set(Properties.Settings.Default.Approver);
doc.ProjectInformation.GetParameters("专业").FirstOrDefault().Set(Properties.Settings.Default.Major);
doc.ProjectInformation.GetParameters("阶段").FirstOrDefault().Set(Properties.Settings.Default.Phase);
}
catch (Exception ex)
{
Log.WriteLog(ex.Message);
}
var viewSheets = doc.QueryByType<ViewSheet>();
var viewPlans = doc.QueryByType<ViewPlan>();
var levels = doc.QueryByType<Level>().Cast<Level>().OrderBy(l => l.Elevation);
foreach (Level level in levels)
{
if (Math.Round(level.Elevation) != 0.0)
{
level.Elevation = Properties.Settings.Default.Height / 304.8;
break;
}
}
foreach (var v in viewSheets)
{
v.get_Parameter(BuiltInParameter.SHEET_ISSUE_DATE).Set(Properties.Settings.Default.Date);
}
foreach (var v in viewPlans)
{
try
{
var scale = Properties.Settings.Default.Scale;
v.get_Parameter(BuiltInParameter.VIEW_SCALE).SetValueString(scale);
var scale = Convert.ToInt32(Properties.Settings.Default.Scale);
v.get_Parameter(BuiltInParameter.VIEW_SCALE).Set(scale);
}
catch (Exception ex)
{

View File

@@ -9,7 +9,7 @@
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Width="121"
Height="112"
MinWidth="300"
MinWidth="500"
MinHeight="300"
ShowInTaskbar="False"
mc:Ignorable="d">
@@ -23,7 +23,9 @@
</Window.Resources>
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*" />
<ColumnDefinition Width="0.6*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="0.6*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
@@ -49,32 +51,47 @@
VerticalContentAlignment="Center"
InputMethod.IsInputMethodEnabled="True"
TextAlignment="Center" />
<Separator
Grid.Row="0"
Grid.ColumnSpan="4"
VerticalAlignment="Bottom" />
<TextBlock
Grid.Row="1"
Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="学校名:" />
VerticalAlignment="Center"><Run Text="建设单位" /><Run Language="zh-cn" Text="" /></TextBlock>
<!-- 允许输出法 -->
<TextBox
x:Name="tbSchoolName"
x:Name="tbConstrctionOrg"
Grid.Row="1"
Grid.Column="1"
Height="30"
VerticalContentAlignment="Center"
InputMethod.IsInputMethodEnabled="True"
TextAlignment="Center" />
<TextBlock
Grid.Row="2"
Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="阶段:" />
<!-- 允许输出法 -->
<TextBox
x:Name="tbPhase"
Grid.Row="2"
Grid.Column="1"
Height="30"
VerticalContentAlignment="Center"
TextAlignment="Center" />
<TextBlock
Grid.Row="3"
Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="层高mm" />
<TextBox
x:Name="tbHeight"
Grid.Row="2"
Grid.Row="3"
Grid.Column="1"
Height="30"
VerticalContentAlignment="Center"
@@ -83,14 +100,14 @@
PreviewTextInput="tb_PreviewTextInput"
TextAlignment="Center" />
<TextBlock
Grid.Row="3"
Grid.Row="4"
Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="单量:" />
Text="设计单量:" />
<TextBox
x:Name="tbOrders"
Grid.Row="3"
Grid.Row="4"
Grid.Column="1"
Height="30"
VerticalContentAlignment="Center"
@@ -98,14 +115,14 @@
PreviewTextInput="tb_PreviewTextInput"
TextAlignment="Center" />
<TextBlock
Grid.Row="4"
Grid.Row="5"
Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="平面图比例1/ " />
<hc:TextBox
x:Name="tbScale"
Grid.Row="4"
Grid.Row="5"
Grid.Column="1"
Height="30"
VerticalContentAlignment="Center"
@@ -113,23 +130,101 @@
PreviewTextInput="tb_PreviewTextInput"
TextAlignment="Center" />
<TextBlock
Grid.Row="5"
Grid.Row="6"
Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="图纸日期:" />
<DatePicker
x:Name="tpDate"
Grid.Row="5"
Grid.Row="6"
Grid.Column="1"
Height="30"
VerticalContentAlignment="Center"
InputMethod.IsInputMethodEnabled="False"
SelectedDate="{x:Static sys:DateTime.Today}" />
<TextBlock
Grid.Row="0"
Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="项目负责人:" />
<TextBox
x:Name="tbLeader"
Grid.Row="0"
Grid.Column="3"
Height="30"
VerticalContentAlignment="Center"
TextAlignment="Center" />
<TextBlock
Grid.Row="1"
Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="专业:" />
<TextBox
x:Name="tbMajor"
Grid.Row="1"
Grid.Column="3"
Height="30"
VerticalContentAlignment="Center"
TextAlignment="Center" />
<TextBlock
Grid.Row="2"
Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="设计:" />
<TextBox
x:Name="tbDesigner"
Grid.Row="2"
Grid.Column="3"
Height="30"
VerticalContentAlignment="Center"
TextAlignment="Center" />
<TextBlock
Grid.Row="3"
Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="校对:" />
<TextBox
x:Name="tbProofReader"
Grid.Row="3"
Grid.Column="3"
Height="30"
VerticalContentAlignment="Center"
TextAlignment="Center" />
<TextBlock
Grid.Row="4"
Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="审核:" />
<TextBox
x:Name="tbReviewer"
Grid.Row="4"
Grid.Column="3"
Height="30"
VerticalContentAlignment="Center"
TextAlignment="Center" />
<TextBlock
Grid.Row="5"
Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="审定:" />
<TextBox
x:Name="tbApprover"
Grid.Row="5"
Grid.Column="3"
Height="30"
VerticalContentAlignment="Center"
TextAlignment="Center" />
<Button
x:Name="btnConfirm"
Grid.Row="6"
Grid.Column="1"
Grid.Column="3"
Width="75"
Height="30"
Click="btnConfirm_Click"

View File

@@ -33,8 +33,15 @@ namespace RookieStation.ProjectConfig.Views
tbHeight.Text = Properties.Settings.Default.Height.ToString();
tbOrders.Text = Properties.Settings.Default.Orders.ToString();
tbProjectName.Text = Properties.Settings.Default.ProjectName;
tbSchoolName.Text = Properties.Settings.Default.SchoolName;
tbConstrctionOrg.Text = Properties.Settings.Default.ConstrctionOrg;
tbScale.Text = Properties.Settings.Default.Scale;
tbPhase.Text = Properties.Settings.Default.Phase;
tbMajor.Text = Properties.Settings.Default.Major;
tbLeader.Text = Properties.Settings.Default.Leader;
tbDesigner.Text = Properties.Settings.Default.Designer;
tbProofReader.Text = Properties.Settings.Default.ProofReader;
tbReviewer.Text = Properties.Settings.Default.Reviewer;
tbApprover.Text = Properties.Settings.Default.Approver;
}
private void btnConfirm_Click(object sender, RoutedEventArgs e)
@@ -43,13 +50,20 @@ namespace RookieStation.ProjectConfig.Views
//ProjectConfigUtil.SetCfgPairs("Orders", tbOrders.Text);
Properties.Settings.Default.Height = Convert.ToDouble(tbHeight.Text.Trim());
Properties.Settings.Default.Orders = Convert.ToInt32(tbOrders.Text.Trim());
Properties.Settings.Default.SchoolName = tbSchoolName.Text.Trim();
Properties.Settings.Default.ProjectName = tbProjectName.Text.Trim();
Properties.Settings.Default.ConstrctionOrg = tbConstrctionOrg.Text;
Properties.Settings.Default.ProjectName = tbProjectName.Text;
Properties.Settings.Default.Scale = tbScale.Text.Trim();
Properties.Settings.Default.Phase = tbPhase.Text;
Properties.Settings.Default.Major = tbMajor.Text;
Properties.Settings.Default.Leader = tbLeader.Text;
Properties.Settings.Default.Designer = tbDesigner.Text;
Properties.Settings.Default.ProofReader = tbProofReader.Text;
Properties.Settings.Default.Reviewer = tbReviewer.Text;
Properties.Settings.Default.Approver = tbApprover.Text;
Properties.Settings.Default.Date = tpDate.SelectedDate.Value.ToString("d").Trim();
Properties.Settings.Default.Save();
Close();
//Close();
DialogResult = true;
}
private void tb_PreviewTextInput(object sender, TextCompositionEventArgs e)

View File

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

View File

@@ -118,6 +118,9 @@
<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="Background" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Background.png;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>

View File

@@ -85,13 +85,13 @@ namespace RookieStation.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("漳州职业技术学院")]
public string SchoolName {
[global::System.Configuration.DefaultSettingValueAttribute("菜鸟驿站")]
public string ConstrctionOrg {
get {
return ((string)(this["SchoolName"]));
return ((string)(this["ConstrctionOrg"]));
}
set {
this["SchoolName"] = value;
this["ConstrctionOrg"] = value;
}
}
@@ -132,5 +132,89 @@ namespace RookieStation.Properties {
this["Shelves"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("xxx")]
public string Designer {
get {
return ((string)(this["Designer"]));
}
set {
this["Designer"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("xxx")]
public string ProofReader {
get {
return ((string)(this["ProofReader"]));
}
set {
this["ProofReader"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("xxx")]
public string Approver {
get {
return ((string)(this["Approver"]));
}
set {
this["Approver"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("xxx")]
public string Reviewer {
get {
return ((string)(this["Reviewer"]));
}
set {
this["Reviewer"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("装修")]
public string Major {
get {
return ((string)(this["Major"]));
}
set {
this["Major"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("xxx")]
public string Leader {
get {
return ((string)(this["Leader"]));
}
set {
this["Leader"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("装修")]
public string Phase {
get {
return ((string)(this["Phase"]));
}
set {
this["Phase"] = value;
}
}
}
}

View File

@@ -17,8 +17,8 @@
<Setting Name="ProjectName" Type="System.String" Scope="User">
<Value Profile="(Default)">漳州职业技术学院</Value>
</Setting>
<Setting Name="SchoolName" Type="System.String" Scope="User">
<Value Profile="(Default)">漳州职业技术学院</Value>
<Setting Name="ConstrctionOrg" Type="System.String" Scope="User">
<Value Profile="(Default)">菜鸟驿站</Value>
</Setting>
<Setting Name="Date" Type="System.String" Scope="User">
<Value Profile="(Default)" />
@@ -32,5 +32,26 @@
&lt;string&gt;单个,1500,400&lt;/string&gt;
&lt;/ArrayOfString&gt;</Value>
</Setting>
<Setting Name="Designer" Type="System.String" Scope="User">
<Value Profile="(Default)">xxx</Value>
</Setting>
<Setting Name="ProofReader" Type="System.String" Scope="User">
<Value Profile="(Default)">xxx</Value>
</Setting>
<Setting Name="Approver" Type="System.String" Scope="User">
<Value Profile="(Default)">xxx</Value>
</Setting>
<Setting Name="Reviewer" Type="System.String" Scope="User">
<Value Profile="(Default)">xxx</Value>
</Setting>
<Setting Name="Major" Type="System.String" Scope="User">
<Value Profile="(Default)">装修</Value>
</Setting>
<Setting Name="Leader" Type="System.String" Scope="User">
<Value Profile="(Default)">xxx</Value>
</Setting>
<Setting Name="Phase" Type="System.String" Scope="User">
<Value Profile="(Default)">装修</Value>
</Setting>
</Settings>
</SettingsFile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 B

View File

@@ -49,7 +49,6 @@
</Reference>
<Reference Include="HandyControl, Version=3.2.0.0, Culture=neutral, PublicKeyToken=45be8712787a1e5b, processorArchitecture=MSIL">
<HintPath>..\packages\HandyControl.3.2.0\lib\net47\HandyControl.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.IO.RecyclableMemoryStream, Version=1.4.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IO.RecyclableMemoryStream.1.4.1\lib\net46\Microsoft.IO.RecyclableMemoryStream.dll</HintPath>
@@ -212,10 +211,10 @@
<None Include="RsLibrary\FamilyLibrary\出入口\智能翼闸.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\FamilyLibrary\家具\绿动回收台-1.5m.rfa">
<None Include="RsLibrary\FamilyLibrary\家具\绿动回收台-.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\FamilyLibrary\家具\绿动回收台-3.0m.rfa">
<None Include="RsLibrary\FamilyLibrary\家具\绿动回收台-.rfa">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="RsLibrary\FamilyLibrary\家具\绿动回收台.rfa">

View File

@@ -29,14 +29,14 @@ namespace RookieStation.RibbonMenu
private const string CommonTools = "通用工具";
//获取Ribbon类所在的通用类库目录
private static string AddInPath = typeof(RsApp).Assembly.Location;
private static readonly string AddInPath = typeof(RsApp).Assembly.Location;
//获取AddInPath的目录
private static string DirRequestAssembly = Path.GetDirectoryName(AddInPath);
private static readonly string DirRequestAssembly = Path.GetDirectoryName(AddInPath);
private static string ViewPlanCmdEnabled = typeof(EnableCmdInViewPlan).ToString();
private static string DrawingSheetCmdEnabled = typeof(EnableCmdInViewSheet).ToString();
private static string ViewSectionCmdEnabled = typeof(EnableCmdInViewSection).ToString();
private static readonly string ViewPlanCmdEnabled = typeof(EnableCmdInViewPlan).ToString();
private static readonly string DrawingSheetCmdEnabled = typeof(EnableCmdInViewSheet).ToString();
private static readonly string ViewSectionCmdEnabled = typeof(EnableCmdInViewSection).ToString();
private BitmapSource ConvertFromBitmap(System.Drawing.Bitmap bitmap)
{
@@ -147,6 +147,7 @@ namespace RookieStation.RibbonMenu
//CreatePushButton<CmdEncryptFamily>(commonToolsPanel, "加密族", Properties.Resources.Encrypt, null);
//CreatePushButton<CmdDecryptFamily>(commonToolsPanel, "解密族", Properties.Resources.Decrypt, null);
CreatePushButton<CmdUseFamilyPane>(commonToolsPanel, "族库浏览", Properties.Resources.FamilyLib, null);
CreatePushButton<CmdChangeBackgroundColor>(commonToolsPanel, "切换背景色", Properties.Resources.Background, null);
RegisterDockPane(application);
return Result.Succeeded;
}

View File

@@ -619,7 +619,7 @@ namespace RookieStation.Statistics.ExecuteCmds
sheet.SetValue(1, 1, "菜鸟驿站工程预算清单");
sheet.SetValue(2, 1, "项目");
sheet.Cells["D2:E2"].Merge = true;
sheet.SetValue(2, 2, Properties.Settings.Default.SchoolName);
sheet.SetValue(2, 2, Properties.Settings.Default.ConstrctionOrg);
sheet.Cells[2, 2].Style.Font.Color.SetColor(System.Drawing.Color.Red);
sheet.SetValue(2, 3, "预算总价");
//sheet.SetValue(2, 4, "-");

View File

@@ -55,7 +55,7 @@ namespace RookieStation.ProjectConfig
internal static double Height => Properties.Settings.Default.Height;
internal static int Orders => Properties.Settings.Default.Orders;
internal static string SchoolName => Properties.Settings.Default.SchoolName;
internal static string SchoolName => Properties.Settings.Default.ConstrctionOrg;
internal static string ProjectName => Properties.Settings.Default.ProjectName;
}
}

View File

@@ -9,7 +9,7 @@ using System.Threading.Tasks;
namespace RookieStation.Utils
{
/// <summary>
/// 平面视图命令才可用
/// 命令在平面视图可用
/// </summary>
internal class EnableCmdInViewPlan : IExternalCommandAvailability
{
@@ -58,6 +58,9 @@ namespace RookieStation.Utils
}
}
/// <summary>
/// 命令在剖面、立面可用
/// </summary>
internal class EnableCmdInViewSection : IExternalCommandAvailability
{
public bool IsCommandAvailable(UIApplication applicationData, CategorySet selectedCategories)
@@ -65,7 +68,7 @@ namespace RookieStation.Utils
if (null != applicationData.ActiveUIDocument)
{
Autodesk.Revit.DB.View view = applicationData.ActiveUIDocument.Document.ActiveView;
if (view.ViewType == ViewType.Section)
if (view.ViewType == ViewType.Elevation || view.ViewType == ViewType.Section)
{
return true;
}

View File

@@ -85,12 +85,12 @@ namespace RookieStation.Utils
/// </summary>
/// <param name="doc"></param>
/// <param name="newLegend"></param>
public static void SetLegendLocation(Document doc, View newLegend)
public static void SetLegendLocation(Document doc, View newLegend, XYZ location)
{
var viewport = Viewport.Create(doc, doc.ActiveView.Id, newLegend.Id, XYZ.Zero);
double l = viewport.GetBoxOutline().MaximumPoint.X - viewport.GetBoxOutline().MinimumPoint.X;
double w = viewport.GetBoxOutline().MaximumPoint.Y - viewport.GetBoxOutline().MinimumPoint.Y;
XYZ c = new XYZ(l / 2 + 7 / 304.8, w / 2 + 7 / 304.8, 0);//边距均为7mm
XYZ c = new XYZ(l / 2, w / 2, 0) + location;//边距均为7mm
viewport.SetBoxCenter(c);
@@ -413,6 +413,10 @@ namespace RookieStation.Utils
{
//geomObj为几何实例
GeometryInstance geomInstance = geomObj as GeometryInstance;
if (geomInstance == null)
{
continue;
}
//族实例未修改过(连接,剪切,复制,扩展)
bool usesSymbolGeometry = (instance is FamilyInstance) && !(instance as FamilyInstance).HasModifiedGeometry();
var bo = instance.HasModifiedGeometry();

View File

@@ -22,22 +22,44 @@
<setting name="ProjectName" serializeAs="String">
<value>漳州职业技术学院</value>
</setting>
<setting name="SchoolName" serializeAs="String">
<value>漳州职业技术学院</value>
<setting name="ConstrctionOrg" serializeAs="String">
<value>菜鸟驿站</value>
</setting>
<setting name="Date" serializeAs="String">
<value/>
<value />
</setting>
<setting name="Scale" serializeAs="String">
<value/>
<value />
</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>
<setting name="Designer" serializeAs="String">
<value>xxx</value>
</setting>
<setting name="ProofReader" serializeAs="String">
<value>xxx</value>
</setting>
<setting name="Approver" serializeAs="String">
<value>xxx</value>
</setting>
<setting name="Reviewer" serializeAs="String">
<value>xxx</value>
</setting>
<setting name="Major" serializeAs="String">
<value>装修</value>
</setting>
<setting name="Leader" serializeAs="String">
<value>xxx</value>
</setting>
<setting name="Phase" serializeAs="String">
<value>装修</value>
</setting>
</RookieStation.Properties.Settings>
</userSettings>
<startup>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EPPlus" version="5.6.4" targetFramework="net47" />
<package id="HandyControl" version="3.2.0" targetFramework="net47" requireReinstallation="true" />
<package id="HandyControl" version="3.2.0" targetFramework="net47" />
<package id="Microsoft.IO.RecyclableMemoryStream" version="1.4.1" targetFramework="net47" />
<package id="Revit_API_x64" version="2020.0.0" targetFramework="net47" />
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.114.0" targetFramework="net47" />

View File

@@ -171,6 +171,12 @@
}
"Entry"
{
"MsmKey" = "8:_370156AF90A846D8A936B0ED24AE007E"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_3C638280963E4C24BFED1515982889B6"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -279,6 +285,12 @@
}
"Entry"
{
"MsmKey" = "8:_6980032153ED4208826D6D0C3D1834D2"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_69CFE5CC346949CC8C772A6308CC7D75"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -495,12 +507,6 @@
}
"Entry"
{
"MsmKey" = "8:_C5748324BCD855B3577C398A6540A20C"
"OwnerKey" = "8:_FBE461B9D4BD4603919E2821D88FB7CB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_C58BF8A450F44D988A6617D87A67A2E9"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -561,6 +567,12 @@
}
"Entry"
{
"MsmKey" = "8:_CECC41044D30CA62AB3DE090794D73D6"
"OwnerKey" = "8:_FBE461B9D4BD4603919E2821D88FB7CB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_D7CE0EFBE9E549AF95F204F2459A3AAE"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -627,12 +639,6 @@
}
"Entry"
{
"MsmKey" = "8:_EBFD8D45275D43D3993A705B49D49673"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_EE5304E4B88C4949980DA38F88047BBF"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -657,12 +663,6 @@
}
"Entry"
{
"MsmKey" = "8:_F75F23881E914AFBB1455615D8EB0CF3"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_FBE461B9D4BD4603919E2821D88FB7CB"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -760,7 +760,7 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_C5748324BCD855B3577C398A6540A20C"
"OwnerKey" = "8:_CECC41044D30CA62AB3DE090794D73D6"
"MsmSig" = "8:_UNDEFINED"
}
}
@@ -1380,6 +1380,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_370156AF90A846D8A936B0ED24AE007E"
{
"SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\家具\\绿动回收台-双.rfa"
"TargetName" = "8:绿动回收台-双.rfa"
"Tag" = "8:"
"Folder" = "8:_C339685F5ECF4472982108116EDD1313"
"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}:_3C638280963E4C24BFED1515982889B6"
{
"SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\家具\\拆包桌.rfa"
@@ -1722,6 +1742,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6980032153ED4208826D6D0C3D1834D2"
{
"SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\家具\\绿动回收台-单.rfa"
"TargetName" = "8:绿动回收台-单.rfa"
"Tag" = "8:"
"Folder" = "8:_C339685F5ECF4472982108116EDD1313"
"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}:_69CFE5CC346949CC8C772A6308CC7D75"
{
"SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\Texture\\取件区-左.png"
@@ -2377,37 +2417,6 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C5748324BCD855B3577C398A6540A20C"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:System.Threading.Tasks, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ScatterAssemblies"
{
"_C5748324BCD855B3577C398A6540A20C"
{
"Name" = "8:System.Threading.Tasks.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:System.Threading.Tasks.dll"
"TargetName" = "8:"
"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:TRUE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C58BF8A450F44D988A6617D87A67A2E9"
{
"SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\Texture\\寄件出口.png"
@@ -2608,6 +2617,37 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_CECC41044D30CA62AB3DE090794D73D6"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:System.Threading.Tasks, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ScatterAssemblies"
{
"_CECC41044D30CA62AB3DE090794D73D6"
{
"Name" = "8:System.Threading.Tasks.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:System.Threading.Tasks.dll"
"TargetName" = "8:"
"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:TRUE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D7CE0EFBE9E549AF95F204F2459A3AAE"
{
"SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\Texture\\验视台卡.jpg"
@@ -2839,26 +2879,6 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EBFD8D45275D43D3993A705B49D49673"
{
"SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\家具\\绿动回收台-1.5m.rfa"
"TargetName" = "8:绿动回收台-1.5m.rfa"
"Tag" = "8:"
"Folder" = "8:_C339685F5ECF4472982108116EDD1313"
"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}:_EE5304E4B88C4949980DA38F88047BBF"
{
"SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\标识标牌\\台卡.rfa"
@@ -2950,26 +2970,6 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F75F23881E914AFBB1455615D8EB0CF3"
{
"SourcePath" = "8:..\\RookieStation\\bin\\Release\\RsLibrary\\FamilyLibrary\\家具\\绿动回收台-3.0m.rfa"
"TargetName" = "8:绿动回收台-3.0m.rfa"
"Tag" = "8:"
"Folder" = "8:_C339685F5ECF4472982108116EDD1313"
"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}:_FD27823B3253486DB7BBB13FEC35052D"
{
"SourcePath" = "8:..\\RookieStation\\bin\\Release\\x64\\SQLite.Interop.dll"