Beispiel #1
0
 private void button3_Click(object sender, EventArgs e)
 {
     RFEMobjectOps.MatchMemberPropertiesSettings matchSettings = processMatchMemberProps();
     MatchProps.MatchMemberProps(matchSettings);
 }
Beispiel #2
0
        private RFEMobjectOps.MatchMemberPropertiesSettings processMatchMemberProps()
        {
            RFEMobjectOps.MatchMemberPropertiesSettings matchSettings = new RFEMobjectOps.MatchMemberPropertiesSettings();

            //section
            if (MatchMembSection.Checked == true)
            {
                matchSettings.CrossSection = true;
            }
            else
            {
                matchSettings.CrossSection = false;
            }

            //hinges
            if (MatchMembHinges.Checked == true)
            {
                matchSettings.Hinges = true;
            }
            else
            {
                matchSettings.Hinges = false;
            }

            //eccentricities
            if (MatchMembEccentricities.Checked == true)
            {
                matchSettings.Eccentricity = true;
            }
            else
            {
                matchSettings.Eccentricity = false;
            }

            //rotation
            if (MatchMembRotation.Checked == true)
            {
                matchSettings.Rotation = true;
            }
            else
            {
                matchSettings.Rotation = false;
            }

            //taper types
            if (MatchMembTaperShape.Checked == true)
            {
                matchSettings.TaperShape = true;
            }
            else
            {
                matchSettings.TaperShape = false;
            }


            //comment
            if (MatchMembComment.Checked == true)
            {
                matchSettings.Comment = true;
            }
            else
            {
                matchSettings.Comment = false;
            }



            return(matchSettings);
        }
Beispiel #3
0
        public static void MatchMemberProps(RFEMobjectOps.MatchMemberPropertiesSettings matchPropSettings)
        {
            IModel     model     = RFEMconnection.getRFEMconnection();
            IModelData modelData = model.GetModelData();
            IView      view      = model.GetActiveView();

            //select Source member
            Common.IO.Log("Select one source member!");
            List <Member> sourceMembers = RFEMselectOps.selectMembers(model);

            if (sourceMembers.Count == 0)
            {
                Common.IO.Log("");
                return;
            }
            Member sourceMember = sourceMembers[0];

            //select Destination members
            Common.IO.Log("Select one or multiple destination members!");
            List <Member> destinationMembers = RFEMselectOps.selectMembers(model);

            if (destinationMembers.Count == 0)
            {
                Common.IO.Log("");
                return;
            }

            List <Member> membersToWrite = new List <Member>();

            foreach (Member member in destinationMembers)
            {
                Member targetMember = member;
                RFEMobjectOps.MatchMemberProperties(sourceMember, ref targetMember, matchPropSettings);
                membersToWrite.Add(targetMember);
            }



            try
            {
                //prepares model for modification and writes data
                modelData.PrepareModification();

                foreach (Member memberToWrite in membersToWrite)
                {
                    modelData.SetMember(memberToWrite);
                }

                //finishes modifications - regenerates numbering etc.
                modelData.FinishModification();
                Common.IO.Log("Member properties have been matched!");
            }
            catch (Exception ex)
            {
                Common.IO.Log("Error in matching the member properties!");
                MessageBox.Show(ex.Message, "Error - Member Write", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                //closing the connection with RFEM
                RFEMconnection.closeRFEMconnection(model);
            }
        }