 |
DATAKIT SDK
V2026.2
|
|
◆ AddAttributesToParasolidEntity()
109 attributesDtkInfo->
SetName( std::move( name ) );
110 attributesDtkInfo->
SetId(
id );
113 for(
const auto& customAttribute : customAttributes )
◆ CreateAssemblyWithFollowingEntities()
81 for(
Dtk_Size_t i_entity = 0; i_entity < entityIds.
size(); ++i_entity )
88 Dtk_ID unusedInstanceId = 0;
89 outStatus =
psw_CreateInstance( outAssemblyId, entityIds[ i_entity ], identityMatrix, unusedInstanceId );
◆ CreateThreeDtkBodies()
◆ ParasolidWriteSample()
| int ParasolidWriteSample |
( |
const Dtk_string & |
inResultDirectory | ) |
|
Sample to start using Parasolid Writer Library.
- Parameters
-
| [in] | inResultDirectory | : Directory where the resulting parasolid files will be stored. |
- Returns
- dtkNoError if OK
230 std::cout << std::endl <<
"----------------------------------------------" << std::endl;
231 std::cout <<
"Parasolid Write start" << std::endl;
234 Dtk_string outputDirectory = inResultDirectory + L
"Parasolid/";
236 outputDirectory.
mkdir();
246 std::cout <<
"Parasolid Write end" << std::endl;
248 return outWriteStatus;
◆ SampleWriteAnArrayOfParts()
40 std::cout <<
"Error returned by psw_InitFile : " <<
dtkTypeError( outStatus ).
c_str() << std::endl;
51 std::cout <<
"Error returned by psw_WriteBody on body n°" << std::to_string( i_body ) <<
" : " <<
dtkTypeError( outStatus ).
c_str() << std::endl;
60 std::cout <<
"=> " << outputFile.
c_str() << std::endl;
62 std::cout <<
"Error returned by psw_EndFile : " <<
dtkTypeError( outStatus ).
c_str() << std::endl;
◆ SampleWriteAnAssembly()
139 for(
Dtk_Size_t i_body = 0; i_body < nbBodies; ++i_body )
143 outStatus =
psw_WriteBody( dtkBodies[ i_body ], returnedBodyIDs );
147 if( returnedBodyIDs.
size() == 1 )
149 partIDs[ i_body ] = returnedBodyIDs.
front();
151 else if( returnedBodyIDs.
size() > 1 )
156 partIDs[ i_body ] = subAssemblyId;
161 partIDs[ i_body ] = 0;
162 std::cout <<
"Error returned by psw_WriteBody : " <<
dtkTypeError( outStatus ).
c_str() << std::endl;
167 partName.
add_int( (
int )i_body );
169 std::map<Dtk_string, Dtk_Val> customAttributesForPart;
170 customAttributesForPart.insert( std::make_pair( L
"MyAttribute",
Dtk_Val( L
"MyValue" ) ) );
175 Dtk_ID rootAssemblyID = 0;
181 for(
Dtk_Size_t i_bodyEntity = 0; i_bodyEntity < nbBodies; ++i_bodyEntity )
183 for(
Dtk_Size_t i_instance = 0; i_instance < 2; ++i_instance )
187 if( i_instance == 0 )
188 matrix->setOrigin(
Dtk_pnt( 100.0, 0.0, 0.0 ) );
190 matrix->setOrigin(
Dtk_pnt( 100.0, 100.0, 100.0 ) );
194 outStatus =
psw_CreateInstance( rootAssemblyID, partIDs[ i_bodyEntity ], matrix, instanceId );
197 const Dtk_Size_t uniqueNumberForAttributesSample = i_bodyEntity + nbBodies * i_instance;
199 instanceName.
add_int( (
int )( uniqueNumberForAttributesSample ) );
215 std::cout <<
"=> " << outputFile.
c_str() << std::endl;
217 std::cout <<
"Error returned by psw_EndFile : " <<
dtkTypeError( outStatus ).
c_str() << std::endl;
uint32_t Dtk_ID
Definition: define.h:681
Dtk_ErrorStatus SetName(Dtk_string inName)
DtkErrorStatus psw_InitFile(const Dtk_string &inFileOut, Dtk_bool muteMode, Dtk_Int32 inVersion=180)
Initialise a file to be written.
Dtk_ErrorStatus AddCustomerDefinedAttribute(Dtk_string name, Dtk_Val val)
static Dtk_SmartPtr< Dtk_transfo > create()
#define DTK_TRUE
Definition: define.h:719
DtkErrorStatus psw_LinkAttribut(Dtk_ID inAssemblyId)
link all attributes attached to an assembly
This is a high level string class.
Definition: dtk_string.hpp:53
size_t Dtk_Size_t
Definition: define.h:704
static Dtk_ErrorStatus SampleWriteAnArrayOfParts(const Dtk_string &outputFile)
Definition: testlibparasolidwrite.cpp:26
char Dtk_bool
Definition: define.h:717
static Dtk_tab< Dtk_BodyPtr > CreateThreeDtkBodies()
Definition: testlibparasolidwrite.cpp:16
void add_int(const int integer, int force_unsigned_int=0)
concat an int to the Dtk_string (convert the int to Dtk_string)
DtkErrorStatus psw_CreateAttribut(Dtk_ID inIdCompo, Dtk_InfoPtr &info)
Create all attribut attached to a component (body, assembly, instance)
Definition: dtk_val.hpp:67
int32_t Dtk_Int32
Definition: define.h:679
T & front()
Return the elements at the beginning of the array.
Definition: util_stl_dtk.hpp:568
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
Dtk_ErrorStatus SetId(const Dtk_Int32 &inId)
Dtk_string dtkTypeError(Dtk_Int32 errNumero)
DtkErrorStatus psw_CreateInstance(Dtk_ID inAssemblyId, Dtk_ID inIdPart, Dtk_transfoPtr &Matrix, Dtk_ID &outIdInst)
Create an Instance item of a part referenced by inIdPart.
const char * c_str() const
Retrieve the ASCII conversion string.
int mkdir() const
File Utility : Create a Directory.
This is a mathematical point class.
Definition: dtk_pnt.hpp:20
Dtk_ErrorStatus psw_WriteBody(Dtk_BodyPtr &inBody)
Writes a Body of a 3D part (3D content of a product), of any kind (solid, shell / faces,...
void FixPathSeparator()
File Utility : Fixes path separator consistency. It lets you replace the '\' or '/' by the OS needed ...
This is a high level array class.
Definition: util_stl_dtk.hpp:84
Dtk_BodyPtr CreateCube()
Definition: testcreatecube.cpp:1316
Dtk_Size_t size() const
Returns the size of the array.
Definition: util_stl_dtk.hpp:503
DtkErrorStatus psw_CreateEmptyAssembly(Dtk_ID &outAssemblyId)
Create the entry item of an assembly.
DtkErrorStatus psw_EndFile(Dtk_tab< Dtk_ID > &inTabIds, Dtk_bool binForceListOfBody=DTK_FALSE)
Ends the writing of the Parasolid (x_t or x_b) file.
Dtk_BodyPtr CreateCurves()
Definition: testcreatecube.cpp:1357
static Dtk_ErrorStatus AddAttributesToParasolidEntity(const Dtk_ID parasolidEntityId, Dtk_string name, const Dtk_Int32 id, const std::map< Dtk_string, Dtk_Val > &customAttributes)
Definition: testlibparasolidwrite.cpp:100
@ dtkNoError
Definition: error_dtk.hpp:149
static Dtk_ErrorStatus CreateAssemblyWithFollowingEntities(const Dtk_tab< Dtk_ID > &entityIds, Dtk_ID &outAssemblyId)
Definition: testlibparasolidwrite.cpp:69
static Dtk_ErrorStatus SampleWriteAnAssembly(const Dtk_string &outputFile)
Definition: testlibparasolidwrite.cpp:123
static Dtk_SmartPtr< Dtk_Info > create()
Calls default constructor to allocate a new object.
Dtk_BodyPtr CreateOpenShell()
Definition: testcreatecube.cpp:1343