From ba80f03d6010a3f730c6fa12878e4541721123dc Mon Sep 17 00:00:00 2001 From: skv Date: Fri, 13 Feb 2015 11:20:18 +0300 Subject: [PATCH] Icon + Documentation update --- .../transformation_operations_ex07.py | 16 ++++++++++ .../gui/GEOM/images/proj_on_cyl_dlg.png | Bin 25396 -> 25225 bytes .../projection_on_cylinder_operation.doc | 5 ++-- resources/proj_on_cyl.png | Bin 792 -> 764 bytes src/GEOM_SWIG/GEOM_TestAll.py | 2 ++ src/GEOM_SWIG/geomBuilder.py | 28 ++++++++---------- .../TransformationGUI_ProjectionOnCylDlg.cxx | 2 +- 7 files changed, 33 insertions(+), 20 deletions(-) diff --git a/doc/salome/examples/transformation_operations_ex07.py b/doc/salome/examples/transformation_operations_ex07.py index f76bd9036..d323cf0b7 100644 --- a/doc/salome/examples/transformation_operations_ex07.py +++ b/doc/salome/examples/transformation_operations_ex07.py @@ -38,3 +38,19 @@ prj = geompy.MakeProjection(v1, w1) geompy.addToStudy(w1, "w1") geompy.addToStudy(v1, "v1") geompy.addToStudy(prj, "projOnWire") + +#projection of a wire on cylinder +pp1 = geompy.MakeVertex(100, 200, 0) +pp2 = geompy.MakeVertex(100, 200, 80) +pp3 = geompy.MakeVertex(100, 220, 90) +pp4 = geompy.MakeVertex(100, 130, 80) +pp5 = geompy.MakeVertex(100, 90, 80) +cc1 = geompy.MakeInterpol([pp1, pp2, pp3, pp4, pp5], True, False) +ww1 = geompy.MakeWire([cc1], 1.e-7) +vx = geompy.MakeVectorDXDYDZ(100, 0, 0) +pln1 = geompy.MakePlane(pp1, vx, 200) +face1 = geompy.MakeFaceFromSurface(pln1, ww1) +prj_cyl = geompy.MakeProjectionOnCylinder(face1, 100) + +geompy.addToStudy(face1, "pln_face") +geompy.addToStudy(prj_cyl, "projOnCylinder") diff --git a/doc/salome/gui/GEOM/images/proj_on_cyl_dlg.png b/doc/salome/gui/GEOM/images/proj_on_cyl_dlg.png index 4bb2b8ac3f0fd1b42fbb92bb3279b42713fd4b6f..38d81b51e0461caac799cb46997592cb84b20fa2 100644 GIT binary patch literal 25225 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 diff --git a/doc/salome/gui/GEOM/input/projection_on_cylinder_operation.doc b/doc/salome/gui/GEOM/input/projection_on_cylinder_operation.doc index 10dc98eb1..be0c5aa27 100644 --- a/doc/salome/gui/GEOM/input/projection_on_cylinder_operation.doc +++ b/doc/salome/gui/GEOM/input/projection_on_cylinder_operation.doc @@ -8,11 +8,10 @@ \n This operation makes a projection of a Source planar wire or face on a cylinder defined by its radius. The cylinder's coordinate system is the same as the global coordinate system. The result represents a wire or -a face or a compound of faces that represents a projection of the source -shape onto a cylinder. +a face that represents a projection of the source shape onto a cylinder. To make a projection it is necessary to define: -- \b Object to be rotated. It can be either a planar wire or a face; +- \b Object to be projected. It can be either a planar wire or a face; - \b Radius of the cylinder; - Starting angle from the cylinder's X axis around Z axis. This is the angle of the projection starting. diff --git a/resources/proj_on_cyl.png b/resources/proj_on_cyl.png index 6b22c1dc773ccd140019cc917f06514b058ba5c8..bd52b718831d99152061ce2253d17bd5eff9f5a9 100644 GIT binary patch delta 721 zcmV;?0xtcS2K)t(Bpd;AQb$4nuFf3k00006VoOIv0RI4A0AH^YSsRfd7k>Z;bV*G` z2j2n=4+S=+JI-SO00MkTL_t(I%Y~FXXcSQthQEE-329TL5Yxmav9U6RB4LfuCJ|Ir zBz8h1U}7bP81NCb)6`m6h!{~2aSI{Bc8ZU}PAefK1UBr>W9L4PMP`@X%w|0>%*?&_ zeE0mEM~*HwKR+)3-g~sxM1N647>0ylNDu^6DwQ02Sh4+QW@bi;#UclfT?N2-0iYIX zVr6%p#InAAMS>t;Yilb5ZY@ktPs@?1n;o0ZO9mDxOO#ju-Y$#*><6MugvJ=YtUe;2 z&oeYWi-=&HCsvk*b{(+yOXFB;o34j}A5CZrsI_KjVvbx6zOCNJT7Qc%hA4`tR;yI2 zRqFLRwOWm%v#)R}qVn`Iz$mZ*{OJHHrO?(RA`G6K!+MXkp6@Sjap?SGg4hr#i%|(q zMOYm-UHennWPr*zya>(-)_Y2elN<;5bpe2f7gum9#_AZS8@;ofBuQ(rp)J~a08W)k z0DLHyu}RbdIiq_6m48yyV~uk{q0qg|nlK&LaOOV|8e?#NM`~gOlSY_;$7GM zd^^xOkMn}_f)~jg7I7)eBF^=W@ZRPoET045+4UD)BXmaLbi&=wD`|fFnb_FayY-q0 z;K`*DK9fNFo5st17r9U$Gv+w18z!Hiqh~15(Y>Zw0|z>DS2{xn>Xch7N|9% z6rvMEX?&tuk?oe7DVwD;i#U_O#|QMXYX?R_1U6QCOU@VeA=YsF#0{Kj;B*7isN;;n z8--8HB_~3zQ0RJDdj*fAQ-k5Dg|xkPq^Y2acN*~?MELvlUDIbR^?45b+zlKA&Zg7j zG`(#teTP5=cq*NlHt7hew0(C>kzE$1XMU$Xt?c{*gZZ!RAP=vN00000NkvXXu0mjf D)zm?p delta 751 zcmVMJw4hE$ZaOe?b``)s8>*4RG!7dRn<*#qPgY^Zmu>LFi0*x^j1i`uh69XIoEV ztjCI=t>@1JO@@BFfz}4eT8PQ<-j(}@s)ht;SL^`Dv_m@~*Fvg_jVepA*~?<)Gu%77 z9pK-$fE_`c>F@6k%eS2dKpR0>;o9N#e6e>FtJ+xA!m1Yce=qC-xE(R=dh8n&*j?ah ztyaT(2qECaGjHykA{dh+Cd26zF?s3J1}1=;^~w=T*jTgK3`;j1Bi9b=0!BQSe^^Ij z&n5KBX>8sC;KAjeO1tT}ccLCal(0sl5teQ`hBiWOgxol?cy~_6-X}E(zG^oaXPN-? z^z?*!y$JmCe{H{FoJZRtgiJeb9siQmyUycO3#U@VDjr@LDeWdH{-(P?TJP@e4okNF zLI}luJ#Xovb5?LhbNkfStlIHAE}y~atf-0DS?yvL%TtE@b5U>THf9E;8)p%zRWvdaZ@Xp}H^7x;hOISOCMu8`# zazgPB_r`D*0}Fw#0D3o%AXfAL)uU8K37Y_J#%Edu5}^wtu(uP;o8p%DHY=GEOM_Object Offset = geompy.MakeOffset(Box, 10.) #(GEOM_Object, Double)->GEOM_Object ProjOnWire = geompy.MakeProjectionOnWire(p0, Wire) + ProjOnCyl = geompy.MakeProjectionOnCylinder(Wire, 100) Orientation = geompy.ChangeOrientation(Box) ExtEdge = geompy.ExtendEdge(Edge1, -0.3, 1.3) ExtFace = geompy.ExtendFace(Face5, -0.3, 1.3, -0.1, 1.1) @@ -488,6 +489,7 @@ def TestAll (geompy, math): id_Offset = geompy.addToStudy(Offset, "Offset") id_Orientation = geompy.addToStudy(Orientation, "Orientation") id_ProjOnWire = geompy.addToStudy(ProjOnWire[1], "ProjOnWire") + id_ProjOnCyl = geompy.addToStudy(ProjOnCyl, "ProjOnCyl") id_ExtEdge = geompy.addToStudy(ExtEdge, "ExtendedEdge") id_ExtFace = geompy.addToStudy(ExtFace, "ExtendedFace") id_Surface = geompy.addToStudy(Surface, "Surface From Face") diff --git a/src/GEOM_SWIG/geomBuilder.py b/src/GEOM_SWIG/geomBuilder.py index 2f8c983c2..95e3c2bf0 100644 --- a/src/GEOM_SWIG/geomBuilder.py +++ b/src/GEOM_SWIG/geomBuilder.py @@ -9348,9 +9348,9 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): return anObj ## - # Compute a wire or a face or a compound of faces that represents - # a projection of the source shape onto cylinder. The cylinder's - # coordinate system is the same as the global coordinate system. + # Compute a wire or a face that represents a projection of the source + # shape onto cylinder. The cylinder's coordinate system is the same + # as the global coordinate system. # # @param theObject The object to be projected. It can be either # a planar wire or a face. @@ -9367,18 +9367,17 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # publication is switched on, default value is used for result name. # # @return New GEOM.GEOM_Object, containing the result shape. The result - # represents a wire or a face or a compound of faces that - # represents a projection of the source shape onto a cylinder. + # represents a wire or a face that represents a projection of + # the source shape onto a cylinder. # - # @ref tui_fillet "Example 1" - # \n @ref swig_MakeFilletAll "Example 2" + # @ref tui_projection "Example" def MakeProjectionOnCylinder (self, theObject, theRadius, theStartAngle=0.0, theAngleLength=-1.0, theName=None): """ - Compute a wire or a face or a compound of faces that represents - a projection of the source shape onto cylinder. The cylinder's - coordinate system is the same as the global coordinate system. + Compute a wire or a face that represents a projection of the source + shape onto cylinder. The cylinder's coordinate system is the same + as the global coordinate system. Parameters: theObject The object to be projected. It can be either @@ -9396,13 +9395,10 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): Returns: New GEOM.GEOM_Object, containing the result shape. The result - represents a wire or a face or a compound of faces that - represents a projection of the source shape onto a cylinder. - - Example of usage: - filletall = geompy.MakeFilletAll(prism, 10.) + represents a wire or a face that represents a projection of + the source shape onto a cylinder. """ - # Example: see GEOM_TestOthers.py + # Example: see GEOM_TestAll.py theRadius, theStartAngle, theAngleLength, Parameters = ParseParameters( theRadius, theStartAngle, theAngleLength) anObj = self.TrsfOp.MakeProjectionOnCylinder(theObject, theRadius, diff --git a/src/TransformationGUI/TransformationGUI_ProjectionOnCylDlg.cxx b/src/TransformationGUI/TransformationGUI_ProjectionOnCylDlg.cxx index 2f9ad4b36..d3efac641 100644 --- a/src/TransformationGUI/TransformationGUI_ProjectionOnCylDlg.cxx +++ b/src/TransformationGUI/TransformationGUI_ProjectionOnCylDlg.cxx @@ -117,7 +117,7 @@ TransformationGUI_ProjectionOnCylDlg::TransformationGUI_ProjectionOnCylDlg /***************************************************************/ - setHelpFileName("project_on_cylinder_operation_page.html"); + setHelpFileName("projection_on_cylinder_operation_page.html"); Init(); } -- 2.39.2