DATAKIT API  V2025.3
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 
15 
16 
18 namespace solidworksw
19 {
20 
21  //language for writing part and assembly
22  enum language
23  {
24  french=0,
27  deutch=3,
28  chinese=4
29  };
30 
31 
32 
44  {
45  public:
46 
47  protected:
48 
50 
51  public:
52 
55 
58 
60  FileDescription( const Dtk_tab< Dtk_MetaDataPtr >& inArrayProperties ) :_AdditionalProperties ( inArrayProperties){};
61 
64 
66  void AddMetadata(Dtk_MetaDataPtr& inMetadata);// {if (inMetadata.IsNotNULL()) {_AdditionalProperties.push_back(inMetadata);}}
67 
69  void Clear(){return _AdditionalProperties.clear();}
70 
71  };
72 
73 
74 
75 
86  class Instance
87  {
88  public:
89 
90  protected:
91 
94  Dtk_string _ConfigurationName; // configuration index is always 0 because we only write one config per file
99  public:
100 
103  {
104  _Color = Dtk_RGB(-1,-1,-1,-1);
106  }
107 
110 
112  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()):
113  _Name (inSolidfileName),_InstanceName ( inInstanceName),_Matrix (inTransfo),_Color (inColorInstance),_BlankedStatus ( inBlankedStatus), _ConfigurationName( inConfigurationName )
114  {
115 
116  };
117 
118  const Dtk_string& GetName( )
119  {
120  return _Name;
121  };
122 
124  {
125  return _InstanceName;
126  };
127 
129  {
130  return _ConfigurationName;
131  };
132 
134  {
135  return _Matrix;
136  };
137 
138  const Dtk_RGB& GetColor( )
139  {
140  return _Color;
141  };
142 
144  {
145  return _BlankedStatus;
146  };
147 
148  void AddMetadata(const Dtk_tab<Dtk_MetaDataPtr>& inArrayMetadata )
149  {
150  m_ArrayMetadata = inArrayMetadata;
151  };
152 
154  {
155  return m_ArrayMetadata ;
156  };
157  };
158 
163  void SetIsAlreadyStart(const Dtk_Int32&inStop);
164 
172 
177 
181  void OptionStoreBodyColor(Dtk_Int32 inStoreBodyColor);
182 
186  void OptionRemoveComment(Dtk_Int32 inRemoveComment);
187 
195  const Dtk_string &inSolidworksFile,
197  Dtk_Unit inUnit=DTK_UNIT_MM,
198  const Dtk_string& inConfigurationName = Dtk_string());
199 
203  Dtk_ErrorStatus AddParasolidFile(const Dtk_string &inParasolidFile);
204 
209  Dtk_ErrorStatus AddParasolidBodyStream(const char* inFlux, size_t inSize, const Dtk_InfoPtr& inInfo);
210 
214  Dtk_ErrorStatus AddParasolidId(const Dtk_Int32 &inParasolidId);
215 
221 
223 
224 
229 
237  const Dtk_string &inFileName,
239  Dtk_Unit inUnit = DTK_UNIT_MM,
240  const Dtk_string& inConfigurationName = Dtk_string());
241 
246 
247 
251 
252 };
253 
254 
255 
256 
257 #endif
258 
solidworksw::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())
Base constructor.
Definition: solidworksw.hpp:112
solidworksw::Instance::GetName
const Dtk_string & GetName()
Definition: solidworksw.hpp:118
Dtk_transfo
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
solidworksw::InitWriter
Dtk_ErrorStatus InitWriter(const Dtk_string &inLogFile, Licence_dtk inLicFct, solidworksw::language inLanguage=solidworksw::english)
Initialize the Solidworks Writer
solidworksw::OptionRemoveComment
void OptionRemoveComment(Dtk_Int32 inRemoveComment)
option to not store the comment
solidworksw::ClosePart
Dtk_ErrorStatus ClosePart()
Free data allocated by solidworksw::OpenPart
solidworksw::OpenPart
Dtk_ErrorStatus OpenPart(const Dtk_string &inSolidworksFile, const solidworksw::FileDescription &inFileDescription=solidworksw::FileDescription(), Dtk_Unit inUnit=DTK_UNIT_MM, const Dtk_string &inConfigurationName=Dtk_string())
Initialize the part
solidworksw::AddEntity
Dtk_ErrorStatus AddEntity(const Dtk_EntityPtr &inEntity)
Write the entity provided in parameter.
catiav5w::inTransfo
const Dtk_string const Dtk_transfo & inTransfo
Definition: catiav5w.hpp:619
solidworksw::FileDescription::_AdditionalProperties
Dtk_tab< Dtk_MetaDataPtr > _AdditionalProperties
Definition: solidworksw.hpp:49
solidworksw::Instance::_Name
Dtk_string _Name
Definition: solidworksw.hpp:92
Dtk_string
This is a high level string class.
Definition: dtk_string.hpp:58
solidworksw::CloseAssembly
Dtk_ErrorStatus CloseAssembly()
Write effectively the Assembly initialized by solidworksw::OpenAssembly.
solidworksw::Instance::m_ArrayMetadata
Dtk_tab< Dtk_MetaDataPtr > m_ArrayMetadata
Definition: solidworksw.hpp:98
solidworksw::Instance::GetMetadata
const Dtk_tab< Dtk_MetaDataPtr > & GetMetadata()
Definition: solidworksw.hpp:153
dtk_metadata.hpp
DTK_UNIT_MM
@ DTK_UNIT_MM
Definition: util_draw_dtk.hpp:85
DTK_FALSE
#define DTK_FALSE
Definition: define.h:728
solidworksw::Instance::_InstanceName
Dtk_string _InstanceName
Definition: solidworksw.hpp:93
util_draw_dtk.hpp
catiav5w::inBlankedStatus
const Dtk_string const Dtk_transfo const Dtk_bool inBlankedStatus
Definition: catiav5w.hpp:620
solidworksw::SetIsAlreadyStart
void SetIsAlreadyStart(const Dtk_Int32 &inStop)
ONLY for PSKERNEL user.
Dtk_Unit
Dtk_Unit
Definition: util_draw_dtk.hpp:82
solidworksw::EndWriter
Dtk_ErrorStatus EndWriter()
Free the Solidworks Writer
solidworksw::Instance::_BlankedStatus
Dtk_Int32 _BlankedStatus
Definition: solidworksw.hpp:97
solidworksw::FileDescription
This class provides several informations about a Solidworks File. It can be used with solidworksw::Op...
Definition: solidworksw.hpp:44
solidworksw::Instance::GetColor
const Dtk_RGB & GetColor()
Definition: solidworksw.hpp:138
solidworksw::AddParasolidBodyStream
Dtk_ErrorStatus AddParasolidBodyStream(const char *inFlux, size_t inSize, const Dtk_InfoPtr &inInfo)
Add parasolid stream with only one body without header.
solidworksw
Exported APIs for solidworks Write Library.
Definition: solidworksw.hpp:19
solidworksw::Instance::GetInstanceName
const Dtk_string & GetInstanceName()
Definition: solidworksw.hpp:123
solidworksw::french
@ french
Definition: solidworksw.hpp:24
Dtk_Int32
int32_t Dtk_Int32
Definition: define.h:687
solidworksw::FileDescription::AddMetadata
void AddMetadata(Dtk_MetaDataPtr &inMetadata)
Add Metadata - read only -.
solidworksw::chinese
@ chinese
Definition: solidworksw.hpp:28
solidworksw::Instance::GetMatrix
const Dtk_transfo & GetMatrix()
Definition: solidworksw.hpp:133
solidworksw::OptionStoreBodyColor
void OptionStoreBodyColor(Dtk_Int32 inStoreBodyColor)
option to store the body color
solidworksw::english
@ english
Definition: solidworksw.hpp:25
solidworksw::FileDescription::FileDescription
FileDescription()
Base constructor.
Definition: solidworksw.hpp:54
Dtk_ErrorStatus
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
solidworksw::deutch
@ deutch
Definition: solidworksw.hpp:27
solidworksw::Instance::GetConfigurationName
const Dtk_string & GetConfigurationName()
Definition: solidworksw.hpp:128
solidworksw::AddInstanceComponent
Dtk_ErrorStatus AddInstanceComponent(Instance &inInstance)
Add an instance into the Current Assembly (sldasm).
Dtk_SmartPtr
Definition: util_ptr_dtk.hpp:37
solidworksw::Instance::Instance
Instance()
Base constructor.
Definition: solidworksw.hpp:102
catiav5w::inFileDescription
const Dtk_string const catiav5w::FileDescription & inFileDescription
Definition: catiav5w.hpp:457
dtk_transfo.hpp
solidworksw::FileDescription::~FileDescription
~FileDescription()
Destructor.
Definition: solidworksw.hpp:57
solidworksw::language
language
Definition: solidworksw.hpp:23
str_def.h
util_stl_dtk.hpp
define.h
solidworksw::Instance::_Color
Dtk_RGB _Color
Definition: solidworksw.hpp:96
Dtk_tab
This is a high level array class.
Definition: util_stl_dtk.hpp:85
solidworksw::FileDescription::GetAdditionalProperties
const Dtk_tab< Dtk_MetaDataPtr > & GetAdditionalProperties() const
Get Metadata Array - read only -.
Definition: solidworksw.hpp:63
solidworksw::AddParasolidId
Dtk_ErrorStatus AddParasolidId(const Dtk_Int32 &inParasolidId)
Add parasolid Id body.
Pdfw::inInfo
Dtk_tab< Dtk_dir > Dtk_ID Dtk_InfoPtr inInfo
Definition: pdfw.hpp:676
solidworksw::AddMetaData
Dtk_ErrorStatus AddMetaData(const Dtk_MetaDataPtr &inEntity)
solidworksw::Instance::GetBlankedStatus
const Dtk_Int32 & GetBlankedStatus()
Definition: solidworksw.hpp:143
solidworksw::Instance::_Matrix
Dtk_transfo _Matrix
Definition: solidworksw.hpp:95
dtk_string.hpp
solidworksw::AddParasolidFile
Dtk_ErrorStatus AddParasolidFile(const Dtk_string &inParasolidFile)
Add parasolid file.
solidworksw::FileDescription::Clear
void Clear()
Clear Array - read only -.
Definition: solidworksw.hpp:69
solidworksw::Instance::_ConfigurationName
Dtk_string _ConfigurationName
Definition: solidworksw.hpp:94
catiav5w::inInstanceName
const Dtk_string & inInstanceName
Definition: catiav5w.hpp:618
dtk_rgb.hpp
Dtk_RGB
Definition: dtk_rgb.hpp:7
solidworksw::OpenAssembly
Dtk_ErrorStatus OpenAssembly(const Dtk_string &inFileName, const solidworksw::FileDescription &inFileDescription=solidworksw::FileDescription(), Dtk_Unit inUnit=DTK_UNIT_MM, const Dtk_string &inConfigurationName=Dtk_string())
Initialize a Assembly .
solidworksw::Instance
This class provides Instance about a Solidworks File. It can be used with solidworksw::OpenAssembly f...
Definition: solidworksw.hpp:87
Licence_dtk
char *(* Licence_dtk)(char *)
Definition: str_def.h:71
solidworksw::Instance::~Instance
~Instance()
Destructor.
Definition: solidworksw.hpp:109
solidworksw::Instance::AddMetadata
void AddMetadata(const Dtk_tab< Dtk_MetaDataPtr > &inArrayMetadata)
Definition: solidworksw.hpp:148
solidworksw::italian
@ italian
Definition: solidworksw.hpp:26
solidworksw::FileDescription::FileDescription
FileDescription(const Dtk_tab< Dtk_MetaDataPtr > &inArrayProperties)
Base constructor.
Definition: solidworksw.hpp:60