Exemple #1
0
        private double GetBottomElevation()
        {
            var maxY = Math.Min(Pline.StartPoint.Y, Pline.EndPoint.Y);

            return(Section.GetEleFromY(maxY));

            //
            var segms = SlopeData.Combine(_slopes, _platforms, sort: false);

            if (segms.Count == 0)
            {
                var bottomPt = _isFill
                    ? Pline.GetLineSegment2dAt(Pline.NumberOfVertices - 2).EndPoint
                    : Pline.GetLineSegment2dAt(0).StartPoint;
                return(Section.GetEleFromY(bottomPt.Y));
            }
            else
            {
                var bottomS = _isFill ? segms[segms.Count - 1] : segms[0];
                if (bottomS is Slope)
                {
                    return(Section.GetEleFromY((bottomS as Slope).BottomPoint.Y));
                }
                else
                {
                    return(Section.GetEleFromY((bottomS as Platform).MiddlePoint.Y));
                }
            }
        }
Exemple #2
0
        /// <summary> 将数据保存到多段线的 ExtensionDictionary 中 </summary>
        /// <remarks> 本函数可能会导致 AutoCAD中 撤消 时的数据丢失 </remarks>
        public void FlushXData()
        {
            var slopeXdata = XData;

            if (Pline.ExtensionDictionary.IsNull)
            {
                // Pline.UpgradeOpen();
                Pline.CreateExtensionDictionary();
                // Pline.DowngradeOpen();
            }
            // 总的字典
            var extensionDict = Pline.ExtensionDictionary.GetObject(OpenMode.ForWrite) as DBDictionary;
            var trans         = _docMdf.acTransaction;

            // 一般性的数据 保存到 Dictionary
            var genBuff = slopeXdata.ToResBuff_General();
            var rec     = new Xrecord()
            {
                Data = genBuff
            };

            SymbolTableUtils.OverlayDictValue(trans, extensionDict, SlopeData.DictKey_General, rec);

            // 边坡数据 保存到 Dictionary
            slopeXdata.ToDict_Slopes(_docMdf.acTransaction, extensionDict);

            // 水位线数据 保存到 Dictionary
            var waterlines = slopeXdata.ToResBuff_Waterlines();

            rec = new Xrecord()
            {
                Data = waterlines
            };
            SymbolTableUtils.OverlayDictValue(trans, extensionDict, SlopeData.DictKey_Waterlines, rec);
            //
            extensionDict.DowngradeOpen();
        }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            string[] partsTime = DateTime.Now.ToString().Split('/');
            TodayDate1.Text = partsTime[0].ToString();
            if (partsTime.Length == 2)
            {
                TodayDate2.Text = "." + partsTime[1].ToString();
            }
            else
            {
                TodayDate3.Text = ".0";
            }
            string[] DateNow = DateTime.Now.ToString().Split(' ');
            string[] date    = DateNow[0].Split('/');
            TodayDate3.Text = date[2].ToString() + "年";
            TodayDate2.Text = date[1].ToString() + "月";
            TodayDate1.Text = date[0].ToString() + "日";

            // ~~~~~今天~~~~~
            // 讀檔
            string[] Tlines = System.IO.File.ReadAllLines(@"C:\temp\Tdata.txt");

            // 逐行產生元件
            foreach (string Tline in Tlines)
            {
                // 用符號分隔
                string[] Tparts = Tline.Split('|');

                // 建立元件
                TodayToDoList Titem = new TodayToDoList();
                Titem.ItemName = Tparts[1];

                if (Tparts[0] == "+")
                {
                    Titem.IsChecked = true;
                }
                else
                {
                    Titem.IsChecked = false;
                }

                // 放入到 StackPanel
                ToDolist_Today.Children.Add(Titem);
            }

            // ~~~~~過去~~~~~
            string[] Plines = System.IO.File.ReadAllLines(@"C:\temp\Pdata.txt");

            // 逐行產生元件
            foreach (string Pline in Plines)
            {
                // 用符號分隔
                string[] Pparts = Pline.Split('|');

                // 建立元件
                PastNFutureToDoList Pitem = new PastNFutureToDoList();
                Pitem.ItemName = Pparts[1];

                if (Pparts[0] == "+")
                {
                    Pitem.IsChecked = true;
                }
                else
                {
                    Pitem.IsChecked = false;
                }

                // 放入到 StackPanel
                ToDolist_Past.Children.Add(Pitem);
            }

            // ~~~~~未來~~~~~
            string[] Flines = System.IO.File.ReadAllLines(@"C:\temp\Fdata.txt");

            // 逐行產生元件
            foreach (string Fline in Flines)
            {
                // 用符號分隔
                string[] Fparts = Fline.Split('|');

                // 建立元件
                FutureToDoList Fitem = new FutureToDoList();
                Fitem.ItemName = Fparts[1];

                if (Fparts[0] == "+")
                {
                    Fitem.IsChecked = true;
                }
                else
                {
                    Fitem.IsChecked = false;
                }

                // 放入到 StackPanel
                ToDolist_Future.Children.Add(Fitem);
            }
        }