Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/support convert log #257

Merged
merged 5 commits into from
Jun 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions HoaryFox/RH7/Component/Geometry/Stb2Brep.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;

using Grasshopper.Kernel;
Expand Down Expand Up @@ -41,6 +42,7 @@ protected override void RegisterInputParams(GH_InputParamManager pManager)

protected override void RegisterOutputParams(GH_OutputParamManager pManager)
{
pManager.AddTextParameter("Log", "Log", "Log", GH_ParamAccess.item);
pManager.AddBrepParameter("Columns", "Col", "output StbColumns to Brep", GH_ParamAccess.tree);
pManager.AddBrepParameter("Girders", "Gird", "output StbGirders to Brep", GH_ParamAccess.tree);
pManager.AddBrepParameter("Posts", "Pst", "output StbPosts to Brep", GH_ParamAccess.tree);
Expand All @@ -58,25 +60,27 @@ protected override void SolveInstance(IGH_DataAccess dataAccess)
if (!dataAccess.GetData("Data", ref _stBridge)) { return; }
if (!dataAccess.GetData("Bake", ref isBake)) { return; }

CreateBrep();
var log = CreateBrep();
if (isBake)
{
BakeBrep();
}

for (var i = 0; i < 9; i++)
dataAccess.SetData(0, log);
for (var i = 1; i < 10; i++)
{
dataAccess.SetDataTree(i, _brepList[i]);
dataAccess.SetDataTree(i, _brepList[i - 1]);
}
}

protected override Bitmap Icon => Resource.Brep;
public override Guid ComponentGuid => new Guid("B2D5EA7F-E75F-406B-8D22-C267B43C5E72");

private void CreateBrep()
private string CreateBrep()
{
var path = Path.GetDirectoryName(Grasshopper.Instances.ComponentServer.FindAssemblyByObject(this).Location);
StbMembers member = _stBridge.StbModel.StbMembers;
var brepFromStb = new CreateMemberBrepListFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() });
var brepFromStb = new CreateMemberBrepListFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }, path);
_brepList[0] = brepFromStb.Column(member.StbColumns);
_brepList[1] = brepFromStb.Girder(member.StbGirders);
_brepList[2] = brepFromStb.Post(member.StbPosts);
Expand All @@ -86,6 +90,8 @@ private void CreateBrep()
_brepList[6] = brepFromStb.Wall(member.StbWalls, member.StbOpens);
_brepList[7] = brepFromStb.Pile(member.StbPiles);
_brepList[8] = brepFromStb.Footing(member.StbFootings);
brepFromStb.SerializeLog();
return brepFromStb.Logger.ToString();
}

private void BakeBrep()
Expand Down
105 changes: 105 additions & 0 deletions HoaryFox/RH7/Component/Utils/ConvertLogger.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
using System;
using System.IO;
using System.Text;

namespace HoaryFox.Component.Utils
{
public class ConvertLogger
{
private readonly StringBuilder _logger = new StringBuilder();
private readonly string _path;

public ConvertLogger(string path, string version)
{
_path = path;
_logger.AppendLine(@"--------------------------------------");
_logger.AppendLine(@" ____ ____ ________");
_logger.AppendLine(@"|_ || _| |_ __ |");
_logger.AppendLine(@" | |__| | .--. ,--. _ .--. _ __ | |_ \_| .--. _ __");
_logger.AppendLine(@" | __ | / .'`\ \ `'_\ : [ `/'`\] [ \ [ ] | _| / .'`\ \ [ \ [ ]");
_logger.AppendLine(@" _| | | |_ | \__. | // | |, | | \ '/ / _| |_ | \__. | > ' <");
_logger.AppendLine(@"|____||____| '.__.' \'-;__/ [___] [\_: / |_____| '.__.' [__]`\_]");
_logger.AppendLine(@" \__.'");
_logger.AppendLine($" version:{version}");
_logger.AppendLine(@" ST-Bridge to Brep Convert Log");
_logger.AppendLine(@"--------------------------------------");
_logger.AppendLine($"::INFO :: 変換開始 | {DateTime.Now}");
}

public void Clear()
{
_logger.Clear();
}

public void AppendInfoMessage(string message)
{
_logger.AppendLine($"::INFO :: {message}");
}

public void AppendInfoConvertStartMessage(string message)
{
_logger.AppendLine("--------------------------------------");
_logger.AppendLine($"::INFO :: {message}の変換を開始しました。 | {DateTime.Now}");
}

public void AppendInfoConvertEndMessage(string message)
{
_logger.AppendLine($"::INFO :: {message}の変換を終了しました。 | {DateTime.Now}");
_logger.AppendLine("--------------------------------------");
}

public void AppendInfoDataNotFoundMessage(string message)
{
_logger.AppendLine($"::INFO :: {message}のデータはありませんでした。 | {DateTime.Now}");
_logger.AppendLine("--------------------------------------");
}

public void AppendInfo(string guid, string message)
{
_logger.AppendLine($"::INFO :: [{guid}] | {message}");
}

public void AppendConvertSuccess(string guid, string tag)
{
_logger.AppendLine($"::INFO :: [{guid}] | {tag} | 変換完了");
}

public void AppendWarning(string guid, string message)
{
_logger.AppendLine($"::WARNING:: [{guid}] | {message}");
}

public void AppendConvertWarning(string guid, string tag, string message)
{
_logger.AppendLine($"::WARNING:: [{guid}] | {tag} | 変換結果 要確認 | {message}");
}

public void AppendError(string guid, string message)
{
_logger.AppendLine($"::ERROR :: [{guid}] | {message}");
}

public void AppendConvertFailed(string guid, string tag, string message)
{
_logger.AppendLine($"::ERROR :: [{guid}] | {tag} | 変換失敗 | {message}");
}

public void AppendSummary(int[] resultCount)
{
_logger.AppendLine($"::INFO :: [SUMMARY] | {resultCount[0]} 件の変換に成功しました。");
_logger.AppendLine($"::INFO :: [SUMMARY] | {resultCount[1]} 件が変換出来ましたが、結果の確認が必要です。");
_logger.AppendLine($"::INFO :: [SUMMARY] | {resultCount[2]} 件の変換に失敗しました。");
}

public void Serialize()
{
AppendInfoConvertEndMessage("ST-BridgeデータのBrepへ");
File.WriteAllText(_path + "/S2B_convert.log", _logger.ToString());
}

public override string ToString()
{
return _logger.ToString();
}
}
}
Loading
Loading