CATSketcherUseItf Interface CATISktUse2DWFFactory

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATISktUse2DWFFactory

Provides the client with the functionality for creating 2D geometric elements.
Role:


Method Index


o CreateArc(CATBaseUnknown*,CATBaseUnknown*,CATBaseUnknown*,IID&,CATBaseUnknown**)
Creates an Arc on a 2D Curve.
o CreateCenterCircle(double*,double)
Creates a 2D axis circle.
o CreateCenterLine(double*,double*)
Creates a 2D axis line.
o CreateChamfer(CATISktUse2DCurve*,CATISktUse2DCurve*,double*,double*,double*,int)
Creates a chamfer segment.
o CreateCircle(double*,double)
Creates a 2D circle.
o CreateCircle(double*,double*,double*,int)
Creates a 2D arc through three points.
o CreateCircle(double*,double,double,double)
Creates a 2D arc.
o CreateCircleTgt(double*,double*,double*,int)
Creates a 2D arc with two points and a tangent.
o CreateConicCurve(CATBaseUnknown*,CATBaseUnknown*,IID&,CATBaseUnknown**,CATBaseUnknown*,CATBaseUnknown*,CATBaseUnknown*,CATBaseUnknown*,CATBaseUnknown*,CATBaseUnknown*,CATBaseUnknown*,CATBaseUnknown*,double)
Creates a 2D conic curve.
o CreateConnectCurve(CATBaseUnknown*,CATBaseUnknown*,CATBaseUnknown*,CATBaseUnknown*,IID&,CATBaseUnknown**,int,int,int,int,double,double)
Creates a 2D connecting curve between two 2D curves.
o CreateConstructionCircle(double*,double)
Creates a 2D construction circle.
o CreateConstructionLine(double*,double*)
Creates a 2D construction line.
o CreateContour(CATISktUse2DCurve_var&,CATContourClass,CATAutosearchMode)
Dedicated to curve connectivity detection using CATIA V4 tolerance.
o CreateCorner(CATISktUse2DCurve*,CATISktUse2DCurve*,double*,double*)
Creates a bi-tangent arc.
o CreateCstPoint(double*,double*,double*)
Creates a 2D control point.
o CreateCubicSplineCurve(CATLISTV(CATISktUse2DPoint_var)&,int)
Creates a 2D cubic spline curve (degree = 3).
o CreateEllipse(double*,double*,double,double)
Creates a 2D ellipse.
o CreateEllipse(double*,double*,double,double,double,double)
Creates a 2D arc of ellipse.
o CreateHyperbola(double*,double*,double,double)
Creates a 2D hyperbola.
o CreateHyperbola(double*,double*,double,double,double,double)
Creates a 2D hyperbola.
o CreateLine(double*,double*)
Creates a 2D line.
o CreateLine(double*,double*,double,double)
Creates a 2D line.
o CreateOffsetCurve(int,CATBaseUnknown*,double)
Creates a 2D offset curve of a 2D curve.
o CreateOutput(CATBaseUnknown*,IID&,CATBaseUnknown**)
Creates a 2D Output Geometry from 2D Geometry.
o CreateOutputAxis(CATBaseUnknown*,IID&,CATBaseUnknown**)
Creates a 2D Output axis Geometry from 2D point.
o CreateOutputPlane(CATBaseUnknown*,IID&,CATBaseUnknown**)
Creates a 2D Output plane from 2D line.
o CreateOutputProfile(CATLISTV(CATBaseUnknown_var)&,IID&,CATBaseUnknown**)
Creates a 2D Output Profile from 2D Geometries.
o CreateParabola(double*,double*,double)
Creates a 2D parabola.
o CreateParabola(double*,double*,double,double,double)
Creates a 2D parabola.
o CreatePoint(double*)
Creates a 2D point.
o CreatePolyline(unsigned long,double*,boolean)
Creates a 2D polyline.
o CreateSplineCurve(CATLISTV(CATISktUse2DPoint_var)&,int)
Creates a 2D quintic spline curve (degree = 5).
o CreateUnspec(CATCurve_var&)
Creates a curve from a CATPCurve object.
o Duplicate(CATLISTV(CATISktUse2DWFGeometry_var)&,CATMathTransformation2D&)
Duplicates a set of 2D geometries and applies a transformation to the result.
o FixTogether(CATLISTV(CATISktUse2DWFGeometry_var)&,IID&,CATBaseUnknown**,int)
Creates a Fix Together Constraint (rigid set) of 2D Geometries.
o IntersectGeometry(CATBaseUnknown_var&,CATLISTV(CATISktUse2DWFGeometry_var)&,int,CATBaseUnknown*,double*,int,int)
Intersects 3D or 2D external geometry.
o OffsetGeometry(int,CATBaseUnknown*,double,int,CATBaseUnknown*,double*,int,int)
Offsets 3D geometry.
o ProjectGeometry(CATBaseUnknown_var&,CATLISTV(CATISktUse2DWFGeometry_var)&,int,CATBaseUnknown*,double*,int,int)
Projects 3D or 2D external geometry on a sketch.
o SilhouetteGeometry(CATBaseUnknown_var&,CATLISTV(CATISktUse2DWFGeometry_var)&,int,CATBaseUnknown*,double*,int)
Creates the silhouette of a surface.

Methods


o CreateArc
public virtual CreateArc( iCurve1,
iPoint1,
iPoint2,
const iid,
oArc)
Creates an Arc on a 2D Curve.
Parameters:
iCurve
[in] The curve on which the arc must be created.
iPoint1
[in] 2D start point for the arc.
iPoint2
[in] 2D end point for the arc.
iIID
[in] Interface identifier for which a pointer is requested.
oArc
[out] Pointer to the created Arc.
o CreateCenterCircle
public virtual CreateCenterCircle( const iPoint,
const iRadius)
Creates a 2D axis circle.
Parameters:
iPoint
[in] 2D origin point coordinates.
iRadius
[in] Radius of the circle.
o CreateCenterLine
public virtual CreateCenterLine( const iPoint,
const iDirection)
Creates a 2D axis line.
Parameters:
iPoint
[in] 2D origin point coordinates.
iDirection
[in] 2D direction coordinates (will be normalized).
o CreateChamfer
public virtual CreateChamfer( iCurve1,
iCurve2,
const iPoint,
const iParam1=NULL,
const iParam2=NULL,
const iChamfer=1)
Creates a chamfer segment.
Parameters:
iCurve1
[in] First geometric element.
iCurve2
[in] Second geometric element.
iPoint
[in] Indicated 2D point coordinates.
iParam1
[in] Optional first parameter of the chamfer segment.
iParam2
[in] Optional second parameter of the chamfer segment.
iChamfer
[in] Indicates the computation mode of the chamfer, thus the significance of the two parameters iParam1 and iParam2: If iChamfer == 1 (Length of the chamfer and its angle): iParam1 means the length of the chamfer segment. iParam2 means the angle of the chamfer segment with the tangent to the first curve at the nearest intersection point from the indicated 2D point. If iChamfer == 2 (Length1 and Length2 define the chamfer): iParam1 means the distance of the chamfer segment with either the intersecting point of the two curves, if it exists, or the end point of the first curve. iParam2 means the distance of the chamfer segment with either the intersecting point of the two curves, if it exists, or the end point of the second curve. If iChamfer == 3 (Length1 and Angle define the chamfer): iParam1 means the distance of the chamfer segment with either the intersecting point of the two curves, if it exists, or the end point of the first curve. iParam2 means the angle of the chamfer segment with the tangent of the first curve at the nearest intersection point from the indicated 2D point.
o CreateCircle
public virtual CreateCircle( const iPoint,
const iRadius)
Creates a 2D circle.
Parameters:
iPoint
[in] 2D center point coordinates.
iRadius
[in] Radius of the circle.
o CreateCircle
public virtual CreateCircle( const iStartPoint,
const iPoint,
const iEndPoint,
const iRelimit=1)
Creates a 2D arc through three points.
Parameters:
iStartPoint
[in] 2D start point coordinates.
iPoint
[in] 2D second point coordinates.
iEndPoint
[in] 2D end point coordinates.
iRelimit
[in] Trimming mode.
1
The arc is trimmed on given points.
0
The arc is not trimmed.
o CreateCircle
public virtual CreateCircle( const iPoint,
const iRadius,
const iStartParam,
const iEndParam)
Creates a 2D arc.
Parameters:
iPoint
[in] 2D center point coordinates.
iRadius
[in] Radius of the circle.
iStartParam
[in] Parameter of the start point (0<=iStartParam<2*PI).
iEndParam
[in] Parameter of the end point (iStartParam
o CreateCircleTgt
public virtual CreateCircleTgt( const iStartPoint,
const iStartTangent,
const iEndPoint,
const iRelimit=1)
Creates a 2D arc with two points and a tangent.
Parameters:
iStartPoint
[in] 2D start point coordinates.
iStartTangent
[in] 2D tangent coordinates.
iEndPoint
[in] 2D end point coordinates.
iRelimit
[in] Trimming mode.
1
The arc is trimmed on given points.
0
The arc is not trimmed.
o CreateConicCurve
public virtual CreateConicCurve( iStartPoint,
iEndPoint,
const iIID,
oConic,
iStartTangent=NULL,
iEndTangent=NULL,
iFirstIntermediatePoint=NULL,
iFirstIntermediateTangent=NULL,
iSecondIntermediatePoint=NULL,
iSecondIntermediateTangent=NULL,
iThirdIntermediatePoint=NULL,
iTangentIntersectionPoint=NULL,
const iConicParm=0.5)
Creates a 2D conic curve.
Parameters:
iStartPoint
[in] Starting point of conic curve.
iEndPoint
[in] Ending point of conic curve.
iIID
[in] Interface identifier for which a pointer is requested.
oConic
[out] Pointer to the created conic curve.
iFirstIntermediatePoint
[in] Optional: First intermediate passing thru point.
iFirstIntermediateTangent
[in] Optional: Tangent at the first intermediate passing thru point.
iSecondIntermediatePoint
[in] Optional: Second intermediate passing thru point.
iSecondIntermediateTangent
[in] Optional: Tangent at the second intermediate passing thru point.
iThirdIntermediatePoint
[in] Optional: Third intermediate passing thru point.
iTangentIntersectionPoint
[in] Optional: Tangent intersection point.
iConicParm
[in] Optional: Conic parameter.
Legal values:
>0
should be greater than 0
0.5
default value
<1
should be lower than 1
See also:
o CreateConnectCurve
public virtual CreateConnectCurve( iCurve1,
iPoint1,
iCurve2,
iPoint2,
const iid,
oConnect,
const iContinuity1=2,
const iContinuity2=2,
const iOrient1=1,
const iOrient2=1,
const iTension1=1.0,
const iTension2=1.0)
Creates a 2D connecting curve between two 2D curves.
Parameters:
iCurve1
[in] First 2D curve to connect.
iPoint1
[in] 2D start point for the connecting curve.
iCurve2
[in] Second 2D curve to connect.
iPoint2
[in] 2D end point for the connecting curve.
iIID
[in] Interface identifier for which a pointer is requested.
oConnect
[out] Pointer to the created connecting curve
iContinuity1
[in] Optional: Continuity with first curve.
Legal values:
0
C0 - point continuity
1
C1 - tangent continuity
2
C2 - curvature continuity
iContinuity2
[in] Optional: Continuity with second curve.
Legal values:
0
C0 - point continuity
1
C1 - tangent continuity
2
C2 - curvature continuity
iOrientation1
[in] Optional: If same orientation, the connecting curve starts tangent to iCurve1 at iPoint1.
Legal values:
1
same orientation
-1
opposite orientation
iOrientation2
[in] Optional: If same orientation, the connecting curve ends tangent to iCurve2 at iPoint2.
Legal values:
1
same orientation
-1
opposite orientation
iTension1
[in] Optional: Standard tension = 1.0; increase this value to straighten the connecting curve.
iTension2
[in] Optional: Standard tension = 1.0; increase this value to straighten the connecting curve.
See also:
o CreateConstructionCircle
public virtual CreateConstructionCircle( const iPoint,
const iRadius)
Creates a 2D construction circle.
Parameters:
iPoint
[in] 2D center point coordinates.
iRadius
[in] Radius of the circle.
o CreateConstructionLine
public virtual CreateConstructionLine( const iPoint,
const iDirection)
Creates a 2D construction line.
Parameters:
iPoint
[in] 2D origin point coordinates.
iDirection
[in] 2D direction coordinates (will be normalized).
o CreateContour
public virtual CreateContour( const i2DGeom,
const iClass=ContourClass_Undefined,
const iMode=AutosearchMode_NoMultipleSolutions)
Dedicated to curve connectivity detection using CATIA V4 tolerance.
o CreateCorner
public virtual CreateCorner( iCurve1,
iCurve2,
const iPoint,
const iRadius=NULL)
Creates a bi-tangent arc.
Parameters:
iCurve1
[in] First geometric element.
iCurve2
[in] Second geometric element.
iPoint
[in] Indicated 2D point coordinates.
iRadius
[in] Optional radius of the arc (unspecified by default).
o CreateCstPoint
public virtual CreateCstPoint( const iPoint,
const iTangent,
const iCurvature)
Creates a 2D control point.
Parameters:
iPoint
[in] 2D point coordinates.
iTangent
[in] 2D tangent coordinates or NULL.
iCurvature
[in] 2D curvature coordinates or NULL. The curvature direction has to be orthogonal to the tangent. Radius of curvature is 1/norm(curvature). The curvature vector can be (0,0), indicating an infinite radius of curvature (line).
o CreateCubicSplineCurve
public virtual CreateCubicSplineCurve( const iPoints,
const iEvaluationType)
Creates a 2D cubic spline curve (degree = 3).
Parameters:
iPoints
[in] List of spline control points.
iEvaluationType
[in] Evaluation mode (NOT USED).
o CreateEllipse
public virtual CreateEllipse( const iPoint,
const iMajorDirection,
const iMajorRadius,
const iMinorRadius)
Creates a 2D ellipse.
Parameters:
iPoint
[in] 2D center point coordinates.
iMajorDirection
[in] 2D major axis direction coordinates.
iMajorRadius
[in] Major semi-axis of the ellipse.
iMinorRadius
[in] Minor semi-axis of the ellipse.
o CreateEllipse
public virtual CreateEllipse( const iPoint,
const iMajorDirection,
const iMajorRadius,
const iMinorRadius,
const iStartParam,
const iEndParam)
Creates a 2D arc of ellipse.
Parameters:
iPoint
[in] 2D center point coordinates.
iMajorDirection
[in] 2D major axis direction coordinates.
iMajorRadius
[in] Major semi-axis of the ellipse.
iMinorRadius
[in] Minor semi-axis of the ellipse.
iStartParam
[in] Parameter of the start point (0<=iStartParam<2*PI).
iEndParam
[in] Parameter of the end point (iStartParam
o CreateHyperbola
public virtual CreateHyperbola( const iPoint,
const iAxis,
const iRadius1,
const iRadius2)
Creates a 2D hyperbola.
Parameters:
iPoint
[in] 2D center point coordinates.
iAxis
[in] 2D axis direction coordinates.
iRadius1
[in] Radius of the hyperbola.
iRadius2
[in] Imaginary radius of the hyperbola.
o CreateHyperbola
public virtual CreateHyperbola( const iPoint,
const iAxis,
const iRadius1,
const iRadius2,
const iStartParam,
const iEndParam)
Creates a 2D hyperbola.
Parameters:
iPoint
[in] 2D center point coordinates.
iAxis
[in] 2D axis direction coordinates.
iRadius1
[in] Radius of the hyperbola.
iRadius2
[in] Imaginary radius of the hyperbola.
iStartParam
[in] Parameter of the start point.
iEndParam
[in] Parameter of the end point.
o CreateLine
public virtual CreateLine( const iStartPoint,
const iEndPoint)
Creates a 2D line.
Parameters:
iStartPoint
[in] 2D start point coordinates.
iEndPoint
[in] 2D end point coordinates.
o CreateLine
public virtual CreateLine( const iPoint,
const iDirection,
const iStartParam,
const iEndParam)
Creates a 2D line.
Parameters:
iPoint
[in] 2D origin point coordinates.
iDirection
[in] 2D direction coordinates (will be normalized).
iStartParam
[in] Parameter of the start point (iPoint + iStartParam * iDirection).
iEndParam
[in] Parameter of the end point (iPoint + iEndParam * iDirection).
o CreateOffsetCurve
public virtual CreateOffsetCurve( const iCornerType,
iRefGeom,
const iValue)
Creates a 2D offset curve of a 2D curve.
Parameters:
iCornerType
[in] Corner computation mode.
iRefGeom
[in] Offseted curve.
iValue
[in] Signed offset value.
o CreateOutput
public virtual CreateOutput( iGeom,
const iid,
oOutput)
Creates a 2D Output Geometry from 2D Geometry.
Parameters:
iGeom
[in] 2D Geometry of the current sketch.
iIID
[in] Interface identifier for which a pointer is requested.
oOutput
[out] Pointer to the created Output Geometry
o CreateOutputAxis
public virtual CreateOutputAxis( iGeom,
const iid,
oOutput)
Creates a 2D Output axis Geometry from 2D point.
Parameters:
iGeom
[in] 2D Geometry of the current sketch.
iIID
[in] Interface identifier for which a pointer is requested.
oOutput
[out] Pointer to the created Output Geometry
o CreateOutputPlane
public virtual CreateOutputPlane( iGeom,
const iid,
oOutput)
Creates a 2D Output plane from 2D line.
Parameters:
iGeom
[in] 2D Geometry of the current sketch.
iIID
[in] Interface identifier for which a pointer is requested.
oOutput
[out] Pointer to the created Output Geometry
o CreateOutputProfile
public virtual CreateOutputProfile( i2DGeoms,
const iIID,
oOutput)
Creates a 2D Output Profile from 2D Geometries.
Parameters:
io2DGeoms
[in/out] The set of geometries that defines the profile domain.
iIID
[in] Interface identifier for which a pointer is requested.
oOutput
[out] Pointer to the created Output Profile
o CreateParabola
public virtual CreateParabola( const iPoint,
const iAxis,
const iFocalDistance)
Creates a 2D parabola.
Parameters:
iPoint
[in] 2D center point coordinates.
iAxis
[in] 2D axis direction coordinates.
iFocalDistance
[in] Focal distance of the parabola.
o CreateParabola
public virtual CreateParabola( const iPoint,
const iAxis,
const iFocalDistance,
const iStartParam,
const iEndParam)
Creates a 2D parabola.
Parameters:
iPoint
[in] 2D center point coordinates.
iAxis
[in] 2D axis direction coordinates.
iFocalDistance
[in] Focal distance of the parabola.
iStartParam
[in] Parameter of the start point.
iEndParam
[in] Parameter of the end point.
o CreatePoint
public virtual CreatePoint( const iPoint)
Creates a 2D point.
Parameters:
iPoint
[in] 2D point coordinates.
o CreatePolyline
public virtual CreatePolyline( const nPoints,
const pPoints,
const isClosed)
Creates a 2D polyline.
Parameters:
nPoints
[in] number of 2D points.
pPoints
[in] 2D point coordinates.
isClosed
[in] if TRUE, an additional arc will be created between the last and the first points to close the polyline curve.
o CreateSplineCurve
public virtual CreateSplineCurve( const iPoints,
const iEvaluationType)
Creates a 2D quintic spline curve (degree = 5).
Parameters:
iPoints
[in] List of spline control points.
iEvaluationType
[in] Evaluation mode (NOT USED).
o CreateUnspec
public virtual CreateUnspec( const iCurve)
Creates a curve from a CATPCurve object.
Parameters:
iCurve
[in] CATPCurve (also a CATCurve) to create.
o Duplicate
public virtual Duplicate( const iGeoms,
ioTransfo)
Duplicates a set of 2D geometries and applies a transformation to the result.
Parameters:
iGeoms
[in] List of geometric elements to duplicate.
ioTransfo
[inout] 2D transformation to apply to the duplicated elements.
o FixTogether
public virtual FixTogether( io2DGeoms,
const iIID,
oFixTogether,
const iAddFamily=1)
Creates a Fix Together Constraint (rigid set) of 2D Geometries.
Parameters:
io2DGeoms
[in/out] The set of geometries on which the Fix Together must be created. The list of geometries with/without dependencies is returned after creation.
iIID
[in] Interface identifier for which a pointer is requested.
oFixTogether
[out] Pointer to the created Fix Together Constraint.
iAddFamily
[in] Optional: Dependencies management.
Legal values:
0
Not management of dependencies
<1
default value: the geometries will be added with their dependencies
See also:
o IntersectGeometry
public virtual IntersectGeometry( const iGeom,
oGeoms,
const iPhantom=0,
iNearGeom=NULL,
const iSel2DPt=NULL,
const iDatum=0,
const iCanonic=1)
Intersects 3D or 2D external geometry.
Parameters:
iGeom
[in] External geometric element to intersect with the sketch plane.
oGeoms
[out] List of handlers on the created objects.
iPhantom
[in] Creation mode.
1
The geometric elements are created in phantom mode (invisible).
0
The geometric elements are created in standard mode (visible).
iNearGeom
[in] Optional external geometric element to keep the nearest solution.
iSel2DPt
[in] Optional 2D point coordinates to keep only the nearest solution for a canonical surface projection.
iDatum
[in] Datum mode.
1
The generated geometric elements are not associative.
0
The generated geometric elements are associative.
iCanonic
[in] To manage canonicity.
1
If possible the final geometry will be canonical.
0
No canonicity management.
o OffsetGeometry
public virtual OffsetGeometry( const iCornerType,
iRefGeom,
const iValue,
const iPropagType=OffsetPropagType_None,
iInitGeom=NULL,
const iInitPt=NULL,
const iOperMode=0,
const iCanonical=1)
Offsets 3D geometry.
Parameters:
iCornerType
[in] Corner computation mode.
iRefGeom
[in] External geometric element.
iValue
[in] Signed offset value.
iPropagType
[in] Optional propagation mode. See CAT2DOffsetDefs.
iInitGeom
[in] Optional external geometric element to keep the nearest solution.
iIniPt
[in] Optional 2D point coordinates to keep the nearest solution.
iCanonic
[in] To manage canonicity.
o ProjectGeometry
public virtual ProjectGeometry( const iGeom,
oGeoms,
const iPhantom=0,
iNearGeom=NULL,
const iSel2DPt=NULL,
const iDatum=0,
const iCanonic=1)
Projects 3D or 2D external geometry on a sketch.
Parameters:
iGeom
[in] External geometric element to project on the sketch plane.
oGeoms
[out] List of handlers on the created objects.
iPhantom
[in] Creation mode.
1
The geometric elements are created in phantom mode (invisible).
0
The geometric elements are created in standard mode (visible).
iNearGeom
[in] Optional external geometric element to keep the nearest solution.
iSel2DPt
[in] Optional 2D point coordinates to keep only the nearest solution for a canonical surface projection.
iDatum
[in] Datum mode.
1
The generated geometric elements are not associative.
0
The generated geometric elements are associative.
iCanonic
[in] To manage canonicity.
1
If possible the final geometry will be canonical.
0
No canonicity management.
o SilhouetteGeometry
public virtual SilhouetteGeometry( const iGeom,
oGeoms,
const iPhantom=0,
iNearGeom=NULL,
const iSel2DPt=NULL,
const iDatum=0)
Creates the silhouette of a surface.
Parameters:
iGeom
[in] External geometric element
oGeoms
[out] List of handlers on the created objects.
iPhantom
[in] Creation mode.
1
The geometric elements are created in phantom mode (invisible).
0
The geometric elements are created in standard mode (visible).
iNearGeom
[in] Optional external geometric element to keep the nearest solution.
iSel2DPt
[in] Optional 2D point coordinates to keep only the nearest solution
iDatum
[in] Datum mode.
1
The generated geometric elements are not associative.
0
The generated geometric elements are associative.

This object is included in the file: CATISktUse2DWFFactory.h
If needed, your Imakefile.mk should include the module: CATSketcherUseItf

Copyright © 1999-2014, Dassault Systèmes. All rights reserved.