From c4c3ed64b8da9a31e30449db696f1502a2320272 Mon Sep 17 00:00:00 2001 From: Grigory ZHIVOTOVSKY Date: Tue, 11 Sep 2018 17:00:47 +0300 Subject: [PATCH] Create Build/Vertex help page --- check_dump.py | 209 ++++++++++++++++++ doc/gui/Introduction.rst | 46 +++- doc/gui/abort_operation.png | Bin 0 -> 8576 bytes doc/gui/button_cancel.png | Bin 0 -> 688 bytes doc/gui/button_help.png | Bin 0 -> 682 bytes doc/gui/button_ok.png | Bin 0 -> 604 bytes doc/gui/new.txt | Bin 0 -> 510 bytes src/PrimitivesPlugin/doc/PrimitivesPlugin.rst | 2 +- 8 files changed, 252 insertions(+), 5 deletions(-) create mode 100644 check_dump.py create mode 100755 doc/gui/abort_operation.png create mode 100644 doc/gui/button_cancel.png create mode 100644 doc/gui/button_help.png create mode 100644 doc/gui/button_ok.png create mode 100755 doc/gui/new.txt diff --git a/check_dump.py b/check_dump.py new file mode 100644 index 000000000..9cf8b4069 --- /dev/null +++ b/check_dump.py @@ -0,0 +1,209 @@ +# -*- coding: utf-8 -*- + +from SketchAPI import * + +from salome.shaper import model + +model.begin() +partSet = model.moduleDocument() +Sketch_1 = model.addSketch(partSet, model.defaultPlane("XOZ")) +SketchProjection_1 = Sketch_1.addProjection(model.selection("EDGE", "OZ"), False) +SketchLine_1 = SketchProjection_1.createdFeature() +SketchLine_1.setName("SketchLine_5") +SketchLine_1.result().setName("SketchLine_5") +SketchLine_2 = Sketch_1.addLine(0.008, 0.0005000000000000006, 0.0075, -1.258295422426014e-35) +SketchLine_2.setName("SketchLine_9") +SketchLine_2.result().setName("SketchLine_9") +SketchLine_2.result().setColor(0, 150, 0) +SketchProjection_2 = Sketch_1.addProjection(model.selection("EDGE", "OX"), False) +SketchLine_3 = SketchProjection_2.createdFeature() +SketchLine_3.setName("SketchLine_10") +SketchLine_3.result().setName("SketchLine_10") +SketchConstraintCoincidence_1 = Sketch_1.setCoincident(SketchLine_2.endPoint(), SketchLine_3.result()) +SketchConstraintCoincidence_1.setName("SketchConstraintCoincidence_12") +SketchLine_4 = Sketch_1.addLine(0.0075, -1.258295422426014e-35, 0.005, 0) +SketchLine_4.setName("SketchLine_11") +SketchLine_4.result().setName("SketchLine_11") +SketchLine_4.result().setColor(0, 150, 0) +SketchConstraintCoincidence_2 = Sketch_1.setCoincident(SketchLine_2.endPoint(), SketchLine_4.startPoint()) +SketchConstraintCoincidence_2.setName("SketchConstraintCoincidence_13") +SketchConstraintCoincidence_3 = Sketch_1.setCoincident(SketchLine_4.endPoint(), SketchLine_3.result()) +SketchConstraintCoincidence_3.setName("SketchConstraintCoincidence_14") +SketchLine_5 = Sketch_1.addLine(0.005, 0, 0.005, 0.02) +SketchLine_5.setName("SketchLine_12") +SketchLine_5.result().setName("SketchLine_12") +SketchLine_5.result().setColor(0, 150, 0) +SketchConstraintCoincidence_4 = Sketch_1.setCoincident(SketchLine_4.endPoint(), SketchLine_5.startPoint()) +SketchConstraintCoincidence_4.setName("SketchConstraintCoincidence_15") +SketchLine_6 = Sketch_1.addLine(0.005, 0.02, 0, 0.02) +SketchLine_6.setName("SketchLine_13") +SketchLine_6.result().setName("SketchLine_13") +SketchLine_6.result().setColor(0, 150, 0) +SketchConstraintCoincidence_5 = Sketch_1.setCoincident(SketchLine_5.endPoint(), SketchLine_6.startPoint()) +SketchConstraintCoincidence_5.setName("SketchConstraintCoincidence_16") +SketchConstraintVertical_1 = Sketch_1.setVertical(SketchLine_5.result()) +SketchConstraintVertical_1.setName("SketchConstraintVertical_3") +SketchConstraintHorizontal_1 = Sketch_1.setHorizontal(SketchLine_6.result()) +SketchConstraintHorizontal_1.setName("SketchConstraintHorizontal_3") +SketchConstraintAngle_1 = Sketch_1.setAngle(SketchLine_3.result(), SketchLine_2.result(), 45.00000000000001) +SketchConstraintLength_1 = Sketch_1.setLength(SketchLine_5.result(), 0.02) +SketchConstraintLength_2 = Sketch_1.setLength(SketchLine_6.result(), 0.005) +SketchConstraintLength_2.setName("SketchConstraintLength_4") +SketchLine_7 = Sketch_1.addLine(0.008, 0.0005000000000000006, 0.008, 0.03) +SketchLine_7.setName("SketchLine_7") +SketchLine_7.result().setName("SketchLine_7") +SketchLine_7.result().setColor(0, 150, 0) +SketchConstraintCoincidence_6 = Sketch_1.setCoincident(SketchLine_2.startPoint(), SketchLine_7.startPoint()) +SketchConstraintCoincidence_6.setName("SketchConstraintCoincidence_6") +SketchLine_8 = Sketch_1.addLine(0.008, 0.03, 0.007500000000000001, 0.03) +SketchLine_8.setName("SketchLine_8") +SketchLine_8.result().setName("SketchLine_8") +SketchLine_8.result().setColor(0, 150, 0) +SketchConstraintCoincidence_7 = Sketch_1.setCoincident(SketchLine_7.endPoint(), SketchLine_8.startPoint()) +SketchConstraintCoincidence_7.setName("SketchConstraintCoincidence_7") +SketchArc_1 = Sketch_1.addArc(0.007500000000000001, 0.031, 0.007500000000000001, 0.03, 0.006500000000000001, 0.031, True) +SketchArc_1.result().setColor(0, 150, 0) +SketchArc_1.results()[1].setColor(0, 150, 0) +SketchConstraintCoincidence_8 = Sketch_1.setCoincident(SketchLine_8.endPoint(), SketchArc_1.startPoint()) +SketchConstraintCoincidence_8.setName("SketchConstraintCoincidence_8") +SketchLine_9 = Sketch_1.addLine(0.006500000000000001, 0.031, 0.006500000000000001, 0.032) +SketchLine_9.setName("SketchLine_14") +SketchLine_9.result().setName("SketchLine_14") +SketchLine_9.result().setColor(0, 150, 0) +SketchConstraintCoincidence_9 = Sketch_1.setCoincident(SketchArc_1.endPoint(), SketchLine_9.startPoint()) +SketchConstraintCoincidence_9.setName("SketchConstraintCoincidence_9") +SketchArc_2 = Sketch_1.addArc(0.007500000000000001, 0.032, 0.006500000000000001, 0.032, 0.007500000000000001, 0.033, True) +SketchArc_2.result().setColor(0, 150, 0) +SketchArc_2.results()[1].setColor(0, 150, 0) +SketchConstraintCoincidence_10 = Sketch_1.setCoincident(SketchLine_9.endPoint(), SketchArc_2.startPoint()) +SketchConstraintCoincidence_10.setName("SketchConstraintCoincidence_10") +SketchLine_10 = Sketch_1.addLine(0.007500000000000001, 0.033, 0.008999999999999999, 0.033) +SketchLine_10.setName("SketchLine_15") +SketchLine_10.result().setName("SketchLine_15") +SketchLine_10.result().setColor(0, 150, 0) +SketchConstraintCoincidence_11 = Sketch_1.setCoincident(SketchArc_2.endPoint(), SketchLine_10.startPoint()) +SketchConstraintCoincidence_11.setName("SketchConstraintCoincidence_11") +SketchLine_11 = Sketch_1.addLine(0.008999999999999999, 0.033, 0.008999999999999999, 0.042) +SketchLine_11.setName("SketchLine_16") +SketchLine_11.result().setName("SketchLine_16") +SketchLine_11.result().setColor(0, 150, 0) +SketchConstraintCoincidence_12 = Sketch_1.setCoincident(SketchLine_10.endPoint(), SketchLine_11.startPoint()) +SketchConstraintCoincidence_12.setName("SketchConstraintCoincidence_17") +SketchLine_12 = Sketch_1.addLine(0.008999999999999999, 0.042, -5.446629538236431e-36, 0.042) +SketchLine_12.setName("SketchLine_17") +SketchLine_12.result().setName("SketchLine_17") +SketchLine_12.result().setColor(0, 150, 0) +SketchConstraintCoincidence_13 = Sketch_1.setCoincident(SketchLine_11.endPoint(), SketchLine_12.startPoint()) +SketchConstraintCoincidence_13.setName("SketchConstraintCoincidence_18") +SketchConstraintCoincidence_14 = Sketch_1.setCoincident(SketchLine_12.endPoint(), SketchLine_1.result()) +SketchConstraintCoincidence_14.setName("SketchConstraintCoincidence_19") +SketchLine_13 = Sketch_1.addLine(-5.446629538236431e-36, 0.042, 0, 0.02) +SketchLine_13.setName("SketchLine_18") +SketchLine_13.result().setName("SketchLine_18") +SketchLine_13.result().setColor(0, 150, 0) +SketchConstraintCoincidence_15 = Sketch_1.setCoincident(SketchLine_12.endPoint(), SketchLine_13.startPoint()) +SketchConstraintCoincidence_15.setName("SketchConstraintCoincidence_20") +SketchConstraintCoincidence_16 = Sketch_1.setCoincident(SketchLine_6.endPoint(), SketchLine_13.endPoint()) +SketchConstraintCoincidence_16.setName("SketchConstraintCoincidence_21") +SketchConstraintHorizontal_2 = Sketch_1.setHorizontal(SketchLine_12.result()) +SketchConstraintHorizontal_2.setName("SketchConstraintHorizontal_2") +SketchConstraintHorizontal_3 = Sketch_1.setHorizontal(SketchLine_10.result()) +SketchConstraintHorizontal_3.setName("SketchConstraintHorizontal_4") +SketchConstraintHorizontal_4 = Sketch_1.setHorizontal(SketchLine_8.result()) +SketchConstraintHorizontal_4.setName("SketchConstraintHorizontal_5") +SketchConstraintVertical_2 = Sketch_1.setVertical(SketchLine_11.result()) +SketchConstraintVertical_2.setName("SketchConstraintVertical_2") +SketchConstraintVertical_3 = Sketch_1.setVertical(SketchLine_7.result()) +SketchConstraintVertical_3.setName("SketchConstraintVertical_4") +SketchConstraintVertical_4 = Sketch_1.setVertical(SketchLine_9.result()) +SketchConstraintVertical_4.setName("SketchConstraintVertical_5") +SketchConstraintTangent_1 = Sketch_1.setTangent(SketchArc_2.results()[1], SketchLine_9.result()) +SketchConstraintTangent_2 = Sketch_1.setTangent(SketchArc_1.results()[1], SketchLine_9.result()) +SketchConstraintTangent_3 = Sketch_1.setTangent(SketchLine_10.result(), SketchArc_2.results()[1]) +SketchConstraintTangent_4 = Sketch_1.setTangent(SketchArc_1.results()[1], SketchLine_8.result()) +SketchConstraintDistance_1 = Sketch_1.setDistance(SketchLine_2.startPoint(), SketchLine_1.result(), 0.008, True) +SketchConstraintDistance_2 = Sketch_1.setDistance(SketchLine_4.startPoint(), SketchLine_7.result(), 0.0005, True) +SketchConstraintDistance_3 = Sketch_1.setDistance(SketchLine_9.endPoint(), SketchLine_13.result(), 0.0065, True) +SketchConstraintRadius_1 = Sketch_1.setRadius(SketchArc_1.results()[1], 0.001) +SketchConstraintRadius_2 = Sketch_1.setRadius(SketchArc_2.results()[1], 0.001) +SketchConstraintDistance_4 = Sketch_1.setDistance(SketchArc_2.endPoint(), SketchArc_1.startPoint(), 0.003, True) +SketchConstraintLength_3 = Sketch_1.setLength(SketchLine_11.result(), 0.008999999999999999) +SketchConstraintLength_3.setName("SketchConstraintLength_3") +SketchConstraintDistance_5 = Sketch_1.setDistance(SketchLine_13.startPoint(), SketchLine_3.result(), 0.042, True) +SketchConstraintLength_4 = Sketch_1.setLength(SketchLine_12.result(), 0.008999999999999999) +SketchConstraintLength_4.setName("SketchConstraintLength_5") +SketchConstraintCoincidence_17 = Sketch_1.setCoincident(SketchLine_6.endPoint(), SketchLine_1.result()) +SketchConstraintCoincidence_17.setName("SketchConstraintCoincidence_22") +model.do() +Part_1 = model.addPart(partSet) +Part_1_doc = Part_1.document() +Revolution_1 = model.addRevolution(Part_1_doc, [model.selection("FACE", "PartSet/Sketch_1/Face-SketchLine_9r-SketchLine_11r-SketchLine_12r-SketchLine_13r-SketchLine_7f-SketchLine_8f-SketchArc_1_2r-SketchLine_14f-SketchArc_2_2r-SketchLine_15f-SketchLine_16f-SketchLine_17f-SketchLine_18f")], model.selection("EDGE", "PartSet/OZ"), 360, 0) +Sketch_2 = model.addSketch(Part_1_doc, model.standardPlane("XOZ")) +SketchLine_14 = Sketch_2.addLine(-5.446629538236431e-36, 0.042, 5.172728347136208e-22, 0.03963932022500211) +SketchLine_14.result().setColor(0, 150, 0) +SketchProjection_3 = Sketch_2.addProjection(model.selection("VERTEX", "PartSet/Sketch_1/Vertex-SketchLine_18s-SketchLine_17e"), False) +SketchPoint_1 = SketchProjection_3.createdFeature() +SketchConstraintCoincidence_18 = Sketch_2.setCoincident(SketchLine_14.startPoint(), SketchPoint_1.result()) +SketchProjection_4 = Sketch_2.addProjection(model.selection("EDGE", "PartSet/Sketch_1/Edge-SketchLine_18"), False) +SketchLine_15 = SketchProjection_4.createdFeature() +SketchConstraintCoincidence_19 = Sketch_2.setCoincident(SketchLine_14.endPoint(), SketchLine_15.result()) +SketchArc_3 = Sketch_2.addArc(0.02, 0.062, 5.172728347136208e-22, 0.03963932022500211, 0.02, 0.032, False) +SketchArc_3.result().setColor(0, 150, 0) +SketchArc_3.results()[1].setColor(0, 150, 0) +SketchConstraintCoincidence_20 = Sketch_2.setCoincident(SketchLine_14.endPoint(), SketchArc_3.startPoint()) +SketchLine_16 = Sketch_2.addLine(0.02, 0.032, 0.02, 0.042) +SketchLine_16.result().setColor(0, 150, 0) +SketchConstraintCoincidence_21 = Sketch_2.setCoincident(SketchArc_3.endPoint(), SketchLine_16.startPoint()) +SketchLine_17 = Sketch_2.addLine(0.02, 0.042, 0, 0.042) +SketchLine_17.result().setColor(0, 150, 0) +SketchConstraintCoincidence_22 = Sketch_2.setCoincident(SketchLine_16.endPoint(), SketchLine_17.startPoint()) +SketchConstraintCoincidence_23 = Sketch_2.setCoincident(SketchLine_14.startPoint(), SketchLine_17.endPoint()) +SketchConstraintHorizontal_5 = Sketch_2.setHorizontal(SketchLine_17.result()) +SketchConstraintVertical_5 = Sketch_2.setVertical(SketchLine_16.result()) +SketchConstraintRadius_3 = Sketch_2.setRadius(SketchArc_3.results()[1], 0.03) +SketchConstraintLength_5 = Sketch_2.setLength(SketchLine_17.result(), 0.02) +SketchConstraintDistance_6 = Sketch_2.setDistance(SketchLine_14.result(), SketchArc_3.center(), 0.02, True) +SketchProjection_5 = Sketch_2.addProjection(model.selection("EDGE", "PartSet/OX"), False) +SketchLine_18 = SketchProjection_5.createdFeature() +SketchConstraintDistance_7 = Sketch_2.setDistance(SketchLine_18.result(), SketchArc_3.center(), 0.062, True) +model.do() +Extrusion_1 = model.addExtrusion(Part_1_doc, [model.selection("FACE", "Sketch_1/Face-SketchLine_1f-SketchArc_1_2f-SketchLine_3f-SketchLine_4f")], model.selection(), 0.008999999999999999, 0.008999999999999999) +Fuse_1 = model.addFuse(Part_1_doc, [model.selection("SOLID", "Revolution_1_1")], [model.selection("SOLID", "Extrusion_1_1")]) +Axis_4 = model.addAxis(Part_1_doc, model.selection("FACE", "Revolution_1_1/Generated_Face_13")) +RevolutionCut_1 = model.addRevolutionCut(Part_1_doc, [], model.selection("EDGE", "PartSet/OZ"), 10, 28, [model.selection("SOLID", "Fuse_1_1")]) +Sketch_3 = model.addSketch(Part_1_doc, model.standardPlane("XOZ")) +SketchLine_19 = Sketch_3.addLine(0.029, 0.042, 0.029, 0.03267384683690003) +SketchLine_19.setName("SketchLine_7") +SketchLine_19.result().setName("SketchLine_7") +SketchLine_19.result().setColor(0, 150, 0) +SketchLine_20 = Sketch_3.addLine(0.029, 0.03267384683690003, 0.008999999999999999, 0.042) +SketchLine_20.setName("SketchLine_8") +SketchLine_20.result().setName("SketchLine_8") +SketchLine_20.result().setColor(0, 150, 0) +SketchConstraintCoincidence_24 = Sketch_3.setCoincident(SketchLine_19.endPoint(), SketchLine_20.startPoint()) +SketchConstraintCoincidence_24.setName("SketchConstraintCoincidence_8") +SketchConstraintVertical_6 = Sketch_3.setVertical(SketchLine_19.result()) +SketchLine_21 = Sketch_3.addLine(0.008999999999999999, 0.042, 0.029, 0.042) +SketchLine_21.setName("SketchLine_9") +SketchLine_21.result().setName("SketchLine_9") +SketchLine_21.result().setColor(0, 150, 0) +SketchProjection_6 = Sketch_3.addProjection(model.selection("EDGE", "Sketch_1/Edge-SketchLine_4"), False) +SketchLine_22 = SketchProjection_6.createdFeature() +SketchLine_22.setName("SketchLine_10") +SketchLine_22.result().setName("SketchLine_10") +SketchConstraintCoincidence_25 = Sketch_3.setCoincident(SketchLine_21.startPoint(), SketchLine_22.result()) +SketchConstraintCoincidence_25.setName("SketchConstraintCoincidence_9") +SketchConstraintCoincidence_26 = Sketch_3.setCoincident(SketchLine_19.startPoint(), SketchLine_21.endPoint()) +SketchConstraintCoincidence_26.setName("SketchConstraintCoincidence_10") +SketchConstraintCoincidence_27 = Sketch_3.setCoincident(SketchLine_21.startPoint(), SketchLine_20.endPoint()) +SketchConstraintCoincidence_27.setName("SketchConstraintCoincidence_11") +SketchConstraintHorizontal_6 = Sketch_3.setHorizontal(SketchLine_21.result()) +SketchConstraintAngle_2 = Sketch_3.setAngle(SketchLine_20.result(), SketchLine_21.result(), 25) +SketchProjection_7 = Sketch_3.addProjection(model.selection("VERTEX", "PartSet/Sketch_1/Vertex-SketchLine_17s-SketchLine_16e"), False) +SketchPoint_2 = SketchProjection_7.createdFeature() +SketchConstraintCoincidence_28 = Sketch_3.setCoincident(SketchAPI_Point(SketchPoint_2).coordinates(), SketchLine_20.endPoint()) +SketchConstraintCoincidence_28.setName("SketchConstraintCoincidence_12") +SketchConstraintLength_6 = Sketch_3.setLength(SketchLine_21.result(), 0.02) +RevolutionCut_1.setNestedSketch(Sketch_3) +model.do() +model.end() diff --git a/doc/gui/Introduction.rst b/doc/gui/Introduction.rst index 7ff6e4573..fe2de0aae 100644 --- a/doc/gui/Introduction.rst +++ b/doc/gui/Introduction.rst @@ -44,19 +44,57 @@ user can close any dock window. To open it again he can use a corresponded comma .. _object_browser: -Object browser +Object browser ^^^^^^^^^^^^^^ + + .. _property_panel: Property panel ^^^^^^^^^^^^^^ -By default Property Panel is hidden, and it is shown on operation start. +By default Property Panel is hidden. + +The Property Panel is shown on operation start at left side of the main window by default. + +If Object Browser is shown at the same side then they will be tabbed. + +Property panel consists of two parts: + +- controls container for input of parameters for the current operation; +- buttons panel containing standard buttons: + + - **Ok/Apply** executes operation with defined parameters, + - **Cancel/Close** calls **Abort operation** dialog box to confirm operation abort, + - **Help** calls User's guide opened on page describing the current operation. + +.. image:: button_ok.png + :align: center + +.. centered:: + **OK** button + +.. image:: button_cancel.png + :align: center + +.. centered:: + **Cancel** button + +.. image:: button_help.png + :align: center + +.. centered:: + **Help** button + +.. image:: abort_operation.png + :align: center + +.. centered:: + **Abort operation** dialog box -By default the Property Panel is shown at left side of the main window. -If Object Browser is shown at the same side then they will be tabbed + **OK** button is disabled if not all input parameters are defined or some errors are found. Error is shown as tooltip and in inspection panel. .. _inspection_panel: diff --git a/doc/gui/abort_operation.png b/doc/gui/abort_operation.png new file mode 100755 index 0000000000000000000000000000000000000000..ad64065e719d483ec69e4ae851a2a8d66d7be4a1 GIT binary patch literal 8576 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 h6js3YV)QHOQ&B(A~Oi z8lscTVJ6@Eee=DS0b>mRvjLC>>59WV6UG?YJHp+Knsz5gIOQE2m%hK5{e~*5xqHAL z$YrML3Yu-jX1g7UE<7TTBz}0Ce}7+I_vZ+~@b0}|-V#?&C8VXZFVLoBW+vqg9}kA> zp8C~!`+*~rEiP&*B~%CCWDE~}t~Z}z*@boAwdH| zj61#9Ikn`f8BDx<_Q6_DE2GNU9lx`L7Ie#0bf|*~llk$d- zGdk-4>_uanD$^+g{Ee#UwlQ;RRP?3_J48$Yz=&#QLQeZkx5q?pDkivwVuEXEYzGJ> zp%5R)Wv8rBnc{e4ZaE&ATdoE<0c9EhXsz2_b5K)-YGU)5)gYp-xykrAC5$n2Nj*1@ ztIEh%UQj>Vh09j4b+w*3f3#^^d0eL#*b48w6^YJ2Eq&A4-d+)s#Q)28J`@fM=J^kH WlzQWjist430000cD&#Qr%F>pFy4)9B)T)P1*w&E zQbHQVM7$*GQhx-&5Jfg5Ze1t@91@HIL&b$Rl-M)`4M?Syiyc>J%XB)oo03~>7XP>9( z-1(h+O${_%!&)W->Ft}``rq}GlFtWZNz7~!@BzW)cDWL*7cSPf_?sN_iwk)Fc{;D_ zIz4;3kvnnZ7)Hlm8DlYNF0ZPMvLtE%z?QU$_`JT_V4&IY?$ZbQbnw|9P1he$O4aym z;(k6BE&)I{45h2LM+E>vNWzY@7wG!ElK1Sk1uV-xKUi09 znx?^|S68wCYAbQJJ0OIZcdy^teY^AKE(T21wi|$=(AC@X&$LV!reXWhe-GL!dQ1p8 Q^#A|>07*qoM6N<$f{4{96aWAK literal 0 HcmV?d00001 diff --git a/doc/gui/button_ok.png b/doc/gui/button_ok.png new file mode 100644 index 0000000000000000000000000000000000000000..02971381899f3a40ceeef11d244e7859656352cd GIT binary patch literal 604 zcmV-i0;BzjP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGh)&Kwv)&Y=jd7J9y7j)}{w!-8X ztou}M!c6v=XL?^gpUDtevveARlK%pW$1pXZKm-LQ+yJ9y@x2poH-IIl-ERJG-=}&N zs6Y&+z@SkSE?;pf?H4E-VRB#tBvTlq94Ba8gW1r3yY|0fi^OrDAsj$2#pfP~`T{fD zxJBYLP@EaX01%;2z-$V1=6#qUt=EhH>(mNvb?8^S3KNT5?eYrfJsV`ra05VCwVX3N zeuL*rn1;%88NXU?mV(*sH_QKP*9a^_)(FEW9AIcy7aorL3^N3V?Ix(-06Lu?SuG4> z2mo!GS9>w{H%v3oz^^LB9NFmVU>HLHXcLoegYb^V%lZG>Zk7MnZxB6*t_B%n6$Bc> qu2I2TrB%&88ORpFrUrs7hpH8VMbp?G&v=~Ib7i$%t+E~e z#vWF14;G0_?k7u}fo}sUf(YbPt;ucq??3U@(UJ2GvbHmwM`td;C?mEA`wf$YNwM~)vM_;Z@|ef_9Z(T*#wn}jXZ2X*UWo1{u(2ql35aw_LOIwd#&na RE?x_Epptd;s^7072X7dDUwi-n literal 0 HcmV?d00001 diff --git a/src/PrimitivesPlugin/doc/PrimitivesPlugin.rst b/src/PrimitivesPlugin/doc/PrimitivesPlugin.rst index d6da26e54..b8d75b488 100644 --- a/src/PrimitivesPlugin/doc/PrimitivesPlugin.rst +++ b/src/PrimitivesPlugin/doc/PrimitivesPlugin.rst @@ -4,7 +4,7 @@ Primitives plug-in ================== -The Primitives plug-in contains features dedicated to creation of geometrical primitives. Result of each feature is a solid. The plug-in includes following features: +The Primitives plug-in contains features dedicated to creation of geometrical primitives. Result of each feature is a solid. The plug-in includes the following features: .. toctree:: :titlesonly: -- 2.39.2