Open CASCADE Technology 7.8.2.dev
|
Reads STEP files, checks them and translates their contents into Open CASCADE models. The STEP data can be that of a whole model or that of a specific list of entities in the model. As in XSControl_Reader, you specify the list using a selection. For the translation of iges files it is possible to use next sequence: To change translation parameters class Interface_Static should be used before beginning of translation (see STEP Parameters and General Parameters) Creation of reader - STEPControl_Reader reader; To load s file in a model use method reader.ReadFile("filename.stp") To print load results reader.PrintCheckLoad(failsonly,mode) where mode is equal to the value of enumeration IFSelect_PrintCount For definition number of candidates : Standard_Integer nbroots = reader. NbRootsForTransfer(); To transfer entities from a model the following methods can be used: for the whole model - reader.TransferRoots(); to transfer a list of entities: reader.TransferList(list); to transfer one entity Handle(Standard_Transient) ent = reader.RootForTransfer(num); reader.TransferEntity(ent), or reader.TransferOneRoot(num), or reader.TransferOne(num), or reader.TransferRoot(num) To obtain the result the following method can be used: reader.NbShapes() and reader.Shape(num); or reader.OneShape(); To print the results of transfer use method: reader.PrintCheckTransfer(failwarn,mode); where printfail is equal to the value of enumeration IFSelect_PrintFail, mode see above; or reader.PrintStatsTransfer(); Gets correspondence between a STEP entity and a result shape obtained from it. Handle(XSControl_WorkSession) WS = reader.WS(); if ( WS->TransferReader()->HasResult(ent) ) TopoDS_Shape shape = WS->TransferReader()->ShapeResult(ent);. More...
#include <STEPControl_Reader.hxx>
Public Member Functions | |
STEPControl_Reader () | |
Creates a reader object with an empty STEP model. | |
STEPControl_Reader (const Handle< XSControl_WorkSession > &WS, const Standard_Boolean scratch=Standard_True) | |
Creates a Reader for STEP from an already existing Session Clears the session if it was not yet set for STEP. | |
Handle< StepData_StepModel > | StepModel () const |
Returns the model as a StepModel. It can then be consulted (header, product) | |
virtual IFSelect_ReturnStatus | ReadFile (const Standard_CString filename) override |
Loads a file and returns the read status Zero for a Model which compies with the Controller. | |
virtual IFSelect_ReturnStatus | ReadStream (const Standard_CString theName, std::istream &theIStream) override |
Loads a file from stream and returns the read status. | |
IFSelect_ReturnStatus | ReadFile (const Standard_CString filename, const StepData_ConfParameters &theParams) |
Loads a file and returns the read status Zero for a Model which compies with the Controller. | |
IFSelect_ReturnStatus | ReadStream (const Standard_CString theName, const StepData_ConfParameters &theParams, std::istream &theIStream) |
Loads a file from stream and returns the read status. | |
Standard_Boolean | TransferRoot (const Standard_Integer num=1, const Message_ProgressRange &theProgress=Message_ProgressRange()) |
Transfers a root given its rank in the list of candidate roots Default is the first one Returns True if a shape has resulted, false else Same as inherited TransferOneRoot, kept for compatibility. | |
virtual Standard_Integer | NbRootsForTransfer () override |
Determines the list of root entities from Model which are candidate for a transfer to a Shape (type of entities is PRODUCT) | |
void | FileUnits (TColStd_SequenceOfAsciiString &theUnitLengthNames, TColStd_SequenceOfAsciiString &theUnitAngleNames, TColStd_SequenceOfAsciiString &theUnitSolidAngleNames) |
Returns sequence of all unit names for shape representations found in file. | |
void | SetSystemLengthUnit (const Standard_Real theLengthUnit) |
Sets system length unit used by transfer process. Performs only if a model is not NULL. | |
Standard_Real | SystemLengthUnit () const |
Returns system length unit used by transfer process. Performs only if a model is not NULL. | |
Public Member Functions inherited from XSControl_Reader | |
XSControl_Reader () | |
Creates a Reader from scratch (creates an empty WorkSession) A WorkSession or a Controller must be provided before running. | |
XSControl_Reader (const Standard_CString norm) | |
Creates a Reader from scratch, with a norm name which identifies a Controller. | |
XSControl_Reader (const Handle< XSControl_WorkSession > &WS, const Standard_Boolean scratch=Standard_True) | |
Creates a Reader from an already existing Session, with a Controller already set Virtual destructor. | |
virtual | ~XSControl_Reader () |
Empty virtual destructor. | |
Standard_Boolean | SetNorm (const Standard_CString norm) |
Sets a specific norm to <me> Returns True if done, False if <norm> is not available. | |
void | SetWS (const Handle< XSControl_WorkSession > &WS, const Standard_Boolean scratch=Standard_True) |
Sets a specific session to <me> | |
Handle< XSControl_WorkSession > | WS () const |
Returns the session used in <me> | |
Handle< Interface_InterfaceModel > | Model () const |
Returns the model. It can then be consulted (header, product) | |
Handle< TColStd_HSequenceOfTransient > | GiveList (const Standard_CString first="", const Standard_CString second="") |
Returns a list of entities from the IGES or STEP file according to the following rules: | |
Handle< TColStd_HSequenceOfTransient > | GiveList (const Standard_CString first, const Handle< Standard_Transient > &ent) |
Computes a List of entities from the model as follows <first> being a Selection, <ent> being an entity or a list of entities (as a HSequenceOfTransient) : the standard result of this selection applied to this list if <first> is erroneous, a null handle is returned. | |
Handle< Standard_Transient > | RootForTransfer (const Standard_Integer num=1) |
Returns an IGES or STEP root entity for translation. The entity is identified by its rank in a list. | |
Standard_Boolean | TransferOneRoot (const Standard_Integer num=1, const Message_ProgressRange &theProgress=Message_ProgressRange()) |
Translates a root identified by the rank num in the model. false is returned if no shape is produced. | |
Standard_Boolean | TransferOne (const Standard_Integer num, const Message_ProgressRange &theProgress=Message_ProgressRange()) |
Translates an IGES or STEP entity identified by the rank num in the model. false is returned if no shape is produced. | |
Standard_Boolean | TransferEntity (const Handle< Standard_Transient > &start, const Message_ProgressRange &theProgress=Message_ProgressRange()) |
Translates an IGES or STEP entity in the model. true is returned if a shape is produced; otherwise, false is returned. | |
Standard_Integer | TransferList (const Handle< TColStd_HSequenceOfTransient > &list, const Message_ProgressRange &theProgress=Message_ProgressRange()) |
Translates a list of entities. Returns the number of IGES or STEP entities that were successfully translated. The list can be produced with GiveList. Warning - This function does not clear the existing output shapes. | |
Standard_Integer | TransferRoots (const Message_ProgressRange &theProgress=Message_ProgressRange()) |
Translates all translatable roots and returns the number of successful translations. Warning - This function clears existing output shapes first. | |
void | ClearShapes () |
Clears the list of shapes that may have accumulated in calls to TransferOne or TransferRoot.C. | |
Standard_Integer | NbShapes () const |
Returns the number of shapes produced by translation. | |
TopoDS_Shape | Shape (const Standard_Integer num=1) const |
Returns the shape resulting from a translation and identified by the rank num. num equals 1 by default. In other words, the first shape resulting from the translation is returned. | |
TopoDS_Shape | OneShape () const |
Returns all of the results in a single shape which is: | |
void | PrintCheckLoad (const Standard_Boolean failsonly, const IFSelect_PrintCount mode) const |
Prints the check list attached to loaded data, on the Standard Trace File (starts at std::cout) All messages or fails only, according to <failsonly> mode = 0 : per entity, prints messages mode = 1 : per message, just gives count of entities per check mode = 2 : also gives entity numbers. | |
void | PrintCheckLoad (Standard_OStream &theStream, const Standard_Boolean failsonly, const IFSelect_PrintCount mode) const |
Prints the check list attached to loaded data. | |
void | PrintCheckTransfer (const Standard_Boolean failsonly, const IFSelect_PrintCount mode) const |
Displays check results for the last translation of IGES or STEP entities to Open CASCADE entities. Only fail messages are displayed if failsonly is true. All messages are displayed if failsonly is false. mode determines the contents and the order of the messages according to the terms of the IFSelect_PrintCount enumeration. | |
void | PrintCheckTransfer (Standard_OStream &theStream, const Standard_Boolean failsonly, const IFSelect_PrintCount mode) const |
Displays check results for the last translation of IGES or STEP entities to Open CASCADE entities. | |
void | PrintStatsTransfer (const Standard_Integer what, const Standard_Integer mode=0) const |
Displays the statistics for the last translation. what defines the kind of statistics that are displayed as follows: | |
void | PrintStatsTransfer (Standard_OStream &theStream, const Standard_Integer what, const Standard_Integer mode=0) const |
Displays the statistics for the last translation. | |
void | GetStatsTransfer (const Handle< TColStd_HSequenceOfTransient > &list, Standard_Integer &nbMapped, Standard_Integer &nbWithResult, Standard_Integer &nbWithFail) const |
Gives statistics about Transfer. | |
Additional Inherited Members | |
Protected Member Functions inherited from XSControl_Reader | |
TopTools_SequenceOfShape & | Shapes () |
Returns a sequence of produced shapes. | |
Protected Attributes inherited from XSControl_Reader | |
Standard_Boolean | therootsta |
TColStd_SequenceOfTransient | theroots |
Reads STEP files, checks them and translates their contents into Open CASCADE models. The STEP data can be that of a whole model or that of a specific list of entities in the model. As in XSControl_Reader, you specify the list using a selection. For the translation of iges files it is possible to use next sequence: To change translation parameters class Interface_Static should be used before beginning of translation (see STEP Parameters and General Parameters) Creation of reader - STEPControl_Reader reader; To load s file in a model use method reader.ReadFile("filename.stp") To print load results reader.PrintCheckLoad(failsonly,mode) where mode is equal to the value of enumeration IFSelect_PrintCount For definition number of candidates : Standard_Integer nbroots = reader. NbRootsForTransfer(); To transfer entities from a model the following methods can be used: for the whole model - reader.TransferRoots(); to transfer a list of entities: reader.TransferList(list); to transfer one entity Handle(Standard_Transient) ent = reader.RootForTransfer(num); reader.TransferEntity(ent), or reader.TransferOneRoot(num), or reader.TransferOne(num), or reader.TransferRoot(num) To obtain the result the following method can be used: reader.NbShapes() and reader.Shape(num); or reader.OneShape(); To print the results of transfer use method: reader.PrintCheckTransfer(failwarn,mode); where printfail is equal to the value of enumeration IFSelect_PrintFail, mode see above; or reader.PrintStatsTransfer(); Gets correspondence between a STEP entity and a result shape obtained from it. Handle(XSControl_WorkSession) WS = reader.WS(); if ( WS->TransferReader()->HasResult(ent) ) TopoDS_Shape shape = WS->TransferReader()->ShapeResult(ent);.
STEPControl_Reader::STEPControl_Reader | ( | ) |
Creates a reader object with an empty STEP model.
STEPControl_Reader::STEPControl_Reader | ( | const Handle< XSControl_WorkSession > & | WS, |
const Standard_Boolean | scratch = Standard_True ) |
Creates a Reader for STEP from an already existing Session Clears the session if it was not yet set for STEP.
void STEPControl_Reader::FileUnits | ( | TColStd_SequenceOfAsciiString & | theUnitLengthNames, |
TColStd_SequenceOfAsciiString & | theUnitAngleNames, | ||
TColStd_SequenceOfAsciiString & | theUnitSolidAngleNames ) |
Returns sequence of all unit names for shape representations found in file.
|
overridevirtual |
Determines the list of root entities from Model which are candidate for a transfer to a Shape (type of entities is PRODUCT)
Reimplemented from XSControl_Reader.
|
overridevirtual |
Loads a file and returns the read status Zero for a Model which compies with the Controller.
Reimplemented from XSControl_Reader.
IFSelect_ReturnStatus STEPControl_Reader::ReadFile | ( | const Standard_CString | filename, |
const StepData_ConfParameters & | theParams ) |
Loads a file and returns the read status Zero for a Model which compies with the Controller.
IFSelect_ReturnStatus STEPControl_Reader::ReadStream | ( | const Standard_CString | theName, |
const StepData_ConfParameters & | theParams, | ||
std::istream & | theIStream ) |
Loads a file from stream and returns the read status.
|
overridevirtual |
Loads a file from stream and returns the read status.
Reimplemented from XSControl_Reader.
void STEPControl_Reader::SetSystemLengthUnit | ( | const Standard_Real | theLengthUnit | ) |
Sets system length unit used by transfer process. Performs only if a model is not NULL.
Handle< StepData_StepModel > STEPControl_Reader::StepModel | ( | ) | const |
Returns the model as a StepModel. It can then be consulted (header, product)
Standard_Real STEPControl_Reader::SystemLengthUnit | ( | ) | const |
Returns system length unit used by transfer process. Performs only if a model is not NULL.
Standard_Boolean STEPControl_Reader::TransferRoot | ( | const Standard_Integer | num = 1, |
const Message_ProgressRange & | theProgress = Message_ProgressRange() ) |
Transfers a root given its rank in the list of candidate roots Default is the first one Returns True if a shape has resulted, false else Same as inherited TransferOneRoot, kept for compatibility.