更新
This commit is contained in:
@@ -30,7 +30,7 @@ namespace RookieStation
|
|||||||
GeometryInstance geometryInstance = geomObj as GeometryInstance;
|
GeometryInstance geometryInstance = geomObj as GeometryInstance;
|
||||||
if (geometryInstance != null)
|
if (geometryInstance != null)
|
||||||
{
|
{
|
||||||
foreach (var instObj in geometryInstance.GetInstanceGeometry())
|
foreach (var instObj in geometryInstance.GetSymbolGeometry())
|
||||||
{
|
{
|
||||||
Curve curve = instObj as Curve;
|
Curve curve = instObj as Curve;
|
||||||
if (curve == null)
|
if (curve == null)
|
||||||
@@ -41,71 +41,103 @@ namespace RookieStation
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//doc.Invoke(ts =>
|
||||||
|
//{
|
||||||
|
// foreach (var curve in curves)
|
||||||
|
// {
|
||||||
|
// SketchPlane plane = SketchPlane.Create(doc, Plane.CreateByNormalAndOrigin(XYZ.BasisZ, XYZ.Zero));
|
||||||
|
// doc.FamilyCreate.NewModelCurve(curve, plane);
|
||||||
|
// }
|
||||||
|
//});
|
||||||
CurveArrArray arrArray = new CurveArrArray();
|
CurveArrArray arrArray = new CurveArrArray();
|
||||||
CurveArray array = new CurveArray();
|
CurveArray array = new CurveArray();
|
||||||
do
|
|
||||||
{
|
|
||||||
Curve curve = curves.Last();
|
|
||||||
array.Clear();
|
|
||||||
Curve tempcurve = curve;
|
|
||||||
var endxyz = tempcurve.GetEndPoint(1);
|
|
||||||
for (int j = curves.Count - 1; j >= 0; j--)
|
|
||||||
{
|
|
||||||
Curve cur = curves[j];
|
|
||||||
if (cur.Equals(tempcurve))
|
|
||||||
{
|
|
||||||
array.Append(cur);
|
|
||||||
curves.Remove(cur);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (cur.GetEndPoint(0).IsAlmostEqualTo(endxyz))
|
|
||||||
{
|
|
||||||
tempcurve = cur;
|
|
||||||
endxyz = cur.GetEndPoint(1);
|
|
||||||
array.Append(cur);
|
|
||||||
curves.Remove(cur);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (cur.GetEndPoint(1).IsAlmostEqualTo(endxyz))
|
|
||||||
{
|
|
||||||
tempcurve = cur;
|
|
||||||
endxyz = cur.GetEndPoint(0);
|
|
||||||
array.Append(cur);
|
|
||||||
curves.Remove(cur);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
arrArray.Append(array);
|
|
||||||
} while (curves.Count > 0);
|
|
||||||
|
|
||||||
using (Transaction trans = new Transaction(doc, "cmd"))
|
SearchCurveConnected(curves, curves.FirstOrDefault(), array, arrArray);
|
||||||
{
|
//do
|
||||||
try
|
|
||||||
{
|
|
||||||
trans.Start();
|
|
||||||
//foreach (var item in curves)
|
|
||||||
//{
|
//{
|
||||||
|
// Curve baseCurve = curves.Last();
|
||||||
|
// var tempEndXyz = baseCurve.GetEndPoint(1);
|
||||||
|
// array.Clear();
|
||||||
|
// array.Append(baseCurve);
|
||||||
|
// curves.Remove(baseCurve);
|
||||||
|
|
||||||
|
// for (int j = curves.Count - 1; j >= 0; j--)
|
||||||
|
// {
|
||||||
|
// Curve tempCurve = curves[j];
|
||||||
|
|
||||||
|
// if (tempCurve.GetEndPoint(0).IsAlmostEqualTo(tempEndXyz))
|
||||||
|
// {
|
||||||
|
// baseCurve = tempCurve;
|
||||||
|
// tempEndXyz = tempCurve.GetEndPoint(1);
|
||||||
|
// array.Append(tempCurve);
|
||||||
|
// curves.Remove(tempCurve);
|
||||||
|
// continue;
|
||||||
// }
|
// }
|
||||||
//doc.FamilyCreate.NewModelCurve()
|
// else if (tempCurve.GetEndPoint(1).IsAlmostEqualTo(tempEndXyz))
|
||||||
|
// {
|
||||||
|
// baseCurve = tempCurve;
|
||||||
|
// tempEndXyz = tempCurve.GetEndPoint(0);
|
||||||
|
// array.Append(tempCurve);
|
||||||
|
// curves.Remove(tempCurve);
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// arrArray.Append(array);
|
||||||
|
//} while (curves.Count > 0);
|
||||||
|
|
||||||
|
doc.Invoke(ts =>
|
||||||
|
{
|
||||||
SketchPlane plane = SketchPlane.Create(doc, Plane.CreateByNormalAndOrigin(XYZ.BasisZ, XYZ.Zero));
|
SketchPlane plane = SketchPlane.Create(doc, Plane.CreateByNormalAndOrigin(XYZ.BasisZ, XYZ.Zero));
|
||||||
|
|
||||||
foreach (CurveArray arr in arrArray)
|
foreach (CurveArray arr in arrArray)
|
||||||
{
|
{
|
||||||
doc.FamilyCreate.NewModelCurveArray(arr, plane);
|
var ml = doc.FamilyCreate.NewModelCurveArray(arr, plane);
|
||||||
}
|
}
|
||||||
|
//foreach (CurveArray arr in arrArray)
|
||||||
|
//{
|
||||||
|
// doc.FamilyCreate.NewExtrusion(true, arrArray, plane, 5.0 / 304.8);
|
||||||
|
|
||||||
trans.Commit();
|
// //var ml = doc.FamilyCreate.NewModelCurveArray(arr, plane);
|
||||||
}
|
//}
|
||||||
catch (Exception ex)
|
});
|
||||||
{
|
|
||||||
Log.WriteLog(ex.Message);
|
|
||||||
if (trans.GetStatus() == TransactionStatus.Started)
|
|
||||||
{
|
|
||||||
trans.RollBack();
|
|
||||||
}
|
|
||||||
return Result.Cancelled;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return Result.Succeeded;
|
return Result.Succeeded;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 找到所有连接在一起的线圈并分好组
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="curves">所有线</param>
|
||||||
|
/// <param name="initcurve">用于查找与其连接的初始线</param>
|
||||||
|
/// <param name="initCurveArray">初始的线串</param>
|
||||||
|
/// <param name="curveArrArray">所有线串的集合</param>
|
||||||
|
private void SearchCurveConnected(List<Curve> curves, Curve initcurve, CurveArray initCurveArray, CurveArrArray curveArrArray)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < curves.Count; i++)
|
||||||
|
{
|
||||||
|
Curve tempCurve = curves[i];
|
||||||
|
var baseEndXyz = initcurve.GetEndPoint(0);
|
||||||
|
if (tempCurve.GetEndPoint(0).IsAlmostEqualTo(baseEndXyz) || tempCurve.GetEndPoint(1).IsAlmostEqualTo(baseEndXyz))
|
||||||
|
{
|
||||||
|
initCurveArray.Append(tempCurve);
|
||||||
|
curves.Remove(tempCurve);
|
||||||
|
SearchCurveConnected(curves, tempCurve, initCurveArray, curveArrArray);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (i == curves.Count() - 1)
|
||||||
|
{
|
||||||
|
curveArrArray.Append(initCurveArray);
|
||||||
|
//array.Clear();
|
||||||
|
initCurveArray = new CurveArray();
|
||||||
|
SearchCurveConnected(curves, curves.FirstOrDefault(), initCurveArray, curveArrArray);
|
||||||
|
////由于最后一轮运行完递归后,所有线段均成串,只执行上面的if内容,所以没办法将剩余线加到集合中。
|
||||||
|
if (curves.Count() == 0)
|
||||||
|
{
|
||||||
|
curveArrArray.Append(initCurveArray);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,7 +8,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyTitle("RookieStation")]
|
[assembly: AssemblyTitle("RookieStation")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("永特新工程")]
|
||||||
[assembly: AssemblyProduct("RookieStation")]
|
[assembly: AssemblyProduct("RookieStation")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2021")]
|
[assembly: AssemblyCopyright("Copyright © 2021")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
|
|||||||
BIN
RookieStation/Resources/YTX.ico
Normal file
BIN
RookieStation/Resources/YTX.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
@@ -33,6 +33,9 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<ApplicationIcon>Resources\YTX.ico</ApplicationIcon>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="AdWindows, Version=2018.11.1.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="AdWindows, Version=2018.11.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Revit_API_x64.2020.0.0\lib\NET470\AdWindows.dll</HintPath>
|
<HintPath>..\packages\Revit_API_x64.2020.0.0\lib\NET470\AdWindows.dll</HintPath>
|
||||||
@@ -327,6 +330,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="Resources\WallFinishes.png" />
|
<Content Include="Resources\WallFinishes.png" />
|
||||||
|
<Content Include="Resources\YTX.ico" />
|
||||||
<None Include="Resources\WorkSchedule.png" />
|
<None Include="Resources\WorkSchedule.png" />
|
||||||
<Content Include="RsLibrary\Texture\免费WiFi.png">
|
<Content Include="RsLibrary\Texture\免费WiFi.png">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
|||||||
@@ -2239,15 +2239,15 @@
|
|||||||
{
|
{
|
||||||
"Name" = "8:Microsoft Visual Studio"
|
"Name" = "8:Microsoft Visual Studio"
|
||||||
"ProductName" = "8:菜鸟驿站工具集"
|
"ProductName" = "8:菜鸟驿站工具集"
|
||||||
"ProductCode" = "8:{AFF84E16-0B2D-4AA9-8FB6-270E31E03704}"
|
"ProductCode" = "8:{3C7C28E4-ABFB-47B5-A2D2-1D3BE24156C2}"
|
||||||
"PackageCode" = "8:{BBFE184F-070A-4A8E-9C9D-FF185BB2F5F2}"
|
"PackageCode" = "8:{EC98D320-1D7C-47B2-B3C8-9F02E7AE396A}"
|
||||||
"UpgradeCode" = "8:{127EC3EC-7539-468B-84EA-E1ECDD6204E6}"
|
"UpgradeCode" = "8:{127EC3EC-7539-468B-84EA-E1ECDD6204E6}"
|
||||||
"AspNetVersion" = "8:2.0.50727.0"
|
"AspNetVersion" = "8:2.0.50727.0"
|
||||||
"RestartWWWService" = "11:FALSE"
|
"RestartWWWService" = "11:FALSE"
|
||||||
"RemovePreviousVersions" = "11:TRUE"
|
"RemovePreviousVersions" = "11:TRUE"
|
||||||
"DetectNewerInstalledVersion" = "11:TRUE"
|
"DetectNewerInstalledVersion" = "11:TRUE"
|
||||||
"InstallAllUsers" = "11:TRUE"
|
"InstallAllUsers" = "11:TRUE"
|
||||||
"ProductVersion" = "8:1.0.1"
|
"ProductVersion" = "8:1.0.2"
|
||||||
"Manufacturer" = "8:YTX Engineering"
|
"Manufacturer" = "8:YTX Engineering"
|
||||||
"ARPHELPTELEPHONE" = "8:"
|
"ARPHELPTELEPHONE" = "8:"
|
||||||
"ARPHELPLINK" = "8:"
|
"ARPHELPLINK" = "8:"
|
||||||
@@ -2255,8 +2255,8 @@
|
|||||||
"Subject" = "8:"
|
"Subject" = "8:"
|
||||||
"ARPCONTACT" = "8:YTX Engineering"
|
"ARPCONTACT" = "8:YTX Engineering"
|
||||||
"Keywords" = "8:"
|
"Keywords" = "8:"
|
||||||
"ARPCOMMENTS" = "8:"
|
"ARPCOMMENTS" = "8:永特新工程"
|
||||||
"ARPURLINFOABOUT" = "8:"
|
"ARPURLINFOABOUT" = "8:https://www.yongtexin.com/"
|
||||||
"ARPPRODUCTICON" = "8:"
|
"ARPPRODUCTICON" = "8:"
|
||||||
"ARPIconIndex" = "3:0"
|
"ARPIconIndex" = "3:0"
|
||||||
"SearchPath" = "8:"
|
"SearchPath" = "8:"
|
||||||
@@ -2704,7 +2704,7 @@
|
|||||||
{
|
{
|
||||||
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_FBE461B9D4BD4603919E2821D88FB7CB"
|
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_FBE461B9D4BD4603919E2821D88FB7CB"
|
||||||
{
|
{
|
||||||
"SourcePath" = "8:..\\RookieStation\\obj\\Release\\RookieStation.dll"
|
"SourcePath" = "8:..\\RookieStation\\obj\\Debug\\RookieStation.dll"
|
||||||
"TargetName" = "8:"
|
"TargetName" = "8:"
|
||||||
"Tag" = "8:"
|
"Tag" = "8:"
|
||||||
"Folder" = "8:_7C1EF99E309C4A3FB02B902F06BE7F60"
|
"Folder" = "8:_7C1EF99E309C4A3FB02B902F06BE7F60"
|
||||||
|
|||||||
Reference in New Issue
Block a user