Beispiel #1
0
        /***************************************************/

        private IFLoadingGlobalDistributed CreateGlobalDistributedLoadSurface(AreaUniformlyDistributedLoad distributedLoad, object[] lusasSurfaces)
        {
            IFLoadcase assignedLoadcase = (IFLoadcase)d_LusasData.getLoadset(distributedLoad.Loadcase.AdapterId <int>(typeof(LusasId)));
            IFLoadingGlobalDistributed lusasGlobalDistributed = CreateGlobalDistributed(distributedLoad.Name,
                                                                                        "Area", assignedLoadcase, distributedLoad.Pressure, null, lusasSurfaces);

            int adapterIdName = lusasGlobalDistributed.getID();

            distributedLoad.SetAdapterId(typeof(LusasId), adapterIdName);

            return(lusasGlobalDistributed);
        }
        /***************************************************/
        /**** Public Methods                            ****/
        /***************************************************/

        public static AreaUniformlyDistributedLoad ToAreaUniformlyDistributed(
            IFLoading lusasDistributed, IEnumerable <IFAssignment> lusasAssignments,
            Dictionary <string, Panel> panels)
        {
            IFLoadcase assignedLoadcase = (IFLoadcase)lusasAssignments.First().getAssignmentLoadset();
            Loadcase   loadcase         = ToLoadcase(assignedLoadcase);

            IEnumerable <IAreaElement> assignedPanels = GetSurfaceAssignments(
                lusasAssignments, panels);

            Vector pressureVector = new Vector
            {
                X = lusasDistributed.getValue("WX"),
                Y = lusasDistributed.getValue("WY"),
                Z = lusasDistributed.getValue("WZ")
            };

            AreaUniformlyDistributedLoad areaUniformlyDistributedLoad = null;

            if (lusasDistributed.getAttributeType() == "Global Distributed Load")
            {
                areaUniformlyDistributedLoad = Engine.Structure.Create.AreaUniformlyDistributedLoad(
                    loadcase,
                    pressureVector,
                    assignedPanels,
                    LoadAxis.Global,
                    true,
                    GetName(lusasDistributed));
            }
            else if (lusasDistributed.getAttributeType() == "Distributed Load")
            {
                areaUniformlyDistributedLoad = Engine.Structure.Create.AreaUniformlyDistributedLoad(
                    loadcase,
                    pressureVector,
                    assignedPanels,
                    LoadAxis.Local,
                    true,
                    GetName(lusasDistributed));
            }

            int adapterNameId = lusasDistributed.getID();

            areaUniformlyDistributedLoad.SetAdapterId(typeof(LusasId), adapterNameId);

            return(areaUniformlyDistributedLoad);
        }