]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
first fully working version, not optimised though
authorRenaud Nédélec <renaud.nedelec@opencascade.com>
Mon, 3 Nov 2014 08:54:48 +0000 (09:54 +0100)
committerRenaud Nédélec <renaud.nedelec@opencascade.com>
Mon, 3 Nov 2014 08:54:48 +0000 (09:54 +0100)
src/Tools/t_shape_builder.py

index 95e70fd06a8d159baf1bf3aeddd1ed1c956b240b..dfaa4a4d8ccd7291e843c600889f59a3c08684fe 100644 (file)
@@ -131,11 +131,12 @@ def build_shape(study, r1, r2, h1, h2, solid_thickness=0):
   """
 
   # --- creation des faces de la jonction
-  [faci, sect45, arc1, l1, lord90, lord45, edges] = jonction(study, r1, r2,\
-                                              h1, h2, a1)
+  [faci, sect45, arc1, l1, lord90, lord45, edges, arcextru] = jonction(study, r1, r2,\
+                                                                       h1, h2, a1)
   if with_solid:
-    [faci_ext, sect45_ext, arc1_ext, l1_ext, lord90_ext, lord45_ext, edges_ext] = jonction(study, r1 + solid_thickness, r2 + solid_thickness,\
-                                                                    h1, h2, a1)
+    [faci_ext, sect45_ext, arc1_ext, l1_ext, \
+     lord90_ext, lord45_ext, edges_ext, arcextru_ext] = jonction(study, r1 + solid_thickness, r2 + solid_thickness,\
+                                                                 h1, h2, a1)
     faces_jonction_ext = []
     for i,l in enumerate(lord90):
       faces_jonction_ext.append(geompy.MakeQuad2Edges(lord90[i],lord90_ext[i]))
@@ -150,7 +151,10 @@ def build_shape(study, r1, r2, h1, h2, solid_thickness=0):
   # --- extrusion droite des faces de jonction, pour reconstituer les demi cylindres
   # TODO : ajouter les faces nécessaires à sect45 dans le cas avec solide
   if with_solid:    
-    sect45 = geompy.MakePartition([sect45]+faces_jonction_ext[-7:])
+    sect45 = geompy.MakeCompound([sect45]+faces_jonction_ext[-3:])
+    sect45 = geompy.MakeGlueEdges(sect45, 1e-7)
+    
+  #return sect45, faces_jonction_ext[-3:]
   extru1 = geompy.MakePrismVecH(sect45, OX, h1+10)
 
   #base2 = geompy.MakeCompound(faci[5:])
@@ -179,7 +183,7 @@ def build_shape(study, r1, r2, h1, h2, solid_thickness=0):
   faces_coupe = faci[:5]
   if with_solid:
     faces_coupe.extend(faces_jonction_ext[-7:])
-  raccord = geompy.MakePartition([garder], faces_coupe, [], [], geompy.ShapeType["SOLID"], 0, [], 0, True)
+  raccord = geompy.MakePartition([garder], faces_coupe + [arcextru], [], [], geompy.ShapeType["SOLID"], 0, [], 0, True)
   assemblage = geompy.MakeCompound([raccord, extru1, extru2])
   assemblage = geompy.MakeGlueFaces(assemblage, 1e-7)
   # RNC : perf
@@ -363,7 +367,7 @@ def jonction(study, r1, r2, h1, h2, a1):
   for i,f in enumerate(faci):
     geompy.addToStudy(f, "faci_%d"%i)
 
-  return faci, sect45, arc1, l1, lord90, lord45, edges
+  return faci, sect45, arc1, l1, lord90, lord45, edges, arcextru
 
 if __name__=="__main__":
   """For testing purpose"""