* Added Part::Feature::getTopoShape/getShape() function that can obtain
shape from any object with proper implementation of getSubObject(). It
can even construct compound from group object with proper implementation
of getSubObjects().
* Modified ViewProviderExt to work on any object, because it now obtain
the shape using Part::Feature::getShape()
* Modified various Part features to obtain base/tool shapes using
Part::getShape(), which allows them to be any type of object,
including Link and groups.
* Modified various Part command to relax type requirement on selected
objects.
* Add support of link and group to dimension, and add dimension refresh
command
* Support link and group in simple command command, and add a few more
copy command variations.
* Add special handling of 'Shape' attribute in PropertyContainerPy and
use Part::Feature::getShape() to return shape for any object without
Shape property. This allows many python feature work with any object
without modification.
* GeometrySurface/CurvePy, add convenience attribute 'Rotation'
* TopoShapePy:
* Extended support of sub shape attribute, e.g. Compound1, Solid2,
SubShape3 ('SubShape' is used to access child shape of a compound)
* makeWires(), new API to sort and return wires given a list of edges.
* transformed/translated/rotated/scaled(), return a new shape with
some transformation.
* findPlane(), find the plane of a planar shape
* isCoplanar(), check if two shape are coplanar
184 lines
6.4 KiB
XML
184 lines
6.4 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="GeometrySurfacePy"
|
|
PythonName="Part.GeometrySurface"
|
|
Twin="GeomSurface"
|
|
TwinPointer="GeomSurface"
|
|
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 GeometrySurface is the root class of all surface objects.
|
|
</UserDocu>
|
|
</Documentation>
|
|
<Methode Name="toShape" Const="true">
|
|
<Documentation>
|
|
<UserDocu>Return the shape for the geometry.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="value" Const="true">
|
|
<Documentation>
|
|
<UserDocu>value(u,v) -> Point
|
|
Computes the point of parameter (u,v) on this surface</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="tangent" Const="true">
|
|
<Documentation>
|
|
<UserDocu>tangent(u,v) -> (Vector,Vector)
|
|
Computes the tangent of parameter (u,v) on this geometry</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="normal" Const="true">
|
|
<Documentation>
|
|
<UserDocu>normal(u,v) -> Vector
|
|
Computes the normal of parameter (u,v) on this geometry</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="isUmbillic" Const="true">
|
|
<Documentation>
|
|
<UserDocu>isUmbillic(u,v) -> bool
|
|
Check if the geometry on parameter is an umbillic point,
|
|
i.e. maximum and minimum curvature are equal.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="curvature" Const="true">
|
|
<Documentation>
|
|
<UserDocu>curvature(u,v,type) -> float
|
|
The value of type must be one of this: Max, Min, Mean or Gauss
|
|
Computes the curvature of parameter (u,v) on this geometry</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="curvatureDirections" Const="true">
|
|
<Documentation>
|
|
<UserDocu>curvatureDirections(u,v) -> (Vector,Vector)
|
|
Computes the directions of maximum and minimum curvature
|
|
of parameter (u,v) on this geometry.
|
|
The first vector corresponds to the maximum curvature,
|
|
the second vector corresponds to the minimum curvature.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="bounds" Const="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Returns the parametric bounds (U1, U2, V1, V2) of this trimmed surface.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="isPlanar" Const="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
isPlanar([float]) -> Bool
|
|
Checks if the surface is planar within a certain tolerance.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Attribute Name="Continuity" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Returns the global continuity of the surface.
|
|
</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="Continuity" Type="String"/>
|
|
</Attribute>
|
|
<Attribute Name="Rotation" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>Returns a rotation object to describe the orientation for surface that supports it</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="Rotation" Type="Object"/>
|
|
</Attribute>
|
|
<Methode Name="uIso" Const="true">
|
|
<Documentation>
|
|
<UserDocu>Builds the U isoparametric curve</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="vIso" Const="true">
|
|
<Documentation>
|
|
<UserDocu>Builds the V isoparametric curve</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="isUPeriodic" Const="true">
|
|
<Documentation>
|
|
<UserDocu>Returns true if this patch is periodic in the given parametric direction.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="isVPeriodic" Const="true">
|
|
<Documentation>
|
|
<UserDocu>Returns true if this patch is periodic in the given parametric direction.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="isUClosed" Const="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Checks if this surface is closed in the u parametric direction.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="isVClosed" Const="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Checks if this surface is closed in the v parametric direction.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="UPeriod" Const="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Returns the period of this patch in the u parametric direction.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="VPeriod" Const="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Returns the period of this patch in the v parametric direction.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="parameter" Const="true">
|
|
<Documentation>
|
|
<UserDocu>Returns the parameter on the curve
|
|
of the nearest orthogonal projection of the point.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="toBSpline" Const="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Returns a B-Spline representation of this surface.
|
|
The required arguments are:
|
|
* tolerance
|
|
* continuity in u (as string e.g. C0, G0, G1, C1, G2, C3, CN)
|
|
* continuity in v (as string e.g. C0, G0, G1, C1, G2, C3, CN)
|
|
* maximum degree in u
|
|
* maximum degree in v
|
|
* maximum number of segments
|
|
* precision code (optional, default=0)
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="intersect" Const="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Returns all intersection points/curves between the surface and the curve/surface.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="intersectSS" Const="true">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Returns all intersection curves of this surface and the given surface.
|
|
The required arguments are:
|
|
* Second surface
|
|
* precision code (optional, default=0)
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
</PythonExport>
|
|
</GenerateModel>
|