public void assignToModel(IRobotMaterialType materialType)
        {
            IRobotLabel       label    = RobotLabels.createLabel(IRobotLabelType.I_LT_MATERIAL, name);
            RobotMaterialData material = (RobotMaterialData)label.Data;

            material.Type     = materialType;
            material.E        = elasticity;
            material.NU       = poisson;
            material.RO       = specificWeight;
            material.Kirchoff = kirchoff;
        }
Beispiel #2
0
        public static bool SetMaterial(Material Mymaterial)
        {
            IRobotLabel       material     = labelServer.Create(IRobotLabelType.I_LT_MATERIAL, Mymaterial.MaterialName);
            RobotMaterialData materialData = material.Data;

            materialData.Type     = IRobotMaterialType.I_MT_STEEL;
            materialData.E        = Mymaterial.YoungsModulas;
            materialData.NU       = Mymaterial.PoissionRatio;
            materialData.Kirchoff = Mymaterial.ShearModulas;
            materialData.RO       = Mymaterial.UnitWeight;
            materialData.LX       = Mymaterial.ThermalExpansion;
            materialData.DumpCoef = Mymaterial.DampingRatio;
            materialData.SaveToDBase();
            robotApp.Project.Structure.Labels.Store(material);
            return(true);
        }
Beispiel #3
0
        //create a material instance and add to
        public void create(string name, double elasticity, double poisson, double weigth, IRobotMaterialType robotMaterialType)
        {
            material = new Material(name, elasticity, poisson, weigth, robotMaterialType);
            materials.Add(material);

            //Adding the material to the current project
            //Acessing RobotLabelServer
            IRobotLabel materialLabel = structure.getLabelServer().Create(IRobotLabelType.I_LT_MATERIAL, name);
            //Accessing data properties
            RobotMaterialData materialData = (RobotMaterialData)materialLabel.Data;

            materialData.Type     = robotMaterialType;
            materialData.E        = elasticity;
            materialData.NU       = poisson;
            materialData.RO       = weigth;
            materialData.Kirchoff = material.kirchoff;

            structure.getLabelServer().Store(materialLabel);
        }//create
Beispiel #4
0
        public static bool SetMaterial(Material Mymaterial)
        {
            robotApp.Interactive = 0;
            IRobotLabel       material     = labelServer.Create(IRobotLabelType.I_LT_MATERIAL, Mymaterial.MaterialName);
            RobotMaterialData materialData = material.Data;

            materialData.Type     = IRobotMaterialType.I_MT_STEEL;
            materialData.E        = Mymaterial.YoungsModulas;
            materialData.NU       = Mymaterial.PoissionRatio;
            materialData.Kirchoff = Mymaterial.ShearModulas;
            materialData.RO       = Mymaterial.UnitWeight;
            materialData.LX       = Mymaterial.ThermalExpansion;
            materialData.DumpCoef = Mymaterial.DampingRatio;
            materialData.CS       = Mymaterial.ShearReductionFactor;
            materialData.Default  = 1;
            materialData.RT       = Mymaterial.TensionLimitstress;
            materialData.RE       = Mymaterial.CharchteristicResistance;
            materialData.SaveToDBase();
            robotApp.Project.Structure.Labels.Store(material);
            robotApp.Interactive = 1;
            return(true);
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Starting Robot application...");
            //Cria um novo objeto da aplicação Robot
            IRobotApplication robApp = new RobotApplicationClass();

            //Se a aplicaçao não estiver visivel, torna o robot visivel para permitir iteracao
            if (robApp.Visible == 0)
            {
                robApp.Interactive = 1;
                robApp.Visible     = 1;
            }

            Console.WriteLine("Creating concrete project...");
            //Cria o projeto da viga de concreto
            robApp.Project.New(IRobotProjectType.I_PT_SHELL);

            Console.WriteLine("Executing project settings...");
            //Configuracao das preferencias
            RobotProjectPreferences projectPrefs = robApp.Project.Preferences;

            //Configuracoes do codigo de verificacao da estrutura de concreto
            projectPrefs.SetActiveCode(IRobotCodeType.I_CT_RC_THEORETICAL_REINF, "BAEL 91");

            //Configuracao das preferencias de malha
            RobotMeshParams meshParams = projectPrefs.MeshParams;

            meshParams.SurfaceParams.Method.Method          = IRobotMeshMethodType.I_MMT_DELAUNAY;
            meshParams.SurfaceParams.Generation.Type        = IRobotMeshGenerationType.I_MGT_ELEMENT_SIZE;
            meshParams.SurfaceParams.Generation.ElementSize = 0.5;
            meshParams.SurfaceParams.Delaunay.Type          = IRobotMeshDelaunayType.I_MDT_DELAUNAY;

            //Geração da estrutura
            Console.WriteLine("Generating structure");
            IRobotStructure str = robApp.Project.Structure;

            Console.WriteLine("Generating nodes...");
            str.Nodes.Create(1, 0, 0, 0);
            str.Nodes.Create(2, 3, 0, 0);
            str.Nodes.Create(3, 3, 3, 0);
            str.Nodes.Create(4, 0, 3, 0);
            str.Nodes.Create(5, 0, 0, 4);
            str.Nodes.Create(6, 3, 0, 4);
            str.Nodes.Create(7, 3, 3, 4);
            str.Nodes.Create(8, 0, 3, 4);

            str.Bars.Create(1, 1, 5);
            str.Bars.Create(2, 2, 6);
            str.Bars.Create(3, 3, 7);
            str.Bars.Create(4, 4, 8);
            str.Bars.Create(5, 5, 6);
            str.Bars.Create(6, 7, 8);

            Console.WriteLine("Generating labels...");
            RobotLabelServer labels = str.Labels;

            string columnSectionName = "Rect. Column 30*30";

            IRobotLabel label = labels.Create(IRobotLabelType.I_LT_BAR_SECTION, columnSectionName);

            RobotBarSectionData section = (RobotBarSectionData)label.Data;

            section.ShapeType = IRobotBarSectionShapeType.I_BSST_CONCR_COL_R;

            RobotBarSectionConcreteData concrete = (RobotBarSectionConcreteData)section.Concrete;

            concrete.SetValue(IRobotBarSectionConcreteDataValue.I_BSCDV_COL_B, 0.3);
            concrete.SetValue(IRobotBarSectionConcreteDataValue.I_BSCDV_COL_H, 0.3);

            section.CalcNonstdGeometry();
            labels.Store(label);

            Console.WriteLine("Defining sections...");
            RobotSelection selectionBars = str.Selections.Get(IRobotObjectType.I_OT_BAR);

            selectionBars.FromText("1 2 3 4");
            str.Bars.SetLabel(selectionBars, IRobotLabelType.I_LT_BAR_SECTION, columnSectionName);

            RobotSectionDatabaseList steelSections = projectPrefs.SectionsActive;

            if (steelSections.Add("RCAT") == 1)
            {
                Console.WriteLine("Warning! Steel section base RCAT not found...");
            }

            selectionBars.FromText("5 6");
            label = labels.Create(IRobotLabelType.I_LT_BAR_SECTION, "HEA 340");
            str.Labels.Store(label);
            str.Bars.SetLabel(selectionBars, IRobotLabelType.I_LT_BAR_SECTION, "HEA 340");

            Console.WriteLine("Defining materials...");

            string materialName = "Concrete 30";

            label = labels.Create(IRobotLabelType.I_LT_MATERIAL, materialName);

            RobotMaterialData material = (RobotMaterialData)label.Data;

            material.Type     = IRobotMaterialType.I_MT_CONCRETE;
            material.E        = 3E+09;
            material.NU       = 1 / 6;
            material.RO       = 25000;
            material.Kirchoff = material.E / (2 * (1 + material.NU));

            Console.WriteLine("Generating slab...");
            RobotPointsArray points = (RobotPointsArray)robApp.CmpntFactory.Create(IRobotComponentType.I_CT_POINTS_ARRAY);

            points.SetSize(5);
            points.Set(1, 0, 0, 4);
            points.Set(2, 3, 0, 4);
            points.Set(3, 3, 3, 4);
            points.Set(4, 0, 3, 4);
            points.Set(5, 0, 0, 4);

            string slabSectionName = "Slab 30";

            label = labels.Create(IRobotLabelType.I_LT_PANEL_THICKNESS, slabSectionName);

            RobotThicknessData thickness = (RobotThicknessData)label.Data;

            thickness.MaterialName  = materialName;
            thickness.ThicknessType = IRobotThicknessType.I_TT_HOMOGENEOUS;

            RobotThicknessHomoData thicknessData = (RobotThicknessHomoData)thickness.Data;

            thicknessData.ThickConst = 0.3;
            labels.Store(label);

            RobotObjObject slab;
            int            objNumber = str.Objects.FreeNumber;

            str.Objects.CreateContour(objNumber, points);
            slab = (RobotObjObject)str.Objects.Get(objNumber);
            slab.Main.Attribs.Meshed = 1;
            slab.SetLabel(IRobotLabelType.I_LT_PANEL_THICKNESS, slabSectionName);
            slab.Initialize();

            Console.WriteLine("Adding hole in the slab...");

            points.Set(1, 1.1, 1.1, 4);
            points.Set(2, 2.5, 1.1, 4);

            RobotObjObject hole;



            Console.ReadLine();
        }