public static string ToNative(this StructuralNodalInfluenceEffect infl) { return(new GSANodalInfluenceEffect() { Value = infl }.SetGWACommand()); }
public static string ToNative(this StructuralNodalInfluenceEffect infl) { return(SchemaConversion.Helper.ToNativeTryCatch(infl, () => new GSANodalInfluenceEffect() { Value = infl }.SetGWACommand())); }
public void ParseGWACommand(List <GSANode> nodes) { if (this.GWACommand == null) { return; } var obj = new StructuralNodalInfluenceEffect(); var pieces = this.GWACommand.ListSplit("\t"); var counter = 1; // Skip identifier obj.Name = pieces[counter++].Trim(new char[] { '"' }); obj.GSAEffectGroup = Convert.ToInt32(pieces[counter++]); var targetNodeRef = pieces[counter++]; GSANode targetNode; if (nodes != null) { targetNode = nodes.Where(n => targetNodeRef == n.GSAId.ToString()).FirstOrDefault(); obj.NodeRef = targetNode.Value.ApplicationId; this.SubGWACommand.Add(targetNode.GWACommand); targetNode.ForceSend = true; } else { return; } obj.Factor = Convert.ToDouble(pieces[counter++]); var effectType = pieces[counter++]; switch (effectType) { case "DISP": obj.EffectType = StructuralInfluenceEffectType.Displacement; break; case "FORCE": obj.EffectType = StructuralInfluenceEffectType.Force; break; default: return; } var axis = pieces[counter++]; if (axis == "GLOBAL") { obj.Axis = HelperClass.Parse0DAxis(0, Initialiser.Interface, out var temp); } else if (axis == "LOCAL") { obj.Axis = targetNode.Value.Axis; } else { obj.Axis = HelperClass.Parse0DAxis(Convert.ToInt32(axis), Initialiser.Interface, out string rec, targetNode.Value.Value.ToArray()); if (rec != null) { this.SubGWACommand.Add(rec); } } var dir = pieces[counter++]; obj.Directions = new StructuralVectorBoolSix(new bool[6]); switch (dir.ToLower()) { case "x": obj.Directions.Value[0] = true; break; case "y": obj.Directions.Value[1] = true; break; case "z": obj.Directions.Value[2] = true; break; case "xx": obj.Directions.Value[3] = true; break; case "yy": obj.Directions.Value[4] = true; break; case "zz": obj.Directions.Value[5] = true; break; } this.Value = obj; }