一、井深结构示意图绘制所有遵循的石油行业规定
- 钻头绘制:绘制一条具有波浪形状的线条
- 套管绘制:绘制一条实心线条,加上尾部一张旗帜
- 标注绘制:包括每一开次的钻头大小、长度和套管大小
二、井身结构示意图绘制步骤
- 绘制中心虚线(井眼轨迹线)
- 遍历每一开次的信息
- 绘制套管(套管用实心线表示,套管结尾用黑色小三角形符 表示)
- 绘制钻头(钻头用波浪线表示)
- 添加标注
三、井身结构示意图效果如下

九、添加标记 ///
///
/// 被标注点的坐标 /// 标注坐标 /// 套管信息 /// 标注信息 private void AddNotation(Point lineStartPosition, Point lineEndPosition, string casingStr, string drillStr, Canvas casingCanvas)
{
///产生线条
Line currentLine = new Line(); //标注和被标注点之间的连线
currentLine.X1 = lineStartPosition.X;
currentLine.Y1 = lineStartPosition.Y;
currentLine.X2 = lineEndPosition.X;
currentLine.Y2 = lineEndPosition.Y;
currentLine.Stroke = Brushes.DarkBlue;
currentLine.StrokeThickness = 0.5;
casingCanvas.Children.Add(currentLine);
Grid currentGrid = new Grid(); //标注
currentGrid.RowDefinitions.Add(new RowDefinition());
currentGrid.RowDefinitions.Add(new RowDefinition());
currentGrid.Background = Brushes.White;
Border border = new Border();
border.BorderBrush = Brushes.DarkBlue;
border.BorderThickness = new Thickness(0, 0, 0, 1);
currentGrid.Children.Add(border);
border.SetValue(Grid.RowProperty, 0);
Label drillLabel = new Label(); //创建标签,显示标注
drillLabel.Padding = new Thickness(0);
drillLabel.Content = casingStr;
drillLabel.Foreground = Brushes.DarkBlue;
drillLabel.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Left;
border.Child = drillLabel;
Label casingLabel = new Label();
casingLabel.Padding = new Thickness(0);
casingLabel.Content = drillStr;
casingLabel.Foreground = Brushes.DarkBlue;
casingLabel.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Left;
currentGrid.Children.Add(casingLabel);
casingLabel.SetValue(Grid.RowProperty, 1);
casingCanvas.Children.Add(currentGrid);
currentGrid.SetValue(Canvas.LeftProperty, lineEndPosition.X);
currentGrid.SetValue(Canvas.TopProperty, lineEndPosition.Y – 16);
}
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!