public static List <string>[] GetIndex(ST_BRIDGE stBridge) { var k3dIds = new[] { new List <string>(), new List <string>(), new List <string>() }; StbMembers members = stBridge.StbModel.StbMembers; if (members.StbColumns != null) { k3dIds[0].AddRange(members.StbColumns.Select(column => "Id" + column.id_section)); } if (members.StbGirders != null) { k3dIds[1].AddRange(members.StbGirders.Select(girder => "Id" + girder.id_section)); } if (members.StbBraces != null) { k3dIds[2].AddRange(members.StbBraces.Select(brace => "Id" + brace.id_section)); } return(k3dIds); }
protected override void SolveInstance(IGH_DataAccess dataAccess) { var path = string.Empty; var isOutput = false; var nodes = new List <StbNode>(); var axes = new StbAxes(); var stories = new List <StbStory>(); var members = new StbMembers(); var sections = new StbSections(); if (!dataAccess.GetDataList(0, nodes)) { return; } if (!dataAccess.GetData(1, ref axes)) { return; } if (!dataAccess.GetDataList(2, stories)) { return; } if (!dataAccess.GetData(3, ref members)) { return; } if (!dataAccess.GetData(4, ref sections)) { return; } if (!dataAccess.GetData(5, ref path)) { return; } if (!dataAccess.GetData(6, ref isOutput)) { return; } var stbData = new ST_BRIDGE { version = "2.0.2", StbCommon = new StbCommon { project_name = ActiveCanvasFileName(), app_name = "HoaryFox", }, StbModel = new StbModel { StbAxes = axes, StbStories = stories.ToArray(), StbNodes = nodes.ToArray(), StbMembers = members, StbSections = sections, StbJoints = new StbJoints(), }, StbAnaModels = Array.Empty <StbAnaModel>(), StbCalData = new StbCalData(), }; if (isOutput) { bool result = Serializer.Serialize(stbData, path, STBDotNet.Enums.Version.Stb202); if (!result) { throw new Exception("Failed to serialize."); } } dataAccess.SetData(0, stbData); }
public CreateLineFromStb(ST_BRIDGE stBridge) { _members = stBridge.StbModel.StbMembers; _nodes = stBridge.StbModel.StbNodes; }