Exemplo n.º 1
0
        //用于提取参数 保存到文件
        public BaseKeyLayerParams(KeyLayerParams layer)
        {
            ycbh = layer.ycbh;
            ycsd = layer.ycsd;
            mcms = layer.mcms;
            fypjxs = layer.fypjxs;
            fypjxsxz = layer.fypjxsxz;
            gzmtjsj = layer.gzmtjsj;

            cfcdcjwy = layer.cfcdcjwy;
            gzmtjjl = layer.gzmtjjl;
            zx = layer.zx;
            qx = layer.qx;
            cdyxbj = layer.cdyxbj;

            gdydj = layer.gdydj;
            qxhckj = layer.qxhckj;
            cfkckjjl = layer.cfkckjjl;
            sjxcxs = layer.sjxcxs;
            yczdxcz = layer.yczdxcz;

            jsdjscjwy = layer.jsdjscjwy;
            jsdjslcwy = layer.jsdjscjwy;

            //套管安全系数部分
            tgwj = layer.tgwj;
            tgbh = layer.tgbh;
            tgtxml = layer.tgtxml;

            lsqycd = layer.lsqycd;
            klqd = layer.klqd;
            lsyl = layer.lsyl;
            lsaqxs = layer.lsaqxs;

            jqqycd = layer.jqqycd;
            kjqd = layer.kjqd;
            zdjqyl = layer.zdjqyl;
            zdjqyb = layer.zdjqyb;
            jqaqxs = layer.jqaqxs;
        }
Exemplo n.º 2
0
        //计算关键层和竖三带
        private void click_showKeyRow(object sender, RoutedEventArgs e)
        {
            //先撤销之前的变色
            foreach (KeyLayerParams nbr in keyLayers)
            {
                layers[nbr.ycbh - 1].IsKeyLayer = false;
            }

            //当前关键层变色显示
            int[] biaoHaoList = null;
            double[] pjxsList = null;
            bool isOk = getKeyLayer(ref biaoHaoList, ref pjxsList);

            if(!isOk)
            {
                return;
            }
            else if (biaoHaoList == null || pjxsList == null)
            {
                MessageBox.Show("未计算出关键层,请检查数据合理性");
                return;
            }

            keyLayers.Clear();
            int count = biaoHaoList.Length;
            for (int i = 0; i < count; i++)
            {
                KeyLayerParams layer = new KeyLayerParams(this);
                layer.ycbh = biaoHaoList[i];
                layer.fypjxs = pjxsList[i];

                layer.ycsd = layers[biaoHaoList[i] - 1].LeiJiShenDu;
                layer.mcms = layers[biaoHaoList[i] - 1].JuLiMeiShenDu;
                layer.fypjxsxz = layer.fypjxs * pjxsxz;
                keyLayers.Add(layer);

                layers[biaoHaoList[i] - 1].IsKeyLayer = true;
            }

            //竖三带计算
            try
            {
                var array1 = (MWNumericArray)logic.calHm(FuYanXCL, CaiGao, SuiZhangXS, Mcqj);
                double maoLuoDai = array1.ToScalarDouble();
                maoLuoDaiTb.Text = maoLuoDai.ToString("f3");
                var array2 = (MWNumericArray)logic.calHl(CaiGao, 1);
                double lieXiDai = array2.ToScalarDouble();
                lieXiDaiTb.Text = lieXiDai.ToString("f3");

                bool bWanquDai = false;
                for (int i = keyLayers.Count; i > 0; i--)
                {
                    if (keyLayers[i - 1].ycsd > lieXiDai)
                    {
                        continue;
                    }
                    bWanquDai = true;
                    wanQuDaiIndex = i - 1;
                    double wanquDai = keyLayers[i - 1].ycsd;
                    wanQuDaiTb.Text = wanquDai.ToString("f3");
                    break;
                }
                if(!bWanquDai)
                {
                    MessageBox.Show("没有找到弯曲带,请检查数据合理性");
                }
            }
            catch (Exception)
            {
                e.ToString();
                MessageBox.Show("竖三带计算出错,请检查数据合理性");
            }
        }
Exemplo n.º 3
0
        //打开文件
        public bool openFile(string filePath)
        {
            if (filePath == null)
            {
                FilePath = filePath;
                return true;
            }

            object obj = DataSaveAndRestore.restoreObj(filePath);
            if (obj == null || !(obj is DataSaveAndRestore.DataToSave))
            {
                return false;
            }
            DataSaveAndRestore.DataToSave data = obj as DataSaveAndRestore.DataToSave;

            //恢复基本参数
            layers.Clear();
            foreach (BaseLayerBaseParams baseParam in data.Layers)
            {
                LayerBaseParams layer = new LayerBaseParams(this, baseParam);
                layers.Add(layer);
            }

            //恢复关键层数据
            keyLayers.Clear();
            foreach (BaseKeyLayerParams baseParam in data.KeyLayers)
            {
                KeyLayerParams layer = new KeyLayerParams(this, baseParam);
                keyLayers.Add(layer);

            }

            //恢复关键层其他数据
            if (data.KeyLayerData != null && data.KeyLayerData.Count == 13)
            {
                int i = 0;
                mcqj = data.KeyLayerData[i++];
                FuYanXCL = data.KeyLayerData[i++];
                CaiGao = data.KeyLayerData[i++];
                SuiZhangXS = data.KeyLayerData[i++];
                maoLuoDaiTb.Text = data.KeyLayerData[i++].ToString("f3");
                lieXiDaiTb.Text = data.KeyLayerData[i++].ToString("f3");
                wanQuDaiTb.Text = data.KeyLayerData[i++].ToString("f3");

                mchd = data.KeyLayerData[i++];
                pjxsxz = data.KeyLayerData[i++];
                hcqZxcd = data.KeyLayerData[i++];
                hcqQxcd = data.KeyLayerData[i++];
                gzmsd = data.KeyLayerData[i++];
                jswzjl = data.KeyLayerData[i++];

                //没有刷新ui
                meiCengQingJIaoTb.Text = mcqj + "";
                fuYanXCLTb.Text = FuYanXCL + "";
                caiGaoTb.Text = CaiGao + "";
                suiZhangXSTb.Text = SuiZhangXS + "";

                meiCengHouDuTb.Text = mchd + "";
                xiuZhengXishuTb.Text = pjxsxz + "";
                hcqZXcdTb.Text = hcqZxcd + "";
                hcqQXcdTb.Text = hcqQxcd + "";
                gZMTJSDTb.Text = gzmsd + "";
                jswzjlTb.Text = jswzjl + "";
            }

            //恢复水泥环历史数据
            zengYis.Clear();
            foreach (BaseZengYiParams baseParam in data.ZengYis)
            {
                ZengYiParams param = new ZengYiParams(this, baseParam);
                zengYis.Add(param);
            }

            //恢复人工设计数据
            manuDesignParams.copyAndEvent(data.ManuDesignParams);

            FilePath = filePath;
            return true;
        }