diff --git a/dox/dev_guides/upgrade/upgrade.md b/dox/dev_guides/upgrade/upgrade.md
index 056568c621..f60cdcdf72 100644
--- a/dox/dev_guides/upgrade/upgrade.md
+++ b/dox/dev_guides/upgrade/upgrade.md
@@ -1203,3 +1203,9 @@ The follow AIS_InteractiveContext methods have been changed:
 @subsection upgrade_720_Result_Of_BOP_On_Containers Result of Boolean operations on containers
 
 * The result of Boolean operations on arguments of collection types (WIRE/SHELL/COMPSOLID) is now filtered from duplicating containers.
+
+@subsection upgrade_720_changes_methods Other changes
+
+* Class GeomPlate_BuildPlateSurface accepts base class Adaptor3d_HCurve (instead of inherited Adaptor3d_HCurveOnSurface accepted earlier).
+
+* Types GeomPlate_Array1OfHCurveOnSurface and GeomPlate_HArray1OfHCurveOnSurface have been replaced with GeomPlate_Array1OfHCurve and GeomPlate_HArray1OfHCurve correspondingly (accept base class Adaptor3d_HCurve instead of Adaptor3d_HCurveOnSurface).
diff --git a/dox/user_guides/modeling_algos/modeling_algos.md b/dox/user_guides/modeling_algos/modeling_algos.md
index 09e5971062..903c6f3905 100644
--- a/dox/user_guides/modeling_algos/modeling_algos.md
+++ b/dox/user_guides/modeling_algos/modeling_algos.md
@@ -683,7 +683,7 @@ Handle (Geom_Surface) Surf (Mapp.Surface());
 // create a face corresponding to the approximated Plate 
 Surface 
 Standard_Real Umin, Umax, Vmin, Vmax; 
-PSurf-Bounds( Umin, Umax, Vmin, Vmax); 
+PSurf->Bounds( Umin, Umax, Vmin, Vmax); 
 BRepBuilderAPI_MakeFace MF(Surf,Umin, Umax, Vmin, Vmax); 
 ~~~~~
 
diff --git a/samples/mfc/standard/02_Modeling/src/ModelingDoc.cpp b/samples/mfc/standard/02_Modeling/src/ModelingDoc.cpp
index 59fc5e419b..c4da70050f 100755
--- a/samples/mfc/standard/02_Modeling/src/ModelingDoc.cpp
+++ b/samples/mfc/standard/02_Modeling/src/ModelingDoc.cpp
@@ -12,6 +12,8 @@
 #include "ISession_Direction.h"
 #include "..\res\resource.h"
 
+#include <Adaptor3d_HCurveOnSurface.hxx>
+#include <Adaptor3d_CurveOnSurface.hxx>
 #include <AIS_ListOfInteractive.hxx>
 #include <AIS_ListIteratorOfListOfInteractive.hxx>
 #include <TColStd_Array2OfReal.hxx>
@@ -4665,8 +4667,8 @@ void CModelingDoc::OnStopStop()
 			nbedges++;
 			
 		}
-		Handle(GeomPlate_HArray1OfHCurveOnSurface) Fronts =
-			new GeomPlate_HArray1OfHCurveOnSurface(1,nbedges);
+                Handle(GeomPlate_HArray1OfHCurve) Fronts =
+                        new GeomPlate_HArray1OfHCurve(1, nbedges);
 		Handle(TColStd_HArray1OfInteger) Tang = 
 			new TColStd_HArray1OfInteger(1,nbedges);
 		Handle(TColStd_HArray1OfInteger) NbPtsCur = 
diff --git a/samples/mfc/standard/02_Modeling/src/StdAfx.h b/samples/mfc/standard/02_Modeling/src/StdAfx.h
index 38efb0faed..69183439b8 100755
--- a/samples/mfc/standard/02_Modeling/src/StdAfx.h
+++ b/samples/mfc/standard/02_Modeling/src/StdAfx.h
@@ -108,7 +108,7 @@
 #include <LocOpe_FindEdges.hxx>
 #include <TopoDS_Compound.hxx>
 #include <TopoDS_Solid.hxx>
-#include <GeomPlate_HArray1OfHCurveOnSurface.hxx>
+#include <GeomPlate_HArray1OfHCurve.hxx>
 #include <TColStd_HArray1OfInteger.hxx>
 #include <BRepAdaptor_Surface.hxx>
 #include <GeomAdaptor_HSurface.hxx>
diff --git a/src/BRepTest/BRepTest_FillingCommands.cxx b/src/BRepTest/BRepTest_FillingCommands.cxx
index f6d01c8cdd..9e51956d43 100644
--- a/src/BRepTest/BRepTest_FillingCommands.cxx
+++ b/src/BRepTest/BRepTest_FillingCommands.cxx
@@ -55,7 +55,7 @@
 #include <GeomPlate_BuildAveragePlane.hxx>
 #include <GeomPlate_Surface.hxx>
 #include <GeomPlate_BuildAveragePlane.hxx>
-#include <GeomPlate_HArray1OfHCurveOnSurface.hxx>
+#include <GeomPlate_HArray1OfHCurve.hxx>
 
 #include <GeomPlate_MakeApprox.hxx>
 #include <GeomPlate_PlateG0Criterion.hxx>
@@ -137,7 +137,7 @@ static Standard_Integer plate (Draw_Interpretor & di,Standard_Integer n,const ch
 {
   if (n < 8 ) return 1;
   Standard_Integer NbCurFront=Draw::Atoi(a[3]);
-  Handle(GeomPlate_HArray1OfHCurveOnSurface) Fronts = new GeomPlate_HArray1OfHCurveOnSurface(1,NbCurFront);
+  Handle(GeomPlate_HArray1OfHCurve) Fronts = new GeomPlate_HArray1OfHCurve(1,NbCurFront);
   Handle(TColStd_HArray1OfInteger) Tang = new TColStd_HArray1OfInteger(1,NbCurFront);
   Handle(TColStd_HArray1OfInteger) NbPtsCur = new TColStd_HArray1OfInteger(1,NbCurFront);
   BRep_Builder B;
@@ -338,7 +338,7 @@ static Standard_Integer approxplate (Draw_Interpretor & di,Standard_Integer n,co
   if (n < 9 ) return 1;
   Standard_Integer NbMedium=Draw::Atoi(a[2]);
   Standard_Integer NbCurFront=Draw::Atoi(a[3]);
-  Handle(GeomPlate_HArray1OfHCurveOnSurface) Fronts = new GeomPlate_HArray1OfHCurveOnSurface(1,NbCurFront);
+  Handle(GeomPlate_HArray1OfHCurve) Fronts = new GeomPlate_HArray1OfHCurve(1,NbCurFront);
   Handle(TColStd_HArray1OfInteger) Tang = new TColStd_HArray1OfInteger(1,NbCurFront);
   Handle(TColStd_HArray1OfInteger) NbPtsCur = new TColStd_HArray1OfInteger(1,NbCurFront);
   
diff --git a/src/ChFi3d/ChFi3d_Builder_CnCrn.cxx b/src/ChFi3d/ChFi3d_Builder_CnCrn.cxx
index 05db58f118..a2c40e27ac 100644
--- a/src/ChFi3d/ChFi3d_Builder_CnCrn.cxx
+++ b/src/ChFi3d/ChFi3d_Builder_CnCrn.cxx
@@ -93,7 +93,7 @@
 #include <GeomLib.hxx>
 #include <GeomPlate_BuildPlateSurface.hxx>
 #include <GeomPlate_CurveConstraint.hxx>
-#include <GeomPlate_HArray1OfHCurveOnSurface.hxx>
+#include <GeomPlate_HArray1OfHCurve.hxx>
 #include <GeomPlate_MakeApprox.hxx>
 #include <GeomPlate_PlateG0Criterion.hxx>
 #include <GeomPlate_Surface.hxx>
diff --git a/src/GeomPlate/FILES b/src/GeomPlate/FILES
index 3eace6b762..821119e784 100644
--- a/src/GeomPlate/FILES
+++ b/src/GeomPlate/FILES
@@ -1,6 +1,6 @@
 GeomPlate_Aij.cxx
 GeomPlate_Aij.hxx
-GeomPlate_Array1OfHCurveOnSurface.hxx
+GeomPlate_Array1OfHCurve.hxx
 GeomPlate_Array1OfSequenceOfReal.hxx
 GeomPlate_BuildAveragePlane.cxx
 GeomPlate_BuildAveragePlane.hxx
@@ -8,7 +8,7 @@ GeomPlate_BuildPlateSurface.cxx
 GeomPlate_BuildPlateSurface.hxx
 GeomPlate_CurveConstraint.cxx
 GeomPlate_CurveConstraint.hxx
-GeomPlate_HArray1OfHCurveOnSurface.hxx
+GeomPlate_HArray1OfHCurve.hxx
 GeomPlate_HArray1OfSequenceOfReal.hxx
 GeomPlate_HSequenceOfCurveConstraint.hxx
 GeomPlate_HSequenceOfPointConstraint.hxx
diff --git a/src/GeomPlate/GeomPlate_Array1OfHCurveOnSurface.hxx b/src/GeomPlate/GeomPlate_Array1OfHCurve.hxx
similarity index 76%
rename from src/GeomPlate/GeomPlate_Array1OfHCurveOnSurface.hxx
rename to src/GeomPlate/GeomPlate_Array1OfHCurve.hxx
index 190a2cfc91..c42abfb118 100644
--- a/src/GeomPlate/GeomPlate_Array1OfHCurveOnSurface.hxx
+++ b/src/GeomPlate/GeomPlate_Array1OfHCurve.hxx
@@ -14,13 +14,13 @@
 // Alternatively, this file may be used under the terms of Open CASCADE
 // commercial license or contractual agreement.
 
-#ifndef GeomPlate_Array1OfHCurveOnSurface_HeaderFile
-#define GeomPlate_Array1OfHCurveOnSurface_HeaderFile
+#ifndef GeomPlate_Array1OfHCurve_HeaderFile
+#define GeomPlate_Array1OfHCurve_HeaderFile
 
-#include <Adaptor3d_HCurveOnSurface.hxx>
+#include <Adaptor3d_HCurve.hxx>
 #include <NCollection_Array1.hxx>
 
-typedef NCollection_Array1<Handle(Adaptor3d_HCurveOnSurface)> GeomPlate_Array1OfHCurveOnSurface;
+typedef NCollection_Array1<Handle(Adaptor3d_HCurve)> GeomPlate_Array1OfHCurve;
 
 
 #endif
diff --git a/src/GeomPlate/GeomPlate_BuildPlateSurface.cxx b/src/GeomPlate/GeomPlate_BuildPlateSurface.cxx
index 492674a630..0c1e5c8774 100644
--- a/src/GeomPlate/GeomPlate_BuildPlateSurface.cxx
+++ b/src/GeomPlate/GeomPlate_BuildPlateSurface.cxx
@@ -22,6 +22,7 @@
 
 #include <Adaptor2d_HCurve2d.hxx>
 #include <Adaptor3d_HCurve.hxx>
+#include <Adaptor3d_CurveOnSurface.hxx>
 #include <Approx_CurveOnSurface.hxx>
 #include <Extrema_ExtPS.hxx>
 #include <Extrema_POnSurf.hxx>
@@ -109,7 +110,7 @@ static Standard_Integer Affich=0;
 //---------------------------------------------------------
 GeomPlate_BuildPlateSurface::GeomPlate_BuildPlateSurface ( 
 		    const Handle(TColStd_HArray1OfInteger)& NPoints,
-		    const Handle(GeomPlate_HArray1OfHCurveOnSurface)& TabCurve,
+		    const Handle(GeomPlate_HArray1OfHCurve)& TabCurve,
 		    const Handle(TColStd_HArray1OfInteger)& Tang,
 		    const Standard_Integer Degree,
 		    const Standard_Integer NbIter,
diff --git a/src/GeomPlate/GeomPlate_BuildPlateSurface.hxx b/src/GeomPlate/GeomPlate_BuildPlateSurface.hxx
index 41dff1d9db..372b67ac88 100644
--- a/src/GeomPlate/GeomPlate_BuildPlateSurface.hxx
+++ b/src/GeomPlate/GeomPlate_BuildPlateSurface.hxx
@@ -30,7 +30,7 @@
 #include <Standard_Integer.hxx>
 #include <Standard_Real.hxx>
 #include <Extrema_ExtPS.hxx>
-#include <GeomPlate_HArray1OfHCurveOnSurface.hxx>
+#include <GeomPlate_HArray1OfHCurve.hxx>
 #include <TColgp_SequenceOfXY.hxx>
 #include <TColgp_SequenceOfXYZ.hxx>
 #include <TColGeom2d_HArray1OfCurve.hxx>
@@ -77,7 +77,7 @@ public:
   //! Tol3d is used to test if two identical points in the 2d space are identical in 3d space
   //! TolAng is used to compare the angle between normal of two identical points in the 2d space
   //! Raises  ConstructionError;
-  Standard_EXPORT GeomPlate_BuildPlateSurface(const Handle(TColStd_HArray1OfInteger)& NPoints, const Handle(GeomPlate_HArray1OfHCurveOnSurface)& TabCurve, const Handle(TColStd_HArray1OfInteger)& Tang, const Standard_Integer Degree, const Standard_Integer NbIter = 3, const Standard_Real Tol2d = 0.00001, const Standard_Real Tol3d = 0.0001, const Standard_Real TolAng = 0.01, const Standard_Real TolCurv = 0.1, const Standard_Boolean Anisotropie = Standard_False);
+  Standard_EXPORT GeomPlate_BuildPlateSurface(const Handle(TColStd_HArray1OfInteger)& NPoints, const Handle(GeomPlate_HArray1OfHCurve)& TabCurve, const Handle(TColStd_HArray1OfInteger)& Tang, const Standard_Integer Degree, const Standard_Integer NbIter = 3, const Standard_Real Tol2d = 0.00001, const Standard_Real Tol3d = 0.0001, const Standard_Real TolAng = 0.01, const Standard_Real TolCurv = 0.1, const Standard_Boolean Anisotropie = Standard_False);
   
   Standard_EXPORT GeomPlate_BuildPlateSurface(const Handle(Geom_Surface)& Surf, const Standard_Integer Degree = 3, const Standard_Integer NbPtsOnCur = 10, const Standard_Integer NbIter = 3, const Standard_Real Tol2d = 0.00001, const Standard_Real Tol3d = 0.0001, const Standard_Real TolAng = 0.01, const Standard_Real TolCurv = 0.1, const Standard_Boolean Anisotropie = Standard_False);
   
diff --git a/src/GeomPlate/GeomPlate_HArray1OfHCurveOnSurface.hxx b/src/GeomPlate/GeomPlate_HArray1OfHCurve.hxx
similarity index 73%
rename from src/GeomPlate/GeomPlate_HArray1OfHCurveOnSurface.hxx
rename to src/GeomPlate/GeomPlate_HArray1OfHCurve.hxx
index 131878fb3f..28c8931b12 100644
--- a/src/GeomPlate/GeomPlate_HArray1OfHCurveOnSurface.hxx
+++ b/src/GeomPlate/GeomPlate_HArray1OfHCurve.hxx
@@ -14,14 +14,14 @@
 // Alternatively, this file may be used under the terms of Open CASCADE
 // commercial license or contractual agreement.
 
-#ifndef GeomPlate_HArray1OfHCurveOnSurface_HeaderFile
-#define GeomPlate_HArray1OfHCurveOnSurface_HeaderFile
+#ifndef GeomPlate_HArray1OfHCurve_HeaderFile
+#define GeomPlate_HArray1OfHCurve_HeaderFile
 
-#include <Adaptor3d_HCurveOnSurface.hxx>
-#include <GeomPlate_Array1OfHCurveOnSurface.hxx>
+#include <Adaptor3d_HCurve.hxx>
+#include <GeomPlate_Array1OfHCurve.hxx>
 #include <NCollection_DefineHArray1.hxx>
 
-DEFINE_HARRAY1(GeomPlate_HArray1OfHCurveOnSurface, GeomPlate_Array1OfHCurveOnSurface)
+DEFINE_HARRAY1(GeomPlate_HArray1OfHCurve, GeomPlate_Array1OfHCurve)
 
 
 #endif