 |
DATAKIT SDK
V2026.2
|
|
#include <map>
{
return dtkBodies;
}
{
{
std::cout <<
"Error returned by psw_InitFile : " <<
dtkTypeError( outStatus ).
c_str() << std::endl;
}
else
{
{
std::cout <<
"Error returned by psw_WriteBody on body n°" << std::to_string( i_body ) <<
" : " <<
dtkTypeError( outStatus ).
c_str() << std::endl;
}
std::cout <<
"=> " << outputFile.
c_str() << std::endl;
else
std::cout <<
"Error returned by psw_EndFile : " <<
dtkTypeError( outStatus ).
c_str() << std::endl;
}
return outStatus;
}
{
outAssemblyId = 0;
for(
Dtk_Size_t i_entity = 0; i_entity < entityIds.
size(); ++i_entity )
{
outStatus =
psw_CreateInstance( outAssemblyId, entityIds[ i_entity ], identityMatrix, unusedInstanceId );
}
return outStatus;
}
const std::map<Dtk_string, Dtk_Val>& customAttributes )
{
attributesDtkInfo->
SetName( std::move( name ) );
attributesDtkInfo->
SetId(
id );
for( const auto& customAttribute : customAttributes )
{
}
}
{
for(
Dtk_Size_t i_body = 0; i_body < nbBodies; ++i_body )
{
outStatus =
psw_WriteBody( dtkBodies[ i_body ], returnedBodyIDs );
if( returnedBodyIDs.
size() == 1 )
{
partIDs[ i_body ] = returnedBodyIDs.
front();
}
else if( returnedBodyIDs.
size() > 1 )
{
partIDs[ i_body ] = subAssemblyId;
}
else
{
partIDs[ i_body ] = 0;
std::cout <<
"Error returned by psw_WriteBody : " <<
dtkTypeError( outStatus ).
c_str() << std::endl;
}
std::map<Dtk_string, Dtk_Val> customAttributesForPart;
customAttributesForPart.insert( std::make_pair( L
"MyAttribute",
Dtk_Val( L
"MyValue" ) ) );
}
for(
Dtk_Size_t i_bodyEntity = 0; i_bodyEntity < nbBodies; ++i_bodyEntity )
{
for(
Dtk_Size_t i_instance = 0; i_instance < 2; ++i_instance )
{
if( i_instance == 0 )
matrix->setOrigin(
Dtk_pnt( 100.0, 0.0, 0.0 ) );
else
matrix->setOrigin(
Dtk_pnt( 100.0, 100.0, 100.0 ) );
outStatus =
psw_CreateInstance( rootAssemblyID, partIDs[ i_bodyEntity ], matrix, instanceId );
const Dtk_Size_t uniqueNumberForAttributesSample = i_bodyEntity + nbBodies * i_instance;
instanceName.
add_int( (
int )( uniqueNumberForAttributesSample ) );
}
}
std::cout <<
"=> " << outputFile.
c_str() << std::endl;
else
std::cout <<
"Error returned by psw_EndFile : " <<
dtkTypeError( outStatus ).
c_str() << std::endl;
return outStatus;
}
{
std::cout << std::endl << "----------------------------------------------" << std::endl;
std::cout << "Parasolid Write start" << std::endl;
Dtk_string outputDirectory = inResultDirectory + L
"Parasolid/";
std::cout << "Parasolid Write end" << std::endl;
return outWriteStatus;
}
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
int ParasolidWriteSample(const Dtk_string &inResultDirectory)
Sample to start using Parasolid Writer Library.
Definition: testlibparasolidwrite.cpp:225
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)
Definition: util_ptr_dtk.hpp:37
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
void push_back(const T &x)
Inserts an element at the end of the array.
Definition: util_stl_dtk.hpp:416
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