/***************************************************/ public static Node ToBHoMObject(this INode ramNode) { // Get the location of the node SCoordinate location = new SCoordinate(); location = ramNode.sLocation; Node node = new Node { Position = location.PointFromRAM() }; IMemberForces IMemberForces = ramNode.GetReactions(); // Collect all member forces at node, tracked by index; should these be combined? for (int i = 0; i < IMemberForces.GetCount(); i++) { RAMNodeForceData ramNodeForceData = new RAMNodeForceData(); IMemberForce IMemberForce = IMemberForces.GetAt(i); double axial = IMemberForce.dAxial; double loc = IMemberForce.dLocation; double momMaj = IMemberForce.dMomentMajor; double momMin = IMemberForce.dMomentMinor; double shearMaj = IMemberForce.dShearMajor; double shearMin = IMemberForce.dShearMinor; double torsion = IMemberForce.dTorsion; string loadcaseID = IMemberForce.lLoadCaseID.ToString(); //Set by member number--is there a way to do this in nested lists instead? ramNodeForceData.Axial = axial; ramNodeForceData.Location = loc; ramNodeForceData.MomMaj = momMaj; ramNodeForceData.MomMin = momMin; ramNodeForceData.ShearMaj = shearMaj; ramNodeForceData.ShearMin = shearMin; ramNodeForceData.Torsion = torsion; ramNodeForceData.LoadcaseID = loadcaseID; node.Fragments.Add(ramNodeForceData); } return(node); }
/***************************************************/ public static NodeReaction ToBHoMObject(this IMemberForce ramForce) { NodeReaction bhomNodeReaction = new NodeReaction("", "", -1, 0, Basis.XY, ramForce.dAxial, ramForce.dShearMinor, ramForce.dShearMajor, ramForce.dTorsion, ramForce.dMomentMajor, ramForce.dMomentMinor); return(bhomNodeReaction); }