rectangle_3 = sketch.addRectangle(centerPoint, endPoint2, True)
rectangle_4 = sketch.addRectangle(10, 5, 25, 75, True)
+# rectangles from center and end points second version
+centerPoint2 = geom.Pnt2d(200, 180)
+endPoint3 = geom.Pnt2d(220, 175)
+rectangle_5 = sketch.addRectangleCentered(centerPoint2, endPoint3)
+rectangle_6 = sketch.addRectangleCentered(108, 59, 125, 175)
+
model.end()
return RectanglePtr(new SketchAPI_Rectangle(aFeature, theFirstPoint, theEndPoint, isFirstPointCenter));
}
+std::shared_ptr<SketchAPI_Rectangle> SketchAPI_Sketch::addRectangleCentered(
+ double theX1, double theY1, double theX2, double theY2)
+{
+ std::shared_ptr<ModelAPI_Feature> aFeature =
+ compositeFeature()->addFeature(SketchAPI_Rectangle::ID());
+ return RectanglePtr(new SketchAPI_Rectangle(aFeature, theX1, theY1, theX2, theY2, true));
+}
+std::shared_ptr<SketchAPI_Rectangle> SketchAPI_Sketch::addRectangleCentered(
+ const std::shared_ptr<GeomAPI_Pnt2d> & theFirstPoint,
+ const std::shared_ptr<GeomAPI_Pnt2d> & theEndPoint)
+{
+ std::shared_ptr<ModelAPI_Feature> aFeature =
+ compositeFeature()->addFeature(SketchAPI_Rectangle::ID());
+ return RectanglePtr(new SketchAPI_Rectangle(aFeature, theFirstPoint, theEndPoint, true));
+}
+
//--------------------------------------------------------------------------------------
std::shared_ptr<SketchAPI_Circle> SketchAPI_Sketch::addCircle(double theCenterX,
double theCenterY,
std::shared_ptr<SketchAPI_Rectangle> addRectangle(
const std::shared_ptr<GeomAPI_Pnt2d> & theFirstPoint,
const std::shared_ptr<GeomAPI_Pnt2d> & theEndPoint, bool isFirstPointCenter);
-
+ /// Add rectangle
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Rectangle> addRectangleCentered(
+ double theX1, double theY1, double theX2, double theY2);
+ /// Add rectangle
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Rectangle> addRectangleCentered(
+ const std::shared_ptr<GeomAPI_Pnt2d> & theFirstPoint,
+ const std::shared_ptr<GeomAPI_Pnt2d> & theEndPoint);
/// Add circle
SKETCHAPI_EXPORT
std::shared_ptr<SketchAPI_Circle> addCircle(
Part_1_doc = Part_1.document()
Sketch_1 = model.addSketch(Part_1_doc, model.defaultPlane("XOY"))
Rectangle_1 = Sketch_1.addRectangle(5.5, 8.5, 31.3, 78.9)
+# rectangle from center and end points
+rectangle_2 = sketch.addRectangleCentered(10, 5, 25, 75)
+
model.do()
model.end()
#. select in the Main Menu *Sketch - > Rectangle* item or
#. click |rectangle.icon| **Rectangle** button in Sketch toolbar:
-The following property panel appears:
+There are 2 algorithms for creation of a Rectangle:
-.. figure:: images/Rectangle_panel.png
+.. figure:: images/rectangle_start_end.png
+ :align: left
+ :height: 24px
+
+**By start and end points** creates a rectangle with the given two corners points.
+
+.. figure:: images/rectangle_center_end.png
+ :align: left
+ :height: 24px
+
+**By center and end point** creates a rectangle with center and end point as corner.
+
+-------------------------------------------------------------------------------------------
+
+By start and end points
+""""""""""""""""""""""""""
+
+.. figure:: images/Rectangle_start_end_panel.png
:align: center
Rectangle
.. py:function:: Sketch_1.addRectangle(X1, Y1, X2, Y2)
- :param real: X1 value.
- :param real: Y1 value.
- :param real: X2 value.
- :param real: Y2 value.
+ :param real: X1 corner X value.
+ :param real: Y1 corner Y value.
+ :param real: X2 opposite corner X value.
+ :param real: Y2 opposite corner Y value.
+ :return: Result object.
+
+By center and end point
+""""""""""""""""""""""""""
+
+.. figure:: images/Rectangle_center_end_panel.png
+ :align: center
+
+ Rectangle
+
+Click in the view once to set the center, then move the mouse and click a second time to set the corner.
+If an existing object is clicked, a constraint for the point will be created automatically.
+
+Center and end points coordinates are displayed in the property panel.
+
+**TUI Command**:
+
+.. py:function:: Sketch_1.addRectangleCentered(X1, Y1, X2, Y2)
+
+ :param real: X1 center X value.
+ :param real: Y1 center Y value.
+ :param real: X2 corner X value.
+ :param real: Y2 corner Y value.
:return: Result object.
Result
Created rectangle appears in the view.
-.. figure:: images/Rectangle_res.png
+.. figure:: images/Rectangle_res2.png
:align: center
- Rectangle created
+ Rectangles created
**See Also** a sample TUI Script of :ref:`tui_create_rectangle` operation.