public static SpeckleObject ToSpeckle(this GSA2DThermalLoading dummyObject)
        {
            var newLines = ToSpeckleBase <GSA2DThermalLoading>();

            var loads = new List <GSA2DThermalLoading>();
            var e2Ds  = new List <GSA2DElement>();
            var m2Ds  = new List <GSA2DMember>();

            if (Initialiser.Settings.TargetLayer == GSATargetLayer.Analysis)
            {
                e2Ds = Initialiser.GSASenderObjects[typeof(GSA2DElement)].Cast <GSA2DElement>().ToList();
            }
            else if (Initialiser.Settings.TargetLayer == GSATargetLayer.Design)
            {
                m2Ds = Initialiser.GSASenderObjects[typeof(GSA2DMember)].Cast <GSA2DMember>().ToList();
            }

            foreach (var k in newLines.Keys)
            {
                var load = new GSA2DThermalLoading()
                {
                    GSAId = k, GWACommand = newLines[k]
                };
                load.ParseGWACommand(e2Ds, m2Ds);
                loads.Add(load);
            }

            Initialiser.GSASenderObjects[typeof(GSA2DThermalLoading)].AddRange(loads);

            return((loads.Count() > 0) ? new SpeckleObject() : new SpeckleNull());
        }
Example #2
0
        public static SpeckleObject ToSpeckle(this GSA2DThermalLoading dummyObject)
        {
            var newLines = ToSpeckleBase <GSA2DThermalLoading>();
            var loads    = new List <GSA2DThermalLoading>();
            var e2Ds     = new List <GSA2DElement>();
            var m2Ds     = new List <GSA2DMember>();
            var keyword  = dummyObject.GetGSAKeyword();

            if (Initialiser.AppResources.Settings.TargetLayer == GSATargetLayer.Analysis)
            {
                e2Ds = Initialiser.GsaKit.GSASenderObjects.Get <GSA2DElement>().ToList();
            }
            else if (Initialiser.AppResources.Settings.TargetLayer == GSATargetLayer.Design)
            {
                m2Ds = Initialiser.GsaKit.GSASenderObjects.Get <GSA2DMember>();
            }

            foreach (var k in newLines.Keys)
            {
                var load = new GSA2DThermalLoading()
                {
                    GSAId = k, GWACommand = newLines[k]
                };
                try
                {
                    load.ParseGWACommand(e2Ds, m2Ds);
                }
                catch (Exception ex)
                {
                    Initialiser.AppResources.Messenger.Message(MessageIntent.TechnicalLog, MessageLevel.Error, ex,
                                                               "Keyword=" + keyword, "Index=" + k);
                }
                loads.Add(load);
            }

            if (loads.Count() > 0)
            {
                Initialiser.GsaKit.GSASenderObjects.AddRange(loads);
            }

            return((loads.Count() > 0) ? new SpeckleObject() : new SpeckleNull());
        }