]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
[PythonAPI / doc] possible doc structuration example on extrusion feature
authorRenaud NEDELEC <renaud.nedelec@opencascade.com>
Mon, 9 Nov 2015 15:42:28 +0000 (16:42 +0100)
committerRenaud NEDELEC <renaud.nedelec@opencascade.com>
Mon, 9 Nov 2015 15:42:28 +0000 (16:42 +0100)
the documentation has been formated for sphinx usage
and Extrusion doc has been moved to addExtrusion

src/PythonAPI/doc/source/conf.py
src/PythonAPI/doc/source/extrusion.rst
src/PythonAPI/doc/source/index.rst
src/PythonAPI/doc/source/sketcher.rst
src/PythonAPI/model/features/extrusion.py
src/PythonAPI/model/sketcher/sketch.py

index 9c9b82b1164b163cd602338fd85f3951ead8107a..7e213bc644c30aba542c5d91820bc49074f9be11 100644 (file)
@@ -54,7 +54,7 @@ master_doc = 'index'
 
 # General information about the project.
 project = u'Shaper python API'
-copyright = u'2015, Renaud Nédélec'
+copyright = u'2014-20xx CEA/DEN, EDF R&D'
 
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
index 292568272c84637afe67f4cd0a32df3311c0502c..25d77281cc7bb20849e5dcdf68a4786c20673c94 100644 (file)
@@ -1,5 +1,40 @@
 Extrusion
 ---------
 
-.. automodule:: model.features.extrusion
+.. testsetup::
+
+   import model
+   model.begin()
+   partset = model.moduleDocument()
+   part = model.addPart(partset).document()
+   plane = model.defaultPlane("XOY")
+   sketch = model.addSketch(part, plane)
+   p1 = sketch.addPoint(0, 0)
+   p2 = sketch.addPoint(0, 1)
+   p3 = sketch.addPoint(1, 1)
+   p4 = sketch.addPoint(1, 0)
+   sketch.addPolygon(p1.pointData(), p2.pointData(), p3.pointData(), p4.pointData())
+
+Provided that a sketch has been created before an extrusion can then be created
+by the following code:
+
+.. doctest::
+   
+   >>> base = sketch.selectFace()
+   >>> extrusion = model.addExtrusion(part, base, 10)
+   >>> # Modification of the extrusion
+   >>> extrusion.setSize(20)
+   
+All the ways to create an extrusion and the data access and modification methods 
+of the extrusion are documented below
+
+Create an extrusion
+...................
+   
+.. autofunction:: model.features.extrusion.addExtrusion
+
+Extrusion object
+................
+
+.. autoclass:: model.features.extrusion.Extrusion
    :members:
index 7496007218f1726a932321f90773452cdb71e46a..ef5dc2733894d7aa7e13a71f259d261231f38a9a 100644 (file)
@@ -27,9 +27,15 @@ with the parametric API will typically begin with a code like below:
    >>> sketch = model.addSketch(part, plane)
    >>> line = sketch.addLine(0, 0, 0, 1)
 
+Features
+........
+
+This API provides functions for creating the features listed below.
+These functions return an interface to the feature that allow 
+to modify the feature and retrieve data from it.
 
 .. toctree::
-   :maxdepth: 2
+   :maxdepth: 1
 
    sketcher
    extrusion
index cb8b2b6cbc936d9d6136c6ad511fda5659d4eba9..3fb4159274c9aba0295d006bdf4f6212820eb173 100644 (file)
@@ -12,8 +12,8 @@ Create a sketch
 .. autosummary::
    addSketch
 
-Add geometries to the sketch
-----------------------------
+Add geometries
+--------------
 
 .. autosummary::
 
@@ -30,8 +30,8 @@ Set constraints
    Sketch.setRadius
    Sketch.setParallel
 
-Detailed description of sketch interface
-----------------------------------------
+Detailed description
+--------------------
 
 Add a sketch to the document
 ............................
index 1ecccf9966bf84edc15849db677909a2c32e2c8e..a93cf49423db6cb02811b9bcb506648d756262be 100644 (file)
@@ -9,8 +9,35 @@ from model import Selection
 
 def addExtrusion(part, *args):
     """Add an Extrusion feature to the Part and return Extrusion.
-
-    Pass all args to Extrusion __init__ function.
+    
+    This function has *3 signatures*:
+    
+    .. function:: addExtrusion(base, size)
+    
+    Arguments:
+        base(str, Sketch or list): base object(s)
+        size(double): size of the extrusion, the side is decided by the sign
+    
+    .. function:: addExtrusion(base, to_size, from_size)
+    
+    Arguments:
+        base(str, Sketch or list): base object(s)
+        to_size(double): upper size of the extrusion
+        from_size(double): lower size of the extrusion
+    
+    .. function:: addExtrusion(base, to_object, to_offset, from_object, from_offset)
+    
+    Arguments:
+        base(str, Sketch or list): base object(s)
+        to_object(plane): upper object
+        to_offset(double): offset from upper object
+        from_object(plane): lower plane
+        from_offset(double): offset from lower plane
+        
+    In all three cases the function returns an extrusion object
+    
+    Returns:
+        Extrusion: extrusion object
     """
     assert(args)
     feature = part.addFeature("Extrusion")
@@ -19,28 +46,28 @@ def addExtrusion(part, *args):
 
 class Extrusion(Interface):
     """Interface class for Extrusion feature.
-
-    Extrusion(feature) -> feature interface without initialization
-    Extrusion(feature, base, size) ->
-        feature interface initialized from arguments:
-        - base -- name, sketch or list of names and sketches
-        - size -- if positive -> to_size, if negative -> from_size
-    Extrusion(feature, base, to_size, from_size) ->
-        feature interface initialized from arguments:
-        - base -- name, sketch or list of names and sketches
-        - to_size -- upper size
-        - from_size -- lower size
-    Extrusion(feature, base, to_object, to_offset, from_object, from_offset) ->
-        feature interface initialized from arguments:
-        - base -- name, sketch or list of names and sketches
-        - to_object -- upper object (plane)
-        - to_offset -- offset from upper object
-        - from_object -- lower object (plane)
-        - from_offset -- offset from lower object
     """
 
     def __init__(self, feature, *args):
-        """x.__init__(...) initializes x; see x.__class__.__doc__ for signature"""
+        """
+        Extrusion(feature) -> feature interface without initialization
+        Extrusion(feature, base, size) ->
+            feature interface initialized from arguments:
+            - base -- name, sketch or list of names and sketches
+            - size -- if positive -> to_size, if negative -> from_size
+        Extrusion(feature, base, to_size, from_size) ->
+            feature interface initialized from arguments:
+            - base -- name, sketch or list of names and sketches
+            - to_size -- upper size
+            - from_size -- lower size
+        Extrusion(feature, base, to_object, to_offset, from_object, from_offset) ->
+            feature interface initialized from arguments:
+            - base -- name, sketch or list of names and sketches
+            - to_object -- upper object (plane)
+            - to_offset -- offset from upper object
+            - from_object -- lower object (plane)
+            - from_offset -- offset from lower object
+        """
         Interface.__init__(self, feature)
         assert(self._feature.getKind() == "Extrusion")
 
index 7d5311e3938be13138b313af9edac891e6198043..aac77596cd03a0a383ebf5721d4d70aff0dd9939 100644 (file)
@@ -19,6 +19,10 @@ Example of code:
    >>> plane = model.defaultPlane("XOY")
    >>> sketch = model.addSketch(part, plane)
    >>> line = sketch.addLine(0, 0, 0, 1)
+   >>> line.endPointData().x()
+   0.0
+   >>> line.endPointData().y()
+   1.0
 """
 
 from ModelAPI import modelAPI_ResultConstruction, featureToCompositeFeature