コード例 #1
0
ファイル: FrameConstructor.cs プロジェクト: ming91915/SDSS
        private void button_GenerateFrame_Click(object sender, EventArgs e)
        {
            // create a new form
            var layerCount = (ushort)textBoxNum_layers.ValueNumber;
            var spanCount  = (ushort)textBoxNum_spans.ValueNumber;


            // 构造窗口
            FrameConstructorForm fc = null;

            if ((layerCount > 0) && (spanCount > 0))
            {
                if (layerCount == _frameStructure.LayerHeights.Length &&
                    spanCount == _frameStructure.SpanWidths.Length)
                {
                    fc = FrameConstructorForm.GetUniqueInstance(_frameStructure.LayerHeights, _frameStructure.SpanWidths);
                }
                else
                {
                    fc = FrameConstructorForm.GetUniqueInstance(layerCount, spanCount);
                }
            }
            else
            {
                MessageBox.Show(@"框架的层数与跨数都必须大于0", @"提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            if (fc != null)
            {
                var res = fc.ShowDialog();
                if (res == DialogResult.OK)
                {
                    Material mat  = _definitions.Materials.FirstOrDefault();
                    Profile  prof = _definitions.Profiles.FirstOrDefault();

                    _frameStructure = Frame.Create(fc.LayerHeights, fc.SpanWidths, defaultMat: mat, defaultProfile: prof);

                    //
                    RefreshUI_FrameTable(_frameStructure);
                    eZDataGridViewFrame.Refresh();

                    //
                    FramePointorChanged?.Invoke(_frameStructure);
                }
            }
        }
コード例 #2
0
ファイル: FrameConstructor.cs プロジェクト: ming91915/SDSS
        /// <summary>
        /// 将模型中的框架结构或者材料、截面定义信息刷新到控件中
        /// </summary>
        /// <param name="frame"></param>
        public void ImportFrameOrDefinitions(Frame frame, DefinitionCollection definitions)
        {
            if (definitions != null)
            {
                _definitions = definitions;
            }
            if (frame != null)
            {
                _frameStructure = frame;
                FramePointorChanged?.Invoke(_frameStructure);

                // 层高与跨度
                textBoxNum_layers.Text = frame.LayerHeights.Length.ToString();
                textBoxNum_spans.Text  = frame.SpanWidths.Length.ToString();
                //
                RefreshUI_FrameTable(frame);
            }
        }