DATAKIT API  V2025.4
solidworksw.hpp
Go to the documentation of this file.
1 #ifndef __DTK_SOLIDWORKSW_H__
2 #define __DTK_SOLIDWORKSW_H__
3 #include "def/define.h"
4 #include "struct/str_def.h"
9 #include "util/util_draw_dtk.hpp"
10 #include "util/util_stl_dtk.hpp"
12 // solidworksw.h //
14 
16 
17 namespace sw
18 {
19  namespace sww
20  {
21  //language for writing part and assembly
22  enum language
23  {
24  french = 0,
25  english = 1,
26  italian = 2,
27  deutch = 3,
28  chinese = 4
29  };
30 
42  {
43  public:
44 
45  protected:
46 
48 
49  public:
50 
53  {
54  }
55 
58  {
59  }
60 
62  FileDescription( const Dtk_tab< Dtk_MetaDataPtr >& inArrayProperties ) :_AdditionalProperties( inArrayProperties )
63  {
64  };
65 
68  {
69  return _AdditionalProperties;
70  }
71 
73  void AddMetadata( Dtk_MetaDataPtr& inMetadata );// {if (inMetadata.IsNotNULL()) {_AdditionalProperties.push_back(inMetadata);}}
74 
76  void Clear()
77  {
78  return _AdditionalProperties.clear();
79  }
80 
81  };
82 
93  class Instance
94  {
95  public:
96 
97  protected:
98 
101  Dtk_string _ConfigurationName; // configuration index is always 0 because we only write one config per file
106  public:
107 
110  {
111  _Color = Dtk_RGB( -1, -1, -1, -1 );
113  }
114 
117  {
118  }
119 
121  Instance( const Dtk_string& inSolidfileName, const Dtk_string& inInstanceName, const Dtk_transfo& inTransfo, const Dtk_RGB& inColorInstance = Dtk_RGB( -1, -1, -1, -1 ), const Dtk_Int32& inBlankedStatus = DTK_FALSE, const Dtk_string& inConfigurationName = Dtk_string() ) :
122  _Name( inSolidfileName ), _InstanceName( inInstanceName ), _Matrix( inTransfo ), _Color( inColorInstance ), _BlankedStatus( inBlankedStatus ), _ConfigurationName( inConfigurationName )
123  {
124 
125  };
126 
128  {
129  return _Name;
130  };
131 
133  {
134  return _InstanceName;
135  };
136 
138  {
139  return _ConfigurationName;
140  };
141 
143  {
144  return _Matrix;
145  };
146 
147  const Dtk_RGB& GetColor()
148  {
149  return _Color;
150  };
151 
153  {
154  return _BlankedStatus;
155  };
156 
157  void AddMetadata( const Dtk_tab<Dtk_MetaDataPtr>& inArrayMetadata )
158  {
159  m_ArrayMetadata = inArrayMetadata;
160  };
161 
163  {
164  return m_ArrayMetadata;
165  };
166  };
167 
172  void SetIsAlreadyStart( const Dtk_Int32& inStop );
173 
181 
186 
190  void OptionStoreBodyColor( Dtk_Int32 inStoreBodyColor );
191 
195  void OptionRemoveComment( Dtk_Int32 inRemoveComment );
196 
204  const Dtk_string& inSolidworksFile,
206  Dtk_Unit inUnit = DTK_UNIT_MM,
207  const Dtk_string& inConfigurationName = Dtk_string() );
208 
212  Dtk_ErrorStatus AddParasolidFile( const Dtk_string& inParasolidFile );
213 
218  Dtk_ErrorStatus AddParasolidBodyStream( const char* inFlux, size_t inSize, const Dtk_InfoPtr& inInfo );
219 
223  Dtk_ErrorStatus AddParasolidId( const Dtk_Int32& inParasolidId );
224 
230 
232 
237 
245  const Dtk_string& inFileName,
247  Dtk_Unit inUnit = DTK_UNIT_MM,
248  const Dtk_string& inConfigurationName = Dtk_string() );
249 
254 
255 
259  };
260 }
261 
262 #endif
Dtk_transfo
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
sw::sww::language
language
Definition: solidworksw.hpp:23
sw::sww::Instance::GetInstanceName
const Dtk_string & GetInstanceName()
Definition: solidworksw.hpp:132
sw::sww::OpenPart
Dtk_ErrorStatus OpenPart(const Dtk_string &inSolidworksFile, const sw::sww::FileDescription &inFileDescription=sw::sww::FileDescription(), Dtk_Unit inUnit=DTK_UNIT_MM, const Dtk_string &inConfigurationName=Dtk_string())
Initialize the part
sw::sww::Instance::GetColor
const Dtk_RGB & GetColor()
Definition: solidworksw.hpp:147
sw::sww::AddParasolidId
Dtk_ErrorStatus AddParasolidId(const Dtk_Int32 &inParasolidId)
Add parasolid Id body.
sw::sww::italian
@ italian
Definition: solidworksw.hpp:26
sw::sww::OptionRemoveComment
void OptionRemoveComment(Dtk_Int32 inRemoveComment)
option to not store the comment
catiav5w::inTransfo
const Dtk_string const Dtk_transfo & inTransfo
Definition: catiav5w.hpp:622
sw::sww::OptionStoreBodyColor
void OptionStoreBodyColor(Dtk_Int32 inStoreBodyColor)
option to store the body color
Dtk_string
This is a high level string class.
Definition: dtk_string.hpp:58
sw::sww::Instance::_ConfigurationName
Dtk_string _ConfigurationName
Definition: solidworksw.hpp:101
sw::sww::Instance::~Instance
~Instance()
Destructor.
Definition: solidworksw.hpp:116
dtk_metadata.hpp
sw::sww::Instance::AddMetadata
void AddMetadata(const Dtk_tab< Dtk_MetaDataPtr > &inArrayMetadata)
Definition: solidworksw.hpp:157
DTK_UNIT_MM
@ DTK_UNIT_MM
Definition: util_draw_dtk.hpp:79
sw::sww::FileDescription::GetAdditionalProperties
const Dtk_tab< Dtk_MetaDataPtr > & GetAdditionalProperties() const
Get Metadata Array - read only -.
Definition: solidworksw.hpp:67
DTK_FALSE
#define DTK_FALSE
Definition: define.h:730
util_draw_dtk.hpp
sw::sww::AddParasolidBodyStream
Dtk_ErrorStatus AddParasolidBodyStream(const char *inFlux, size_t inSize, const Dtk_InfoPtr &inInfo)
Add parasolid stream with only one body without header.
catiav5w::inBlankedStatus
const Dtk_string const Dtk_transfo const Dtk_bool inBlankedStatus
Definition: catiav5w.hpp:623
sw::sww::FileDescription::FileDescription
FileDescription()
Default constructor.
Definition: solidworksw.hpp:52
sw
Exported APIs for solidworks Write Library.
Definition: solidworksw.hpp:18
Dtk_Unit
Dtk_Unit
Definition: util_draw_dtk.hpp:76
sw::sww::FileDescription::_AdditionalProperties
Dtk_tab< Dtk_MetaDataPtr > _AdditionalProperties
Definition: solidworksw.hpp:47
sw::sww::Instance
This class provides Instance about a Solidworks File. It can be used with sw::sww::OpenAssembly funct...
Definition: solidworksw.hpp:94
sw::sww::Instance::_Matrix
Dtk_transfo _Matrix
Definition: solidworksw.hpp:102
sw::sww::Instance::GetBlankedStatus
const Dtk_Int32 & GetBlankedStatus()
Definition: solidworksw.hpp:152
sw::sww::AddParasolidFile
Dtk_ErrorStatus AddParasolidFile(const Dtk_string &inParasolidFile)
Add parasolid file.
sw::sww::InitWriter
Dtk_ErrorStatus InitWriter(const Dtk_string &inLogFile, Licence_dtk inLicFct, sw::sww::language inLanguage=sw::sww::english)
Initialize the Solidworks Writer
sw::sww::Instance::m_ArrayMetadata
Dtk_tab< Dtk_MetaDataPtr > m_ArrayMetadata
Definition: solidworksw.hpp:105
Dtk_Int32
int32_t Dtk_Int32
Definition: define.h:689
sw::sww::FileDescription::AddMetadata
void AddMetadata(Dtk_MetaDataPtr &inMetadata)
Add Metadata - read only -.
sw::sww::AddMetaData
Dtk_ErrorStatus AddMetaData(const Dtk_MetaDataPtr &inEntity)
sw::sww::ClosePart
Dtk_ErrorStatus ClosePart()
Free data allocated by sw::sww::OpenPart
sw::sww::AddEntity
Dtk_ErrorStatus AddEntity(const Dtk_EntityPtr &inEntity)
Write the entity provided in parameter.
sw::sww::FileDescription
This class provides several informations about a Solidworks File. It can be used with sw::OpenPart an...
Definition: solidworksw.hpp:42
sw::sww::FileDescription::Clear
void Clear()
Clear Array - read only -.
Definition: solidworksw.hpp:76
sw::sww::Instance::_BlankedStatus
Dtk_Int32 _BlankedStatus
Definition: solidworksw.hpp:104
sw::sww::EndWriter
Dtk_ErrorStatus EndWriter()
Free the Solidworks Writer
sw::sww::FileDescription::FileDescription
FileDescription(const Dtk_tab< Dtk_MetaDataPtr > &inArrayProperties)
Default constructor.
Definition: solidworksw.hpp:62
sw::sww::CloseAssembly
Dtk_ErrorStatus CloseAssembly()
Write effectively the Assembly initialized by OpenAssembly.
sw::sww::Instance::GetName
const Dtk_string & GetName()
Definition: solidworksw.hpp:127
Dtk_ErrorStatus
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
sw::sww::chinese
@ chinese
Definition: solidworksw.hpp:28
Dtk_SmartPtr
Definition: util_ptr_dtk.hpp:37
sw::sww::OpenAssembly
Dtk_ErrorStatus OpenAssembly(const Dtk_string &inFileName, const sw::sww::FileDescription &inFileDescription=sw::sww::FileDescription(), Dtk_Unit inUnit=DTK_UNIT_MM, const Dtk_string &inConfigurationName=Dtk_string())
Initialize a Assembly .
sw::sww::Instance::_InstanceName
Dtk_string _InstanceName
Definition: solidworksw.hpp:100
catiav5w::inFileDescription
const Dtk_string const catiav5w::FileDescription & inFileDescription
Definition: catiav5w.hpp:460
dtk_transfo.hpp
sw::sww::Instance::_Name
Dtk_string _Name
Definition: solidworksw.hpp:99
str_def.h
sw::sww::Instance::GetMatrix
const Dtk_transfo & GetMatrix()
Definition: solidworksw.hpp:142
util_stl_dtk.hpp
sw::sww::english
@ english
Definition: solidworksw.hpp:25
sw::sww::AddInstanceComponent
Dtk_ErrorStatus AddInstanceComponent(Instance &inInstance)
Add an instance into the Current Assembly (sldasm).
sw::sww::Instance::GetMetadata
const Dtk_tab< Dtk_MetaDataPtr > & GetMetadata()
Definition: solidworksw.hpp:162
define.h
sw::sww::FileDescription::~FileDescription
~FileDescription()
Destructor.
Definition: solidworksw.hpp:57
Dtk_tab
This is a high level array class.
Definition: util_stl_dtk.hpp:85
Pdfw::inInfo
Dtk_tab< Dtk_dir > Dtk_ID Dtk_InfoPtr inInfo
Definition: pdfw.hpp:676
sw::sww::deutch
@ deutch
Definition: solidworksw.hpp:27
dtk_string.hpp
sw::sww::french
@ french
Definition: solidworksw.hpp:24
catiav5w::inInstanceName
const Dtk_string & inInstanceName
Definition: catiav5w.hpp:621
dtk_rgb.hpp
Dtk_RGB
Definition: dtk_rgb.hpp:7
sw::sww::Instance::_Color
Dtk_RGB _Color
Definition: solidworksw.hpp:103
Licence_dtk
char *(* Licence_dtk)(char *)
Definition: str_def.h:71
sw::sww::Instance::Instance
Instance()
Default constructor.
Definition: solidworksw.hpp:109
sw::sww::Instance::Instance
Instance(const Dtk_string &inSolidfileName, const Dtk_string &inInstanceName, const Dtk_transfo &inTransfo, const Dtk_RGB &inColorInstance=Dtk_RGB(-1, -1, -1, -1), const Dtk_Int32 &inBlankedStatus=DTK_FALSE, const Dtk_string &inConfigurationName=Dtk_string())
Default constructor.
Definition: solidworksw.hpp:121
sw::sww::Instance::GetConfigurationName
const Dtk_string & GetConfigurationName()
Definition: solidworksw.hpp:137
sw::sww::SetIsAlreadyStart
void SetIsAlreadyStart(const Dtk_Int32 &inStop)
ONLY for PSKERNEL user.