mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-15 10:08:34 +05:00
0020955: EDF 1493 SMESH: Bad import of .unv file
* Complete the set of readable 2D elements
This commit is contained in:
parent
c3ab4d469d
commit
9b8d761c97
@ -95,20 +95,24 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
|
||||
}
|
||||
else if(IsFace(aRec.fe_descriptor_id)) {
|
||||
switch(aRec.fe_descriptor_id){
|
||||
case 71: // TRI3
|
||||
case 72:
|
||||
case 74:
|
||||
|
||||
case 41: // Plane Stress Linear Triangle - TRI3
|
||||
case 91: // Thin Shell Linear Triangle - TRI3
|
||||
case 41: // Plane Stress Linear Triangle
|
||||
case 51: // Plane Strain Linear Triangle
|
||||
case 61: // Plate Linear Triangle
|
||||
case 74: // Membrane Linear Triangle
|
||||
case 81: // Axisymetric Solid Linear Triangle
|
||||
case 91: // Thin Shell Linear Triangle
|
||||
anElement = myMesh->AddFaceWithID(aRec.node_labels[0],
|
||||
aRec.node_labels[1],
|
||||
aRec.node_labels[2],
|
||||
aLabel);
|
||||
break;
|
||||
|
||||
case 42: // Plane Stress Quadratic Triangle - TRI6
|
||||
case 92: // Thin Shell Quadratic Triangle - TRI6
|
||||
case 42: // Plane Stress Parabolic Triangle
|
||||
case 52: // Plane Strain Parabolic Triangle
|
||||
case 62: // Plate Parabolic Triangle
|
||||
case 72: // Membrane Parabolic Triangle
|
||||
case 82: // Axisymetric Solid Parabolic Triangle
|
||||
case 92: // Thin Shell Parabolic Triangle
|
||||
anElement = myMesh->AddFaceWithID(aRec.node_labels[0],
|
||||
aRec.node_labels[2],
|
||||
aRec.node_labels[4],
|
||||
@ -118,8 +122,12 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
|
||||
aLabel);
|
||||
break;
|
||||
|
||||
case 44: // Plane Stress Linear Quadrilateral - QUAD4
|
||||
case 94: // Thin Shell Linear Quadrilateral - QUAD4
|
||||
case 44: // Plane Stress Linear Quadrilateral
|
||||
case 54: // Plane Strain Linear Quadrilateral
|
||||
case 64: // Plate Linear Quadrilateral
|
||||
case 71: // Membrane Linear Quadrilateral
|
||||
case 84: // Axisymetric Solid Linear Quadrilateral
|
||||
case 94: // Thin Shell Linear Quadrilateral
|
||||
anElement = myMesh->AddFaceWithID(aRec.node_labels[0],
|
||||
aRec.node_labels[1],
|
||||
aRec.node_labels[2],
|
||||
@ -127,8 +135,12 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
|
||||
aLabel);
|
||||
break;
|
||||
|
||||
case 45: // Plane Stress Quadratic Quadrilateral - QUAD8
|
||||
case 95: // Thin Shell Quadratic Quadrilateral - QUAD8
|
||||
case 45: // Plane Stress Parabolic Quadrilateral
|
||||
case 55: // Plane Strain Parabolic Quadrilateral
|
||||
case 65: // Plate Parabolic Quadrilateral
|
||||
case 75: // Membrane Parabolic Quadrilateral
|
||||
case 85: // Axisymetric Solid Parabolic Quadrilateral
|
||||
case 95: // Thin Shell Parabolic Quadrilateral
|
||||
anElement = myMesh->AddFaceWithID(aRec.node_labels[0],
|
||||
aRec.node_labels[2],
|
||||
aRec.node_labels[4],
|
||||
|
@ -30,11 +30,155 @@ using namespace std;
|
||||
using namespace UNV;
|
||||
using namespace UNV2412;
|
||||
|
||||
#ifdef _DEBUG_
|
||||
static int MYDEBUG = 1;
|
||||
#else
|
||||
static int MYDEBUG = 0;
|
||||
#endif
|
||||
// Universal Dataset Number 2412
|
||||
|
||||
// Name: Elements
|
||||
// Status: Current
|
||||
// Owner: Simulation
|
||||
// Revision Date: 14-AUG-1992
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
// Record 1: FORMAT(6I10)
|
||||
// Field 1 -- element label
|
||||
// Field 2 -- fe descriptor id
|
||||
// Field 3 -- physical property table number
|
||||
// Field 4 -- material property table number
|
||||
// Field 5 -- color
|
||||
// Field 6 -- number of nodes on element
|
||||
|
||||
// Record 2: *** FOR NON-BEAM ELEMENTS ***
|
||||
// FORMAT(8I10)
|
||||
// Fields 1-n -- node labels defining element
|
||||
|
||||
// Record 2: *** FOR BEAM ELEMENTS ONLY ***
|
||||
// FORMAT(3I10)
|
||||
// Field 1 -- beam orientation node number
|
||||
// Field 2 -- beam fore-end cross section number
|
||||
// Field 3 -- beam aft-end cross section number
|
||||
|
||||
// Record 3: *** FOR BEAM ELEMENTS ONLY ***
|
||||
// FORMAT(8I10)
|
||||
// Fields 1-n -- node labels defining element
|
||||
|
||||
// Records 1 and 2 are repeated for each non-beam element in the model.
|
||||
// Records 1 - 3 are repeated for each beam element in the model.
|
||||
|
||||
// Example:
|
||||
|
||||
// -1
|
||||
// 2412
|
||||
// 1 11 1 5380 7 2
|
||||
// 0 1 1
|
||||
// 1 2
|
||||
// 2 21 2 5380 7 2
|
||||
// 0 1 1
|
||||
// 3 4
|
||||
// 3 22 3 5380 7 2
|
||||
// 0 1 2
|
||||
// 5 6
|
||||
// 6 91 6 5380 7 3
|
||||
// 11 18 12
|
||||
// 9 95 6 5380 7 8
|
||||
// 22 25 29 30 31 26 24 23
|
||||
// 14 136 8 0 7 2
|
||||
// 53 54
|
||||
// 36 116 16 5380 7 20
|
||||
// 152 159 168 167 166 158 150 151
|
||||
// 154 170 169 153 157 161 173 172
|
||||
// 171 160 155 156
|
||||
// -1
|
||||
|
||||
// FE Descriptor Id definitions
|
||||
// ____________________________
|
||||
|
||||
// 11 Rod
|
||||
// 21 Linear beam
|
||||
// 22 Tapered beam
|
||||
// 23 Curved beam
|
||||
// 24 Parabolic beam
|
||||
// 31 Straight pipe
|
||||
// 32 Curved pipe
|
||||
// 41 Plane Stress Linear Triangle
|
||||
// 42 Plane Stress Parabolic Triangle
|
||||
// 43 Plane Stress Cubic Triangle
|
||||
// 44 Plane Stress Linear Quadrilateral
|
||||
// 45 Plane Stress Parabolic Quadrilateral
|
||||
// 46 Plane Strain Cubic Quadrilateral
|
||||
// 51 Plane Strain Linear Triangle
|
||||
// 52 Plane Strain Parabolic Triangle
|
||||
// 53 Plane Strain Cubic Triangle
|
||||
// 54 Plane Strain Linear Quadrilateral
|
||||
// 55 Plane Strain Parabolic Quadrilateral
|
||||
// 56 Plane Strain Cubic Quadrilateral
|
||||
// 61 Plate Linear Triangle
|
||||
// 62 Plate Parabolic Triangle
|
||||
// 63 Plate Cubic Triangle
|
||||
// 64 Plate Linear Quadrilateral
|
||||
// 65 Plate Parabolic Quadrilateral
|
||||
// 66 Plate Cubic Quadrilateral
|
||||
// 71 Membrane Linear Quadrilateral
|
||||
// 72 Membrane Parabolic Triangle
|
||||
// 73 Membrane Cubic Triangle
|
||||
// 74 Membrane Linear Triangle
|
||||
// 75 Membrane Parabolic Quadrilateral
|
||||
// 76 Membrane Cubic Quadrilateral
|
||||
// 81 Axisymetric Solid Linear Triangle
|
||||
// 82 Axisymetric Solid Parabolic Triangle
|
||||
// 84 Axisymetric Solid Linear Quadrilateral
|
||||
// 85 Axisymetric Solid Parabolic Quadrilateral
|
||||
// 91 Thin Shell Linear Triangle
|
||||
// 92 Thin Shell Parabolic Triangle
|
||||
// 93 Thin Shell Cubic Triangle
|
||||
// 94 Thin Shell Linear Quadrilateral
|
||||
// 95 Thin Shell Parabolic Quadrilateral
|
||||
// 96 Thin Shell Cubic Quadrilateral
|
||||
// 101 Thick Shell Linear Wedge
|
||||
// 102 Thick Shell Parabolic Wedge
|
||||
// 103 Thick Shell Cubic Wedge
|
||||
// 104 Thick Shell Linear Brick
|
||||
// 105 Thick Shell Parabolic Brick
|
||||
// 106 Thick Shell Cubic Brick
|
||||
// 111 Solid Linear Tetrahedron
|
||||
// 112 Solid Linear Wedge
|
||||
// 113 Solid Parabolic Wedge
|
||||
// 114 Solid Cubic Wedge
|
||||
// 115 Solid Linear Brick
|
||||
// 116 Solid Parabolic Brick
|
||||
// 117 Solid Cubic Brick
|
||||
// 118 Solid Parabolic Tetrahedron
|
||||
// 121 Rigid Bar
|
||||
// 122 Rigid Element
|
||||
// 136 Node To Node Translational Spring
|
||||
// 137 Node To Node Rotational Spring
|
||||
// 138 Node To Ground Translational Spring
|
||||
// 139 Node To Ground Rotational Spring
|
||||
// 141 Node To Node Damper
|
||||
// 142 Node To Gound Damper
|
||||
// 151 Node To Node Gap
|
||||
// 152 Node To Ground Gap
|
||||
// 161 Lumped Mass
|
||||
// 171 Axisymetric Linear Shell
|
||||
// 172 Axisymetric Parabolic Shell
|
||||
// 181 Constraint
|
||||
// 191 Plastic Cold Runner
|
||||
// 192 Plastic Hot Runner
|
||||
// 193 Plastic Water Line
|
||||
// 194 Plastic Fountain
|
||||
// 195 Plastic Baffle
|
||||
// 196 Plastic Rod Heater
|
||||
// 201 Linear node-to-node interface
|
||||
// 202 Linear edge-to-edge interface
|
||||
// 203 Parabolic edge-to-edge interface
|
||||
// 204 Linear face-to-face interface
|
||||
// 208 Parabolic face-to-face interface
|
||||
// 212 Linear axisymmetric interface
|
||||
// 213 Parabolic axisymmetric interface
|
||||
// 221 Linear rigid surface
|
||||
// 222 Parabolic rigin surface
|
||||
// 231 Axisymetric linear rigid surface
|
||||
// 232 Axisymentric parabolic rigid surface
|
||||
|
||||
|
||||
|
||||
static string _label_dataset = "2412";
|
||||
|
||||
@ -158,31 +302,34 @@ bool UNV2412::IsBeam(int theFeDescriptorId){
|
||||
|
||||
|
||||
bool UNV2412::IsFace(int theFeDescriptorId){
|
||||
switch (theFeDescriptorId){
|
||||
return ( 41 <= theFeDescriptorId && theFeDescriptorId <= 96 );
|
||||
// switch (theFeDescriptorId){
|
||||
|
||||
case 71: // TRI3
|
||||
case 72:
|
||||
case 74:
|
||||
// case 71: // TRI3
|
||||
// case 72:
|
||||
// case 74:
|
||||
|
||||
case 41: // Plane Stress Linear Triangle - TRI3
|
||||
case 91: // Thin Shell Linear Triangle - TRI3
|
||||
// case 41: // Plane Stress Linear Triangle - TRI3
|
||||
// case 51: // Plane Strain Linear Triangle
|
||||
// case 91: // Thin Shell Linear Triangle - TRI3
|
||||
|
||||
case 42: // Plane Stress Quadratic Triangle - TRI6
|
||||
case 92: // Thin Shell Quadratic Triangle - TRI6
|
||||
// case 42: // Plane Stress Quadratic Triangle - TRI6
|
||||
// case 52: // Plane Strain Parabolic Triangle
|
||||
// case 92: // Thin Shell Quadratic Triangle - TRI6
|
||||
|
||||
case 43: // Plane Stress Cubic Triangle
|
||||
// case 43: // Plane Stress Cubic Triangle
|
||||
|
||||
case 44: // Plane Stress Linear Quadrilateral - QUAD4
|
||||
case 94: // Thin Shell Linear Quadrilateral - QUAD4
|
||||
// case 44: // Plane Stress Linear Quadrilateral - QUAD4
|
||||
// case 94: // Thin Shell Linear Quadrilateral - QUAD4
|
||||
|
||||
case 45: // Plane Stress Quadratic Quadrilateral - QUAD8
|
||||
case 95: // Thin Shell Quadratic Quadrilateral - QUAD8
|
||||
// case 45: // Plane Stress Quadratic Quadrilateral - QUAD8
|
||||
// case 95: // Thin Shell Quadratic Quadrilateral - QUAD8
|
||||
|
||||
case 46: // Plane Stress Cubic Quadrilateral
|
||||
// case 46: // Plane Stress Cubic Quadrilateral
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
// return true;
|
||||
// }
|
||||
// return false;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user