Skip to content

Commit

Permalink
Merge pull request #257 from hrntsm/feature/support-convert-log
Browse files Browse the repository at this point in the history
Feature/support convert log
  • Loading branch information
hrntsm authored Jun 11, 2023
2 parents 3f32f02 + 9983999 commit 4a6bdc0
Show file tree
Hide file tree
Showing 8 changed files with 609 additions and 279 deletions.
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

0 comments on commit 4a6bdc0

Please sign in to comment.