From eb4c2e36a5d09392dfd7138bce47a6cdf47daa75 Mon Sep 17 00:00:00 2001 From: akl Date: Mon, 29 Sep 2008 07:13:29 +0000 Subject: [PATCH] To implement issue 0019962: MakePipeBiNormalAlongAxis implementation. --- doc/salome/gui/GEOM/images/pipebinormalsn.png | Bin 0 -> 204740 bytes .../input/creating_extrusion_alongpath.doc | 20 ++++- .../gui/GEOM/input/tui_complex_objs.doc | 80 ++++++++++++++++++ 3 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 doc/salome/gui/GEOM/images/pipebinormalsn.png diff --git a/doc/salome/gui/GEOM/images/pipebinormalsn.png b/doc/salome/gui/GEOM/images/pipebinormalsn.png new file mode 100644 index 0000000000000000000000000000000000000000..d5add9f5dad299c0e9209c075cac9e05e9195c03 GIT binary patch literal 204740 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 Menu select New Entity - > Generation - > Extrusion along a path -\n To create an extruded \b Pipe shape, you need to define the Base +\n Firstly, to create an extruded \b Pipe shape, you can define the Base Object (vertex, edge, planar wire, face or shell), which will be extruded and the Path Object (edge or wire) along which the Base Object will be extruded. @@ -18,12 +18,30 @@ definition of the path. \image html pipe.png +\n Secondly, you can define the Base +Object (edge, planar wire or face), which will be extruded, +the Path Object (edge or wire) along which the Base +Object will be extruded and the Vector (edge or wire) +to keep constant angular relations between the sections and this one. +\n The \b Result of the operation will be a GEOM_Object (edge, face, shell, +solid or compsolid). + +\n TUI Command: geompy.MakePipeBiNormalAlongVector(baseShape, pathShape, binormalShape) +\n Arguments: Name + 1 shape (edge, planar wire or face) +serving as base object + 1 shape (edge or wire) for +definition of the path + 1 shape (edge or wire) to set a fixed +BiNormal direction to perform the extrusion. + +\image html pipe2.png + Example: \image html pipe_wire_edgesn.png \image html pipesn.png +\image html pipebinormalsn.png + Our TUI Scripts provide you with useful examples of creation of \ref tui_creation_pipe "Complex Geometric Objects". diff --git a/doc/salome/gui/GEOM/input/tui_complex_objs.doc b/doc/salome/gui/GEOM/input/tui_complex_objs.doc index 2f4fa5076..254846e07 100644 --- a/doc/salome/gui/GEOM/input/tui_complex_objs.doc +++ b/doc/salome/gui/GEOM/input/tui_complex_objs.doc @@ -543,4 +543,84 @@ gg.createAndDisplayGO(id_pipe) gg.setDisplayMode(id_pipe,1) \endcode +\anchor tui_creation_pipe_binormal_along_vector +

Creation of a PipeBiNormalAlongVector

+ +\code +def MakeHelix(radius, height, rotation, direction): + # - create a helix - + radius = 1.0 * radius + height = 1.0 * height + rotation = 1.0 * rotation + if direction > 0: + direction = +1 + else: + direction = -1 + pass + from math import sqrt + length_z = height + length_xy = radius*rotation + length = sqrt(length_z*length_z + length_xy*length_xy) + import geompy + nb_steps = 1 + epsilon = 1.0e-6 + while 1: + z_step = height / nb_steps + angle_step = rotation / nb_steps + z = 0.0 + angle = 0.0 + helix_points = [] + for n in range(nb_steps+1): + from math import cos, sin + x = radius * cos(angle) + y = radius * sin(angle) + p = geompy.MakeVertex(x, y, z) + helix_points.append( p ) + z += z_step + angle += direction * angle_step + pass + helix = geompy.MakeInterpol(helix_points) + length_test = geompy.BasicProperties(helix)[0] + prec = abs(length-length_test)/length + # print nb_steps, length_test, prec + if prec < epsilon: + break + nb_steps *= 2 + pass + return helix + +def MakeSpring(radius, height, rotation, direction, thread_radius, base_rotation=0.0): + # - create a pipe - + thread_radius = 1.0 * thread_radius + # create a helix + helix = MakeHelix(radius, height, rotation, direction) + # base in the (Ox, Oz) plane + import geompy + p0 = geompy.MakeVertex(radius-3*thread_radius, 0.0, -thread_radius) + p1 = geompy.MakeVertex(radius+3*thread_radius, 0.0, -thread_radius) + p2 = geompy.MakeVertex(radius+3*thread_radius, 0.0, +thread_radius) + p3 = geompy.MakeVertex(radius-3*thread_radius, 0.0, +thread_radius) + e0 = geompy.MakeEdge(p0, p1) + e1 = geompy.MakeEdge(p1, p2) + e2 = geompy.MakeEdge(p2, p3) + e3 = geompy.MakeEdge(p3, p0) + w = geompy.MakeWire([e0, e1, e2, e3]) + # create a base face + base = geompy.MakeFace(w, True) + # create a binormal vector + binormal = geompy.MakeVectorDXDYDZ(0.0, 0.0, 10.0) + # create a pipe + spring = geompy.MakePipeBiNormalAlongVector(base, helix, binormal) + # Publish in the study + geompy.addToStudy(base, "base") + geompy.addToStudy(helix, "helix") + geompy.addToStudy(binormal, "binormal") + geompy.addToStudy(spring, "spring") + return spring + +from math import pi + +spring = MakeSpring(50, 100, 2*pi, 1, 5, pi/2) +\endcode + */ -- 2.39.2