All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

ManufacturingInterfaces Interface CATIMfgTPMultipleMotion

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---ManufacturingInterfaces.CATIMfgToolPath
        |
        +---ManufacturingInterfaces.CATIMfgTraject
          |
          +---ManufacturingInterfaces.CATIMfgElementaryTraject
            |
            +---ManufacturingInterfaces.CATIMfgToolMotion
              |
              +---CATIMfgTPMultipleMotion
 

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


interface CATIMfgTPMultipleMotion

Interface for management of tool motions inside tool path model.
A CATIMfgTPMultipleMotion must be the child of a CATIMfgCompoundTraject object.
A CATIMfgTPMultipleMotion object is a tool path object in which it is possible to store several subtrajects.
A subtraject can describe, either a set of linear motions ("Polyline"), either a circular motion ("Circle Arc"), either a "PP Command" (NC Command which is evaluated from syntax described in PP Table), either a "User Syntax" (which is generated as it is in APT file), either an helical motion ("Helix").
To model cutter profile data, you must use CATIMfgTPMultipleMotionWithProfileData object.
A CATIMfgTPMultipleMotion object can have nurbs data to retrieve with CATIMfgTPMultipleMotionNurbs interface.

See also:
CATIMfgToolPathFactory
See also:
CATIMfgCompoundTraject


Method Index


o AddCircleArc(CATUnicodeString&,CATUnicodeString&,CATListOfDouble&,CATListOfDouble&,CATListOfDouble&,CATMathVector&,CATMathPoint&,double)
Add a subtraject describing a "Circle Arc" (circular motion).
o AddContactNormals(CATListOfDouble&,CATListOfDouble&,CATListOfDouble&)
Add contact normals in the last subtraject.
o AddContactPoints(CATListOfDouble&,CATListOfDouble&,CATListOfDouble&)
Add contact points in the last subtraject.
o AddHelix(CATUnicodeString&,CATUnicodeString&,CATListOfDouble&,CATListOfDouble&,CATListOfDouble&,CATMathVector&,CATMathPoint&,double,CATMathVector&,double)
Add a subtraject describing a "Helix" (helical motion).
o AddPPCommand(CATUnicodeString&,int)
Add a subtraject describing a "PP command".
o AddPolyline(CATUnicodeString&,CATUnicodeString&,CATListOfDouble&,CATListOfDouble&,CATListOfDouble&)
Add a subtraject describing a "Polyline" (set of linear motions).
o AddToolAxis(CATListOfDouble&,CATListOfDouble&,CATListOfDouble&)
Add tool axis in the last subtraject (to describe a 5 axis motion).
o AddUserSyntax(CATUnicodeString&)
Add a subtraject describing a "user syntax".
o EndReadExternalFile()
This method has to be used if "StartReadExternalFile" has been used.
o GetCircleCharacteristics(int,CATMathVector&,CATMathPoint&,double&,CATAngle&,CATMathVector&)
Gets characteristics of a subtraject describing a "circle arc" (circular motion).
o GetCommandEvaluation(int,CATListValCATUnicodeString&)
Evaluates syntax relative to a subtraject describing a "PP command".
o GetEditionStatus(int,CATIMfgTPMultipleMotion::EditionStatus&)
Retrieves the edition status for a point of the tool path.
o GetHelixCharacteristics(int,CATMathVector&,CATMathPoint&,double&,CATMathVector&,double&)
Gets characteristics of a subtraject describing a "helix" (helical motion).
o GetNumberOfPQRDatas(int,int&)
Retrieves the number of 'PQR' vectors for a subtraject.
o GetPPCommandCharacteristics(int,CATUnicodeString&,int&)
Gets characteristics of a subtraject describing a "PP command".
o GetPQRData(int,int,double&,double&,double&)
Retrieves the coordinates of one 'PQR' vector for a subtraject.
o GetPQRDatas(int,CATListOfDouble&,CATListOfDouble&,CATListOfDouble&)
Retrieves the coordinates of 'PQR' vectors for a subtraject.
o GetSpecificFeedrate(CATIMfgToolPathFeedrate_var&,int)
Retrieves local feedrate on a subtraject.
o GetSpecificSpindle(CATIMfgToolPathSpindle_var&,int)
Retrieves local spindle on a subtraject.
o GetSpecificToolAxis(CATIMfgToolPathToolAxis_var&,int)
Retrieves local tool axis on a subtraject.
o GetSpindleRotationWay(int&,int)
Retrieves the way of rotation for the spindle on a subtraject.
o GetSubTrajectType(int,SubTrajectType&)
Gets type of a subtraject.
o GetTotalNumberOfPQRDatas(int&)
Retrieves the total number of 'PQR' vectors stored in the MultipleMotion.
o GetUserSyntaxCharacteristics(int,CATUnicodeString&)
Gets characteristics of a subtraject describing a "user syntax".
o SaveDatas()
Save datas relative to the current object in the model.
o SetEditionStatus(int,CATIMfgTPMultipleMotion::EditionStatus)
Sets the edition status for a point of the tool path.
o SetSpecificCorrectorNumber(int,int)
Sets a local tool corrector number on a subtraject.
o SetSpecificFeedrate(CATIMfgToolPathFeedrate_var&,int)
Sets a local feedrate on a subtraject.
o SetSpecificSpindle(CATIMfgToolPathSpindle_var&,int)
Sets a local spindle on a subtraject.
o SetSpecificToolAxis(CATIMfgToolPathToolAxis_var&,int)
Sets a local tool axis on a subtraject.
o SetSpindleInverseRotationWay(int)
Inverts the way of rotation of the spindle on a subtraject.
o SetSpindleNormalRotationWay(int)
Sets the normal way of rotation for the spindle on a subtraject (according to the right/left way of rotation for the tool).
o StartReadExternalFile()
Quick access to coordinates in the case of a packed tool path.

Enumerated Type Index


o EditionStatus
Edition status for each point of the object.
o SubTrajectType
Type of subtraject that can exist in a multiple motion object.

Methods


o AddCircleArc
public virtual CATBoolean AddCircleArc( const CATUnicodeString& iTrajectType,
const CATUnicodeString& iFeedrateType,
const CATListOfDouble& iX,
const CATListOfDouble& iY,
const CATListOfDouble& iZ,
const CATMathVector& iNormal,
const CATMathPoint& iCenter,
double iRadius) = 0
Add a subtraject describing a "Circle Arc" (circular motion).
Parameters:
iTrajectType
The type of traject
Legal values:
  • "TPApproachTraject" : approach traject
  • "TPMachiningTraject" : machining traject
  • "TPRetractTraject" : retract traject
  • "TPLinkingTraject" : linking traject
  • "TPBetweenPathTraject" : traject between path
iFeedrateType
The type of feedrate
Legal values:
  • "TPApproachFeedrate" : approach feedrate
  • "TPMachiningFeedrate": machining feedrate
  • "TPRetractFeedrate" : retract feedrate
  • "TPRapidFeedrate" : rapid feedrate
  • "TPFinishingFeedrate" : finishing feedrate
  • "TPChamferingFeedrate" : chamfering feedrate
  • "TPPlungeFeedrate" : plunge feedrate
iX,iY,iZ
The coordinates of tip points (discretization of the circle arc)
iNormale
The oriented normal to the plane containing the circle arc
iCenter
The center of the circle arc
iRadius
The radius of the circle arc.
o AddContactNormals
public virtual CATBoolean AddContactNormals( const CATListOfDouble& iX,
const CATListOfDouble& iY,
const CATListOfDouble& iZ) = 0
Add contact normals in the last subtraject.
The last subtraject must be a "Polyline", a "Circle Arc" or an "Helix".
Parameters:
iX,iY,iZ
The coordinates of contact normals
o AddContactPoints
public virtual CATBoolean AddContactPoints( const CATListOfDouble& iX,
const CATListOfDouble& iY,
const CATListOfDouble& iZ) = 0
Add contact points in the last subtraject.
The last subtraject must be a "Polyline", a "Circle Arc" or an "Helix".
Parameters:
iX,iY,iZ
The coordinates of contact points
o AddHelix
public virtual HRESULT AddHelix( const CATUnicodeString& iTrajectType,
const CATUnicodeString& iFeedrateType,
const CATListOfDouble& iX,
const CATListOfDouble& iY,
const CATListOfDouble& iZ,
const CATMathVector& iAxis,
const CATMathPoint& iCenter,
double iRadius,
const CATMathVector& iStartTangent,
double iPitch) = 0
Add a subtraject describing a "Helix" (helical motion).
Parameters:
iTrajectType
The type of traject
Legal values:
  • "TPApproachTraject" : approach traject
  • "TPMachiningTraject" : machining traject
  • "TPRetractTraject" : retract traject
  • "TPLinkingTraject" : linking traject
  • "TPBetweenPathTraject" : traject between path
  • "TPApproachTrajectAlongSection" : approach traject along section< /li>
  • "TPLinkingTrajectAlongSection" : linking traject along section
  • "TPRetractTrajectAlongSection" : retract traject along section
iFeedrateType
The type of feedrate
Legal values:
  • "TPApproachFeedrate" : approach feedrate
  • "TPMachiningFeedrate": machining feedrate
  • "TPRetractFeedrate" : retract feedrate
  • "TPRapidFeedrate" : rapid feedrate
  • "TPFinishingFeedrate" : finishing feedrate
  • "TPChamferingFeedrate" : chamfering feedrate
  • "TPPlungeFeedrate" : plunge feedrate
  • "TPAirCuttingFeedrate" : air cutting feedrate
iX
The X coordinate of tip points (discretization of the helix)
iY
The Y coordinate of tip points (discretization of the helix)
iZ
The Z coordinate of tip points (discretization of the helix)
iAxis
The oriented axis of the helix
iCenter
The center of the helix
iRadius
The radius of the helix
iStartTangent
The oriented tangent to the helix at the start point
iPitch
The pitch of the helix
o AddPPCommand
public virtual CATBoolean AddPPCommand( const CATUnicodeString& iPPCommand,
int SequenceNumber= 1) = 0
Add a subtraject describing a "PP command".
A PP Syntax is a "NC Command" described in PP Table and evaluated from it during generation of APT file.
Parameters:
iPPCommand
The name of "NC Command"
iSequenceNumber
The number of sequence in the PP Table
o AddPolyline
public virtual CATBoolean AddPolyline( const CATUnicodeString& iTrajectType,
const CATUnicodeString& iFeedrateType,
const CATListOfDouble& iX,
const CATListOfDouble& iY,
const CATListOfDouble& iZ) = 0
Add a subtraject describing a "Polyline" (set of linear motions).
Parameters:
iTrajectType
The type of traject
Legal values:
  • "TPApproachTraject" : approach traject
  • "TPMachiningTraject" : machining traject
  • "TPRetractTraject" : retract traject
  • "TPLinkingTraject" : linking traject
  • "TPBetweenPathTraject" : traject between path
iFeedrateType
The type of feedrate
Legal values:
  • "TPApproachFeedrate" : approach feedrate
  • "TPMachiningFeedrate": machining feedrate
  • "TPRetractFeedrate" : retract feedrate
  • "TPRapidFeedrate" : rapid feedrate
  • "TPFinishingFeedrate" : finishing feedrate
  • "TPChamferingFeedrate" : chamfering feedrate
  • "TPPlungeFeedrate" : plunge feedrate
iX,iY,iZ
The coordinates of tip points
o AddToolAxis
public virtual CATBoolean AddToolAxis( const CATListOfDouble& iX,
const CATListOfDouble& iY,
const CATListOfDouble& iZ) = 0
Add tool axis in the last subtraject (to describe a 5 axis motion).
The last subtraject must be a "Polyline", a "Circle Arc" or an "Helix".
Parameters:
iX,iY,iZ
The coordinates of tool axis
o AddUserSyntax
public virtual CATBoolean AddUserSyntax( const CATUnicodeString& iUserSyntax) = 0
Add a subtraject describing a "user syntax".
A user syntax is a string generated as it is in APT file.
Parameters:
iUserSyntax
The user syntax
o EndReadExternalFile
public virtual CATBoolean EndReadExternalFile()= 0
This method has to be used if "StartReadExternalFile" has been used.
o GetCircleCharacteristics
public virtual CATBoolean GetCircleCharacteristics(int iSubTraject,
CATMathVector& oNormal,
CATMathPoint& oCenter,
double& oRadius,
CATAngle& oAngle,
CATMathVector& oStartTangent) = 0
Gets characteristics of a subtraject describing a "circle arc" (circular motion).
Parameters:
iSubTraject
The number of subtraject
oNormal
The oriented normal to the plane containing the circle arc
oCenter
The center of the circle arc
oRadius
The radius of the circle arc.
oAngle
The angle described by the circle arc.
oStartTangent
The tangent vector to the circle at its start point
o GetCommandEvaluation
public virtual CATBoolean GetCommandEvaluation(int iSubTraject,
CATListValCATUnicodeString& oSyntax) =0
Evaluates syntax relative to a subtraject describing a "PP command".
Parameters:
iSubTraject
The number of subtraject
oSyntax
The value of syntax
o GetEditionStatus
public virtual CATBoolean GetEditionStatus(int iNumber,
CATIMfgTPMultipleMotion::EditionStatus& oEditionStatus) = 0
Retrieves the edition status for a point of the tool path.
Parameters:
iNumber
The number of the point
oEditionStatus
The edition status of the point
o GetHelixCharacteristics
public virtual HRESULT GetHelixCharacteristics(int iSubTraject,
CATMathVector& oAxis,
CATMathPoint& oCenter,
double& oRadius,
CATMathVector& oStartTangent,
double& oPitch) = 0
Gets characteristics of a subtraject describing a "helix" (helical motion).
Parameters:
iSubTraject
The number of subtraject
oAxis
The oriented axis of the helix
oCenter
The center of the helix
oRadius
The radius of the helix
oStartTangent
The tangent vector to the helix at its start point
oPitch
The pitch of the helix
o GetNumberOfPQRDatas
public virtual CATBoolean GetNumberOfPQRDatas(int iSubTraject,
int& oNumber) = 0
Retrieves the number of 'PQR' vectors for a subtraject.
Parameters:
iSubTraject
The index of subtraject
oNumber
The number of 'PQR' vectors
o GetPPCommandCharacteristics
public virtual CATBoolean GetPPCommandCharacteristics(int iSubTraject,
CATUnicodeString& oPPCommandName,
int& oSequenceNumber) = 0
Gets characteristics of a subtraject describing a "PP command".
Parameters:
iSubTraject
The number of subtraject
oPPCommand
The name of "NC Command"
oSequenceNumber
The number of sequence in the PP Table
o GetPQRData
public virtual CATBoolean GetPQRData(int iSubMotion,
int iIndex,
double& oP,
double& oQ,
double& oR) = 0
Retrieves the coordinates of one 'PQR' vector for a subtraject.
Parameters:
iSubTraject
The index of subtraject
iIndex
The index of point in the subtraject
oP,oQ,oR
The coordinates of one 'PQR' vector
o GetPQRDatas
public virtual CATBoolean GetPQRDatas(int iSubTraject,
CATListOfDouble& oP,
CATListOfDouble& oQ,
CATListOfDouble& oR) = 0
Retrieves the coordinates of 'PQR' vectors for a subtraject.
Parameters:
iSubTraject
The index of subtraject
oP,oQ,oR
The lists of coordinates of 'PQR' vectors
o GetSpecificFeedrate
public virtual CATBoolean GetSpecificFeedrate(CATIMfgToolPathFeedrate_var& oFeedrate,
int iSubTraject=1) =0
Retrieves local feedrate on a subtraject.
The subtraject must be a "Polyline", a "Circle Arc" or an "Helix".
Parameters:
oFeedrate
The local feedrate
iSubTraject
The number of subtraject
Returns:
Return code.
Legal values:
  • TRUE: a local feedrate has been found
  • FALSE: no local feedrate has been found
o GetSpecificSpindle
public virtual CATBoolean GetSpecificSpindle(CATIMfgToolPathSpindle_var& oSpindle,
int iSubTraject=1) =0
Retrieves local spindle on a subtraject.
The subtraject must be a "Polyline", a "Circle Arc" or an "Helix".
Parameters:
oSpindle
The local spindle
iSubTraject
The number of subtraject
Returns:
Return code.
Legal values:
  • TRUE: a local spindle has been found
  • FALSE: no local spindle has been found
o GetSpecificToolAxis
public virtual CATBoolean GetSpecificToolAxis(CATIMfgToolPathToolAxis_var& oToolAxis,
int iSubTraject=1) =0
Retrieves local tool axis on a subtraject.
The subtraject must be a "Polyline", a "Circle Arc" or an "Helix".
Parameters:
oToolAxis
The local tool axis
iSubTraject
The number of subtraject
Returns:
Return code.
Legal values:
  • TRUE: a local tool axis has been found
  • FALSE: no local tool axis has been found
o GetSpindleRotationWay
public virtual CATBoolean GetSpindleRotationWay(int& oRotationWay,
int iSubTraject) = 0
Retrieves the way of rotation for the spindle on a subtraject.
The subtraject must be a "Polyline", a "Circle Arc" or an "Helix".
Parameters:
oRotationWay

Legal values:
  • oRotationWay = 1 : normal way of rotation of the spindle (according the right/left way of rotation for the tool)
  • oRotationWay = 2 : inverted way of rotation
iSubTraject
The number of subtraject
o GetSubTrajectType
public virtual CATBoolean GetSubTrajectType(int iSubTraject,
SubTrajectType& oSubTrajectType) = 0
Gets type of a subtraject.
Parameters:
iSubTraject
The number of the subtraject
oSubTraject
The type of the subtraject
o GetTotalNumberOfPQRDatas
public virtual CATBoolean GetTotalNumberOfPQRDatas(int& oNumber) = 0
Retrieves the total number of 'PQR' vectors stored in the MultipleMotion.
Parameters:
oNumber
The number of 'PQR' vectors
Legal values:
  • 0 : no 'PQR' vector in the multiple motion object
  • >0 : at least one subtraject contains a 'PQR' vector
o GetUserSyntaxCharacteristics
public virtual CATBoolean GetUserSyntaxCharacteristics(int iSubTraject,
CATUnicodeString& oUserSyntax) = 0
Gets characteristics of a subtraject describing a "user syntax".
Parameters:
iSubTraject
The number of subtraject
oUserSyntax
The user syntax
o SaveDatas
public virtual CATBoolean SaveDatas()= 0
Save datas relative to the current object in the model.
THIS SERVICE MUST BE CALLED AT THE END OF CREATION AND STORAGE OF SUBTRAJECTS IN THE MULTIPLE MOTION.
o SetEditionStatus
public virtual CATBoolean SetEditionStatus(int iNumber,
CATIMfgTPMultipleMotion::EditionStatus iEditionStatus) = 0
Sets the edition status for a point of the tool path.
Parameters:
iNumber
The number of the point
iEditionStatus
The edition status of the point
o SetSpecificCorrectorNumber
public virtual CATBoolean SetSpecificCorrectorNumber(int iCorrectorNumber,
int iSubTraject) =0
Sets a local tool corrector number on a subtraject.
The subtraject must be a "Polyline", a "Circle Arc" or an "Helix".
Parameters:
iCorrectorNumber
The tool corrector number value
iSubTraject
The number of subtraject
o SetSpecificFeedrate
public virtual CATBoolean SetSpecificFeedrate(CATIMfgToolPathFeedrate_var& iFeedrate,
int iSubTraject=1) =0
Sets a local feedrate on a subtraject.
The subtraject must be a "Polyline", a "Circle Arc" or an "Helix".
Parameters:
iFeedrate
The local feedrate
iSubTraject
The number of subtraject
o SetSpecificSpindle
public virtual CATBoolean SetSpecificSpindle(CATIMfgToolPathSpindle_var& iSpindle,
int iSubTraject=1) =0
Sets a local spindle on a subtraject.
The subtraject must be a "Polyline", a "Circle Arc" or an "Helix".
Parameters:
iSpindle
The local spindle
iSubTraject
The number of subtraject
o SetSpecificToolAxis
public virtual CATBoolean SetSpecificToolAxis(CATIMfgToolPathToolAxis_var& iToolAxis,
int iSubTraject=1) =0
Sets a local tool axis on a subtraject.
The subtraject must be a "Polyline", a "Circle Arc" or an "Helix".
Parameters:
iSpindle
The local tool axis
iSubTraject
The number of subtraject
o SetSpindleInverseRotationWay
public virtual CATBoolean SetSpindleInverseRotationWay(int iSubTraject) = 0
Inverts the way of rotation of the spindle on a subtraject.
The subtraject must be a "Polyline", a "Circle Arc" or an "Helix".
o SetSpindleNormalRotationWay
public virtual CATBoolean SetSpindleNormalRotationWay(int iSubTraject) = 0
Sets the normal way of rotation for the spindle on a subtraject (according to the right/left way of rotation for the tool).
The subtraject must be a "Polyline", a "Circle Arc" or an "Helix".
o StartReadExternalFile
public virtual CATBoolean StartReadExternalFile()= 0
Quick access to coordinates in the case of a packed tool path.
To avoid possible performance problems (especially when coordinates of points are not read in a growing order), you should call this method before to access points (with GetTipPoint, etc ..). If you call this method, you have to call "EndReadExternalFile" at the end of the session to free memory (when you do not need anymore to access coordinates).

Enumerated Types


o EditionStatus
enum EditionStatus {
  TP_None,
  Modified,
  Inserted,
  RemovedAfter
}
Edition status for each point of the object.

Legal values:
  • None : point has not edited
  • Modified : point has been modified
  • Inserted : point has been inserted
  • RemovedAfter : at least one point has been removed after the current one
o SubTrajectType
enum SubTrajectType {
  PolyLine,
  Circle,
  PPCommand,
  UserSyntax,
  Helix
}
Type of subtraject that can exist in a multiple motion object.

Legal values:
  • Polyline : subtraject describing a "polyline" (Set of linear motions)
  • Circle : subtraject describing a "circle arc" (circular motion)
  • PPCommand : subtraject describing a "PP command"
  • UserSyntax : subtraject describing a "user syntax"
  • Helix : subtraject describing an "Helix" (helical motion)

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

Copyright © 2003, Dassault Systèmes. All rights reserved.