# $Revision$ on $Date$
# The above revision line needs to be the first line for ttkrf files
# Copyright (c) 2006 Ansys Inc

dataEntryDialog createBlockDEZ "Create Block" nosave
    dropDownEntry createBlkFam "Part" PartList part_name FALSE
    checkItem createBlkInherit "Inherit Part Name" inherit_part "aie_hex_trace_inherit_part"
    dialogSpace 1
    exclusiveGroup createBlk "Create Block" "Method" 3 ICON
	exclusiveGroupItem createBlkIni "Initialize Blocks" B_InitBlock$icon_size2.gif
	dialogSpace 1
  	    exclusiveGroup createBlkInit  "Initialize Blocks" "Type" 4 DROPDOWN
		exclusiveGroupItem createBlkI3D "3D Bounding Box"
			    entityChooser createBlkPick1 "Entities" pickblkbound GEOMETRY ANY allow_long_list
			    checkItem createBlkProj "Project vertices" project NULL
ifndef AI_ENV_LSTC
			    checkItem createBlkOrient "Orient with geometry" orientBlk NULL
endif
			    checkItem createBlk2D "2D Blocking" 2dBlk NULL
                checkItem createBlkApplySettings1 "Initialize with settings" applySettings NULL
		exclusiveGroupItem END
ifndef AI_ENV_LSTC
        exclusiveGroupItem createBlkI2D "2D Surface Blocking"
		    exclusiveGroup createBlk2DMethodEEG  "Choose" "Method" 2 DROPDOWN
		        exclusiveGroupItem createBlk2DSurfaces "From Surfaces"	
	                entityChooser createBlkSurfsPick "Surfaces" blockSurfs SURF ANY allow_long_list
	                dialogSpace 1
		            exclusiveGroup createBlk2DEEG  "Surface Blocking" "Method" 2 DROPDOWN
			            exclusiveGroupItem createBlk2DUns "Free"		
				            dropDownEntry unsFaceMeshOpts1 "Free Face Mesh Type" unsTypeList unsType FALSE
				            dropDownEntry unsFaceMeshMethodOpts1 "Free Face Mesh Method" unsMethodList unsMethod FALSE
			            exclusiveGroupItem END
			            exclusiveGroupItem createBlk2DFree "Some mapped"
				            dropDownEntry unsFaceMeshOpts2 "Free Face Mesh Type" unsTypeList unsType FALSE
				            dropDownEntry unsFaceMeshMethodOpts2 "Free Face Mesh Method" unsMethodList unsMethod FALSE
			            exclusiveGroupItem END
			            exclusiveGroupItem createBlk2DMap "Mostly mapped"
				            dropDownEntry unsFaceMeshOpts3 "Free Face Mesh Type" unsTypeList unsType FALSE
				            dropDownEntry unsFaceMeshMethodOpts3 "Free Face Mesh Method" unsMethodList unsMethod FALSE
		            	exclusiveGroupItem END
			            exclusiveGroupItem createBlk2DSwept "Swept"
				            dropDownEntry unsFaceMeshOpts4 "Free Face Mesh Type" unsTypeList unsType FALSE
				            dropDownEntry unsFaceMeshMethodOpts4 "Free Face Mesh Method" unsMethodList unsMethod FALSE
				            entityChooser createBlkSweptSurfsPick "Swept Surfaces" sweptSurfs SURF ANY
			            exclusiveGroupItem END
			        exclusiveGroup END
			        dialogSpace 1
			        exclusiveGroup createBlk2DMergeRG  "Merge blocks across curves" "Method" 2 DROPDOWN	   
			            exclusiveGroupItem createBlk2DMergeRG1 "All"
				            textEntry createBlk2DMinEdge1 "Ignore size" minEdgeLen NUM
			            exclusiveGroupItem END
			            exclusiveGroupItem createBlk2DMergeRG2 "Respect non-dormant"
				            textEntry createBlk2DMinEdge2 "Ignore size" minEdgeLen NUM
			            exclusiveGroupItem END
			            exclusiveGroupItem createBlk2DMergeRG3 "None"
				            textEntry createBlk2DMinEdge3 "Ignore size" minEdgeLen NUM
			            exclusiveGroupItem END
			            exclusiveGroupItem createBlk2DMergeRG4 "Merge dormant"
				            textEntry createBlk2DMinEdge4 "Ignore size" minEdgeLen NUM
			            exclusiveGroupItem END
			        exclusiveGroup END
		       exclusiveGroupItem END
		       exclusiveGroupItem createBlk2DCurves "From Curves"	
	                entityChooser createBlkCurvesPick "Curves" blockCurves CURVE ANY allow_long_list
	                dialogSpace 1
		            exclusiveGroup createBlk2DCurveEEG  "Surface Blocking" "Method" 2 DROPDOWN
			            exclusiveGroupItem createBlk2DCurveUns "Free"		
				            dropDownEntry unsFaceMeshOpts11 "Free Face Mesh Type" unsTypeList unsType FALSE
				            dropDownEntry unsFaceMeshMethodOpts11 "Free Face Mesh Method" unsMethodList unsMethod FALSE
			            exclusiveGroupItem END
			            exclusiveGroupItem createBlk2DCurveFree "Some mapped"
				            dropDownEntry unsFaceMeshOpts22 "Free Face Mesh Type" unsTypeList unsType FALSE
				            dropDownEntry unsFaceMeshMethodOpts22 "Free Face Mesh Method" unsMethodList unsMethod FALSE
			            exclusiveGroupItem END
			            exclusiveGroupItem createBlk2DCurveMap "Mostly mapped"
				            dropDownEntry unsFaceMeshOpts33 "Free Face Mesh Type" unsTypeList unsType FALSE
				            dropDownEntry unsFaceMeshMethodOpts33 "Free Face Mesh Method" unsMethodList unsMethod FALSE
		            	exclusiveGroupItem END
			            exclusiveGroupItem createBlk2DCurveSwept "Swept"
				            dropDownEntry unsFaceMeshOpts44 "Free Face Mesh Type" unsTypeList unsType FALSE
				            dropDownEntry unsFaceMeshMethodOpts44 "Free Face Mesh Method" unsMethodList unsMethod FALSE
				            entityChooser createBlkSweptSurfsPick2 "Swept Surfaces" sweptSurfs SURF ANY
			            exclusiveGroupItem END
			        exclusiveGroup END
	            exclusiveGroupItem END
		    exclusiveGroup END
		    checkItem createBlkApplySettings2 "Initialize with settings" applySettings NULL
        exclusiveGroupItem END
endif
		exclusiveGroupItem createBlkI2DP "2D Planar"
            checkItem createBlkApplySettings3 "Initialize with settings" applySettings NULL
		exclusiveGroupItem END
		exclusiveGroupItem createBlk3DMultiZone "3D Multizone"
            entityChooser createBlkMultiZoneSurfsPick2 "Source Imprint Surfaces" imprintSurfs SURF ANY 
            dialogSpace 1
		        dropDownEntry createBlkMultiZoneOpts1 "Swept Mesh Type" sweptTypeList sweptType FALSE
				dropDownEntry createBlkMultiZoneOpts2 "3D Free Mesh Type" freeFaceTypeList freeType FALSE
				dropDownEntry createBlkMultiZoneOpts4 "Mapped/Swept Decomposition" faceMappingList faceMapping FALSE
			    dropDownEntry createBlkMultiZoneOpts3 "Free Face Mesh Method" freeFaceMethodList freeMethod FALSE
			    dialogSpace 1
			    exclusiveGroup createBlkMultiZoneMergeRG  "Merge blocks across curves" "Method" 2 DROPDOWN	   
			          exclusiveGroupItem createBlkMultiZoneMergeRG1 "All"
				          textEntry createBlkMultiZoneMinEdge1 "Ignore size" minEdgeLen NUM
			          exclusiveGroupItem END
			          exclusiveGroupItem createBlkMultiZoneMergeRG2 "Respect non-dormant"
				          textEntry createBlkMultiZoneMinEdge2 "Ignore size" minEdgeLen NUM
			          exclusiveGroupItem END
			          exclusiveGroupItem createBlkMultiZoneMergeRG3 "None"
				          textEntry createBlkMultiZoneMinEdge3 "Ignore size" minEdgeLen NUM
			          exclusiveGroupItem END
			          exclusiveGroupItem createBlkMultiZoneMergeRG4 "Merge dormant"
				          textEntry createBlkMultiZoneMinEdge4 "Ignore size" minEdgeLen NUM
			          exclusiveGroupItem END
			     exclusiveGroup END
            checkItem createBlkApplySettings4 "Initialize with settings" applySettings NULL
		exclusiveGroupItem END	
ifdef AI_ENV_BETA
		exclusiveGroupItem createBlkI3DP "3D Key Point Blocking"
            checkItem createBlkApplySettings5 "Initialize with settings" applySettings NULL
		exclusiveGroupItem END
		exclusiveGroupItem createBlkBodiesWise "3D Body Wise"
            checkItem createBlkApplySettings6 "Initialize with settings" applySettings NULL
		exclusiveGroupItem END
endif
    	exclusiveGroup END
	exclusiveGroupItem END #0

     	exclusiveGroupItem createBlkVertices "From Vertices/Faces" B_CreateBlockVert$icon_size2.gif
     	dialogSpace 1
	    exclusiveGroup createBlkDim "From Vertices/Faces" "Dimension" 2 DROPDOWN
		exclusiveGroupItem createBlkDim3D "3D"
		    exclusiveGroup createBlk3DType "Block Type" "Type" 2 DROPDOWN
			exclusiveGroupItem createBlk3DV8 "Mapped"
			    exclusiveGroup createBlk3DGG NULL "Method" 3 DROPDOWN
				exclusiveGroupItem createBlk3DCorners "Corners"
				    entityChooser vertPickV8 "8 Vertices" blockVerts HEX_VERTEX 8 node_numbers "Please select the 8 corner vertices"
				exclusiveGroupItem END
				exclusiveGroupItem createBlk3DEdges "Edges"
				    entityChooser createBlkEdgesPick "4 Edges" blockEdges HEX_EDGE 4 new_format "Please select 4 opposite edges"
				exclusiveGroupItem END
				exclusiveGroupItem createBlk3DFaces "Faces"
				    entityChooser createBlkFacesPick "2 Faces" blockFaces HEX_FACE 2 "super_face only_mapped" "Please select 2 opposite mapped faces"
				exclusiveGroupItem END
			    exclusiveGroup END			   
			exclusiveGroupItem END
			exclusiveGroupItem createBlkUns3D "Swept"
			    exclusiveGroup createBlkUns3DGG NULL "Method" 3 DROPDOWN
				exclusiveGroupItem createBlkUns3DCorners "Corners"
				    entityChooser vertPickUns3D "6 or more Vertices" blockVerts HEX_VERTEX ANY node_numbers "Please select the corner vertices"
				exclusiveGroupItem END
				exclusiveGroupItem createBlkUns3DEdges "Edges"
				    entityChooser createBlkEdgesUnsPick "3 or more Edges" blockEdges HEX_EDGE ANY new_format "Please select opposite edges"
				exclusiveGroupItem END
				exclusiveGroupItem createBlkUns3DFaces "Faces"
				    entityChooser createBlkFacesUnsPick "2 Faces" blockFaces HEX_FACE 2 "super_face only_mapped" "Please select 2 opposite mapped faces"
				exclusiveGroupItem END
			    exclusiveGroup END
			exclusiveGroupItem END	
			exclusiveGroupItem createBlkV6Y "Quarter-O-Grid"
			    entityChooser vertPickV6Y "6 Vertices" blockVerts HEX_VERTEX 6 node_numbers "Please select the 6 corner vertices"
			exclusiveGroupItem END			
			exclusiveGroupItem createBlkV6 "Degenerate"
			    entityChooser vertPickV6 "6 Vertices" blockVerts HEX_VERTEX 6 node_numbers "Please select the 6 corner vertices"
			exclusiveGroupItem END				
			exclusiveGroupItem createSheetV4 "Sheet"
			    entityChooser vertPickSheetV4 "4 Vertices" blockVerts HEX_VERTEX 4 node_numbers "Please select the 4 corner vertices"
			exclusiveGroupItem END	
			exclusiveGroupItem createSheetUns "Free-Sheet"
			    entityChooser vertPickSheetUns "Vertices" blockVerts HEX_VERTEX ANY node_numbers "Please select the corner vertices"
			exclusiveGroupItem END					
		    exclusiveGroup END
		exclusiveGroupItem END

		exclusiveGroupItem createBlkDim2D "2D"
		    exclusiveGroup createBlk2DType "Block Type" "Type" 2 DROPDOWN
			exclusiveGroupItem createBlk2DV4 "Mapped"
			    entityChooser vertPickV4 "4 Vertices" blockVerts HEX_VERTEX 4 node_numbers "Please select the 4 corner vertices"
			exclusiveGroupItem END
			exclusiveGroupItem createBlkV3Uns "Free"
			    entityChooser vertPickVUns "Vertices" blockVerts HEX_VERTEX ANY node_numbers "Please select the corner vertices"
			exclusiveGroupItem END
			exclusiveGroupItem createBlkV3Y "Quarter-O-Grid"
			    entityChooser vertPickV3Y "3 Vertices" blockVerts HEX_VERTEX 3 node_numbers "Please select the 3 corner vertices"
			exclusiveGroupItem END
		    exclusiveGroup END
		exclusiveGroupItem END
	     exclusiveGroup END 
	exclusiveGroupItem END #1

	exclusiveGroupItem createBlkExtrude "Extrude Face(s)" B_ExtrudeFace$icon_size2.gif	
	dialogSpace 1
#	    frame createBlkEx "Extrude Face(s)" 
#		entityChooser createBlkFface "Select Face(s)" face HEX_FACE ANY super_face
		exclusiveGroup extrudeBlkEG "Extrude Face(s)" "Method" 3 DROPDOWN 
#		    exclusiveGroupItem extBlkNormal "Extrude By Element Normal" 
#			frame extrudeBlkFrame1 "Extrude By Element Normal"
#			exclusiveGroup extFaceNormEG "Type" "Move" 2 RADIO
		    exclusiveGroupItem extFaceInter "Interactive"
			entityChooser createBlkFface1 "Select Face(s)" face HEX_FACE ANY "super_face only_mapped"
			#checkItem createBlkFfaceInherit "Inherit Part Name" inherit_part "aie_hex_trace_inherit_part"
		    exclusiveGroupItem END
		    exclusiveGroupItem extFaceFixed "Fixed distance"
			entityChooser createBlkFface2 "Select Face(s)" face HEX_FACE ANY "super_face only_mapped"
			textEntry createBlkExDistance "Distance" distance NUM
			#checkItem createBlkExInherit "Inherit Part Name" inherit_part "aie_hex_trace_inherit_part"
		    exclusiveGroupItem END
#			exclusiveGroup END
#			frame END
#		    exclusiveGroupItem END

		    exclusiveGroupItem extBlkCurve "Extrude Along Curve" 
#			frame extrudeBlkFrame3 "Extrude Along Curve"
			entityChooser createBlkFface3 "Select Face(s)" face HEX_FACE ANY "super_face only_mapped"
			    entityChooser extBlkCurvePick "Extrude Curve" extCurve HEX_COMPCURVE 1 NULL "Select extrusion curve"
    			    entityChooser extBlkEndptPick "End Point" extEndpt POINTORXYZ 1
    			    textEntry extBlkTwist "Twist per layer" extTwist NUM
			    checkItem extBlkOrientation "Orient Axially" orientFlag NULL
			    checkItem extBlkCopyProj "Copy Projection" copyProj NULL
			    integerEntry extBlkNumLayTE2 "Number of Layers" extNumLay 1 1000 1
#			frame END
		    exclusiveGroupItem END
		exclusiveGroup END
#	    frame END
    	exclusiveGroupItem END #2

    exclusiveGroupItem createBlk2Dto3D "2D to 3D" B_2Dto3D$icon_size2.gif
	    dialogSpace 1
	    exclusiveGroup createBlk2Dto3DHow "2D to 3D" "Method" 3 DROPDOWN
ifndef AI_ENV_LSTC
	        exclusiveGroupItem createBlk2Dto3DM1 "MultiZone Fill" 
		    greyGroup fillOgridGG "Create Ogrid around faces"
			greyGroupItem fillOgridGI "faces"
			    entityChooser OgridPartsSelect "Surface Parts" ogridParts part_2d ANY
			    textEntry fillOgridOffset "Offset distance" offset NUM
#			    checkItem fillOgridOffAbs  "Absolute" absolute NULL
			greyGroupItem END
		    greyGroup END
		    exclusiveGroup twod2threedEG "Fill Type" "Method" 3 DROPDOWN
			exclusiveGroupItem twod2threed0  "Simple"
			exclusiveGroupItem END
			exclusiveGroupItem twod2threed1  "Swept"
			exclusiveGroupItem END
			exclusiveGroupItem twod2threed2  "Advanced"
			exclusiveGroupItem END
		    exclusiveGroup END
	        exclusiveGroupItem END
endif
	        exclusiveGroupItem createBlk2Dto3DM2 "Translate"
		    textEntry createBlk2Dto3DM1X "X Distance" X NUM
		    textEntry createBlk2Dto3DM1Y "Y Distance" Y NUM  
		    textEntry createBlk2Dto3DM1Z "Z Distance" Z NUM  
		    #checkItem createBlk2DTranslateInherit "Inherit Part Name" inherit_part "aie_hex_trace_inherit_part"
	        exclusiveGroupItem END

	        exclusiveGroupItem createBlk2Dto3DM3 "Rotate"
		    exclusiveGroup blk2Dto3DRotateBaseEG "Center of Rotation" "Center" 3 DROPDOWN
			exclusiveGroupItem blk2Dto3DRotateBaseOrigin "Origin"
			exclusiveGroupItem END
		    
			exclusiveGroupItem blk2Dto3DRotateBaseUser "User"
#Note: POINTORXYZ with option xyz returns triplets, e.g. point coords.
#Note: "POINTORXYZ 1" with "xyz" returns single triplet, not list! (New feature)
			    entityChooser createBlk2Dto3DBasePick "Point" center POINTORXYZ 1 xyz
			exclusiveGroupItem END
		    exclusiveGroup END
		    dialogSpace 1
		    exclusiveGroup blk2Dto3DRotateAxisEG "Axis of Rotation" "Axis" 3 DROPDOWN
			exclusiveGroupItem blk2Dto3DRotateAxisX "X"
			exclusiveGroupItem END
			exclusiveGroupItem blk2Dto3DRotateAxisY "Y"
			exclusiveGroupItem END
			exclusiveGroupItem blk2Dto3DRotateAxisZ "Z"
			exclusiveGroupItem END
			exclusiveGroupItem blk2Dto3DRotateAxisOptionV "Vector"
			    entityChooser createBlk2Dto3DRAxisPick "2-point Axis" axis  POINTORXYZ 2
			exclusiveGroupItem END
		    exclusiveGroup END

		    textEntry createBlk2Dto3DAngle "Angle" angle NUM  
		    textEntry createBlk2Dto3DNum "Number of copies" number NUM 
		    textEntry createBlk2Dto3DPPC "Points per copy" ppc NUM 
		    checkItem createBlk2Dto3DPeriodic "Set periodic nodes" periodicFlag NULL
		    checkItem createBlk2Dto3DCollapse "Collapse Axis Nodes" collapseFlag NULL
		    checkItem createBlk2Dto3DExtrudeP "Extrude points" pointFlag NULL
		    checkItem createBlk2Dto3DExtrudeC "Extrude curves" curveFlag NULL
	        exclusiveGroupItem END
		    
      	     exclusiveGroup END
    	exclusiveGroupItem END #3

	exclusiveGroupItem createBlk3Dto2D "3D to 2D" B_3Dto2D$icon_size2.gif
	    dialogSpace 1
	    frame createBlk3Dto2DFR "Convert Blocking to 2D"
		    textLabel createBlk3Dto2DLab  " "
	    frame END
    	exclusiveGroupItem END #4
    exclusiveGroup END	  
dataEntryDialog END

#-----------------------------------------------------------------------------------
dataEntryDialog createBlockPrimDEZ "Create Block Primitives" 
    dropDownEntry createBlkPrimFam "Part" PartList part_name FALSE
    dialogSpace 1

    exclusiveGroup createBlkPrim "Block Primitive" "Method" 4 ICON
	exclusiveGroupItem createBlkPrimT "T Block Primitive" B_PrimativeT$icon_size2.gif
	    frame createBlkPrimTFR "T Junction"
		textLabel createBlkPrimtTImg "T Block Primitive" block-Tpipe.gif
		entityChooser createBlkPrimTCurveAPick "Curve-A" curve1 HEX_COMPCURVE 1 NULL "Select curve A"
		entityChooser createBlkPrimTPointAPick "Point-A" point1 POINTORXYZ 1 nearest
		textEntry createBlkPrimTSize1 "Block-A Size (d1)" d1 NUM
		dialogSpace 1
		entityChooser createBlkPrimTCurveBPick "Curve-B" curve2 HEX_COMPCURVE 1 NULL "Select curve A"
		entityChooser createBlkPrimTPointBPick "Point-B" point2 POINTORXYZ 1 nearest
		textEntry createBlkPrimTSize2 "Block-B Size (d2)" d2 NUM	    
	    frame END
	exclusiveGroupItem END #0
	exclusiveGroupItem createBlkPrimY "Y Junction" B_PrimativeY$icon_size2.gif
	    frame createBlkPrimYFR "Y Junction"
		textLabel createBlkPrimtYImg "Y Block Primitive" block-Ypipe.gif
		entityChooser createBlkPrimYCurveAPick "Curve-A" curve1 HEX_COMPCURVE 1 NULL \
		    "Select curve A"
		entityChooser createBlkPrimYPointAPick "Point-A" point1 POINTORXYZ 1 nearest
		textEntry createBlkPrimYSize1 "Block-A Size (d1)" d1 NUM
		dialogSpace 1
		entityChooser createBlkPrimYCurveBPick "Curve-B" curve2 HEX_COMPCURVE 1 NULL \
		    "Select curve B"
		entityChooser createBlkPrimYPointBPick "Point-B" point2 POINTORXYZ 1 nearest
		textEntry createBlkPrimYSize2 "Block-B Size (d2)" d2 NUM
		dialogSpace 1
		entityChooser createBlkPrimYCurveCPick "Curve-C" curve3 HEX_COMPCURVE 1 NULL \
			"Select curve C"
		entityChooser createBlkPrimYPointCPick "Point-C" point3 POINTORXYZ 1 nearest
		textEntry createBlkPrimYSize3 "Block-C Size (d3)" d3 NUM
	    frame END
	exclusiveGroupItem END #1
	exclusiveGroupItem createBlkPrimBase "Base Block" B_PrimativeBase$icon_size2.gif
	    frame createBlkPrimBaseFR "Base Block"
		textLabel createBlkPrimtBaseImg "Base Block" base-block.gif
		entityChooser createBlkPrimBaseCurvePick "Center Curve" curve1 HEX_COMPCURVE 1 NULL \
			"Select center curve"
		entityChooser createBlkStartFaceCenterPick "Start Face Center (A)" point1 POINTORXYZ 1 nearest
		entityChooser createBlkEndFaceCenterPick "End Face Center (B)" point2 POINTORXYZ 1 nearest
		textEntry createBlkPrimBaseSize "Block Size (d1)" d1 NUM
		entityChooser sideFaceVecPick "Side face direction" vecList POINTORXYZ 2
	    frame END
	exclusiveGroupItem END #2
	exclusiveGroupItem createBlkPrimExt "Twist Revision" B_UnTwist$icon_size2.gif
    	    frame createBlkPrimExtFR "Twist Revision"
		entityChooser createBlkStartFacePick "Start Face" startFace HEX_FACE 1 NULL \
		    "Select the start face"
		entityChooser createBlkStartVertsPick "Start Edge Vertices" startVerts HEX_VERTEX 2 node_numbers \
		    "Select the start Edge Vertices"
		entityChooser createBlkEndFacePick "End Face" endFace HEX_FACE 1 NULL \
		    "Select the end face"
		entityChooser createBlkEndVertsPick "End Edge Vertices" endVerts HEX_VERTEX 2 node_numbers \
		    "Select the end Edge Vertices"
		entityChooser createBlkPrimExtCurvePick "Along Curve" curve1 HEX_COMPCURVE 1 NULL \
			"Select the extrusion curve"
		integerEntry createBlkPrimExtNumLay "Number of Layers" numLay 1 1000 1
		textButton createBlkPrimExtDisp "Display selected vertices" aie_hex_disp_ext_verts
	    frame END
	exclusiveGroupItem END #3
    exclusiveGroup END
dataEntryDialog END

#--------------------------------------------------------------------------------------------------------


dataEntryDialog splitBlkDEZ "Split Block"
  exclusiveGroup splitBlk "Split Block" "Method" 3 ICON

	exclusiveGroupItem splitBlkBlk "Split Block" B_SplitBlock$icon_size2.gif
		frame splitBlkBlkframe "Split Block"
		greyGroup splitBlkBlkSel "Block Select"
			greyGroupItem splitBlkBlkSelAll "Visible"
			greyGroupItem END
			greyGroupItem splitBlkBlkSelSel "Selected"
		            entityChooser splitBlkBlkSelSelBlock "Block(s)" markedBlock HEX_BLOCK ANY NULL "Select the block(s) to split"
			greyGroupItem END
		greyGroup END
		entityChooser splitBlkEdgePick "Edge" splitBlkEdge HEX_EDGE 1 "take_first_press new_format reset_edge_display" "Select the Edge to split"
		checkItem splitBlkEdgeParallel "Copy distribution from nearest parallel edge" copy_from_parallel NULL
		checkItem splitBlkProj "Project vertices" project aie_hex_select_split_project
		checkItem splitBlkOgrid "Move O-Grid nodes" move_ogrid_nodes NULL
        checkItem splitBlkNearest "Split at nearest meshed node" nearest_node_split NULL
		dialogSpace 1
		exclusiveGroup splitBlkEdgeMethod "Split Method" "Split Method" 2 DROPDOWN
		    exclusiveGroupItem splitBlkEdgeScreen "Screen select"
		    exclusiveGroupItem END
		    exclusiveGroupItem splitBlkEdgePoint "Prescribed point"
			    entityChooser splitBlkEdgePointPick "Point" splitPoint POINT 1 "Select the Point to split"
		    exclusiveGroupItem END
		    exclusiveGroupItem splitBlkEdgePar "Relative"
    			textEntry splitEdgePar "Parameter" splitPar NUM
		    exclusiveGroupItem END
		    exclusiveGroupItem splitBlkEdgeDist "Absolute"
    			textEntry splitEdgeDist "Distance" splitDist NUM
		    exclusiveGroupItem END
		    exclusiveGroupItem splitBlkEdgeCurve "Curve parameter"
			entityChooser splitBlkEdgeCurvePick "Curve" splitCurve POINTORXYZ 1 "no_confirm curve update_var {param splitCurvePar}"
    			textEntry splitBlkEdgeCurveParPick "Parameter" splitCurvePar NUM
		    exclusiveGroupItem END
		exclusiveGroup END
		frame END
	exclusiveGroupItem END #0

	exclusiveGroupItem OgridBlkBlk "Ogrid Block" B_OGrid$icon_size2.gif
		frame OBlkBlkframe "Ogrid Block"
		entityAddRemover OBlkBlockPick "Select Block(s)    " markedBlock HEX_BLOCK ANY NULL \
		    "Select blocks for OGrid" READONLY
		entityAddRemover OBlkFacePick "Select Face(s)      " Faces HEX_FACE ANY "super_face boundary sblock_top"\
		     "Select faces for OGrid" READONLY
		entityAddRemover OBlkEdgePick "Select Edge(s)      " Edges HEX_EDGE ANY new_format \
		     "Select edges for OGrid" READONLY
		entityAddRemover OBlkVertPick "Select Vert(s)      " Vertices HEX_VERTEX ANY node_numbers \
		    "Select vertices for OGrid" READONLY
		textButton OBlkClearSelBut "Clear Selected" aie_clear_ogrid_sel
		checkItem OblkAround   "Around block(s)" around NULL
		textEntry OblkDistance "Offset" offset NUM 
		checkItem OblkOff "Absolute" absolute NULL
ifdef AI_ENV_BETA
        checkItem OblkForceAss "Force associate vertex to point" force_ass_vertex NULL
endif
        checkItem OgridLinkShape "Link Shape" link_shape NULL
		frame END
	exclusiveGroupItem END #0

	exclusiveGroupItem splitBlkExtend "Extend Split" B_ExtendSplit$icon_size2.gif
		frame splitBlkExtendEdgeFrame "Extend Split"
	    greyGroup splitExtendGG "Edge Select"
	        dialogSpace 1
		    greyGroupItem splitExtSel "Selected Edge"
		    greyGroup splitBlkBlkSel2 "Block Select"
			    greyGroupItem splitBlkBlkSelAll2 "Visible"
			    greyGroupItem END
			    greyGroupItem splitBlkBlkSelSel2 "Selected"
		            entityChooser splitBlkBlkSelSelBlock2 "Block(s)" markedBlock2 HEX_BLOCK ANY NULL "Select the block(s) to extend split"
		        greyGroupItem END
		    greyGroup END
		    entityChooser ExtEdgePick "Edge" ExtendEdge HEX_EDGE 1 new_format "Select Edge to extend split"
		    greyGroupItem END
		    greyGroupItem splitExtAll "All Edges"
		    greyGroupItem END
	    greyGroup END
	    checkItem ExtEdgeProj "Project vertices" project NULL
	    frame END
	exclusiveGroupItem END #1

    exclusiveGroupItem splitBlkExtendFace "Split Face" B_SplitFace$icon_size2.gif
		frame splitBlkExtendFaceFrame "Split Face"
			exclusiveGroup SelectionMethod "Selection Method" " " 1 DROPDOWN 	
				exclusiveGroupItem SelectionMethodSpecEdge "Specify Edge"
    					entityChooser splitFaceFace "Face" splitFace HEX_FACE 1 only_mapped "Select mapped face to split"
    					entityChooser splitFaceEdgePick "Edge" splitFaceEdge HEX_EDGE 1 take_first_press "Select Edge to split"
				exclusiveGroupItem END		
				exclusiveGroupItem SelectionMethodAuto "Automatic"
    					entityChooser splitFaceFace2 "Face" splitFace HEX_FACE 1 only_mapped "Select mapped face to split"
				exclusiveGroupItem END		
			exclusiveGroup END 
		frame END
    exclusiveGroupItem END #2

	exclusiveGroupItem uncollapseBlkB "Split Vertices" B_SplitVert$icon_size2.gif
		frame uncollapseBlkM "Split Vertices"
			entityChooser uncollapsePickB "Vertex" splitVerts HEX_VERTEX ANY node_numbers "Select vertices to split"
		frame END
	exclusiveGroupItem END #2

	exclusiveGroupItem splitUnsBlk "Split Free Face" B_SplitUnstruc$icon_size2.gif
		frame splitUnsBlkFM "Split Free Face"
			entityChooser splitUnsBlkVerts "Block corners" splitVerts HEX_VERTEX 4 node_numbers "Select free block corners"
		frame END
	exclusiveGroupItem END

	exclusiveGroupItem ImprintUnsBlk "Imprint Face" B_ImprintFace$icon_size2.gif
	    frame ImprintMethod "Imprint Face"
	        entityChooser ImprintSblockPick "Blocks" sblock HEX_BLOCK ANY NULL "Select blocks"
	        entityChooser ImprintSFacePick "Target Face(s)" iface HEX_FACE ANY NULL "Select target faces to imprint"
	        entityChooser ImprintUnsBlkEdges "Imprint Edges" splitVerts HEX_EDGE ANY new_format "Select the loop of edges for imprinting"
	        dialogSpace 1
            exclusiveGroup ImprintUnsBlkMethod "Imprint Direction" " " 1 DROPDOWN 	
                exclusiveGroupItem ImprintUnsBlkNml "Normal to Face"
			    exclusiveGroupItem END		
                exclusiveGroupItem ImprintUnsBlkSpecify "Specify Direction"
				    exclusiveGroup ImprintUnsBlkEG " "  "Direction" 1 DROPDOWN
					    exclusiveGroupItem ImprintUnsBlkX "X Direction"
					    exclusiveGroupItem END
					    exclusiveGroupItem ImprintUnsBlkY "Y Direction"
					    exclusiveGroupItem END
					    exclusiveGroupItem ImprintUnsBlkZ "Z Direction"
					    exclusiveGroupItem END
					    exclusiveGroupItem ImprintUnsBlkV "2 Points Vector"
                            entityChooser ImprintUnsBlkVector "2 points" vecImprintList POINTORXYZ 2 "Select 2 points"
					    exclusiveGroupItem END
                    exclusiveGroup END
                exclusiveGroupItem END
  	        exclusiveGroup END 
        frame END
	exclusiveGroupItem END

	exclusiveGroupItem SplitUnsBlk3d "Split Free Block" B_SplitUnstrucBlock$icon_size2.gif
	    dialogSpace 1
	    exclusiveGroup SplitUnsBlk3dFM "Split Free Block" "Method" 2 DROPDOWN
	    
	    exclusiveGroupItem SplitUnsBlk3dSplit1 "From edges"
		    entityChooser SplitUnsBlk3dPick1 "Free Block" ublock HEX_BLOCK 1 only_free "Select free block"
		    entityChooser SplitUnsBlk3dSheets1 "Edges" splitSheets1 HEX_EDGE ANY new_format "Select edges"
		exclusiveGroupItem END
	    exclusiveGroupItem SplitUnsBlk3dProj "By imprint"
		    entityChooser SplitUnsBlk3dProjPick1 "Target Face(s)" iFace HEX_FACE ANY NULL "Select target faces"
		    entityChooser SplitUnsBlk3dProjPick2 "Edges" edgesProj HEX_EDGE ANY new_format "Select edges"
	        dialogSpace 1
            exclusiveGroup SplitUnsBlk3dMethod "Imprint Direction" " " 1 DROPDOWN 	
                exclusiveGroupItem SplitUnsBlk3dNml "Normal to Face"
			    exclusiveGroupItem END		
                exclusiveGroupItem SplitUnsBlk3dSpecify "Specify Direction"
				    exclusiveGroup SplitUnsBlk3dEG " "  "Direction" 1 DROPDOWN
					    exclusiveGroupItem SplitUnsBlk3dX "X Direction"
					    exclusiveGroupItem END
					    exclusiveGroupItem SplitUnsBlk3dY "Y Direction"
					    exclusiveGroupItem END
					    exclusiveGroupItem SplitUnsBlk3dZ "Z Direction"
					    exclusiveGroupItem END
					    exclusiveGroupItem SplitUnsBlk3dV "2 Points Vector"
                            entityChooser SplitUnsBlk3dVector "2 Points" vecImprintList POINTORXYZ 2 "Select 2 points"
					    exclusiveGroupItem END
                    exclusiveGroup END
                exclusiveGroupItem END
  	        exclusiveGroup END 
		exclusiveGroupItem END
		exclusiveGroupItem SplitUnsBlk3dCut "Blend across loops"
		    exclusiveGroup SplitUnsBlk3dOutput "How to blend" "Method" 2 DROPDOWN
		        exclusiveGroupItem SplitUnsBlk3dOutputSwept "From Faces"
		            entityChooser SplitUnsBlk3dFace1 "1st Face" uFace1 HEX_FACE 1 NULL "Select the 1st face"
		            entityChooser SplitUnsBlk3dFace2 "2nd Face" uFace2 HEX_FACE 1 NULL "Select the 2nd face"
			    exclusiveGroupItem END
			    exclusiveGroupItem SplitUnsBlk3dOutputFree "From Edges"
			        entityChooser SplitUnsBlk3dPick2 "Free Block" ublock HEX_BLOCK 1 only_free "Select free block"
		            entityChooser SplitUnsBlk3dSheetsLoop3 "1st Loop" splitSheets1 HEX_EDGE ANY new_format "Select the 1st loop of edges"
		            entityChooser SplitUnsBlk3dSheetsLoop4 "2nd Loop" splitSheets2 HEX_EDGE ANY new_format "Select the 2nd loop of edges"
		        exclusiveGroupItem END
    		exclusiveGroup END
		exclusiveGroupItem END
		exclusiveGroupItem SplitUnsBlk3dSheets "From sheets"
		    entityChooser SplitUnsBlk3dPick4 "Free Block" ublock HEX_BLOCK 1 only_free "Select free block"
		    entityChooser SplitUnsBlk3dSheets4 "Split Sheets" splitSheets HEX_BLOCK ANY 
		exclusiveGroupItem END
		exclusiveGroup END 	
	exclusiveGroupItem END
ifdef AI_ENV_BETA
	exclusiveGroupItem Connections "Block Connections"  B_BuildTopo$icon_size2.gif
	    frame ConnectionsFrame "Block Connections"
	        entityChooser ConnectEdges "Connect Edges" conEdges HEX_EDGE ANY new_format "Select edges"
	        entityChooser TargetFace "Target Face" sblock HEX_BLOCK 1 only_free "Select free face"	
	    frame END    	   
	exclusiveGroupItem END
endif
  exclusiveGroup END
dataEntryDialog END

#-----------------------------------------------------------------------------------

dataEntryDialog mergeBVertexDEZ "Merge Vertices"
	exclusiveGroup mergeBVertexmain "Merge Vertices" "Method" 4 ICON
	exclusiveGroupItem deleteBlkStationB "Merge Vertices" B_MergeVert$icon_size2.gif
	
	 exclusiveGroup merge_multipleEG "Merge Vertices" "Merge Vertices by Number" 2 RADIO
    	exclusiveGroupItem merge_V00_0 "2 Vertices"
		entityChooser deleteBlkStationPick "2 Vertices" pickblkbound HEX_VERTEX 2  node_numbers "Select two vertices to join"
		checkItem deleteBlkPropagate "Propagate merge" propagate NULL
		checkItem deleteBlkFix1 "Merge to average" merge_ave NULL
		checkItem collapseEdgeForceMerge "Force merging" force_edge_collapse NULL
		checkItem collapseEdgeOrfn "Rebuild orphan" rebuild_orphan NULL
		checkItem collapseEdgeUpdProj "Update associations" update_projections NULL
		checkItem collapseEdgeUpdBunch "Update edge bunching" update_edge_node_count NULL
		exclusiveGroupItem END
		exclusiveGroupItem merge_V00_1 "Multiple"
		entityChooser deleteBlkStaBaseCh "Base" pickverbase HEX_VERTEX 1  node_numbers
		entityChooser deleteBlkStaListCh "Vertices" pickblkbound HEX_VERTEX ANY  node_numbers
		exclusiveGroupItem END
		exclusiveGroup END
	
	exclusiveGroupItem END #0
	
	exclusiveGroupItem deleteBlkStationBTol "Merge Vertices by Tolerance" B_MergeVertTol$icon_size2.gif
	    frame deleteBlkStationMTol "Merge Vertices by Tolerance"
		entityChooser deleteBlkStationPick2 "Vertices" pickblkbound HEX_VERTEX ANY node_numbers "Select vertices to merge"
		textEntry mergeVertTol "Tolerance" tolerance NUM
		checkItem mergeVertUpdProj "Update associations" update_projections NULL
	    frame END
	exclusiveGroupItem END #1

	exclusiveGroupItem deleteBlkStationBlk "Collapse Blocks" B_CollapseBlock$icon_size2.gif
	    frame collapseBlkStationM "Collapse Blocks"
		entityChooser collapseBlkedgePick "Collapse edge" collapseBlkEdge HEX_EDGE 1 outer "Select the edge for collapse direction"
		entityChooser collapseBlkBlkPick "Blocks" collapseBlks HEX_BLOCK ANY NULL " Select the blocks to collapse"
	    frame END
	exclusiveGroupItem END #2

	
	
	exclusiveGroupItem mergeVert2Edge "Merge Vertex to Edge" B_MergeVertWEdge$icon_size2.gif
	    frame mergeVert2EdgeF "Merge Vertex to Edge"
		entityChooser mergeVertPick "Vertex" mergeVert HEX_VERTEX 1  node_numbers \
			"Select the vertex to merge"
		entityChooser mergeEdgePick "Edge to Split" splitEdge HEX_EDGE 1 new_format "Select the Edge to split"
	    frame END
	exclusiveGroupItem END #3
	exclusiveGroup END
dataEntryDialog END


#-----------------------------------------------------------------------------------

dataEntryDialog editBlockMenuDEZ "Edit Block"
  exclusiveGroup editBlkmain "Edit Block" "Method" 7 ICON
 	exclusiveGroupItem joinBlockMethod "Merge Blocks" B_MergeBlocks$icon_size2.gif
		greyGroup joinBlockGG "Merge Blocks"
		    greyGroupItem joinBlockSel "Selected"
                entityChooser joinBlocksPick "Blocks" joinBlocks HEX_BLOCK ANY NULL
		    greyGroupItem END
		    greyGroupItem joinBlockAuto "Automatic"
		    greyGroupItem END
		    greyGroupItem joinBlockDir "IJK Direction"
		        entityChooser joinBlockDirPick "Reference Edge" refDirEdge HEX_EDGE 1 new_format "Select reference edge for IJK merge direction" READONLY
		    greyGroupItem END
		greyGroup END
	exclusiveGroupItem END #0

     	exclusiveGroupItem joinBlockFace "Merge Faces" B_MergeFaces$icon_size2.gif
     	    dialogSpace 1
    		exclusiveGroup joinBlockFaceFace "Merge Faces" "Method" 3 DROPDOWN
    		    exclusiveGroupItem joinBlockFaceFaceMethod1 "Face Corners"
		            entityChooser joinFacesPick "Face Corners" joinFaceCorners HEX_VERTEX 2 node_numbers "Select the corners of the faces to merge"
		        exclusiveGroupItem END
		        exclusiveGroupItem joinBlockFaceFaceMethod3 "Block Faces"
                    entityChooser joinFacesPick2 "Block Faces" joinFaceBlocks HEX_FACE ANY NULL "Select the block faces"
                exclusiveGroupItem END
    		exclusiveGroup END
    	exclusiveGroupItem END #1

    exclusiveGroupItem rescaleOBlkB "Modify Ogrid" B_RescaleOgrid$icon_size2.gif
        dialogSpace 1
        exclusiveGroup modOgridEG "Modify OGrid" "Method" 2 DROPDOWN
            exclusiveGroupItem modOgridRescale "Rescale Ogrid"
            frame rescaleOBlkBlkframe "Rescale Ogrid"
                greyGroup rescaleOBlkSel "Block Select"
                greyGroupItem rescaleOBlkBlkSelAll "All Visible"
                greyGroupItem END
                greyGroupItem rescaleOBlkBlkSelSel "Selected"
                    entityChooser rescaleOBlkSelSelBlock "Block" rescaleBlks HEX_BLOCK ANY NULL "Select Blocks to rescale"
                greyGroupItem END        
                greyGroup END    
                entityChooser rescaleOBlkEdgePick "Edge" OEdge HEX_EDGE 1 NULL "Select edge dimension to rescale"
                checkItem OblkOff2   "Absolute distance" absolute NULL
                textEntry editBlkOgridblkDisA "Offset" distance NUM
            frame END
            exclusiveGroupItem END
            exclusiveGroupItem resetOgridOrtho "Reset Ogrid Orthogonality"
            frame resetOgridframe "Reset Ogrid Orthogonality"
                entityChooser resetOgridPick "Edge" resetOgridEdge HEX_EDGE 1 new_format "Select an edge in OGrid"
            frame END
            exclusiveGroupItem END
        exclusiveGroup END
    exclusiveGroupItem END #2

    exclusiveGroupItem periodicBlkB "Periodic Vertices" B_PeriodicVerts$icon_size2.gif
        dialogSpace 1
          exclusiveGroup periodicBlkM "Periodic Vertices" "Method" 1 RADIO
                exclusiveGroupItem createPeriodicBlkm "Create"
                entityChooser periodicVertsPick "Vertices" perVerts HEX_VERTEX 2 "select_duplicate node_numbers" "Select 2 periodic vertices"
                exclusiveGroupItem END
                    exclusiveGroupItem removePeriodicBlkm "Remove"
                entityChooser periodicVertsPick2 "Vertices" perVerts HEX_VERTEX ANY node_numbers
                   exclusiveGroupItem END
			exclusiveGroupItem AutoPeriodicBlkm "Auto Create"
	   	    	exclusiveGroupItem END
		exclusiveGroup END
	exclusiveGroupItem END #3

     exclusiveGroupItem convertBlocks "Convert Block Type" B_Struc-Unstruc$icon_size2.gif
         dialogSpace 1
        exclusiveGroup convBlockType "Convert Block Type" "Set Type" 2 DROPDOWN
        exclusiveGroupItem editBlockSetStr "Mapped"
            entityChooser convertBlocksPick1 "Block(s)" convBlocks HEX_BLOCK ANY ignore_mapped "Select block to set type"
        exclusiveGroupItem END
        exclusiveGroupItem editBlockSetUnstr "Free"
            entityChooser convertBlocksPick2 "Block(s)" convBlocks HEX_BLOCK ANY ignore_free "Select block to set type"
        exclusiveGroupItem END
        exclusiveGroupItem editBlockSetSwept "Swept"
            entityChooser convertBlocksFacePick "Swept Face" swept_face HEX_FACE 1 NULL "Select top swept face" 
            checkItem convertBlocksFaceMerge "Merge parallel blocks" merge_parallel NULL
        exclusiveGroupItem END
        exclusiveGroupItem editBlockSetYblock "Y-Block"
            entityChooser convertBlocksPick4 "Block(s)" convBlocks HEX_BLOCK ANY NULL "Select degen. block to convert to Y-Block"
        exclusiveGroupItem END
        exclusiveGroupItem setFreeBlockFaceFreeType  "Mapped face to free"
            entityChooser convertFreeBlocksFaceFreePick "Face(s)" mapped_face HEX_FACE ANY only_mapped "Select mapped face(s)" 
        exclusiveGroupItem END
        exclusiveGroupItem setFreeBlockFaceFreeTypeMapped  "Free face to mapped"
            exclusiveGroup freeBlockFaceFreeTypeMappedMethod "Choose" "Method" 2 DROPDOWN
                exclusiveGroupItem freeBlockFaceFreeTypeMappedMethod1 "Basic"
                    entityChooser convertFreeBlocksFaceFreeMappedPick "Face(s)" mapped_face HEX_FACE ANY only_free "Select free face(s)" 
                exclusiveGroupItem END
                exclusiveGroupItem freeBlockFaceFreeTypeMappedMethod2 "Advanced"
                    entityChooser convertFreeBlocksFaceFreeMappedPick2 "Face" mapped_face HEX_FACE 1 only_free "Select free face" 
                    entityChooser convertFreeBlocksNodesMappedPick "Corner vertices" vertsFree HEX_VERTEX 4 node_numbers "Select 4 corner vertices"
                exclusiveGroupItem END
            exclusiveGroup END        

		exclusiveGroupItem END
		exclusiveGroupItem reverseSBlockDirection  "Reverse swept direction"
		   entityChooser reverseSBlockPick "Swept Block" sblock HEX_BLOCK 1 only_swept "Select swept block to reverse swept direction"
		exclusiveGroupItem END
		exclusiveGroupItem mergeSheetUns  "Merge sheet with free block"
		   entityChooser mergeSheetPick "Sheet Block" sheet HEX_BLOCK 1
		   entityChooser mergeSheetUblockPick "Free Block" ublock HEX_BLOCK 1 only_free "Select free block"
		exclusiveGroupItem END
		exclusiveGroupItem setUBlockMeshType  "3D free block mesh type"
		    dropDownEntry setUBlockMtype "Mesh Type" meshTypeList mesh_type FALSE
		    entityChooser convertBlocksPick5 "3D Free Block(s)" convBlocks HEX_BLOCK ANY only_free "Select 3D free blocks to set mesh type"
		exclusiveGroupItem END
		exclusiveGroupItem setSBlockMeshType  "Free face mesh type"
		    dropDownEntry setSBlockMtype "Mesh Type" sbmeshTypeList sbmesh_type FALSE
		    entityChooser  SetMeshTypeFacePick "Free Face(s)" sblock_faces HEX_FACE ANY only_free "Select free face(s) to set mesh type" 
		exclusiveGroupItem END
	    exclusiveGroup END	    
	exclusiveGroupItem END #4

 	exclusiveGroupItem editBlockIJK "Change Block IJK" B_IJK2KJI$icon_size2.gif
 	    dialogSpace 1
	    exclusiveGroup editBlockIJKHow "Change Block IJK" "Method" 2 DROPDOWN
		exclusiveGroupItem editBlockIJKM1 "IJK->KIJ"
		    entityChooser editBlockIJKM1Pick "Block(s)" blocks HEX_BLOCK ANY showIJK \
			"Select blocks to change IJK->KIJ"
		exclusiveGroupItem END	

		exclusiveGroupItem editBlockIJKM2 "Set Origin"
		    entityChooser editBlockIJKM2Pick "Block" blocks HEX_BLOCK 1 showIJK \
			"Select block to set origin"
		    entityChooser editBlockVertexPick "Vertex" vert HEX_VERTEX 1 node_numbers \
			"Select block vertex for origin"
		exclusiveGroupItem END

		exclusiveGroupItem editBlockIJKM3 "Align Blocks"
                   entityChooser editBlockIJKM3Pick "Reference Block" blocks HEX_BLOCK 1 showIJK "Select ref. block"
		exclusiveGroupItem END
		exclusiveGroupItem editBlockSetIJK "Set IJK"
		    entityChooser editBlockSetIJKPick "Block(s)" blocks HEX_BLOCK ANY showIJK "Select blocks to set IJK"
		    multiSelect setBlockIJKMS "Set IJK" EXCLUSIVE
			multiSelectRows
			    "Set I"
			    "Set J"
			    "Set K"
			multiSelectRows END
			multiSelectColumns
			    "I"
			    "J"
			    "K"
			multiSelectColumns END
		    multiSelect END
		exclusiveGroupItem END
	    exclusiveGroup END
	exclusiveGroupItem END #5

	exclusiveGroupItem editBlockRenumber "Renumber Blocks" B_RenumberBlocks$icon_size2.gif
	  frame  editBlockRenumberFR "Renumber Blocks"
		textLabel  editBlockRenumberLab " "
	  frame END
	exclusiveGroupItem END #6
	exclusiveGroupItem editBlockTransfer "Transfer Blocks" B_TransferBlocks$icon_size2.gif
	    frame editBlockTransferFrame "Transfer Blocks"
            entityChooser transferBlocksPick "Blocks" transferBlocks HEX_BLOCK ANY NULL
        frame END
	exclusiveGroupItem END #7
  exclusiveGroup END
dataEntryDialog END

#-----------------------------------------------------------------------------------
dataEntryDialog editProjDEZ "Blocking Associations"
    exclusiveGroup editAssocEG "Edit Associations" "Method" 7 ICON
	exclusiveGroupItem assocVert "Associate Vertex" B_Vert2All$icon_size2.gif
	    exclusiveGroup assocVertEG "Associate Vertex ->" "Entity" 2 RADIO
		exclusiveGroupItem assocVert2Self "Self"
		    entityChooser assocVertPick1 "Vertices" verts HEX_VERTEX ANY node_numbers
		    entityChooser assocVertPart "Part" part_name PART 1
		exclusiveGroupItem END
		exclusiveGroupItem assocVert2Point "Point"
		    entityChooser assocVertPick2 "Vertex" verts HEX_VERTEX 1 node_numbers		    
		    entityChooser assocVertPointPick "Point" point POINT 1
		exclusiveGroupItem END
		exclusiveGroupItem assocVert2Curve "Curve"
		    entityChooser assocVertPick3 "Vertices" verts HEX_VERTEX ANY node_numbers
		    entityChooser assocVertCurvePick "Curve(s)" curves HEX_COMPCURVE ANY
		exclusiveGroupItem END
		exclusiveGroupItem assocVert2Surf "Surface"
		    entityChooser assocVertPick4 "Vertices" verts HEX_VERTEX ANY node_numbers
		exclusiveGroupItem END
	    exclusiveGroup END
	exclusiveGroupItem END
	exclusiveGroupItem assocEdge "Associate Edge to Curve" B_Edge2Curve$icon_size2.gif
	    frame editAssocEdgeFR "Associate Edge -> Curve"
		    entityChooser assocEdgePick "Edge(s)" edges HEX_EDGE ANY "new_format edge_segment"
		    entityChooser assocEdgeCurvePick "Curve(s)" curves HEX_COMPCURVE ANY
		    checkItem UpdateProj1   "Project vertices" update NULL
		    checkItem moveSurfInter   "Project to surface intersection" intersection NULL
		    checkItem moveCurveInter   "Project ends to curve intersection" curve_intersection NULL
		    checkItem fromMesh "Reference Mesh" curve_refmesh NULL
	    frame END
	exclusiveGroupItem END
	exclusiveGroupItem assocEdgeSurf "Associate Edge to Surface" B_Edge2Surf$icon_size2.gif
		frame assocEdgeSurfFR "Associate Edge -> Surface"
		    entityChooser assocEdgeSurfPick "Edge(s)" edges HEX_EDGE ANY "new_format edge_segment"
		frame END
	exclusiveGroupItem END
	exclusiveGroupItem assocFacSurf "Associate Face to Surface" B_Face2Surf$icon_size2.gif
	    exclusiveGroup projFacBlkse "Associate Face -> Surface" "Method" 2 RADIO
		exclusiveGroupItem projFacBlkClosest "Closest"
		    entityChooser projFaceSurfE1 "Face(s)" faces HEX_FACE ANY
		exclusiveGroupItem END
		exclusiveGroupItem projFacBlkInterpolate "Interpolate"
		    entityChooser projFaceSurfE2  "Face(s)" faces HEX_FACE ANY
		exclusiveGroupItem END
		exclusiveGroupItem projFacBlkPart "Part"
		    entityChooser projFaceSurfE3 "Face(s)" faces HEX_FACE ANY
		    entityChooser projFacePart "Surface part" part_name part_0d_1d_2d 1
		exclusiveGroupItem END
		exclusiveGroupItem projFacBlkSharedWall "Shared Wall"
#    		    entityChooser projSWParts "Volume parts" solids PART 2
                    entityChooser projSWParts "Volume parts" solids PART_VOLUME 2
		    greyGroup projFaceSharedGG "Shared surface elements"
			greyGroupItem projFaceSharedShell "Create"
#			    entityChooser projSWSurf "Surface part" surface part_2d 1
			    entityChooser projSWSurf "Surface part" surface part_0d_1d_2d 1
			greyGroupItem END
			greyGroupItem projFaceSharedRemove "Remove Shared Wall"
			greyGroupItem END
			greyGroupItem projFaceSharedNone "None"
			greyGroupItem END
		    greyGroup END
		exclusiveGroupItem END
		exclusiveGroupItem projFacesLinked "Link shapes"
		    entityChooser projFaceSurfE4  "Face(s)" faces HEX_FACE ANY
		exclusiveGroupItem END
		exclusiveGroupItem UnsFaceAssoc "Reference Mesh"
	   	   frame UnsFaceAssocFR "Ref. Face Mesh"
			entityChooser UnsFaceAssocSel "Face(s)" faces HEX_FACE ANY
		   frame END
		exclusiveGroupItem END
		exclusiveGroupItem projFaceToSurf "Selected Surface"
	   	   frame projFaceToSurfFR "Selected Surface"
		       entityChooser projFaceSurfE5  "Face(s)" faces HEX_FACE ANY
		       entityChooser projFaceSurfsPick "Surface" face_surface SURF 1
		   frame END
		exclusiveGroupItem END
	    exclusiveGroup END
	exclusiveGroupItem END
	exclusiveGroupItem UnsetAssoc "Disassociate from Geometry" B_DisAssoc$icon_size2.gif
	    frame unsetAssocFR "Disassociate from Geometry"
		entityChooser unsetAssocVertPick "Vertices" verts HEX_VERTEX ANY node_numbers
		entityChooser unsetAssocEdgePick "Edges" edges HEX_EDGE ANY "new_format edge_segment"
		entityChooser unsetAssocFacePick "Faces" faces HEX_FACE ANY
		dialogSpace
		greyGroup unsetAssocFaceKeepMesh "Keep surface mesh"
		    greyGroupItem FaceKeepMesh "Surface mesh part"
			exclusiveGroup FaceKeepMeshEG "Surface mesh" "Part" 2 RADIO
			    exclusiveGroupItem FaceKeepMeshClose "Closest"
			    exclusiveGroupItem END
			    exclusiveGroupItem FaceKeepMeshSel "Selected"
				entityChooser FaceKeepMeshPart "Part name" part_name PART 1
    			    exclusiveGroupItem END
			exclusiveGroup END
		    greyGroupItem END
		greyGroup END
	    frame END
	exclusiveGroupItem END
	exclusiveGroupItem renewAssoc "Update Associations" B_AAssociate$icon_size2.gif
	    frame updateAssocFR "Update Associations"
		checkItem updateAssocVert "Vertices" updateVert NULL
		checkItem updateAssocEdge "Edges" updateEdge NULL
		checkItem updateAssocFace "Faces" updateFace NULL
		checkItem updateOnlyDormant "Only Dormant entities" updateDormant NULL
		greyGroup updateAssocBlockGG "Update Blocking"
		    greyGroupItem updateAssocBlockGI "Update"
		      radioGroup updateAssocBlockRG "Method" 2 update_method 0 DummyProc
		    	radioItem updateAssocBlockParametric "Parametric" "parametric"
		    	radioItem updateAssocBlockMorph "Morphing" "morph"		
		      radioGroup END
		    greyGroupItem END
		greyGroup END
	    frame END
	exclusiveGroupItem END
	exclusiveGroupItem ResetAssoc "Reset Associations" B_ResetAssoc$icon_size2.gif
	   frame resetAssocFR "Reset Associations"
       greyGroup resetAssocVertGG "Vertices" resetVert
		    greyGroupItem resetAssocVertGI "Reset"
		        radioGroup resetAssocVertAllRG "Select vertices" 2 v_reset_method 0 DummyProc
		            radioItem resetAssocVertAll "All" "all"
		            radioItem resetAssocVertVis "Only visible" "vis"
		        radioGroup END
		    greyGroupItem END
		greyGroup END
		greyGroup resetAssocEdgeGG "Edges" resetEdge
		    greyGroupItem resetAssocEdgeGI "Reset"
		        radioGroup resetAssocEdgeAllRG "Select edges" 2 e_reset_method 0 DummyProc
		            radioItem resetAssocEdgeAll "All" "all"
		            radioItem resetAssocEdgeVis "Only visible" "vis"
		        radioGroup END
		    greyGroupItem END
		greyGroup END
		greyGroup resetAssocFaceGG "Faces" resetFace
		    greyGroupItem resetAssocFaceGI "Reset"
		        radioGroup resetAssocFaceAllRG "Select faces" 2 f_reset_method 0 DummyProc
		            radioItem resetAssocFaceAll "All" "all"
		            radioItem resetAssocFaceVis "Only visible" "vis"
		        radioGroup END
		    greyGroupItem END
		greyGroup END
	    frame END
	exclusiveGroupItem END
	exclusiveGroupItem projVUpdate "Snap Project Vertices" B_Snap$icon_size2.gif 
	    frame projVUpdateF "Snap Project Vertices"
		greyGroup projVUpdateGG "Vertex Select"
		    greyGroupItem projVUpdateAll "All Visible"
		    greyGroupItem END
		    greyGroupItem projVUpdateSel "Selected"
			entityChooser projUpdateVisVert "Vertices" projVerts HEX_VERTEX ANY node_numbers \
		    		"Select vertices to project"
    		    greyGroupItem END
		greyGroup END
		checkItem projVOgrid  "Move O-Grid nodes" move_ogrid NULL
	    frame END
	exclusiveGroupItem END
	exclusiveGroupItem editComposite "Group/Ungroup curves" G_CurveConcatonate$icon_size2.gif
	    exclusiveGroup groupEG "Group/Ungroup curves" "Action" 1 RADIO
		exclusiveGroupItem groupEGI "Group Curves"	
		    greyGroup groupType "Group"
			greyGroupItem groupCurve "Selected"
			    entityChooser groupCurvesPick "Select Curves or Composite Curves"  groupCurvesList CURVE_OR_COMPCURVE ANY
			greyGroupItem END
			greyGroupItem groupCurveTan "All tangential"
			greyGroupItem END
			greyGroupItem groupCurvePart "Part by Part"
#			    entityChooser groupCurvesPart "Select Parts"  groupPartList PART ANY
			greyGroupItem END
		    greyGroup END
		exclusiveGroupItem END
		exclusiveGroupItem ungroupEGI "Ungroup Curves"	
		    entityChooser ungroupCurvesPick "Select Composite Curves"  groupCurvesList HEX_COMPCURVE ANY
		exclusiveGroupItem END
	    exclusiveGroup END
	exclusiveGroupItem END
	exclusiveGroupItem AutoAssoc "Auto Association" B_AutoAssoc$icon_size2.gif
	   frame AutoAssocFR "Auto Associate"
		checkItem AutoAssocProj "Snap Project Vertices" auto_proj NULL
	   frame END
	exclusiveGroupItem END
    exclusiveGroup END
dataEntryDialog END

#-----------------------------------------------------------------------------------

dataEntryDialog moveBVertexDEZ "Move Vertices"
	exclusiveGroup moveBVertexmain "Move Vertices" "Method" 5 ICON
	dialogSpace 1
		exclusiveGroupItem moveBVertexM "Move Vertex" B_MoveVert$icon_size2.gif
		frame MoveVert "Move Vertex"
		    dropDownEntry MVtype "Method" MoveVertexOptions MVHow FALSE
		    entityChooser moveVertPick "Vertex" moveVerts HEX_VERTEX 0 use_local_select
	 	
		    frame moveBVertexConstraints "Movement Constraints"
	   		checkItem moveBVertexControlX "Fix X" mv_fixx NULL
	   		checkItem moveBVertexControlY "Fix Y" mv_fixy NULL
	   		checkItem moveBVertexControlZ "Fix Z" mv_fixz NULL
			greyGroup moveVertsDirGG "Fix direction"
			    greyGroupItem moveVertsDirGI "Fix direction"
				entityChooser moveVertsDirPick "Vector" dirEdge HEX_EDGE 1 new_format "Select edge for move direction"
			    greyGroupItem END
			greyGroup END
	   		checkItem moveBVertexControlN "Normal to Surf." mv_normal NULL
	   		checkItem moveBVertexDepend "Move dependent" mv_depend NULL
		    frame END

		frame END
		exclusiveGroupItem END #0

	 	exclusiveGroupItem SelLocBM "Set Location" B_SetLoc$icon_size2.gif
		frame SetLocVert "Set Location"
			dropDownEntry SLtype "Method" SetPostitionOptions SLHow   FALSE
			dialogSpace 1
			exclusiveGroup refLocType NULL "Reference From" 2 RADIO
				exclusiveGroupItem refLocVert "Vertex"
					entityChooser SetLoRefLoc0 "Ref. Vertex" ref_vertex HEX_VERTEX 1 "node_numbers edge_nodes" \
						"Select reference vertex"
				exclusiveGroupItem END
				exclusiveGroupItem refLocScreen "Screen"
					entityChooser SetLoRefLoc1 "Ref. Location" ref_point POINTORXYZ 1
				exclusiveGroupItem END
			exclusiveGroup END

			exclusiveGroup SetLocCsys "Set" "Coordinate system" 2 DROPDOWN
			    exclusiveGroupItem SetLocCart "Cartesian"
				greyGroup SetLocBVertexX "Modify X"
				    greyGroupItem SetLocBVertexControlX " "
				    textEntry SetLocBVertexControlXVal "X" X NUM
				    greyGroupItem END
				greyGroup END
				
				greyGroup SetLocBVertexY "Modify Y"
				    greyGroupItem SetLocBVertexControlY " "
					textEntry SetLocBVertexControlYVal "Y" Y NUM
				    greyGroupItem END
				greyGroup END

				greyGroup SetLocBVertexZ "Modify Z"
				    greyGroupItem SetLocBVertexControlZ " "	
					textEntry SetLocBVertexControlZVal "Z" Z NUM
				    greyGroupItem END
				greyGroup END

				greyGroup SetLocBVertexN "Modify Normal"
				    greyGroupItem SetLocBVertexControlN " "
					textEntry SetLocBVertexControlNVal "Normal" Normal NUM
				    greyGroupItem END
				greyGroup END
			    exclusiveGroupItem END
			    exclusiveGroupItem SetLocCyl "Cylindrical"
				greyGroup SetLocCylR "Modify R"
				    greyGroupItem SetLocCylRGI " "
					textEntry SetLocCylRVal "R" X NUM
				    greyGroupItem END
				greyGroup END
				greyGroup SetLocCylT "Modify Theta"
				    greyGroupItem SetLocCylTGI " "
					textEntry SetLocCylTVal "T" Y NUM
				    greyGroupItem END
				greyGroup END
				greyGroup SetLocCylZ "Modify Z"
				    greyGroupItem SetLocCylZGI " "
					textEntry SetLocCylZVal "Z" Z NUM
				    greyGroupItem END
				greyGroup END
			    exclusiveGroupItem END
			exclusiveGroup END
			entityChooser SetLocBVertexSelEdge "Vertices to Set" vertices HEX_VERTEX ANY \
					"node_numbers edge_nodes" "select vertices to move"
		frame END
	 	exclusiveGroupItem END #1

	 	exclusiveGroupItem AlignVerBB "Align Vertices" B_Align$icon_size2.gif
		frame AlignVertexF "Align Vertices"
		    entityChooser AlignVertexEdge "Along edge direction" edge HEX_EDGE 1 new_format "Select edge for align dimension"
		    entityChooser AlignVertexVert "Reference vertex" vertex HEX_VERTEX 1 node_numbers "Select Vertex for Reference Index"
		    exclusiveGroup AlignVertCsys "Align" "Coordinate system" 2 DROPDOWN
			exclusiveGroupItem AlignVertCart "Cartesian"
			    greyGroup AlignVertexGG "Move in plane"
				greyGroupItem AlignVertexVert1P "YZ"
				greyGroupItem END
				greyGroupItem AlignVertexVert2P "XZ"
				greyGroupItem END
				greyGroupItem AlignVertexVert3P "XY"
				greyGroupItem END
				greyGroupItem AlignVertexVert4P "User Defined"
                    exclusiveGroup AlignVertexPlaneM NULL "Method" 1 DROPDOWN AlignVertexPlaneMethod
                        exclusiveGroupItem AlignVertexPlaneUserInput "User Input"
                            textEntry AlignVertexVertPPP "Plane" Plane TEXT
                        exclusiveGroupItem END
                        exclusiveGroupItem AlignVertexPlane3P "By 3 plane locations"
                            entityChooser AlignVertexPlane3PtLoc "Plane Normal" Plane POINTORXYZ 3 no_confirm
                        exclusiveGroupItem END
                    exclusiveGroup END
				greyGroupItem END
			    greyGroup END
			exclusiveGroupItem END
			exclusiveGroupItem AlignVertCyl "Cylindrical"
			    greyGroup AlignVertCylPar "Parameter"
				greyGroupItem AlignVertCylR "R"
				greyGroupItem END
				greyGroupItem AlignVertCylT "Theta"
				greyGroupItem END
				greyGroupItem AlignVertCylZ "Z-Dir"
				greyGroupItem END
			    greyGroup END
			exclusiveGroupItem END
		    exclusiveGroup END
		frame END
	 	exclusiveGroupItem END #2

	    exclusiveGroupItem moveBlkNodesOnLine "Align Vertices in-line" B_AlignVerts$icon_size2.gif
	      frame alignBlkNodesRF "Align Vertices in-line"
	        entityChooser alignVertsDirPick "Reference Direction" alignDir HEX_VERTEX 2 node_numbers "Select 2 vertices for align direction"
	        entityChooser alignVertsPick "Vertices " vertList HEX_VERTEX ANY node_numbers "Select vertices to align"
	      frame END
	    exclusiveGroupItem END #3

	 	exclusiveGroupItem edgeLenBB "Set Edge Length" B_SetEdgeLength$icon_size2.gif
		frame setEdgeLength "Set Edge Length"
		    entityChooser setEdgeLengthPick "Edge(s)" edgeList HEX_EDGE ANY new_format "Select edges to set length"
		    textEntry setEdgeLL "Length" length NUM
		    greyGroup edgeLenGG "Freeze vert(s)"
			greyGroupItem edgeLenGGP "Freeze vert(s)"
			    entityChooser edgeLenGGPick2 "Vert(s)" vertex HEX_VERTEX ANY node_numbers "Select single vertex or multiple vertices to freeze"
			greyGroupItem END
		    greyGroup END
		    #exclusiveGroup edgeLenGG "Freeze vertices" "Method" 2 DROPDOWN
			#exclusiveGroupItem nofreezEdgeVerts "No Vertex Freeze"
		    #exclusiveGroupItem END
			#exclusiveGroupItem interactiveEdgeVerts "Freeze Vertice(s)"
			     #entityChooser edgeLenGGPick2 "Vertice(s)" vertex HEX_VERTEX ANY node_numbers "Select single vertex or multiple vertices to freeze"
		    #exclusiveGroupItem END
		    #exclusiveGroup END
		frame END
	 	exclusiveGroupItem END #4

		exclusiveGroupItem moveFaceNodes "Move Face Vertices" B_MoveFace$icon_size2.gif
		    frame moveFaceFR "Translate/Rotate Vertices"
		    exclusiveGroup moveFacesEG "Move vertices" "Method" 2 DROPDOWN
			exclusiveGroupItem moveFaceVerts "Move Face Vertices"
			    entityChooser moveFacesPick "Face(s)" faceList HEX_FACE ANY NULL "Select faces to move"
			    greyGroup moveFaceGG "Direction"
				greyGroupItem moveFaceVec "Offset Vector"
				    textEntry moveFaceVecEntry "Vector" vector TEXT
				greyGroupItem END
				greyGroupItem moveFaceVecSel "2-Points"
				    entityChooser moveFaceVecPick "Start & End points" vecList POINTORXYZ 2
				greyGroupItem END
			    greyGroup END
			exclusiveGroupItem END
			exclusiveGroupItem rotateVerts "Rotate Vertices"
			    entityChooser rotateVertsPick "Vert(s)" vertList HEX_VERTEX ANY node_numbers "Select vertices to rotate"
			    entityChooser rotateVertsBasePick "Center point" center POINTORXYZ 1 nearest
			    textEntry rotateVertsAngle "Angle of rotation" angle NUM  
			    greyGroup moveVertsGG "Rotation Axis"
				greyGroupItem moveVertsVec "Vector"
				    textEntry moveVertsVecEntry "Vector" vector TEXT
				greyGroupItem END
				greyGroupItem moveVertsVecSel "2-Points"
				    entityChooser moveVertsVecPick "Start & End Points" vecList POINTORXYZ 2
				greyGroupItem END
			    greyGroup END
			exclusiveGroupItem END
		    exclusiveGroup END
		    frame END
	 	exclusiveGroupItem END #5


	 exclusiveGroup END
dataEntryDialog END

#-----------------------------------------------------------------------------------

dataEntryDialog transformBlocksToolsDEZ "Transform Blocks"
    exclusiveGroup transfrmBlocksEG "Translate/Rotate/Mirror/Scale/Copy Periodic" "Method" 4 ICON
    dialogSpace 1
    exclusiveGroupItem transMoveBlocksEGI "Translate Blocks" B_Translate$icon_size2.gif
    frame transMoveBlocksEGIFR "Translate Blocks"
	    entityChooser transfmoveBlocksPick1 "Select" BlkList  HEX_BLOCK ANY
        dialogSpace 1
   		greyGroup copyGG1 "Copy" copyGGVal1
		        greyGroupItem copyItem1 "Copy"
			    integerEntry nCopies1 "Number of copies" ncopies 1 100 1
			greyGroupItem END
		greyGroup END
		checkItem transMoveBlocksGeom1 "Transform geometry also" also_whole_geom NULL
        dialogSpace 1
  	exclusiveGroup moveBlocksEG "Translation" "Method" 1 DROPDOWN	 
    	    exclusiveGroupItem moveBlocksEGOff "Explicit"
      	    textEntry moveBlocksX "X Offset" x NUM 
         	textEntry moveBlocksY "Y Offset" y NUM 
         	textEntry moveBlocksZ "Z Offset" z NUM 
	    exclusiveGroupItem END

	    exclusiveGroupItem transfmoveBlocksEG2P "2 Point Vector"
      	dialogSpace 1
		entityChooser transfmoveBlocks2PPick "Select" pointList2  POINTORXYZ 2 xyz
	    exclusiveGroupItem END
  	exclusiveGroup END
  	dialogSpace 1
    frame END
    exclusiveGroupItem END # ------------end of Translation

   exclusiveGroupItem transRotateBlocksEGI "Rotate Blocks" B_Rotate$icon_size2.gif
      frame transRotateBlocksEGIFR "Rotate Blocks"
	  entityChooser transfmoveBlocksPick2 "Select" BlkList  HEX_BLOCK ANY
      dialogSpace 1
		greyGroup copyGG2 "Copy" copyGGVal2
		        greyGroupItem copyItem2 "Copy"
			    integerEntry nCopies2 "Number of copies" ncopies 1 100 1
			greyGroupItem END
		greyGroup END
        checkItem transMoveBlocksGeom2 "Transform geometry also" also_whole_geom NULL
      dialogSpace 1
          exclusiveGroup blkRotateAxisOptionEG "Rotation" "Axis" 3 DROPDOWN
           	exclusiveGroupItem blkRotateAxisOptionX "X"
           	exclusiveGroupItem END
           	
           	exclusiveGroupItem blkRotateAxisOptionY "Y"
           	exclusiveGroupItem END
           	
           	exclusiveGroupItem blkRotateAxisOptionZ "Z"
           	exclusiveGroupItem END
           	
           	exclusiveGroupItem blkRotateAxisOptionV "Vector"
           		entityChooser blkRotateAxis2PPick "2-point Axis" axisList  POINTORXYZ 2 xyz
           	exclusiveGroupItem END
          exclusiveGroup END
        
        dialogSpace 1
          
      	textEntry blkRotateAngle "Angle" rot_angle NUM
      	dialogSpace 1	
	exclusiveGroup RotateBlkCenterEG "Center of Rotation" "Center Point" 1 DROPDOWN
	    exclusiveGroupItem rotatefBlkOrigin "Origin"
	    exclusiveGroupItem END
		
	    exclusiveGroupItem rotateBlkCentroid "Centroid"
	    exclusiveGroupItem END
		
	    exclusiveGroupItem rotateBlkUsrPoint "User's Point"
		entityChooser rotateBlkTrfrmCenterPnt "Select" center_point POINTORXYZ 1 xyz
	    exclusiveGroupItem END
	 
	exclusiveGroup END
   frame END
   exclusiveGroupItem END # ---------------end of Rotation

#--------------------------Mirror/Reflection Blocking-----------------------------------------

   exclusiveGroupItem transMirrorBlocksEGI "Mirror Blocks" B_Mirror$icon_size2.gif
   frame transMirrorBlocksEGIFR "Mirror Blocks"
	    entityChooser transfmoveBlocksPick3 "Select" BlkList  HEX_BLOCK ANY
      dialogSpace 1
	checkItem copyGG3 "Copy" copyGGVal3 NULL
	checkItem transMoveBlocksGeom3 "Transform geometry also" also_whole_geom NULL
      dialogSpace 1
              	
    exclusiveGroup BlocksMirrorAxisOptionEG "Reflection " "Plane Axis(Normal)" 3 DROPDOWN
    	exclusiveGroupItem BlocksMirrorAxisOptionX "X"
    	exclusiveGroupItem END
                 	
     	exclusiveGroupItem BlocksMirrorAxisOptionY "Y"
     	exclusiveGroupItem END
                 	
     	exclusiveGroupItem BlocksMirrorAxisOptionZ "Z"
     	exclusiveGroupItem END
                 	
      	exclusiveGroupItem BlocksMirrorAxisOptionV "Vector"
	    entityChooser BlocksMirrorAxis2PPick "2-Point Axis" normPointList  POINTORXYZ 2 xyz
      	exclusiveGroupItem END
    
   exclusiveGroup END
   
   dialogSpace 1	
   exclusiveGroup ReflectBlocksCenterEG "Point of Reflection" "About Point" 1 DROPDOWN
   	exclusiveGroupItem reflectBlocksOrigin "Origin"
   	exclusiveGroupItem END
   		
   	exclusiveGroupItem reflectBlocksCentroid "Centroid"
   	exclusiveGroupItem END
   	
   	exclusiveGroupItem reflectBlocksUsrPoint "User's Point"
   	    entityChooser reflectBlocksTrfrmCenterPnt "Select" center_point POINTORXYZ 1 xyz
   	exclusiveGroupItem END
   
   exclusiveGroup END
   frame END
   exclusiveGroupItem END #end of Reflection
   
#--------------------------Scale Blocking-----------------------------------------   

   exclusiveGroupItem transScaleBlocksEGI "Scale Blocks" B_Scale$icon_size2.gif
   frame transScaleBlocksEGIFR "Scale Blocks"
	    entityChooser transfmoveBlocksPick4 "Select" BlkList  HEX_BLOCK ANY
      dialogSpace 1	
	checkItem copyGG4 "Copy" copyGGVal4 NULL
	checkItem transMoveBlocksGeom4 "Transform geometry also" also_whole_geom NULL
      dialogSpace 1
      frame transScaleBlocksEGILabel "Scale Blocks"
   		textEntry BlkscaleBlocksX "X Factor" xF NUM 
        textEntry BlkscaleBlocksY "Y Factor" yF NUM 
        textEntry BlkscaleBlocksZ "Z Factor" zF NUM 
	frame END
	
#-----------------Choose Center of Transformation--------------------------

    dialogSpace 1
    exclusiveGroup ScaleBlocksCenterEG "Center of Transformation" "Center Point" 1 DROPDOWN
	exclusiveGroupItem transfBlocksOrigin "Origin"
	exclusiveGroupItem END
	
	exclusiveGroupItem transfBlocksCentroid "Centroid"
	exclusiveGroupItem END
	
	exclusiveGroupItem transfBlocksUsrPoint "User's Point"
		entityChooser scaleBlocksTrfrmCenterPnt "Select" center_point POINTORXYZ 1 xyz
	exclusiveGroupItem END
 
    exclusiveGroup END
   frame END
   exclusiveGroupItem END #end of Scale

   exclusiveGroupItem copyPeriodicBlocks "Copy Periodic Blocking" B_Transform_Periodic$icon_size2.gif
      frame copyPerBlockFR "Copy Periodic Blocking"
	    integerEntry copyNPeriods "Num. copies" ncopies 1 100 1
	    entityChooser copyIncParts "Increment parts" inc_parts PART ANY
      frame END
   exclusiveGroupItem END #end per. copy

  exclusiveGroupItem transBlocksEGI "Translate and Rotate" B_TransformFit$icon_size2.gif
  frame transTransRotateBlocksEGIFR "Translate and Rotate"
	        entityChooser transfmoveBlocksPick5 "Select" BlkList  HEX_BLOCK ANY
            dialogSpace 1	
	        checkItem copyGG5 "Copy" copyGGVal5 NULL
#	        checkItem transMoveBlocksGeom5 "Transform geometry also" also_whole_geom NULL
            dialogSpace 1
			exclusiveGroup transBlocksEG "Translate and Rotate Method" "Selection Method" 1 DROPDOWN
			exclusiveGroupItem rotateBlocks3Pts "3 points -> 3 points"
           		entityChooser rotateBlocks3PtsPick "3 points -> 3 points" rotateBlocksList POINTORXYZ 6 xyz
				exclusiveGroupItem END
			exclusiveGroupItem rotateBlocks2Crvs "Curve -> Curve"
           		entityChooser rotateBlocks2CrvsPick "Curve -> Curve" rotateBlocksList CURVE 2
			exclusiveGroupItem END
			exclusiveGroupItem rotateBlocksFromLcs "LCS -> LCS"
				#textButton rotateBlocksBut "Show LCS" ShowAllLCSProc
           		entityChooser rotateBlocksLcsFrom "From CSYS" fromLCS POINTORXYZ 1 "image.csys no_confirm" "Coordinate system (from)"
           		entityChooser rotateBlocksLcsTo "To CSYS" toLCS POINTORXYZ 1 "image.csys no_confirm" "Coordinate system (to)"
			exclusiveGroupItem END				
		exclusiveGroup END
  frame END
  exclusiveGroupItem END
  exclusiveGroup END

dataEntryDialog END

#-----------------------------------------------------------------------------------

dataEntryDialog editEdgeMenuDEZ "Edit Edge" 
    exclusiveGroup editEdgemain "Edit Edge(s)" "Method" 4 ICON
	exclusiveGroupItem editEdgeSplit "Split Edge" B_SplitEdge$icon_size2.gif
ifdef AI_ENV_BETAXXX
ifdef AI_ENV_HEXA_SKETCHING_MODE
            radioGroup moveBVertexSketchingConstraints "3D Movement Constraints" 3 xyz_constraints 0 NULL
                radioItem moveBVertexControlSketchingX "Fix X" 0
                radioItem moveBVertexControlSketchingY "Fix Y" 1
                radioItem moveBVertexControlSketchingZ "Fix Z" 2
                radioItem moveBVertexControlSketching "Free" 3
            radioGroup END
endif
endif
	    exclusiveGroup editEdgeSplitEdgeHow "Split Edge" "Method" 8 DROPDOWN
		exclusiveGroupItem edgeSplitSpline "Spline"
		    entityChooser editEdgeSplitEdge0 "Edge" edgeSplits HEX_EDGE 0 use_local_select
		exclusiveGroupItem END
		exclusiveGroupItem edgeSplitLinear "Linear"
		    entityChooser editEdgeSplitEdge1 "Edge" edgeSplits HEX_EDGE 0 use_local_select
		exclusiveGroupItem END
		exclusiveGroupItem edgeSplitCP "Control Point"
		    entityChooser editEdgeSplitEdge2 "Edge" edgeSplits HEX_EDGE 0 use_local_select
		exclusiveGroupItem END
		exclusiveGroupItem edgeSplitALinear "Automatic Linear"
		    entityChooser editEdgeSplitEdge3 "Edge" AutoedgeSplits HEX_EDGE ANY new_format "Select edges to split based on pre-mesh"
		    checkItem edgeSplitALinearAll "All Edges" auto_linear_all NULL	
		exclusiveGroupItem END
		exclusiveGroupItem edgeSplitASpline "Automatic Spline"
		    entityChooser editEdgeSplitEdge6 "Edge" AutoedgeSplits HEX_EDGE ANY new_format "Select edges to split based on curvature"
		    checkItem edgeSplitAsplineAll "All Edges" auto_linear_all NULL	
		exclusiveGroupItem END
		exclusiveGroupItem edgeSplitTan "Tangents"
		    entityChooser editEdgeSplitEdge4 "Edge" edges HEX_EDGE ANY new_format 
		    exclusiveGroup editEdgeSplitEdgeTan1 "Vertex1" "Method" 3 DROPDOWN
			    exclusiveGroupItem edgeSplitV1TanO "Orthogonal"
			        scaleBar edgeSplitV1TanOFactor "Factor" tan_factor1 0 1 .01 "aie_blocking_factor1" 0 160 1
			exclusiveGroupItem END	
			exclusiveGroupItem edgeSplitV1TanT "Enter Tangent"
			    scaleBar edgeSplitV1TanTFactor "Factor" tan_factor1 0 1 .01 "aie_blocking_factor1" 0 160 1
			    entityChooser edgeSplitV1TanTTanP "Tangency point" tan_point1 POINTORXYZ 1 xyz
			exclusiveGroupItem END
			exclusiveGroupItem edgeSplitV1TanN "None"
			exclusiveGroupItem END
		    exclusiveGroup END	
		    exclusiveGroup editEdgeSplitEdgeTan2 "Vertex2" "Method" 3 DROPDOWN
			exclusiveGroupItem edgeSplitV2TanO "Orthogonal"
			    scaleBar edgeSplitV2TanOFactor "Factor" tan_factor2 0 1 .01 "aie_blocking_factor2" 0 160 1
			exclusiveGroupItem END	
			exclusiveGroupItem edgeSplitV2TanT "Enter Tangent"
			    scaleBar edgeSplitV2TanTFactor "Factor" tan_factor2 0 1 .01 "aie_blocking_factor2" 0 160 1
			    entityChooser edgeSplitV2TanTTanP "Tangency point" tan_point2 POINTORXYZ 1 xyz
			exclusiveGroupItem END
			exclusiveGroupItem edgeSplitV2TanN "None"
			exclusiveGroupItem END
		    exclusiveGroup END	
		exclusiveGroupItem END
		exclusiveGroupItem edgeSplitAtVertex "All At Vertex (smooth)"
		    entityChooser editEdgeSplitEdge5 "Vertex" vertexSplits HEX_VERTEX ANY node_numbers 
		exclusiveGroupItem END
ifdef AI_ENV_BETA
		exclusiveGroupItem edgeSplitAllEdges "All Edges (smooth)"
		exclusiveGroupItem END
endif
	    exclusiveGroup END
	exclusiveGroupItem END #0

#	exclusiveGroupItem editEdgeSplit "Split Edge" B_SplitEdge$icon_size2.gif
#	    dropDownEntry editEdgeSplitEdgeHow "Split type" SplitList how FALSE
#	    entityChooser editEdgeSplitEdge "Edge" edgeSplits HEX_EDGE 0 use_local_select	
#checkItem editEdgeSplitEdgeHow   "Linear split" linear NULL
#	exclusiveGroupItem END #0

	exclusiveGroupItem editEdgeUnSplit "Unsplit Edge" B_UnSplitEdge$icon_size2.gif
	    exclusiveGroup edgeUnSplit "Remove Splits" "Method" 2 DROPDOWN
		exclusiveGroupItem edgeUnSplitAll "All"
		    entityChooser editEdgeUnSplitEdge "Edge(s)" edgeUnSplits HEX_EDGE ANY new_format "Select edges to remove split"
		exclusiveGroupItem END
		exclusiveGroupItem edgeUnSplitSingle "Single"
		    entityChooser editEdgeUnSplitVertex "Edge vertex" edgeUnSplits HEX_VERTEX 0 use_local_select "Select the edge vertex to remove split"		    
	        exclusiveGroupItem END
	    exclusiveGroup END	
	exclusiveGroupItem END #1

	exclusiveGroupItem editEdgeLink "Link Edge" B_LinkShape$icon_size2.gif
	   exclusiveGroup editEdgeLinkEG "Link Edge" "Method" 2 DROPDOWN
		exclusiveGroupItem editEdgeLinkSel "Selected" 
		    entityChooser editEdgeLinkSEdge "Source Edge" edgeSLink HEX_EDGE 1 new_format "Select source edges to link shape"
    		entityChooser editEdgeLinkTEdge "Target Edge(s)" edgeTLinks HEX_EDGE ANY new_format "Select target edges"
		    textEntry editEdgeLinkFactor1 "Factor" factor NUM
			greyGroup editEdgeLinkDirGG "Link direction"
			    greyGroupItem editEdgeLinkDirGI "Link direction"
				entityChooser editEdgeLinkDirPick "Vector" dir_vector HEX_VERTEX 2 node_numbers "Select 2 vertices for link direction"
			    greyGroupItem END
			greyGroup END
		exclusiveGroupItem END

		exclusiveGroupItem editEdgeLinkSel2 "Interactive" 
		    entityChooser editEdgeLinkSEdge2 "Source Edge" edgeSLink HEX_EDGE 1 new_format "Select source edges to link shape"
    		entityChooser editEdgeLinkTEdge2 "Target Edge(s)" edgeTLinks HEX_EDGE ANY new_format "Select target edges"
		    scaleBar editEdgeLinkFactorScale "Factor" factor 0.0 3.0 0.1 "aie_hex_scale_linkfactor" 0 160 1
			greyGroup editEdgeLinkDirGG2 "Link direction"
			    greyGroupItem editEdgeLinkDirGI2 "Link direction"
				entityChooser editEdgeLinkDirPick2 "Vector" dir_vector HEX_VERTEX 2 node_numbers "Select 2 vertices for link direction"
			    greyGroupItem END
			greyGroup END
		exclusiveGroupItem END

		exclusiveGroupItem linkEdgeDim  "In dimension" 
		    entityChooser linkEdgeDimPick "Link Edge Dimension" edgeLinkDim HEX_EDGE 1 NULL "Select edge for link dimension"
		    entityChooser linkEdgeSourceIndex "Source index" edgeLinkSrcIndex HEX_VERTEX 1 node_numbers "Select vertex for source index"
		    entityChooser linkEdgeTargetIndex "Target index" edgeLinkTargIndex HEX_VERTEX 1 node_numbers "Select vertex for target index"
    		textEntry  editEdgeLinkFactor2 "Factor" factor NUM
		    radioGroup linkEdgeDimRG "Edge Select" 2 link 0 DummyProc
			radioItem linkEdgeDimAll "All" "all"
			radioItem linkEdgeDimVis "Visible" "visible"
		    radioGroup END
		exclusiveGroupItem END
	    exclusiveGroup END
	exclusiveGroupItem END #2

	exclusiveGroupItem editEdgeUnlink "Unlink Edge" B_UnLinkShape$icon_size2.gif
	    frame editEdgeUnlinkFrame "Unlink Edge"
	    entityChooser editEdgeUnLinkEdge "Edge(s)" edgeUnLink HEX_EDGE ANY new_format "Select edges to unlink shape"
	    frame END
	exclusiveGroupItem END #3

	exclusiveGroupItem editEdgeOptions "Change Edge Split Type"  B_SplitEdgeChange$icon_size2.gif
	    frame editEdgeOptionsFrame "Edge Split Type"
	        exclusiveGroup editEdgeOptionsEdge "Change to" "Type" 3 DROPDOWN
			    exclusiveGroupItem editEdgeOptionsSpline "Spline"			        
			    exclusiveGroupItem END
			    exclusiveGroupItem editEdgeOptionsControl "Control Point"			        
			    exclusiveGroupItem END
			    exclusiveGroupItem editEdgeOptionsLinear "Linear"			        
			    exclusiveGroupItem END
			exclusiveGroup END
		entityChooser editEdgeOptionsEdgeSel "Edge(s)" edgesSplitType HEX_EDGE ANY new_format
#	    checkItem editEdgeOptionsEdgeDependent "Move Dependent" move_dependent NULL	
	    frame END
	exclusiveGroupItem END #3

    exclusiveGroup END
dataEntryDialog END

#-----------------------------------------------------------------------------------
#dataEntryDialog joinBEdgeDEZ "Join Edge"
#dataEntryDialog END

#dataEntryDialog linkBEdgeDEZ "Link Edge" 
#dataEntryDialog END

#----------------------------------------------------------------------------------

dataEntryDialog mParamsDEZ "Pre-Mesh Params"
    exclusiveGroup blockParam "Meshing Parameters" "Method" 5 ICON
	dialogSpace 1
	exclusiveGroupItem blockParamM "Update Sizes" B_BlockParams$icon_size2.gif
	    exclusiveGroup blockParamSel "Recalculate Sizes" "Method" 1 RADIO
		exclusiveGroupItem blockParamSelN "Update All"
		exclusiveGroupItem END
		exclusiveGroupItem blockParamSelL "Keep Distributions"
		exclusiveGroupItem END
		exclusiveGroupItem blockParamSelC "Keep Counts"
		exclusiveGroupItem END
		exclusiveGroupItem blockParamSelB "Curve->Edge bunching"
		exclusiveGroupItem END
	    exclusiveGroup END
	checkItem blockParamSelNCheck "Run Check/Fix Blocks" check_blck NULL
	exclusiveGroupItem END #0

	exclusiveGroupItem blockParamS "Scale Sizes" B_ScaleSizesGlobal$icon_size2.gif
	    frame blockParamSizeFr "Scale Sizes"
	        textEntry blockParamSize "Factor" factor NUM
            checkItem blockParamSizeScale "Scale Initial Spacings" scale_spacings NULL
	    frame END
	exclusiveGroupItem END #1

	exclusiveGroupItem edgeParamS "Edge Params" B_EdgeParams$icon_size2.gif
	    entityChooser editEdgeParamEdge "Edge" edge HEX_EDGE 1 "new_format selected_bunching" "Select edge to set params"
    	textEntry editEdgeParamLen "Length" length READONLY
	    integerEntry editEdgeParamNum "Nodes" n 2 10000 1
        exclusiveGroup eparamMeshLaw "Mesh law" "Select" 1 DROPDOWN eparamMeshLawVal "aie_hex_mesh_law_modified"
        exclusiveGroupItem eparamBiGeometric "BiGeometric" 
        exclusiveGroupItem END
        exclusiveGroupItem eparamBiexponential "Biexponential"
        exclusiveGroupItem END
        exclusiveGroupItem eparamCurvature "Curvature"
        exclusiveGroupItem END
        exclusiveGroupItem eparamExponential1 "Exponential1"
        exclusiveGroupItem END
        exclusiveGroupItem eparamExponential2 "Exponential2"
        exclusiveGroupItem END
        exclusiveGroupItem eparamFrom-Graphs "From-Graphs"
        exclusiveGroupItem END
        exclusiveGroupItem eparamFromEdgeSplits "FromEdgeSplits"
        exclusiveGroupItem END
        exclusiveGroupItem eparamFullCosinus "FullCosinus"
        exclusiveGroupItem END
        exclusiveGroupItem eparamGeometric1 "Geometric1"
        exclusiveGroupItem END
        exclusiveGroupItem eparamGeometric2 "Geometric2"
        exclusiveGroupItem END
        exclusiveGroupItem eparamHalfCosinus1 "HalfCosinus1"
        exclusiveGroupItem END
        exclusiveGroupItem eparamHalfCosinus2 "HalfCosinus2"
        exclusiveGroupItem END
        exclusiveGroupItem eparamHyperbolic "Hyperbolic"
        exclusiveGroupItem END
        exclusiveGroupItem eparamLinear "Linear"
        exclusiveGroupItem END
        exclusiveGroupItem eparamOn-Screen "On-Screen"
        exclusiveGroupItem END
        exclusiveGroupItem eparamPoisson "Poisson"
        exclusiveGroupItem END
        exclusiveGroupItem eparamReferenceMesh "ReferenceMesh"
            entityChooser eparamEdgeCurvePick "Curve(s)" curves HEX_COMPCURVE ANY
        exclusiveGroupItem END
        exclusiveGroupItem eparamSpline "Spline"
        exclusiveGroupItem END
        exclusiveGroupItem eparamUniform "Uniform"
        exclusiveGroupItem END
ifdef AI_ENV_BETA
        exclusiveGroupItem eparamUserDefined "UserDefined"
            entityChooser editEdgeParamLawPart "Part" law_part_name part_0d_1d_2d 1
        exclusiveGroupItem END
endif
        exclusiveGroup END
	    textEntry2 editEdgeParamSp1 "Spacing 1" h1 TEXT h1act READONLY
       	checkItem2 linkSp1 "Sp1 Linked" "Select" "Reverse" link_sp1 NULL "aie_hex_eparam_sellink h1" "aie_hex_eparam_revlink h1"
	    textEntry2 editEdgeParamR1 "Ratio 1" r1 NUM r1act READONLY
	    textEntry2 editEdgeParamSp2 "Spacing 2" h2 TEXT h2act READONLY
	    checkItem2 linkSp2 "Sp2 Linked" "Select" "Reverse" link_sp2 NULL "aie_hex_eparam_sellink h2" "aie_hex_eparam_revlink h2"
	    textEntry2 editEdgeParamR2 "Ratio 2" r2 NUM r2act READONLY
	    textEntry2 editEdgeParamL1 "Max Space" lmax NUM lmaxact READONLY
       	    checkItem eparamsSpRel "Spacing Relative" eparam_rel aie_hex_update_h1h2	
       	    checkItem lockEdgeNodes "Nodes Locked" lockNodes aie_hex_lock_edge_nodes
    	    checkItem lockMparams "Parameters Locked" lockParams NULL	
	    
	    greyGroup eparamCopyGG "Copy Parameters" copyFlag display_edge_bunching
		greyGroupItem eparamCopyGI "Copy Parameters"
		    exclusiveGroup eparamCopy "Copy" "Method" 6 DROPDOWN
			exclusiveGroupItem eparamCopy0 "To All Parallel Edges"
			exclusiveGroupItem END
			exclusiveGroupItem eparamCopy1 "To Visible Parallel Edges"
			exclusiveGroupItem END
			exclusiveGroupItem eparamCopy2 "To Selected Edges"
			    entityChooser eparamCopyPick2 "Edge(s)" copyEdge HEX_EDGE ANY \
				    "new_format selected_bunching" "Select edge(s) to copy params to"
			exclusiveGroupItem END
			exclusiveGroupItem eparamCopy3 "To Selected Edges Reversed."
				entityChooser eparamCopyPick3 "Edge(s)" copyEdge HEX_EDGE ANY \
				    "new_format selected_bunching" "Select edge(s) to copy params to"
			exclusiveGroupItem END
			exclusiveGroupItem eparamCopy4 "From Edge"
			    entityChooser eparamCopyPick4 "Edge(s)" copyEdge HEX_EDGE 1 \
				    "new_format selected_bunching" "Select edge to copy params from"
			exclusiveGroupItem END
			exclusiveGroupItem eparamCopy5 "From Edge Reversed"
			    entityChooser eparamCopyPick5 "Edge(s)" copyEdge HEX_EDGE 1 \
				    "new_format selected_bunching" "Select edge to copy params from"
			exclusiveGroupItem END
		    exclusiveGroup END
		    checkItem editEdgeParamAbs "Copy absolute" absolute NULL
		greyGroupItem END
	    greyGroup END

	    dialogSpace 1

	    greyGroup editEdgeLinkGG "Linked bunching" linkFlag
	      	greyGroupItem editEdgeLinkGI "Link options"
	    	    entityChooser editEdgeLinkPick "Reference Edge" linkEdge HEX_EDGE 1 \
			"new_format selected_bunching" "Select reference edge to link bunching"
		    textButton editEdgeLinkRev "Reverse link" aie_hex_reverse_link
		greyGroupItem END
	    greyGroup END

	    checkItem hlDependent "Highlight dependent edges" hlDependent "display_edge_bunching"
	    checkItem hlAttached "Highlight attached faces" hlAttached "display_edge_bunching"
	    checkItem hlMaster "Highlight master edges" hlMaster "display_edge_bunching"
	    textButton mParamsReverse "Reverse parameters" "aie_hex_reverse_params"
#	    textButton mParamsScreen "Screen position" "aie_hex_screen_params"
	    
	exclusiveGroupItem END #2

	exclusiveGroupItem edgeParamMatchEdge "Match Edges" B_MatchEdges$icon_size2.gif
		exclusiveGroup matchEdge "Match Edge spacing" "Method" 2 DROPDOWN
			exclusiveGroupItem matchEdgeSel "Selected" 
				entityChooser edgeParamRef "Reference Edge" ref_edge HEX_EDGE 1 "new_format selected_bunching" "select reference edge"
				entityChooser edgeParamTarget "Target Edge(s)" target_edges HEX_EDGE ANY "new_format selected_bunching" "select target edge(s)"
				checkItem edgeParamTargetLink "Link spacing" link_edge NULL
			exclusiveGroupItem END
			exclusiveGroupItem matchEdgeAuto "Automatic" 
				entityChooser matchEdgeAutoVerts "Vertices" verts HEX_VERTEX ANY node_numbers
				dropDownEntry matchEdgeAutoSpacing "Spacing" SpacingTypes spacing FALSE
				dialogSpace 1
				greyGroup matchEdgesDimGG "Match Edges Dimension"
				    greyGroupItem matchEdgesDimSel "Selected"
					entityChooser matchEdgeAutoRefEdges "Ref. Edges" refEdges HEX_EDGE ANY new_format
				    greyGroupItem END
				greyGroupItem matchEdgeDimAll "All"
				    greyGroupItem END
	     			greyGroup END
			exclusiveGroupItem END
		    exclusiveGroupItem edgeParamsCopyTo "Copy bunching"
		        entityChooser edgeParamRef2 "Reference Edge" ref_edge2 HEX_EDGE 1 "new_format selected_bunching" "select reference edge"
		        dialogSpace 1
		        exclusiveGroup edgeParamsCopyTo2 "Copy bunching to Edge(s)" "Method" 2 DROPDOWN
			        exclusiveGroupItem edgeParamsCopyToSel "Selected Edges" 
		                entityChooser edgeParamCopyToPick "Copy to Edge(s)" to_edge HEX_EDGE ANY "new_format selected_bunching" "select edge to copy to"
		                checkItem editEdgeCopyNodes "Exclude Number of Nodes" copy_no_nodes NULL
		            exclusiveGroupItem END
		            exclusiveGroupItem edgeParamsCopyToParallel "All Parallel Edges" 
		                checkItem editEdgeCopyAbs2 "Copy absolute" copy_absolute NULL
		            exclusiveGroupItem END
		        exclusiveGroup END
		    exclusiveGroupItem END
		exclusiveGroup END

	exclusiveGroupItem END #3

	exclusiveGroupItem edgeParamRefinement "Refinement" B_ScaleSizesBlocks$icon_size2.gif
	    entityChooser edgeParamRefinementBlks "Blocks" blocks HEX_BLOCK ANY
	    integerEntry editParamRefinementVal "Level" factor 1 100 1	
	    #dropDownEntry edgeParamRefinementMethod "Dimensions" matchList matchmethod False 
#all or one direction
	   greyGroup edgeRefDimGG "Refinement Dimension"
	      	greyGroupItem edgeRefDimAll "All"
	      	greyGroupItem END
	      	greyGroupItem edgeRefDimAllSel "Selected"
		    entityChooser edgeRefDimPick "Dimension" ref_dim HEX_EDGE 1 NULL \
			"select reference edge for dimension"
	      	greyGroupItem END
	    greyGroup END
	exclusiveGroupItem END #3
    exclusiveGroup END
dataEntryDialog END

#-----------------------------------------------------------------------------------

dataEntryDialog checkBlockDEZ "Check Blocks"
    exclusiveGroup blockCheck "Block Checks" "Method" 3 DROPDOWN
	exclusiveGroupItem checkBlockCF   "Run Check/Fix" 
	exclusiveGroupItem END #0
	exclusiveGroupItem invertInvertedBlock   "Fix Inverted Blocks" 
	exclusiveGroupItem END #1
	exclusiveGroupItem invertSelBlocks   "Invert Selected Blocks" 
	    entityChooser invertBlkPick "Blocks" Blocks HEX_BLOCK ANY
	exclusiveGroupItem END #2
	exclusiveGroupItem PackBlockNums   "Pack Block Numbers" 
	exclusiveGroupItem END #3
    exclusiveGroup END
dataEntryDialog END

#-----------------------------------------------------------------------------------
dataEntryDialog hexQualityDEZ "Pre-Mesh Quality"
    dropDownEntry hexQualityDDE "Criterion" qualityDDList qualitydde False
    textButton hexQualityMinButton "Min overview" "aie_hex_show_min_quality"
    dialogSpace 1
    frame hexQualityHistoOpts "Histogram Options"
	textEntry hexQualityHistoMinX "Min-X value" minv NUM 
	textEntry hexQualityHistoMaxX "Max-X value" maxv NUM 
	integerEntry hexQualityHistoMaxY "Max-Y height" ylim 0 50 1
	integerEntry hexQualityHistoNbars "Num. of bars" nbars 0 50 1
    frame END
    checkItem HEXQualityonlyVisibleChk "Only visible index range" onlyVisible NULL
    checkItem HEXQualityactivePartsChk "Active parts only" activePartsOnly NULL
dataEntryDialog END

#-----------------------------------------------------------------------------------
dataEntryDialog hexSmoothDEZ "Pre-Mesh Smooth"

#--------------------------------- Quality --------------------------
    exclusiveGroup smoothPremesh "Smooth Method" "Method" 2 DROPDOWN
	exclusiveGroupItem smoothPremeshbyQuality   "Quality" 
	    integerEntry HEXqualityEB "Smoothing iterations" iters 1 500 1
	    textEntry HEXitersEB "Up to quality" quality NUM 
	    dropDownEntry HEXchooseQualityDDE "Criterion" qualityDDList qualitydde False
	    dialogSpace 1
	    frame HEXadvancedOptions "Advanced Options"
		checkItem HEXonlyVisibleChk "Only visible index range" onlyVisible NULL
		checkItem HEXactivePartsChk "Active parts only" activePartsOnly NULL
		checkItem HEXadvLaplacChk "Laplace smoothing" laplaceFlag NULL
#		checkItem HEXallElChk "All elements" AllElFlag NULL
#		greyGroup HEXviolateGG "Violate geometry"
#		    greyGroupItem HEXviolateTolG "Violate geometry"
#			textEntry HEXviolateTol "Tolerance" violateTol NUM
#		    greyGroupItem END
#		greyGroup END 
	    frame END
	exclusiveGroupItem END

#--------------------------------- Orthogonality --------------------------

	exclusiveGroupItem HEXsmoothPremeshbyOrthogonality "Orthogonality" 
	    frame HEXiterationsSOE "Number of iterations"
		integerEntry HEXiterationsSurf "On surface" itersSurf 10 500 1
		integerEntry HEXiterationsVol "On volume" itersVol 0 500 1
	    frame END
	    dialogSpace 1
	    multiSelect HEXsmoothTypeSOEMS "Smooth Type" EXCLUSIVE
		multiSelectRows
		    "Faces"
		    "Volume"
		multiSelectRows END
		multiSelectColumns
		    "Orthogonality"
		    "Laplace"
		multiSelectColumns END
	    multiSelect END    
	    dialogSpace 1
            exclusiveGroup HEXfreezeOptionsCriterion "Freeze Options" "Criterion" 1 RADIO freezeCriterion
	        exclusiveGroupItem HEXfreezeOptionsBoundary "All Surface Boundaries"
	            integerEntry HEXnumLayersFreezeSOE "Number of layers" numLayersFix 0 100000 1
	        exclusiveGroupItem END
	        exclusiveGroupItem HEXfreezeOptionsParts "Selected Parts"
	            entityChooser HEXfreezeLayersSOESel "Select part(s)" partFixList PART ANY
	            textButton HEXfreezeLayersPartSOE "Selected part(s) Options" "onsmoothHEXSetSelectedParts fix_layers {} 1" 
	            textEntry HEXfreezeLayersSOESelset " " fix_layers_settings INVISIBLE
	        exclusiveGroupItem END
            exclusiveGroup END
	    dialogSpace 1
	    frame HEXfirstLayerOptionsSOE "Release Orthogonality / Initial Height Options"
		entityChooser HEXfirstLayerSOESel "Select parts(s)" partFirstList PART ANY
		textButton HEXfirstLayersPartSOE "Selected part(s) Options" "onsmoothHEXSetSelectedParts layer_distance {} 1"
		textEntry HEXfirstLayerSOESelSet " " layer_distance_settings INVISIBLE
	    frame END
	    dialogSpace 1
            frame HEXedgesRebunch2SOE "Smooth along curves"
                radioGroup HEXedgesRebunchSelect2SOE "Select" 1 rebunchEdges 0 aie_hex_rebunch_edge_active
                    radioItem HEXedgesRebunchNone2SOE "None" 0
                    radioItem HEXedgesRebunchAll2SOE "Smooth all curves" 1
                    radioItem HEXedgesRebunchSel2SOE "Smooth selected curves" 2
                radioGroup END  
                entityChooser HEXselectEdges2SOE "Curve(s)" edgesRebunchList HEX_EDGE ANY new_format "Select edge(s) for rebunch" READONLY
	    frame END
	    dialogSpace 1 
	    frame HEXAdvancedEll "Advanced Options"
	            frame HEXexpansionSOE "Grid expansion"
	                integerEntry HEXexpansionSurfSOE "On surface" expansionSurf 1 500 1
	                integerEntry HEXexpansionVolSOE "On volume" expansionVol 1 500 1
	            frame END
	            dialogSpace 1
	            frame HEXtreatUnstructSOE "Treat unstruct nodes"
		        radioGroup HEXtreatUnstructSelSOE "Select" 1 treatUnstruct 0 aie_hex_treat_unstruct_active
		            radioItem HEXtreatUnstructSelBisSOE "Bisector" 0
		            radioItem HEXtreatUnstructSelLaplSOE "Laplace" 1
		            radioItem HEXtreatUnstructSelModLaplSOE "Modified Laplace" 2
		        radioGroup END
	            frame END
	            dialogSpace 1
                frame HEXstabilizationSOE "Stabilization Factor"
                    integerEntry HEXstabilizationSurfSOE "Surface" stabilizeSurf 0 500 0.1
                    integerEntry HEXstabilizationVolSOE "Volume" stabilizeVol 0 500 0.1
                frame END
                dialogSpace 1
                frame HEXuseorthoDistanceSOE "Use Orthogonal Distance"
                    checkItem HEXuseorthoDistSurfSOE "Surface" useorthoDistSurf NULL
                    checkItem HEXuseorthoDistVolSOE "Volume" useorthoDistVol NULL
                frame END
                dialogSpace 1
	            frame HEXedgesOptionsSOE "Define Edges On Part Border Options"
		        entityChooser HEXedgesBorderSOESel "Select parts(s)" partBorderList PART ANY
	            frame END
	            dialogSpace 1
	            checkItem HEXSfitChkSOE "Surface Fitting" SrfFitFlag NULL
	            checkItem HEXKpGSOE "Keep periodic geometry" KperGeomFlag NULL
	            checkItem HEXKactivePartsOnly "Active parts only" activePartsOnly NULL
        frame END
	exclusiveGroupItem END 


#--------------------------------- Multiblock --------------------------

	exclusiveGroupItem HEXsmoothPremeshbyMultiblock "Multiblock" 
            frame smoothBlockframe "Relaxation Block(s)"
                entityAddRemover smoothRelaxBlockPick "Select Block(s)" RelaxBlocks HEX_BLOCK ANY NULL "Select blocks for Relaxation" READONLY
                checkItem smoothRelaxBlockDisplay "Block Display Off" display_blocks_off "aie_hex_multiblock_display_blocks"
            frame END
            dialogSpace 1
            exclusiveGroup HEXsmoothDir "Smoothing Direction" "Choose Option" 2 DROPDOWN
                exclusiveGroupItem HEXsmoothDir3d "3D Direction"
                exclusiveGroupItem END
                exclusiveGroupItem HEXsmoothDirSel "Select direction"
                entityChooser smoothEdgeDirPick "Reference Edge" refEdge HEX_EDGE 1 new_format "Select reference edge for smooth direction" READONLY
                textEntry smoothEdgeDirDisplay "Smoothing Direction" refEdgeDir READONLY
                textButton smoothAutoSetupIJK "Auto Setup" "aie_hex_run_auto_setup"
                exclusiveGroupItem END
            exclusiveGroup END
            dialogSpace 1
            frame smoothLayerframe "Layer Options"
                integerEntry HEXstartIndex "Start Layer" startIndex -1 1000 1
                integerEntry HEXendIndex "End Layer" endIndex -1 1000 1
                integerEntry HEXincr "Increment" incrIndex -1 1000 1
                integerEntry HEXiterIndex "Volume iterations" iterIndex 0 1000 1
                textEntry HEXsmoothPlanesNums "Planes" planeNums NUM
            frame END
            dialogSpace 1
            exclusiveGroup smoothFaceOptions "Face Options" "Choose Option" 2 DROPDOWN              
                exclusiveGroupItem smoothNonRelaxFace "Non-Relaxation"
                    entityAddRemover smoothNonRelaxFacePick "Select Face(s)" NonRelaxFaces HEX_FACE ANY super_face "Select Non-Relaxation faces" READONLY
                    checkItem smoothFacesDisplay1 "Face Display Off" display_faces_off "aie_hex_multiblock_display_faces"
                    checkItem smoothFacesDisplayIcon "Face Icons" display_faces_icons "aie_hex_multiblock_display_faces"
                    radioGroup HEXsmoothFilterNonRelax "Face Filters" 1 smoothFilterNonRelax 0 onsmoothNonRelaxFacePickFilter
	                radioItem HEXsmoothFilterNonRelaxAll "Use All Selected Faces" "0"
	                radioItem HEXsmoothFilterNonRelaxBlock "Use Only Block Interfaces" "1"
	                radioItem HEXsmoothFilterNonRelaxBound "Use Only Boundaries" "2"
	                checkItem HEXNonRelaxPeriodic "Remove periodic faces" NonRelaxRemove NULL
#	                checkItem HEXNonRelaxActiveBlocks "Use only faces from selected blocks" NonRelaxSelBlocks NULL
                    radioGroup END
                exclusiveGroupItem END
                exclusiveGroupItem smoothHoldCellHeightFace "Hold Cell Height"
                    entityAddRemover smoothHoldCellHeightFacePick "Select Face(s)" HoldCellHeightFaces HEX_FACE ANY super_face "Select Hold Cell Height faces" READONLY
                    checkItem smoothFacesDisplay2 "Face Display Off" display_faces_off "aie_hex_multiblock_display_faces"
                    radioGroup HEXsmoothFilterHoldCellHeight "Face Filters" 1 smoothFilterHoldCellHeight 0 onsmoothHoldCellHeightFacePickFilter
	                radioItem HEXsmoothFilterHoldCellHeightAll "Use All Selected Faces" "0"
	                radioItem HEXsmoothFilterHoldCellHeightBlock "Use Only Block Interfaces" "1"
	                radioItem HEXsmoothFilterHoldCellHeightBound "Use Only Boundaries" "2"
	                checkItem HEXHoldCellHeightPeriodic "Remove periodic faces" HoldCellHeightRemove NULL
#                        checkItem HEXHoldCellHeightActiveBlocks "Use only faces from selected blocks" HoldCellHeightSelBlocks NULL
                    radioGroup END
                exclusiveGroupItem END
            exclusiveGroup END
            dialogSpace 1
            exclusiveGroup smoothVertexEntities "Vertices Options" "Choose Option" 2 DROPDOWN
            exclusiveGroupItem HEXsmoothGlobal "Global Vertices"
                entityAddRemover smoothGlobalVertPick "Select Global Vert(s)" GlobalVertices HEX_VERTEX ANY node_numbers "Select Global vertices" READONLY
                checkItem smoothVertDisplay1 "Vertices Display Off" display_vertices_off "aie_hex_multiblock_display_nodes"
            exclusiveGroupItem END
            exclusiveGroupItem HEXsmoothLayer "Layer Vertices"
                entityAddRemover smoothLayerVertPick  "Select Layer Vert(s) " LayerVertices HEX_VERTEX ANY node_numbers "Select Layer vertices" READONLY
                checkItem smoothVertDisplay2 "Vertices Display Off" display_vertices_off "aie_hex_multiblock_display_nodes"
                textButton smoothLayerVertDist "First Layer Distance" "aie_hex_set_first_layer_distance"
            exclusiveGroupItem END
            exclusiveGroup END  
#            dialogSpace 1
            textButton smoothResetSelections "Clear all selections" "aie_hex_clear_all_selections"
            exclusiveGroup smoothAdvanced "Advanced Options" "Choose Option" 2 DROPDOWN
            exclusiveGroupItem HEXsmoothAdvancediterations "Number of Iterations/Steps"
            frame HEXnumberofiterations "Number of Iterations/Steps"
		integerEntry HEXiterationsEdge "Iterations in equation solver" itersEdges 1 1000 1
		integerEntry HEXiterationsVertex "Steps in global edge smoothing" itersVertices 1 1000 1
	    frame END
	    exclusiveGroupItem END
            exclusiveGroupItem HEXsmoothAdvancedparameters "Parameters"
	    frame HEXparameters "Parameters"
	        integerEntry HEXparameterPrjLim "Projection limit" parameterPrjLim 0 1000 0.1
	        integerEntry HEXparameterRelFac "Relaxation factor" parameterRelFac 0 1000 0.1
	        integerEntry HEXparameterResFac "Residual factor" parameterResFac 0 1000 0.01
	        checkItem HEXparameterFaceFit "Surface fitting" parameterFaceFit NULL
	        checkItem HEXparameterUseProj "Use projection" parameterUseProj NULL
                checkItem HEXparameterUseOrt "Use orthogonal positioning" parameterUseOrt NULL
                checkItem HEXparameterUseFra "Use fractional positioning" parameterUseFra NULL
	    frame END
	    exclusiveGroupItem END
            exclusiveGroupItem HEXsmoothAdvancedmethods "Methods"            
            frame HEXmethods "Methods"
                dropDownEntry volumeMethod "Volume Method" VolumeList volume_method FALSE
                dropDownEntry faceMethod "Face Method" FaceList face_method FALSE
            frame END
            exclusiveGroupItem END
	    exclusiveGroupItem HEXsmoothAdvancedexpansion "Grid expansion rate"
	    frame HEXgridexpansionrate "Grid expansion rate"
	        integerEntry HEXgridexpansionFace "On Face" gridexpansionFace 0 1000 0.1
	        integerEntry HEXgridexpansionVol "On Volume" gridexpansionVol 0 1000 0.1
	    frame END
	    exclusiveGroupItem END
            exclusiveGroupItem HEXsmoothAdvancediterpost "Post smoothing iterations"
                frame HEXiterpost "Post smoothing iterations"
                    integerEntry HEXniterpost "Number of iterations" niterPost 0 500 1
                    integerEntry HEXliterpost "limit" limitPost 0 1 0.05
                frame END
            exclusiveGroupItem END
	    exclusiveGroupItem HEXsmoothAdvancedsettings "Multiblock Settings"
	        exclusiveGroup HEXsmoothMBS "Multiblock Settings" "Choose Option" 2 DROPDOWN
	        exclusiveGroupItem HEXsmoothMBSLoad "Load Settings"
	            fileChooser HEXsmoothMBSLoadFile "Load file" mbs_setting_load FALSE "All Files, *"
	            textButton HEXsmoothMBSLoadFileButton "Load" "aie_hex_load_multiblock_settings"
	        exclusiveGroupItem END
	        exclusiveGroupItem HEXsmoothMBSSave "Save Settings"
	            fileChooser HEXsmoothMBSSaveFile "Save file" mbs_setting_save TRUE "All Files, *"
	            textButton HEXsmoothMBSSaveFileButton "Save" "aie_hex_save_multiblock_settings"
	        exclusiveGroupItem END
	        exclusiveGroupItem HEXsmoothMBSRun "Run in sequence"
	            fileChooser HEXsmoothMBSRun1 "Sequence file 1" mbs_setting_seq_1 FALSE "All Files, *"
	            fileChooser HEXsmoothMBSRun2 "Sequence file 2" mbs_setting_seq_2 FALSE "All Files, *"
	            fileChooser HEXsmoothMBSRun3 "Sequence file 3" mbs_setting_seq_3 FALSE "All Files, *"
	            fileChooser HEXsmoothMBSRun4 "Sequence file 4" mbs_setting_seq_4 FALSE "All Files, *"
	            fileChooser HEXsmoothMBSRun5 "Sequence file 5" mbs_setting_seq_5 FALSE "All Files, *"
	            textButton HEXsmoothMBSStartRun "Start sequence" "aie_hex_run_multiblock_settings"
	        exclusiveGroupItem END
                exclusiveGroupItem HEXsmoothMBSConvert "Convert old settings"
                    fileChooser HEXsmoothMBSConvertFile1 "Convert file" mbs_setting_old FALSE "All Files, *"
                    fileChooser HEXsmoothMBSConvertFile2 "Save as file" mbs_setting_new TRUE "All Files, *"
                    textButton HEXsmoothMBSConvertFile "Convert" "aie_hex_convert_multiblock_settings"
                exclusiveGroupItem END
	        exclusiveGroup END
	    exclusiveGroupItem END
	    exclusiveGroup END
	exclusiveGroupItem END
    exclusiveGroup END
dataEntryDialog END

#-----------------------------------------------------------------------------------

dataEntryDialog deleteBlockDEZ "Delete Block"
ifndef AI_ENV_BETA
		entityChooser deleteBlkPick "Blocks" delBlocks HEX_BLOCK ANY
    checkItem deletePerm "Delete permanently" ::vid_options(DelBlkPerFlag) NULL
endif
ifdef AI_ENV_BETA
    exclusiveGroup deleteBlockEG "Delete" "Method" 3 DROPDOWN
        exclusiveGroupItem deleteBlockGI1 "Blocks" 
            entityChooser deleteBlkPick "Blocks" delBlocks HEX_BLOCK ANY
            checkItem deletePerm "Delete permanently" ::vid_options(DelBlkPerFlag) NULL 
	    exclusiveGroupItem END 
        #exclusiveGroupItem deleteBlockGI2 "Edges" 
        #entityChooser deleteEdgPick "Edges" delEdges HEX_EDGE ANY new_format "Select Edges to delete"
	    #exclusiveGroupItem END 
        exclusiveGroupItem deleteBlockGI3 "Vertices" 
        entityChooser deleteVrtPick "Vertices" delVertices HEX_VERTEX ANY node_numbers "Select the vertices to delete"
	    exclusiveGroupItem END 
    exclusiveGroup END
endif
dataEntryDialog END

#-----------------------------------------------------------------------------------

dataEntryDialog changeBlockPartDEZ "Change Block Part"
    entityChooser changeBlocksPick "Blocks" changeBlocksList HEX_BLOCK ANY NULL "Select the block(s) to change part"
    dropDownEntry partName "Part" PartList part_name FALSE
dataEntryDialog END

dataEntryDialog hexMeshOptsDEZ "Hexa Meshing Options"
    frame HEXmultigridlevel "Multigrid level"
        integerEntry hexMeshOptsMG "Set multigrid level" mgLevel 0 1000 1
        checkItem hexMeshOptsMGDisplay "Check multigrid level" displayLevel "aie_hex_check_multigrid_level"
    frame END
    textEntry hexMeshOptsProjLim "Projection limit" projLimit NUM
    dropDownEntry hexMeshOptsMLaw "Default meshing law" lawList meshLaw FALSE
    textEntry hexMeshOptsRatio "Default bunching ratio" ratio NUM
    textEntry hexMeshFindWorst "Find worst blocks (range)" find_worst TEXT
    checkItem hexMeshOptsOgrid "Ogrid smooth transition" smoothOgrid NULL
    checkItem hexMeshOptsFG "Floating grid" floatGrid NULL
    checkItem hexMeshOptsProj "Project to bsplines" proj NULL
    checkItem hexMeshOptsCheckBlck "Check/fix blocks" check_blck NULL
    checkItem hexMeshOptsCheckInv "Check/fix inverted blocks" check_inv NULL
    checkItem hexMeshOptsHexa7Pyra "Write 7-node-hexas as pyramids" wr_hexa7 NULL
    checkItem hexMeshOptsProjToTopo "Project to topo" project_to_topo NULL
    checkItem hexMeshOptsVerbose "Verbose mode" hexa_verbose_mode NULL
    checkItem hexMeshOptsUpdate "Update options from current blocking" hexa_update_mode NULL
ifdef AI_ENV_BETA
    checkItem hexMeshOptsSketching "Blocking without geometry mode" hexa_sketching_mode NULL
endif
    dialogSpace 1
    radioGroup hexMeshOptsTRF "Transfinite degree" 2 trfDeg 0 DummyProc
	    radioItem hexMeshTRFLinear "Linear" "1"
	    radioItem hexMeshTRFQuad "Quadratic" "2"
    radioGroup END
    dialogSpace 1
    textEntry hexMeshOptsRef "Reference topology" refTopo TEXT
    dropDownEntry hexMeshOptsUns "Free face mesh type" unsTypeList unsType FALSE
    dropDownEntry hexMeshOptsMet "Free face mesh method" unsMethodList unsMethod FALSE
    dropDownEntry hexMeshOptsDim "What to mesh" hexEntTypes what_to_mesh FALSE
    integerEntry hexMeshOptsTetSmooth "Number of tetra smoothing steps" nTetSmooth 20 1000 1
    textButton hexMeshOptsRestore "Restore hexa defaults" "aie_hex_opts_restore_defaults"
   
ifdef QUAD_DEBUG
    integerEntry hexMeshOptsDebug "Quad debug level" quad_debug -1 5 1
endif
dataEntryDialog END


#----------------------- Str mesh edit stuff --------------------------
dataEntryDialog reorientStrMeshDEZ "Reorient domains"
	multiSelect setStrMeshIJKMS "Set IJK" EXCLUSIVE
	    multiSelectRows
		"Set I"
		"Set J"
		"Set K"
	    multiSelectRows END
	    multiSelectColumns
		"I"
		"J"
		"K"
	    multiSelectColumns END
	multiSelect END
	checkItem flipI "Flip I" flipI NULL
	checkItem flipJ "Flip J" flipJ NULL
	checkItem flipK "Flip K" flipK NULL
	
	dialogSpace 1
	entityChooser editStrMeshIJKPick "Domain(s)" domains STR_DOMAIN ANY 
dataEntryDialog END

#---------------------------------------------------------------------------------------------------
dataEntryDialog moveStrNodesDEZ "Move Nodes" 
  exclusiveGroup moveStrNodesGG "Move Nodes" "Method" 2 ICON
     exclusiveGroupItem moveStrNodesInter "Interactive" E_MoveNode$icon_size2.gif
	 entityChooser moveStrNodesDynamic "Select Node" nodeList STR_NODE 0 take_first_press
	 checkItem moveStrNodeWP "Project to geometry" project_geom NULL
    exclusiveGroupItem END

    exclusiveGroupItem moveStrNodesExact "Exact" E_MoveNodeXYZ$icon_size2.gif
       frame moveStrNodesExactFR "Exact"
       exclusiveGroup moveStrNodesExactRG "Set location" "Method" 2 RADIO
	    exclusiveGroupItem moveStrNodesExactOff "Offset"
		greyGroup moveStrNodesExactOffX "Modify"
		    greyGroupItem moveStrNodesExactOffXControl " "
			textEntry moveStrNodesExactOffXControlVal "X offset" x NUM
		    greyGroupItem END
		greyGroup END
		greyGroup moveStrNodesExactOffY "Modify"
		    greyGroupItem moveStrNodesExactOffYControl " "
			textEntry moveStrNodesExactOffYControlVal "Y offset" y NUM
		    greyGroupItem END
		greyGroup END
		greyGroup moveStrNodesExactOffZ "Modify"
		    greyGroupItem moveStrNodesExactOffZControl " "
			textEntry moveStrNodesExactOffZControlVal "Z offset" z NUM
		    greyGroupItem END
		greyGroup END
	    exclusiveGroupItem END  
	    exclusiveGroupItem moveStrNodesExactPos "Position"
		entityChooser moveStrNodesRefLoc "Ref. location" ref_point POINTORXYZ 1
		greyGroup moveStrNodesExactPosX "Modify"
		    greyGroupItem moveStrNodesExactPosXControl " "
			textEntry moveStrNodesExactPosXControlVal "X value" xpos NUM
		    greyGroupItem END
		greyGroup END
		greyGroup moveStrNodesExactPosY "Modify"
		    greyGroupItem moveStrNodesExactPosYControl " "
			textEntry moveStrNodesExactPosYControlVal "Y value" ypos NUM
		    greyGroupItem END
		greyGroup END
		greyGroup moveStrNodesExactPosZ "Modify"
		    greyGroupItem moveStrNodesExactPosZControl " "
			textEntry moveStrNodesExactPosZControlVal "Z value" zpos NUM
		    greyGroupItem END
		greyGroup END
	    exclusiveGroupItem END
	exclusiveGroup END

	entityChooser moveStrFacesEx "Select SubFaces" faceList STR_SUBFACE ANY
#	entityChooser moveStrNodesEx "Select Nodes" nodeList STR_NODE ANY
      frame END
    exclusiveGroupItem END
  exclusiveGroup END
dataEntryDialog END

dataEntryDialog transformStrMeshDEZ "Struct Domain Transformation"
    entityChooser transfmoveDomsPick "Select Domains" domList STR_DOMAIN ANY

    dialogSpace 1

    exclusiveGroup transformDomsEG "Translate/Rotate/Mirror/Scale" "Method" 4 ICON
    dialogSpace 1    
    
    	exclusiveGroupItem transMoveDomsEGI "Translate Domain" E_Translate$icon_size2.gif
	    greyGroup  moveDomsCopyGG "Copy"
		greyGroupItem numDomCopiesGI "Copy"
		    integerEntry numDomCopies "Number of copies" numCopies 1 100 1
		greyGroupItem END
	    greyGroup  END 
    	    dialogSpace 1    
  		
  		exclusiveGroup translateDomsEG "Translation" "Method" 1 RADIO
    		    exclusiveGroupItem moveDomsEGOff "Explicit"
      	    	     	textEntry moveDomsX "X offset" x NUM 
			textEntry moveDomsY "Y offset" y NUM 
			textEntry moveDomsZ "Z offset" z NUM 
    		    exclusiveGroupItem END

    	    	    exclusiveGroupItem transfmoveDomsEG2P "Vector"
      		    	dialogSpace 1
        	    	entityChooser transfmoveDoms2PPick "2 points" pointList2  POINT ANY
      		    exclusiveGroupItem END
  	exclusiveGroup END
  	
  	dialogSpace 1

    exclusiveGroupItem END # end of Move

#----------------
   
   exclusiveGroupItem transRotateDomsEGI "Rotate Domain" E_Rotate$icon_size2.gif
    	    greyGroup  moveDomsCopyGG2 "Copy"
		greyGroupItem numDomCopiesGI2 "Copy"
		    integerEntry numDomCopies2 "Number of copies" numCopies 1 100 1
		greyGroupItem END
	    greyGroup  END 
    	    dialogSpace 1    

           exclusiveGroup DomRotateAxisOptionEG "Rotation " "Axis" 2 RADIO
           	exclusiveGroupItem DomRotateAxisOptionX "X"
           	exclusiveGroupItem END
           	
           	exclusiveGroupItem DomRotateAxisOptionY "Y"
           	exclusiveGroupItem END
           	
           	exclusiveGroupItem DomRotateAxisOptionZ "Z"
           	exclusiveGroupItem END
           	
           	exclusiveGroupItem DomRotateAxisOptionV "Vector"
           		entityChooser DomRotateAxis2PPick "2 points" axisElemList  POINT ANY
           	exclusiveGroupItem END
           exclusiveGroup END
        
        dialogSpace 1
          
      	textEntry DomRotateAngle "Angle" rot_angle NUM
      	dialogSpace 1	
      		exclusiveGroup RotateDomCenterEG "Center of Rotation" "Center Point" 1 DROPDOWN
			exclusiveGroupItem rotatefDomOrigin "Origin"
			exclusiveGroupItem END
		
			exclusiveGroupItem rotateDomCentroid "Centroid"
			exclusiveGroupItem END
		
			exclusiveGroupItem rotateDommUsrPoint "Selected"
			    entityChooser rotatDomCenterPnt "Point" rotateCenterPnt POINT 1
			exclusiveGroupItem END
	 
		exclusiveGroup END
      	
   exclusiveGroupItem END # end of Rotation
   
#--------------------------Mirror Geometry-------------
   exclusiveGroupItem transMirrorDomEGI "Mirror Domain" E_Mirror$icon_size2.gif
    checkItem   moveDomCopyCheck1 "Copy"  moveElemesCopyGGVal NULL
      dialogSpace 1
    exclusiveGroup DomMirrorAxisOptionEG "Reflection " "Plane Axis (Normal)" 2 RADIO
    	exclusiveGroupItem DomMirrorAxisOptionX "X"
    	exclusiveGroupItem END
                 	
    	exclusiveGroupItem DomMirrorAxisOptionY "Y"
    	exclusiveGroupItem END
                 	
    	exclusiveGroupItem DomMirrorAxisOptionZ "Z"
    	exclusiveGroupItem END
                 	
      	exclusiveGroupItem DomMirrorAxisOptionV "Vector"
         	entityChooser DomMirrorAxis2PPick "2 points" normPointList  POINT ANY
      	exclusiveGroupItem END

       greyGroup  flipIndexGG "Flip Index"
	 greyGroupItem flipIndexGI "Flip"
	    radioGroup flipIndexRG "Index" 2 flipIndex 0 DummyProc
		radioItem flipIndexI "I" 0
		radioItem flipIndexJ "J" 1
		radioItem flipIndexK "K" 2
	    radioGroup END
	  greyGroupItem END
       greyGroup END
   exclusiveGroup END
   
   dialogSpace 1	
         	exclusiveGroup ReflectDomCenterEG "Point of Reflection" "About Point" 1 DROPDOWN
   			exclusiveGroupItem reflectDomOrigin "Origin"
   			exclusiveGroupItem END
   		
   			exclusiveGroupItem reflectDomCentroid "Centroid"
   			exclusiveGroupItem END
   	
   			exclusiveGroupItem reflectDomUsrPoint "Selected"
   		    		entityChooser reflectDomCenterPnt "Point" reflectCenterPnt POINT 1
   			exclusiveGroupItem END
   	 
		exclusiveGroup END
   
   exclusiveGroupItem END #end of Reflection
   
#--------------------------Scale Domain-----------------------------------------   
   exclusiveGroupItem transScaleDomEGI "Scale Domain" E_Scale$icon_size2.gif
	checkItem   moveDomCopyCheck2 "Copy"  moveElemesCopyGGVal NULL
    	dialogSpace 1    
      	frame transScaleDomEGIFrame "Scale Domain"
   
   			textEntry scaleDomX "X factor" xF NUM 
            	     	textEntry scaleDomY "Y factor" yF NUM 
         	     	textEntry scaleDomZ "Z factor" zF NUM 
  	#-----------------Choose Center of Transformation--------------------------
	dialogSpace 1
	exclusiveGroup ScaleDomCentEG "Center of Transformation" "Center Point" 1 DROPDOWN
		exclusiveGroupItem transfDomOrigin "Origin"
		exclusiveGroupItem END
	
		exclusiveGroupItem transfDomCentroid "Centroid"
		exclusiveGroupItem END
	
		exclusiveGroupItem transfDomUsrPoint "Selected"
		    entityChooser DomTransCenterPnt "Point" scaleCenterPnt POINT 1
		exclusiveGroupItem END
 
	exclusiveGroup END
        frame END
   exclusiveGroupItem END #end of Scale
exclusiveGroup END

dataEntryDialog END

dataEntryDialog splitStrMeshDEZ "Split Mesh"
    frame splitStrMeshSubfaceF "Split Subfaces"
        entityChooser splitStrMeshSubfaceSel "By Selection" subfaceList STR_SUBFACE ANY
        entityChooser splitStrMeshSubfacePart "By Part(s)" partList PART ANY
    frame END
dataEntryDialog END


dataEntryDialog hexcutPlaneDEZ "Cut Plane Pre-Mesh"
  exclusiveGroup hexcutPlaneM NULL "Method" 1 DROPDOWN cutPlaneMethod
     exclusiveGroupItem hexcutPlanePn "by Point and Normal"
        textEntry hexcutPlanePnPt Pt ::cut_info(xyz) NUM
        textEntry hexcutPlanePnNx NX ::cut_info(nx) NUM
        textEntry hexcutPlanePnNy NY ::cut_info(ny) NUM
        textEntry hexcutPlanePnNz NZ ::cut_info(nz) NUM
     exclusiveGroupItem END
     exclusiveGroupItem hexcutPlaneCf "by Coefficients"
        textEntry hexcutPlaneCfA Ax ::cut_info(a) NUM
        textEntry hexcutPlaneCfB By ::cut_info(b) NUM
        textEntry hexcutPlaneCfC Cz ::cut_info(c) NUM
        textEntry hexcutPlaneCfD D  ::cut_info(d) NUM
     exclusiveGroupItem END
     exclusiveGroupItem hexcutPlaneCp "by Corner Points"
        textEntry hexcutPlaneCp1 Pt1 ::cut_info(pt1) NUM
        textEntry hexcutPlaneCp2 Pt2 ::cut_info(pt2) NUM
        textEntry hexcutPlaneCp3 Pt3 ::cut_info(pt3) NUM
     exclusiveGroupItem END
     exclusiveGroupItem hexcutPlane3P "by 3 Points"
        textLabel hexcutPlane3Pt "Specify three points by clicking on surfaces on the screen"
     exclusiveGroupItem END
     exclusiveGroupItem hexcutPlaneIT "Move or Rotate"
        textLabel hexcutPlaneITt "Move with left button down. Rotate with middle button down. Escape with right click"
     exclusiveGroupItem END
     exclusiveGroupItem hexcutPlaneSX "Middle X Plane"
        textLabel hexcutPlaneSXt "Set to the plane normal to X in the middle of volume"
     exclusiveGroupItem END
     exclusiveGroupItem hexcutPlaneSY "Middle Y Plane"
        textLabel hexcutPlaneSYt "Set to the plane normal to Y in the middle of volume"
     exclusiveGroupItem END
     exclusiveGroupItem hexcutPlaneSZ "Middle Z Plane"
        textLabel hexcutPlaneSZt "Set to the plane normal to Z in the middle of volume"
     exclusiveGroupItem END
  exclusiveGroup END
  scaleBar hexcutPlaneScale "Fraction Value:" ::dynamic_info(an_val) 0 1 0.001 "aie_update_cutplane_scan" 0 160
    checkItem hexcutPlaneSolid "Solid mode" ::cut_info(solid) "aie_cutplane_set active {}"
    checkItem hexcutPlaneShrink "Shrink elements" ::cut_info(shrink) "aie_cutplane_set active {}"
#    checkItem hexcutPlaneDraw "Display back plane" ::cut_info(display) "aie_cutplane_set displays {}"

dataEntryDialog END

dataEntryDialog smoothStrMeshDEZ "Smooth Multiblock Domains Globally" nosave
    frame smoothStrBlockFrame "Relaxation Domain(s)"
        entityAddRemover smoothStrRelaxDomainPick "Domain(s)" RelaxDomains STR_DOMAIN ANY NULL "Select domain(s) for Relaxation" READONLY
    frame END
    dialogSpace 1
    frame smoothStrDirFrame "Smoothing Direction"
        dropDownEntry smoothStrDirChoose "Choose Direction" direction_list refEdgeDir FALSE
    frame END
    dialogSpace 1
    frame smoothStrLayerFrame "Layer Options"
        integerEntry smoothStrStartIndex "Start Layer" startIndex -1 1000 1
        integerEntry smoothStrEndIndex "End Layer" endIndex -1 1000 1
        integerEntry smoothStrIncr "Increment" incrIndex -1 1000 1
        integerEntry smoothStrIterIndex "Volume iterations" iterIndex 0 1000 1
        textEntry smoothStrPlanesNums "Planes" planeNums NUM
    frame END
    dialogSpace 1
    exclusiveGroup smoothStrFaceOptions "Select Options" "Choose Option" 2 DROPDOWN
        exclusiveGroupItem smoothStrNonRelaxFace "Non-Relaxation Subfaces"
            entityAddRemover smoothStrNonRelaxFacePick "Select Subfaces" NonRelaxFaces STR_SUBFACE ANY NULL "Select Non-Relaxation Subfaces" READONLY
        exclusiveGroupItem END
        exclusiveGroupItem smoothStrHoldCellHeightFace "Hold Cell Height Subfaces"
            entityAddRemover smoothStrHoldCellHeightFacePick "Select Subfaces" HoldCellHeightFaces STR_SUBFACE ANY NULL "Select Hold Cell Height Subfaces" READONLY
        exclusiveGroupItem END
        exclusiveGroupItem smoothStrFixedEdges "Fixed Edges"
            entityAddRemover smoothStrFixedEdgesPick "Select Edges" FixedEdges STR_EDGE ANY NULL "Select Fixed Edges" READONLY
        exclusiveGroupItem END
        exclusiveGroupItem smoothStrFixedDistributionEdges "Fixed Distribution Edges"
            entityAddRemover smoothStrFixedDistributionEdgesPick "Select Edges" FixedDistributionEdges STR_EDGE ANY NULL "Select Fixed Distribution Edges" READONLY
        exclusiveGroupItem END
        exclusiveGroupItem smoothStrVertGlobal "Global Vertices"
            entityAddRemover smoothStrGlobalVertPick "Select Global Vert(s)" GlobalVertices STR_VERTEX ANY NULL "Select Global vertices" READONLY
        exclusiveGroupItem END
        exclusiveGroupItem smoothStrVertLayer "Layer Vertices"
            entityAddRemover smoothStrLayerVertPick  "Select Layer Vert(s) " LayerVertices STR_VERTEX ANY NULL "Select Layer vertices" READONLY
            textButton smoothStrLayerVertDist "First Layer Distance" "aie_str_set_first_layer_distance"
        exclusiveGroupItem END
    exclusiveGroup END
    textButton smoothStrResetSelections "Clear all selections" "aie_str_clear_all_selections"
    textButton smoothStrShowSelections "Show all selections" "aie_str_show_all_selections"
    exclusiveGroup smoothStrAdvanced "Advanced Options" "Choose Option" 6 DROPDOWN
        exclusiveGroupItem smoothStrAdvancedIter "Number of Iterations/Steps"
            frame smoothStrNumberIterFrame "Number of Iterations/Steps"
		integerEntry smoothStrIterEdge "Iterations in equation solver" itersEdges 1 1000 1
		integerEntry smoothStrIterVertex "Steps in global edge smoothing" itersVertices 1 1000 1
	    frame END
	exclusiveGroupItem END
        exclusiveGroupItem smoothStrAdvancedParameters "Parameters"
	    frame smoothStrParametersFrame "Parameters"
	        integerEntry smoothStrParameterPrjLim "Projection limit" parameterPrjLim 0 1000 0.1
	        integerEntry smoothStrParameterRelFac "Relaxation factor" parameterRelFac 0 1000 0.1
	        integerEntry smoothStrParameterResFac "Residual factor" parameterResFac 0 1000 0.01
	        checkItem smoothStrParameterFaceFit "Surface fitting" parameterFaceFit NULL
	        checkItem smoothStrParameterUseProj "Use projection" parameterUseProj NULL
                checkItem smoothStrParameterUseOrt "Use orthogonal positioning" parameterUseOrt NULL
                checkItem smoothStrParameterUseFra "Use fractional positioning" parameterUseFra NULL
	    frame END
	exclusiveGroupItem END
        exclusiveGroupItem smoothStrAdvancedMethods "Methods"
            frame smoothStrMethodsFrame "Methods"
                dropDownEntry smoothStrVolumeMethod "Volume Method" VolumeList volume_method FALSE
                dropDownEntry smoothStrFaceMethod "SubFace Method" FaceList face_method FALSE
            frame END
        exclusiveGroupItem END
	exclusiveGroupItem smoothStrAdvancedExpansion "Grid expansion rate"
	    frame smoothStrGridExpansionRateFrame "Grid expansion rate"
	        integerEntry smoothStrGridExpansionFace "On SubFace" gridexpansionFace 0 1000 0.1
	        integerEntry smoothStrGridExpansionVol "On Volume" gridexpansionVol 0 1000 0.1
	    frame END
	exclusiveGroupItem END
        exclusiveGroupItem smoothAdvancediterpost "Post smoothing iterations"
            frame iterpost "Post smoothing iterations"
                integerEntry niterpost "Number of iterations" niterPost 0 500 1
                integerEntry literpost "limit" limitPost 0 1 0.05
            frame END
        exclusiveGroupItem END
	exclusiveGroupItem smoothStrAdvancedSettings "Multiblock Settings"
	    exclusiveGroup smoothStrMBSFile "Multiblock Settings" "Choose Option" 2 DROPDOWN
	        exclusiveGroupItem smoothStrMBSLoad "Load Settings"
	            fileChooser smoothStrMBSLoadFile "Load file" mbs_setting_load FALSE "All Files, *"
	            textButton smoothStrMBSLoadFileButton "Load" "aie_str_load_settings"
	        exclusiveGroupItem END
	        exclusiveGroupItem smoothStrMBSSave "Save Settings"
	            fileChooser smoothStrMBSSaveFile "Save file" mbs_setting_save TRUE "All Files, *"
	            checkItem smoothStrMBSSaveFile43Version "Use old 4.3 settings file format" version43Flag NULL
	            textButton smoothStrMBSSaveFileButton "Save" "aie_str_save_settings"
	        exclusiveGroupItem END
	        exclusiveGroupItem smoothStrMBSRun "Run in sequence"
	            fileChooser smoothStrMBSRun1 "Sequence file 1" mbs_setting_seq_1 FALSE "All Files, *"
	            fileChooser smoothStrMBSRun2 "Sequence file 2" mbs_setting_seq_2 FALSE "All Files, *"
	            fileChooser smoothStrMBSRun3 "Sequence file 3" mbs_setting_seq_3 FALSE "All Files, *"
	            fileChooser smoothStrMBSRun4 "Sequence file 4" mbs_setting_seq_4 FALSE "All Files, *"
	            fileChooser smoothStrMBSRun5 "Sequence file 5" mbs_setting_seq_5 FALSE "All Files, *"
	            textButton smoothStrMBSStartRun "Start sequence" "aie_str_run_multiblock_settings"
	        exclusiveGroupItem END
	    exclusiveGroup END
	exclusiveGroupItem END
	exclusiveGroupItem smoothStrAdvancedDistributed "Distributed Smoothing"
            greyGroup smoothStrGridDistributedGG "Distributed Smoothing"
                greyGroupItem smoothStrGridDistributed "Distributed Smoothing"
                    textButton smoothStrGridDistributedHosts "Define Hosts" "aie_str_dist_hosts"
	            textEntry smoothStrGridDistributedNP "Number Processes" numProcs NUM
                    textEntry smoothStrGridDistributedTO "Connect Timeout" waitTimeout NUM
                    checkItem smoothStrGridDistributedVB "Verbose Print" distVerbose NULL
                greyGroupItem END
            greyGroup END
	exclusiveGroupItem END
    exclusiveGroup END
dataEntryDialog END

dataEntryDialog qualityStrMeshDEZ "Quality Metrics"
    dropDownEntry qualityStrCrit "Criterion" qualityStrList quality_str False
    dialogSpace 1
    frame qualityStrDomainFrame "Domain(s)"
        entityChooser qualityStrDomainPick "Select Domains" qualityDomains STR_DOMAIN ANY
    frame END
dataEntryDialog END

dataEntryDialog findWorstElemsDEZ "Pre-Mesh: Find worst elements"
    dropDownEntry findWorstElemsQualityCrit "Criterion" qualityDDList worse_criterion False
    textEntry findWorstElemsQualityNumber "Number of elements" num_worse_elements READONLY
    textEntry findWorstElemsQualityCur "Current element" cur_worse_elements READONLY
    textEntry findWorstElemsQualityRatio "Element ratio" ratio_worse_elements READONLY
    textEntry findWorstElemsQualityType "Element type" type_worse_elements READONLY
    dialogSpace 1
    textButton findWorstElemsQualityClear    "   Clear  " "aie_hex_clear_worst_element"
    frame findWorstElemsFrame "Show elements"
        textButton findWorstElemsQualityNext     "   Next   " "aie_hex_next_worst_element 1"
        textButton findWorstElemsQualityPrevious " Previous " "aie_hex_next_worst_element 0"
    frame END
dataEntryDialog END

dataEntryDialog pipesFromFileDEZ "Create Pipe Blocking"
    fileChooser pipesFromFilename "Pipe Input file" pipe_input_file FALSE ""
    frame pipesParams "Params"
        textEntry pipesParamInitHeight "Init Height" param_init_height READONLY
        textEntry pipesParamOgridHeight "Ogrid Height" param_ogrid_height READONLY
        textEntry pipesParamHeightRatio "Height Ratio" param_height_ratio READONLY
        textEntry pipesParamMaxLength "Max Length" param_max_length READONLY
        textEntry pipesParamLengthAxial "Length Axial" param_l_axial READONLY
        textEntry pipesParamNAcross "Hex cells in smallest cross section" param_n_across READONLY
        textEntry pipesParamTargetSize "Target Mesh Size" param_target_size READONLY
    frame END
    checkItem pipesSingleTopo "Single Topology" single NULL
    checkItem pipesMarkerCreate "Show Markers" marker "aie_hex_display_pipe_markers"
dataEntryDialog END




