CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
FxBIM.h File Reference
#include "FxBIMDefs.h"
#include <OdaCommon.h>
#include <OdaDefs.h>
#include <DbDatabase.h>
#include <DbBlockReference.h>
#include "FxBIMEntityReference.h"
#include <memory>
#include <map>
#include <vector>
#include <DbObjectId.h>
#include <functional>

Go to the source code of this file.

Classes

class  CFxBIMObject
 
class  CFxBIMIterator
 
class  CFxBIMIteratorRA
 
class  CFxBIMDbIterator
 
class  CFxBIMDbIteratorRA
 
class  FxBIM::Standard
 
class  CFxBIMReactor
 
struct  FxBIM::CFxSectionWallJoinImpl
 

Namespaces

namespace  FxBIM
 

Typedefs

typedef std::shared_ptr< CFxBIMObjectCFxBIMObjectPtr
 
typedef std::shared_ptr< CFxBIMIteratorCFxBIMIteratorPtr
 
typedef std::shared_ptr< CFxBIMIteratorRACFxBIMIteratorRAPtr
 
typedef std::shared_ptr< CFxBIMDbIteratorCFxBIMDbIteratorPtr
 
typedef std::shared_ptr< CFxBIMDbIteratorRACFxBIMDbIteratorRAPtr
 
typedef OdSmartPtr< CFxDocumentCFxDocumentPtr
 
using FxBIM::CFxSectionWallJoinImplPtr = std::shared_ptr< CFxSectionWallJoinImpl >
 

Enumerations

enum class  Error {
  eOk = 0 , eFail , eAbort , eInvalidParameter ,
  eNullFamSymbol , eGeomIsNotNode , eGeomIsNotGElement , eNotImplemented ,
  eDegenerateTopology , eDegenerateGeometry , eNullBmDatabase , eNullBmObject ,
  eNullBmObjectId , eNullDbObjectId , eNotFound , eNotThatKindOfClass ,
  eWrongIFCFormat , eWrongRVTFormat , eCVTInvalidParameter , eCVTInvalidConversionType ,
  eCVTInvalidSource , eCVTInvalidDestinationFolder , eCVTInvalidDestinationExists , eCVTViewUnset ,
  eCVTUnsupportedPlatform , eWrongTRBGeometryDefinition , eUnsupportedTRBGeometryDefinition , eCancelCommmand
}
 
enum  FxBIM::Version {
  FxBIM::k2019 = 1 , FxBIM::k2020 = 2 , FxBIM::k2021 = 3 , FxBIM::k2022 = 4 ,
  FxBIM::k2023 = 5 , FxBIM::k2024 = 5 , FxBIM::k2025 = 6 , FxBIM::kSP0 = 0 ,
  FxBIM::kSP1 = 1 , FxBIM::kSP2 = 2 , FxBIM::kSP3 = 3
}
 
enum class  BimStandards { eUnset = -2 , eUnknown = -1 , eISO = 0 , eANSI = 1 }
 
enum class  BimUnitsLength {
  eUndefined = 0 , eFeet = 1 , eInch = 2 , eM = 3 ,
  eDM = 4 , eCM = 5 , eMM = 6
}
 
enum class  BimUnitsStyle { eAuto = 0 , eSuperscript = 1 , ePrefix = 2 }
 
enum class  BimLabelUnitsPolicy { eAuto = 0 , eAlways = 1 , eNever = 2 }
 
enum class  BimUnitsArea {
  eUndefined = 0 , eSqFeet = 1 , eSqInches = 2 , eSqMeters = 3 ,
  eSqDM = 4 , eSqCM = 5 , eSqMM = 6
}
 
enum class  BimUnitsVolume {
  eUndefined = 0 , eCubicFeet = 1 , eCubicInches = 2 , eCubicMeters = 3 ,
  eCubicDecimeters = 4 , eCubicCentimeters = 5 , eCubicMilimeters = 6
}
 
enum class  EBIMView { e3DView = 0 , e2DView = 1 }
 
enum class  eBIMOuterWallsPlacement { kMostOuter , kAligned }
 
enum class  eBIMSplitDrawingMode {
  FIRST , kCustom = FIRST , kCenter , kFit ,
  LAST
}
 
enum class  BimLevelSymbolType {
  eNone = 0 , eCircle , eTriangle , eHalfTriangle ,
  eLast
}
 
enum class  BimAutoLabelType { ePlans = 1 , eSections = 2 , eElevations = 4 }
 
enum class  FxBIM::EFileType { FxBIM::eModelDrawing = 0x0 , FxBIM::eFlatshotDrawing = 0x1 }
 

Functions

FXBIM_COMMON_CODE_API OdString FxBIM::ToString (const Error &e)
 
FXBIM_API OdInt64 FxBIM::bimVersion (OdInt16 major, OdInt16 minor, OdInt16 revision)
 
FXBIM_API std::tuple< OdInt16, OdInt16, OdInt16FxBIM::bimVersion (OdInt64 fileVersion)
 
FXBIM_API OdInt64 FxBIM::currentVersion ()
 
template<typename T>
std::shared_ptr< T > FxBIM::cast (CFxBIMObjectPtr pBase)
 
template<typename T>
OdSmartPtr< T > FxBIM::cast (OdDbObjectId id, OdDb::OpenMode mode=OdDb::kForRead, bool openErased=false)
 
FXBIM_COMMON_CODE_API OdString FxBIM::ToString (const BimLevelSymbolType eLevelSymbolType, const bool bForUser=false)
 
FXBIM_API OdString FxBIM::BIMSTANDARD (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMSTANDARD (OdDbDatabase *pDb, const OdString &value)
 
FXBIM_API double FxBIM::BIMHPSCALE (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMHPSCALE (OdDbDatabase *pDb, const double &value)
 
FXBIM_COMMON_CODE_API int FxBIM::BIMUNITSLENGTH (const OdDbDatabase *pDb)
 
FXBIM_COMMON_CODE_API void FxBIM::SetBIMUNITSLENGTH (OdDbDatabase *pDb, const int &value)
 
FXBIM_API int FxBIM::BIMUNITSSTYLE (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMUNITSSTYLE (OdDbDatabase *pDb, const int &value)
 
FXBIM_API OdString FxBIM::BIMVPSCALE (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMVPSCALE (OdDbDatabase *pDb, const OdString &value)
 
FXBIM_API OdString FxBIM::BIMCURRENTDIMSTYLE (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMCURRENTDIMSTYLE (OdDbDatabase *pDb, const OdString &value)
 
FXBIM_API OdString FxBIM::BIMPROJECTPATH (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMPROJECTPATH (OdDbDatabase *pDb, const OdString &value)
 
FXBIM_API OdString FxBIM::BIMCALLOUTSFILE (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMCALLOUTSFILE (OdDbDatabase *pDb, const OdString &value)
 
FXBIM_API OdString FxBIM::BIMCALLOUTBLOCKPLAN (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMCALLOUTBLOCKPLAN (OdDbDatabase *pDb, const OdString &value)
 
FXBIM_API OdString FxBIM::BIMCALLOUTBLOCKSECTION (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMCALLOUTBLOCKSECTION (OdDbDatabase *pDb, const OdString &value)
 
FXBIM_API OdString FxBIM::BIMCALLOUTBLOCKSECTIONALT (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMCALLOUTBLOCKSECTIONALT (OdDbDatabase *pDb, const OdString &value)
 
FXBIM_API OdString FxBIM::BIMCALLOUTBLOCKELEVATION (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMCALLOUTBLOCKELEVATION (OdDbDatabase *pDb, const OdString &value)
 
FXBIM_API OdString FxBIM::BIMVIEWTITLEBLOCK (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMVIEWTITLEBLOCK (OdDbDatabase *pDb, const OdString &value)
 
FXBIM_API OdString FxBIM::BIMAUTOFILTER (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMAUTOFILTER (OdDbDatabase *pDb, const OdString &value)
 
FXBIM_API OdString FxBIM::BIMAUTOTEMPLATE (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMAUTOTEMPLATE (OdDbDatabase *pDb, const OdString &value)
 
FXBIM_API bool FxBIM::BIMAUTOPUBLISH (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMAUTOPUBLISH (OdDbDatabase *pDb, const bool &value)
 
FXBIM_API bool FxBIM::BIMOUTERWALLSCOLLECTINTERNAL (OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMOUTERWALLSCOLLECTINTERNAL (OdDbDatabase *pDb, const bool &value)
 
FXBIM_API int FxBIM::BIMOUTERWALLSPLACEMENT (OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMOUTERWALLSPLACEMENT (OdDbDatabase *pDb, int value)
 
FXBIM_API bool FxBIM::BIMOUTERWALLSJOINDIMENSIONS (OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMOUTERWALLSJOINDIMENSIONS (OdDbDatabase *pDb, const bool &value)
 
FXBIM_API bool FxBIM::BIMOUTERWALLSISABSOLUTEDISTANCE (OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMOUTERWALLSISABSOLUTEDISTANCE (OdDbDatabase *pDb, const bool &value)
 
FXBIM_API double FxBIM::BIMOUTERWALLSABSOLUTEDISTANCE (OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMOUTERWALLSABSOLUTEDISTANCE (OdDbDatabase *pDb, const double &value)
 
FXBIM_API int FxBIM::BIMOUTERWALLSCHAINDISTANCES (OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMOUTERWALLSCHAINDISTANCES (OdDbDatabase *pDb, const int &value)
 
FXBIM_API bool FxBIM::BIMADDDEFAULTLEVELS (OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMADDDEFAULTLEVELS (OdDbDatabase *pDb, const bool &value)
 
FXBIM_API bool FxBIM::BIMCALLOUTSONOFF (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMCALLOUTSONOFF (OdDbDatabase *pDb, const bool &value)
 
FXBIM_API bool FxBIM::BIMCLIPPINGBOXONOFF (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMCLIPPINGBOXONOFF (OdDbDatabase *pDb, const bool &value)
 
FXBIM_API bool FxBIM::VIEWPORTRESIZEONRELOAD (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetVIEWPORTRESIZEONRELOAD (OdDbDatabase *pDb, const bool &value)
 
FXBIM_API int FxBIM::BIMROOMSECTIONCROSS (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMROOMSECTIONCROSS (OdDbDatabase *pDb, const int &value)
 
FXBIM_API double FxBIM::BIMBREAKLINESIZE (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMBREAKLINESIZE (OdDbDatabase *pDb, const double &value)
 
FXBIM_API double FxBIM::BIMBREAKLINEOFFSET (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMBREAKLINEOFFSET (OdDbDatabase *pDb, const double &value)
 
FXBIM_API double FxBIM::BIMBREAKLINEDISTANCE (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMBREAKLINEDISTANCE (OdDbDatabase *pDb, const double &value)
 
FXBIM_API bool FxBIM::BIMSHOWVPEDITWARNING (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMSHOWVPEDITWARNING (OdDbDatabase *pDb, const bool &value)
 
FXBIM_API int FxBIM::BIMSPLITDRAWINGMODE (const OdDbDatabase *db)
 
FXBIM_API void FxBIM::SetBIMSPLITDRAWINGMODE (OdDbDatabase *db, const int &value)
 
FXBIM_API int FxBIM::BIMLEVELSYMBOLTYPE (const OdDbDatabase *db)
 
FXBIM_API void FxBIM::SetBIMLEVELSYMBOLTYPE (OdDbDatabase *db, const int &value)
 
FXBIM_API bool FxBIM::BIMSHOWCREATEPLANWARNING (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMSHOWCREATEPLANWARNING (OdDbDatabase *pDb, const bool &value)
 
FXBIM_API bool FxBIM::BIMAUTOPROCESSESMODE (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMAUTOPROCESSESMODE (OdDbDatabase *pDb, const bool &value)
 
FXBIM_API int FxBIM::BIMAUTOLABELTYPE (const OdDbDatabase *pDb)
 
FXBIM_API void FxBIM::SetBIMAUTOLABELTYPE (OdDbDatabase *pDb, const int &value)
 
FXBIM_API Error FxBIM::resolvePath (const OdDbDatabase *pDb, OdString &path, EFileType eFileType)
 
FXBIM_API OdString FxBIM::GetAbsoluteFilePath (const OdString &sPath, OdDbDatabase *pCurrentDb)
 
FXBIM_API Error FxBIM::getRotation (OdDbBlockReferencePtr pBlkRef, double &angle)
 
FXBIM_API Error FxBIM::setRotation (OdDbBlockReferencePtr pBlkRef, double angle)
 
FXBIM_API Error FxBIM::setMirrorState (OdDbBlockReferencePtr pBlkRef, bool isMirrored)
 
FXBIM_API Error FxBIM::setBlockProperty (OdDbBlockReferencePtr pBlkRef, const CFxString &sName, const CFxVariant &oValue)
 
FXBIM_API Error FxBIM::getBlockProperty (const OdDbBlockReferencePtr pBlkRef, const CFxString &sName, CFxVariant &oValue)
 
FXBIM_API double FxBIM::getImportScaleLabel (OdDbDatabasePtr database)
 
FXBIM_API Error FxBIM::AddReactor (CFxBIMObjectPtr p)
 
FXBIM_API Error FxBIM::RemoveReactor (CFxBIMObjectPtr p)
 
FXBIM_API OdDbObjectId FxBIM::GetDetailDashedLineType (OdDbDatabasePtr pDb)
 
FXBIM_API OdDbObjectId FxBIM::GetGridLineDashedLineType (OdDbDatabasePtr pDb)
 
FXBIM_API void FxBIM::SetWallJoiner (CFxSectionWallJoinImplPtr pWallJoiner)
 
FXBIM_API CFxSectionWallJoinImplPtr FxBIM::GetWallJoiner ()
 

Variables

constexpr auto FxBIM::kBIMModuleName = __OD_T( "FxBIM" )
 
constexpr OdInt16 FxBIM::kCurrenVersionMajor = k2025
 
constexpr OdInt16 FxBIM::kCurrenVersionMinor = kSP2
 
constexpr OdInt16 FxBIM::kCurrenVersionRevision = 0
 

Typedef Documentation

◆ CFxBIMDbIteratorPtr

typedef std::shared_ptr< CFxBIMDbIterator > CFxBIMDbIteratorPtr

Definition at line 145 of file FxBIM.h.

◆ CFxBIMDbIteratorRAPtr

typedef std::shared_ptr< CFxBIMDbIteratorRA > CFxBIMDbIteratorRAPtr

Definition at line 147 of file FxBIM.h.

◆ CFxBIMIteratorPtr

typedef std::shared_ptr< CFxBIMIterator > CFxBIMIteratorPtr

Definition at line 141 of file FxBIM.h.

◆ CFxBIMIteratorRAPtr

typedef std::shared_ptr< CFxBIMIteratorRA > CFxBIMIteratorRAPtr

Definition at line 143 of file FxBIM.h.

◆ CFxBIMObjectPtr

typedef std::shared_ptr< CFxBIMObject > CFxBIMObjectPtr

Definition at line 112 of file FxBIM.h.

◆ CFxDocumentPtr

Definition at line 466 of file FxBIM.h.

Enumeration Type Documentation

◆ BimAutoLabelType

enum class BimAutoLabelType
strong
Enumerator
ePlans 
eSections 
eElevations 

Definition at line 282 of file FxBIM.h.

◆ BimLabelUnitsPolicy

enum class BimLabelUnitsPolicy
strong
Enumerator
eAuto 
eAlways 
eNever 

Definition at line 219 of file FxBIM.h.

◆ BimLevelSymbolType

enum class BimLevelSymbolType
strong
Enumerator
eNone 
eCircle 
eTriangle 
eHalfTriangle 
eLast 

Definition at line 272 of file FxBIM.h.

◆ BimStandards

enum class BimStandards
strong
Enumerator
eUnset 
eUnknown 
eISO 
eANSI 

Definition at line 193 of file FxBIM.h.

◆ BimUnitsArea

enum class BimUnitsArea
strong
Enumerator
eUndefined 
eSqFeet 
eSqInches 
eSqMeters 
eSqDM 
eSqCM 
eSqMM 

Definition at line 226 of file FxBIM.h.

◆ BimUnitsLength

enum class BimUnitsLength
strong
Enumerator
eUndefined 
eFeet 
eInch 
eM 
eDM 
eCM 
eMM 

Definition at line 201 of file FxBIM.h.

◆ BimUnitsStyle

enum class BimUnitsStyle
strong
Enumerator
eAuto 
eSuperscript 
ePrefix 

Definition at line 212 of file FxBIM.h.

◆ BimUnitsVolume

enum class BimUnitsVolume
strong
Enumerator
eUndefined 
eCubicFeet 
eCubicInches 
eCubicMeters 
eCubicDecimeters 
eCubicCentimeters 
eCubicMilimeters 

Definition at line 237 of file FxBIM.h.

◆ eBIMOuterWallsPlacement

enum class eBIMOuterWallsPlacement
strong
Enumerator
kMostOuter 
kAligned 

Definition at line 255 of file FxBIM.h.

◆ eBIMSplitDrawingMode

enum class eBIMSplitDrawingMode
strong
Enumerator
FIRST 
kCustom 
kCenter 
kFit 
LAST 

Definition at line 261 of file FxBIM.h.

◆ EBIMView

enum class EBIMView
strong
Enumerator
e3DView 
e2DView 

Definition at line 249 of file FxBIM.h.

◆ Error

enum class Error
strong
Enumerator
eOk 
eFail 
eAbort 
eInvalidParameter 
eNullFamSymbol 
eGeomIsNotNode 
eGeomIsNotGElement 
eNotImplemented 
eDegenerateTopology 
eDegenerateGeometry 
eNullBmDatabase 
eNullBmObject 
eNullBmObjectId 
eNullDbObjectId 
eNotFound 
eNotThatKindOfClass 
eWrongIFCFormat 
eWrongRVTFormat 
eCVTInvalidParameter 
eCVTInvalidConversionType 
eCVTInvalidSource 
eCVTInvalidDestinationFolder 
eCVTInvalidDestinationExists 
eCVTViewUnset 
eCVTUnsupportedPlatform 
eWrongTRBGeometryDefinition 
eUnsupportedTRBGeometryDefinition 
eCancelCommmand 

Definition at line 39 of file FxBIM.h.