 |
DATAKIT SDK
V2026.2
|
|
◆ CatiaV5WriteSample()
| int CatiaV5WriteSample |
( |
const Dtk_string & |
inResultDirectory, |
|
|
const Dtk_string & |
inInputFilesDirectory |
|
) |
| |
445 cout << endl <<
"----------------------------------------------" << endl;
446 cout <<
"CatiaV5 Write start" << endl;
449 outputDirectory = inResultDirectory + L
"CatiaV5/";
451 outputDirectory.
mkdir();
468 ProcessAsm( inResultDirectory, inInputFilesDirectory );
◆ ProcessAsm()
307 outputDirectory = inResultDirectory +
"CatiaV5/";
310 Dtk_string CATPartFileName = outputDirectory + L
"V5_sample.CATPart";
311 Dtk_string SubProductFileName = outputDirectory + L
"SubProduct.CATProduct";
312 Dtk_string RootProductFileName = outputDirectory + L
"RootProduct.CATProduct";
314 Dtk_string V5FileName = inInputFilesDirectory + L
"CatiaV5/9.CATPart";
315 Dtk_string CGRFileName = inInputFilesDirectory + L
"CGR/Engine.cgr";
316 Dtk_string V4ModelFileName = inInputFilesDirectory + L
"CatiaV4/EngineComponent.model";
333 Dtk_ID PartID, V5ID, V4ID, CgrID;
349 Dtk_ID SubProductID, VirtualSubComponent1ID, VirtualSubComponent2ID, PartInstanceID, VirtualSubComponent1_Instance1ID;
350 Dtk_ID PartInstanceID2, CGRInstanceID, V4InstanceID, V5InstanceID, VirtualComponent1_Instance1ID;
357 TransformationMatrix.
setOrigin( 0, 0, 150 );
365 TransformationMatrix.
setOrigin( 0.0, 0.0, 0.0 );
371 TransformationMatrix.
setOrigin( 0.0, 0.0, 0.0 );
374 TransformationMatrix.
setOrigin( 0.0, 500.0, 0.0 );
377 TransformationMatrix.
setOrigin( 0.0, -500.0, 0.0 );
380 TransformationMatrix.
setOrigin( 0.0, -1000.0, 0.0 );
383 TransformationMatrix.
setOrigin( 0.0, 1000.0, 0.0 );
391 Dtk_ID RootProductID, PartInstance2ID, SubProductInstance1ID, SubProductInstance2ID;
396 TransformationMatrix.
setOrigin( 0.0, 0.0, 50.0 );
400 TransformationMatrix.
setOrigin( 1000.0, 0.0, 0.0 );
401 err =
catiav5w::AddInstance( SubProductID, L
"SubProductInstance1", TransformationMatrix, SubProductInstance1ID );
402 TransformationMatrix.
setOrigin( -1000.0, 0.0, 0.0 );
404 err =
catiav5w::AddInstance( SubProductID, L
"SubProductInstance2", TransformationMatrix, SubProductInstance2ID );
410 Path1.
push_back( SubProductInstance2ID );
411 Path1.
push_back( VirtualComponent1_Instance1ID );
412 Path1.
push_back( VirtualSubComponent1_Instance1ID );
423 Path2.
push_back( SubProductInstance1ID );
434 cout <<
"=> " << RootProductFileName.
c_str() << endl <<
"CatiaV5 Write end" << endl;
◆ ProcessPart()
53 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
61 MyCurveSetInfo->
SetName( L
"MyCurveSet" );
65 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
73 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
80 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
88 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
94 MyOpenShellInfo->
SetName( L
"MyOpenShell" );
101 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
106 Dtk_InfoPtr& body_openshellInfo = body_openshell->info();
107 if( body_openshellInfo.
IsNULL() )
115 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
123 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
130 MySolidInfo->
SetName( L
"My Solid" );
136 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
142 if( body_solidInfo.
IsNULL() )
150 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
158 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
163 MyOpenShellForMeshInfo->
SetName( L
"MyOpenShellForMesh" );
167 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
175 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
183 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
188 MyOpenShellForPlaneInfo->
SetName( L
"MyOpenShellForPlane" );
192 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
200 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
208 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
213 MyOpenShellForInifiniteLineInfo->
SetName( L
"MyOpenShellForInifiniteLine" );
217 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
225 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
233 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
241 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
249 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
270 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
276 Cam =
Dtk_Camera::Create(
Dtk_pnt( 100, 100, 100 ),
Dtk_pnt( 0, 0, 0 ), 100., 100.,
Dtk_dir( 0, 1, 0 ) );
281 NamedView->info()->SetName( L
"MyNamedView" );
286 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
294 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
◆ WriteLayerData()
Dtk_BodyPtr CreateAxis()
Definition: testcreatecube.cpp:1551
static Dtk_ModelDisplayPtr Create(const Dtk_CameraPtr &inCamera, const Dtk_EntityPtr &inClippingEntity, const Dtk_bool inIsActivated)
Calls full featured constructor to allocate a new object.
uint32_t Dtk_ID
Definition: define.h:681
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
Dtk_ErrorStatus InitVirtualComponent(const Dtk_string &inReferenceName, const catiav5w::FileDescription &inFileDescription=catiav5w::FileDescription())
Initialize a virtual component during CATProduct process.
Dtk_ErrorStatus OverrideInstanceAlphaWithPathID(const PathID &inInstancePathId, const Dtk_UChar8 inInstanceAlpha)
Override the Alpha of an instance in a Sub Product.
Dtk_ErrorStatus AddVirtualComponentInstance(const Dtk_ID &inDocId, const Dtk_string &inInstanceName, const Dtk_transfo &inTransfo, Dtk_ID &outInstanceId)
Add an instance to a DocID into the Current (Sub/Root) CATProduct.
Dtk_ErrorStatus SetName(Dtk_string inName)
Dtk_ErrorStatus ProcessAsm(const Dtk_string &inResultDirectory, const Dtk_string &inInputFilesDirectory)
Definition: testlibcatiav5write.cpp:304
This class provides several options to tunes CatiaV5 Writter. It must be provided to catiav5w::InitWr...
Definition: catiav5w.hpp:41
void setOrigin(const Dtk_pnt &O)
Set a new O center point.
@ NodeTypeGeometricSet
Definition: catiav5w.hpp:430
#define DTK_TRUE
Definition: define.h:719
Dtk_ErrorStatus ProcessPart(const Dtk_string &inOutputFile, const Dtk_string &inReferenceName)
Definition: testlibcatiav5write.cpp:24
Dtk_BodyPtr CreateInfinitePlane()
Definition: testcreatecube.cpp:1496
This is a high level string class.
Definition: dtk_string.hpp:53
Dtk_ErrorStatus WriteEntity(const Dtk_EntityPtr &inEntity)
Write the entity provided in parameter.
Definition: dtk_uuid.hpp:8
Dtk_AxisSystemPtr CreateAxisSystem()
Definition: testcreatecube.cpp:1525
#define DTK_FALSE
Definition: define.h:720
Dtk_ErrorStatus OverrideInstanceColorWithPathID(const PathID &inInstancePathId, const Dtk_RGB &inInstanceColor)
Override the Color of an instance in a Sub Product.
Dtk_ErrorStatus CreateNode(const NodeType &inNodeType, const Dtk_string &inNodeName=Dtk_string())
Create a node in the Specification Tree.
Dtk_ErrorStatus InitProduct(const Dtk_string &inFileName, const Dtk_string &inReferenceName, const catiav5w::FileDescription &inFileDescription=catiav5w::FileDescription())
Initialize a sub Product during CATProduct process.
Dtk_ErrorStatus SetBlankedStatus(const Dtk_Int32 &inBlankedStatus)
Dtk_ErrorStatus CreateCGRDocId(const Dtk_string &inCGRFileName, const Dtk_string &inCGRName, Dtk_ID &outDocId)
Create a CGR Reference and DocID related to a given CGR File.
const Dtk_string & inReferenceName
Definition: catiav5w.hpp:459
Dtk_ErrorStatus InitPart(const Dtk_string &inOutputFile, const Dtk_string &inReferenceName, Dtk_UUID &outPartUUID, const catiav5w::FileDescription &inFileDescription=catiav5w::FileDescription())
Initialize the part
Dtk_BodyPtr CreatePoint()
Definition: testcreatecube.cpp:1469
@ NodeTypePartBody
Definition: catiav5w.hpp:431
Dtk_ErrorStatus EndVirtualComponent(Dtk_ID &outDocId)
End - and write - the virtual component initialized by catiav5w::InitVirtualComponent.
static Dtk_SmartPtr< Dtk_Entity > DtkDynamicCast(const Dtk_SmartPtr< T2 > &p)
Definition: util_ptr_dtk.hpp:101
Dtk_ErrorStatus AddInstance(const Dtk_ID &inDocId, const Dtk_string &inInstanceName, const Dtk_transfo &inTransfo, Dtk_ID &outInstanceId)
Add an instance to a DocID into the Current (Sub/Root) CATProduct.
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
Dtk_bool IsNULL() const
Definition: util_ptr_dtk.hpp:118
Dtk_ErrorStatus CreateV4ModelDocId(const Dtk_string &inV4ModelFileName, const Dtk_string &inV4ModelName, Dtk_ID &outDocId)
Create a V4 Model Reference and DocID related to a given V4 Model File.
Definition: util_ptr_dtk.hpp:37
Dtk_string dtkTypeError(Dtk_Int32 errNumero)
Dtk_ErrorStatus EndWrite()
Free the Catia V5 Writer
Dtk_ErrorStatus SetFileRelease(const Dtk_UInt32 inRelease)
Sets the release for the written files.
const char * c_str() const
Retrieve the ASCII conversion string.
Dtk_ErrorStatus CreatePartDocId(const Dtk_string &inPartFileName, const Dtk_string &inPartName, Dtk_ID &outDocId)
Create a Part Reference and DocID related to a given CATPart.
Dtk_LayerInfosSetPtr CreateSetWithFilters()
Definition: testcreatelayerinfoset.cpp:23
Dtk_MeshPtr CreateMeshCylinder(int nbpoints)
Mesh Cylinder sample.
Definition: testcreatemesh.cpp:334
int mkdir() const
File Utility : Create a Directory.
Dtk_ErrorStatus SetLayer(const Dtk_Int32 &inLayer)
This is a mathematical point class.
Definition: dtk_pnt.hpp:20
void FixPathSeparator()
File Utility : Fixes path separator consistency. It lets you replace the '\' or '/' by the OS needed ...
static Dtk_CameraPtr Create()
Calls default constructor to allocate a new object.
This is a high level array class.
Definition: util_stl_dtk.hpp:84
Dtk_BodyPtr CreateCube()
Definition: testcreatecube.cpp:1316
Dtk_ErrorStatus EndProduct(Dtk_ID &outDocId)
Write effectively the Sub Product initialized by catiav5w::InitProduct.
Dtk_ErrorStatus CloseCurrentNode()
close the current node previously created by catiav5w::CreateNode.
Dtk_ErrorStatus SetLayerData(const Dtk_LayerInfosSetPtr &inLayerDataSet)
Set Layer and LayerFilter Data in a CATPart context.
Dtk_BodyPtr CreateCurves()
Definition: testcreatecube.cpp:1357
Dtk_ErrorStatus WriteNamedView(const Dtk_ModelDisplayPtr &inNamedView)
Write the given ModelDisplay as NamedView - V5 camera -.
Dtk_ErrorStatus EndPart()
Free data allocated by catiav5w::InitPart
@ 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
Dtk_ErrorStatus InitWrite(const Dtk_string &inLogFile, Licence_dtk inLicFct, const WriteOptions &inOptions=WriteOptions())
Initialize the Catia V5 Writer
Definition: dtk_rgb.hpp:7
Dtk_ErrorStatus SetColor(const int &R, const int &G, const int &B)
static Dtk_SmartPtr< Dtk_Info > create()
Calls default constructor to allocate a new object.
Dtk_ErrorStatus WriteLayerData()
Definition: testlibcatiav5write.cpp:15
This is a mathematical direction class.
Definition: dtk_dir.hpp:14
Dtk_ErrorStatus OverrideBlankedStatusWithPathID(const PathID &inInstancePathId, const Dtk_bool inBlankedStatus)
Override the Blanked Status of an instance in a Sub Product.
Dtk_BodyPtr CreateOpenShell()
Definition: testcreatecube.cpp:1343