155 lines
5.8 KiB
XML
155 lines
5.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<GenerateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="generateMetaModel_Module.xsd">
|
|
<PythonExport
|
|
Father="GeometryPy"
|
|
Name="GeometryCurvePy"
|
|
Twin="GeomCurve"
|
|
TwinPointer="GeomCurve"
|
|
Include="Mod/Part/App/Geometry.h"
|
|
Namespace="Part"
|
|
FatherInclude="Mod/Part/App/GeometryPy.h"
|
|
FatherNamespace="Part"
|
|
Constructor="true">
|
|
<Documentation>
|
|
<Author Licence="LGPL" Name="Werner Mayer" EMail="wmayer@users.sourceforge.net" />
|
|
<UserDocu>
|
|
The abstract class GeometryCurve is the root class of all curve objects.
|
|
</UserDocu>
|
|
</Documentation>
|
|
<Methode Name="toShape" Const="true">
|
|
<Documentation>
|
|
<UserDocu>Return the shape for the geometry.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="discretize" Const="true" Keyword="true">
|
|
<Documentation>
|
|
<UserDocu>Discretizes the curve and returns a list of points.
|
|
The function accepts keywords as argument:
|
|
discretize(Number=n) => gives a list of 'n' equidistant points
|
|
discretize(QuasiNumber=n) => gives a list of 'n' quasi equidistant points (is faster than the method above)
|
|
discretize(Distance=d) => gives a list of equidistant points with distance 'd'
|
|
discretize(Deflection=d) => gives a list of points with a maximum deflection 'd' to the curve
|
|
discretize(QuasiDeflection=d) => gives a list of points with a maximum deflection 'd' to the curve (faster)
|
|
discretize(Angular=a,Curvature=c,[Minimum=m]) => gives a list of points with an angular deflection of 'a'
|
|
and a curvature deflection of 'c'. Optionally a minimum number of points
|
|
can be set which by default is set to 2.
|
|
|
|
Optionally you can set the keywords 'First' and 'Last' to define a sub-range of the parameter range
|
|
of the curve.
|
|
|
|
If no keyword is given then it depends on whether the argument is an int or float.
|
|
If it's an int then the behaviour is as if using the keyword 'Number', if it's float
|
|
then the behaviour is as if using the keyword 'Distance'.
|
|
|
|
Example:
|
|
|
|
import Part
|
|
c=Part.Circle()
|
|
c.Radius=5
|
|
p=c.discretize(Number=50,First=3.14)
|
|
s=Part.Compound([Part.Vertex(i) for i in p])
|
|
Part.show(s)
|
|
|
|
|
|
p=c.discretize(Angular=0.09,Curvature=0.01,Last=3.14,Minimum=100)
|
|
s=Part.Compound([Part.Vertex(i) for i in p])
|
|
Part.show(s)
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="length">
|
|
<Documentation>
|
|
<UserDocu>Computes the length of a curve
|
|
length([uMin,uMax,Tol]) -> Float</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="value">
|
|
<Documentation>
|
|
<UserDocu>Computes the point of parameter u on this curve</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="tangent">
|
|
<Documentation>
|
|
<UserDocu>Computes the tangent of parameter u on this curve</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="makeRuledSurface">
|
|
<Documentation>
|
|
<UserDocu>Make a ruled surface of this and the given curves</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="intersect2d">
|
|
<Documentation>
|
|
<UserDocu>Get intersection points with another curve lying on a plane.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="parameter">
|
|
<Documentation>
|
|
<UserDocu>Returns the parameter on the curve
|
|
of the nearest orthogonal projection of the point.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="intersect" Const="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Returns all intersection points and curve segments between the curve and the curve/surface.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="intersectCS" Const="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Returns all intersection points and curve segments between the curve and the surface.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="intersectCC" Const="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Returns all intersection points between this curve and the given curve.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="toBSpline">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Converts a curve of any type (only part from First to Last)
|
|
toBSpline([Float=First, Float=Last]) -> B-Spline curve
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="approximateBSpline">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Approximates a curve of any type to a B-Spline curve
|
|
approximateBSpline(Tolerance, MaxSegments, MaxDegree, [Order='C2']) -> B-Spline curve
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Attribute Name="Continuity" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Returns the global continuity of the curve.
|
|
</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="Continuity" Type="String"/>
|
|
</Attribute>
|
|
<Attribute Name="FirstParameter" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Returns the value of the first parameter.
|
|
</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="FirstParameter" Type="Float"/>
|
|
</Attribute>
|
|
<Attribute Name="LastParameter" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Returns the value of the last parameter.
|
|
</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="LastParameter" Type="Float"/>
|
|
</Attribute>
|
|
</PythonExport>
|
|
</GenerateModel>
|