`
accpxudajian
  • 浏览: 450973 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用vrml三维模型语言构建油田【井斜图】和【连井图】方案

阅读更多
/*
使用vrml三维模型语言构建油田【井斜图】和【连井图】方案:
包括:
1.井身轨迹。
2.垂直投影、水平投影、垂直填充线、水平填充线。
3.靶点(分圆靶、椭圆吧、矩形靶,并标注靶点名称,靶点半径)
4.设计轨道:当前井的设计轨道。
5.邻井:一定半径范围内的邻井,包括:邻井名称和井身轨迹。
6.位偏移:靶点位移和井底相对于井口的位移。
7.连井图:根据层位信息绘制若干口井的连井图,将相同的层位使用同一颜色直线连接。
8.断层:某口井如果有断层,则标注一条红色斜线。



方案概述:使用vrml语言的PROTO扩充节点MyCell,自定义参数和方法,实现井斜图的绘制。
*/
//MyCell节点结构:

PROTO MyCell[
	p_distance_CellToGround 100	#//井底地面 到 井底的距离 默认为100米	  
	p_ground_cell_sum 0	#//井底地面的X轴正方向上单元格数量 (其他方向一样)默认为井的水平最远距离除以单元格宽度	   
	p_ground_cell_width 200	#//井底地面单元格的宽度	默认为100米
	p_y_biaochi_kedu 100	#//Y轴标尺刻度间隔  默认为100米 即深度每下沉100米就标一个刻度	
	p_cell_spine_str ""	#//井身轨迹坐标(字符串格式,注意:不带左右[]符号)		
	p_cell_desing_spine ""	#//井身轨迹设计坐标(字符串格式,注意:不带左右[]符号)		
	p_y_tianchong_start_height 0	#//Y轴填充开始深度距离(从起点开始便画垂直填充线 默认为从井深度的一半开始)
	p_y_tianchong_kedu 100		#//Y轴填充距离(深度没下沉100米就画一条垂直填充线 实际填充线总数效果小于等于预计总数) 
	p_node_color_mfcolor [1 1 0,1 0 0,1 0.5 0.5,0 1 0] #//分别是:井斜图颜色,水平投影颜色,垂直填充线颜色 ,轨道设计颜色
	p_cell_name "井眼"	#//井的名称		 
	p_touying_type "none"	# //空间投影的样式(all全部,h水平填充,v垂直填充,none都不显示)
	p_fill_line_style "none"	#//空间填充线的样式(all全部,h水平填充,v垂直填充,none都不显示)
	p_show_target "false"	#//是否显示靶点 true  or false
	p_show_y_zhou "false"	#//是否显示Y轴
	p_show_nearby_cell "false"	#//是否显示临井
	p_show_target_touyin "false"	#是否显示靶点的水平投影	默认为false不显示
	p_show_design_spine "false"	#//是否显示设计轨道
	p_target_type "02"	#//靶点类型(01=点靶,02=圆靶,03=椭圆靶 04=矩形靶)
	p_target_spine ""	#//靶点的空间坐标信息(可能有多个)
	p_target_radius ""	#//圆靶靶点
	p_target_sacles ""	#//矩形靶水平宽度和垂直半高
	p_target_names "	(A靶),(B靶),(C靶),(D靶),(E靶),(F靶)"	#//各个靶点的名字 (默认6个靶点名字为ABCDEF)
	p_nearby_cells_spine ""		#//临井轨道 (使用;好分隔))
	p_nearby_cells_spine_trans ""	#//临井井口相对于当前井口的偏移	  (使用,好分隔))
	p_nearby_cell_names ""		#//临井名称(使用,好分隔))
	p_lines_scale 1		#//各个线性的缩放比例  只给Extrusion节点内部sacle使用
	p_show_pos_distance  "false"	#//是否显示靶点和井底位偏移
	p_ljt_spines	""	#//连井图井眼轨迹坐标
	p_ljt_spine_trans ""	#//连井图相对于当前井口的偏移	  (使用,好分隔))
	p_show_LJT "false"	#//是否显示连井图
	p_show_LJT_depth "false"	#//是否显示层位深度
	p_show_all "false"	#//显示所有的东西
]{
url	"vrmlscript:
	
	/**
	*  通过字符串创建Node节点并添加到Root 的children中
	* @param str 构成节点的字符串(不允许有双引号\"出现)										
	* @return 一个TransForm的字符串
	*/
	function add(str){..}

	//TODO 初始化方法(自动执行)
	function  initialize(){..}	

	//TODO 初始化参数
	function initParams(){..}

	//TODO 绘制井底地面
	function drawGround(){..}

	//TODO 绘制垂直投影
	function drawCZTY(){..}

	//直线连井图
	function drawZXLJT(){..}
	
	//TODO 绘制井底地面
	function drawGround(){..}

	//TODO 井身轨迹
	function drawCell(){..}

	//TODO 绘制Y轴
	function drawY(){..}
	
	//TODO 垂直标尺 深度标尺
	function drawYBiaoChi(){..}
	
	//TODO 绘制水平投影图
	function drawSPTY(){..}

	//TODO 绘制垂直填充线
	function drawFillLines(){..}
	
	//TODO 绘制垂直投影图
	function drawCZTY(){..}
	
	//TODO 绘制当前最佳视点
	function drawBestView(){..}

	//TODO 靶点
	function drawTarget(){..}

	//设计轨道
	function drawCellDesign(){..}

	//邻井
	function drawNearByCells(){..}
	
"
}


//井斜图应用:
MyCell{p_cell_name "X8"
	p_target_names " A,T31,B,T33"
	p_target_type "01"			  
	p_show_nearby_cell "false"
	p_touying_type "all"
	p_show_all "true"
	p_ground_cell_width	200
	p_ground_cell_sum 10
	p_target_sacles	"30 10,20 15"
	p_target_radius	"40,40"																						   
	p_target_spine "-319.070 -1320 -179.46,-569.070 -1600 -305.46," 
	p_nearby_cells_spine "0 0 0,0 -350.0 0,-0.08 -375.0 0.06,-0.23 -400.0 0.05,-0.41 -425.0 -0.01,-0.37 -450.0 -0.17,...;"
	p_nearby_cells_spine_trans "1424.460 0 -536.070,-846.540 0 409.930,848.410 0 -671.520,1000 0 -1000"
	p_nearby_cell_names	"X6,龙1,X7," 
	p_lines_scale 10				
	p_cell_desing_spine "0 0 0,0 -0.0 -0.0,0 -600.0 -0.0,-6.12 -699.68 -3.33,-24.37 -797.41 -13.26,-36.84 -841.48 -20.05,...."
	p_cell_spine_str "0 0 0,0 -325.0 -0.0,0.19 -350.0 -0.08,0.5 -375.0 0.19,0.96 -399.99 0.57,1.44 -424.98 1.01,..."
}
	

//连井图应用:
MyCell{ 
	p_ljt_spines "cellName=贵州2-4,trans=0 0 0,vdepth=1738.0,fcxx=Ny1:350&E2s:1120&E2d:1360&E1f4:1556.5&E1f3:1738&,breakDepth=0;cellName=贵州2-5,trans=1.550 0 4.600,vdepth=1770.0,fcxx=Ny:351.5&E2s:1074&E2d:1420.5&E1f4:1576&E1f3:1770&,breakDepth=0;cellName=贵州X7,trans=3567.340 0 1385.880,vdepth=1810.0,fcxx=E2s2:745.5&E2s1:986.5&E2d2:1191.5&E2d1:1255&E1f4:1431&E1f3:1635&E1f2:1810&,breakDepth=874,;cellName=贵州3-1,trans=3187.880 0 -782.220,vdepth=1595.0,fcxx=Qd:70&Ny:285&E2s2:738&E2s1:1021&E2d2:1107.5&E2d1:1358&E1f4:1551.5&E1f3:1595&,breakDepth=0;"  
	p_cell_spine_str "0 0 0,0 -325.0 0,0.19 -350.0 0.08,0.5 -375.0 -0.19,0.96 -399.99 -0.57,1.44 -424.98 -1.01,1.9 -449.97 -1.48,2.39 -474.96 " 
	p_show_LJT "true"  
	p_lines_scale 5 
}

//html引用vrml文件:使用embed标签引入
<embed src="mycell.wrl"></embed>

 

 

效果见附件。

 

 

  • 大小: 86.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics