![Logo](tetiere_ht.jpg) |
DATAKIT API
V2025.1
|
|
◆ CatiaV5WriteSample()
int CatiaV5WriteSample |
( |
const Dtk_string & |
inResultDirectory | ) |
|
489 cout << endl <<
"----------------------------------------------" << endl;
490 cout <<
"CatiaV5 Write start" << endl;
493 outputDirectory = inResultDirectory + L
"dtk/CatiaV5/";
495 outputDirectory.
mkdir();
◆ ProcessAsm()
353 outputDirectory = inResultDirectory +
"dtk/CatiaV5/";
356 Dtk_string CATPartFileName = outputDirectory + L
"V5_sample.CATPart";
357 Dtk_string V5FileName = inResultDirectory + L
"CatiaV5/9.CATPart";
358 Dtk_string CGRFileName = inResultDirectory + L
"CGR/Engine.cgr";
359 Dtk_string V4ModelFileName = inResultDirectory + L
"CatiaV4/EngineComponent.model";
360 Dtk_string SubProductFileName = outputDirectory + L
"SubProduct.CATProduct";
361 Dtk_string RootProductFileName = outputDirectory + L
"RootProduct.CATProduct";
377 Dtk_ID PartID, V5ID, V4ID, CgrID;
393 Dtk_ID SubProductID, VirtualSubComponent1ID, VirtualSubComponent2ID, PartInstanceID, VirtualSubComponent1_Instance1ID;
394 Dtk_ID PartInstanceID2, CGRInstanceID, V4InstanceID, V5InstanceID, VirtualComponent1_Instance1ID;
401 TransformationMatrix.
setOrigin( 0, 0, 150 );
409 TransformationMatrix.
setOrigin( 0.0, 0.0, 0.0 );
415 TransformationMatrix.
setOrigin( 0.0, 0.0, 0.0 );
418 TransformationMatrix.
setOrigin( 0.0, 500.0, 0.0 );
421 TransformationMatrix.
setOrigin( 0.0, -500.0, 0.0 );
424 TransformationMatrix.
setOrigin( 0.0, -1000.0, 0.0 );
427 TransformationMatrix.
setOrigin( 0.0, 1000.0, 0.0 );
435 Dtk_ID RootProductID, PartInstance2ID, SubProductInstance1ID, SubProductInstance2ID;
440 TransformationMatrix.
setOrigin( 0.0, 0.0, 50.0 );
444 TransformationMatrix.
setOrigin( 1000.0, 0.0, 0.0 );
445 err =
catiav5w::AddInstance( SubProductID, L
"SubProductInstance1", TransformationMatrix, SubProductInstance1ID );
446 TransformationMatrix.
setOrigin( -1000.0, 0.0, 0.0 );
448 err =
catiav5w::AddInstance( SubProductID, L
"SubProductInstance2", TransformationMatrix, SubProductInstance2ID );
454 Path1.
push_back( SubProductInstance2ID );
455 Path1.
push_back( VirtualComponent1_Instance1ID );
456 Path1.
push_back( VirtualSubComponent1_Instance1ID );
467 Path2.
push_back( SubProductInstance1ID );
478 cout <<
"=> " << RootProductFileName.
c_str() << endl <<
"CatiaV5 Write end" << endl;
◆ ProcessPart()
99 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
107 MyCurveSetInfo->
SetName( L
"MyCurveSet" );
111 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
119 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
126 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
134 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
140 MyOpenShellInfo->
SetName( L
"MyOpenShell" );
147 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
152 Dtk_InfoPtr& body_openshellInfo = body_openshell->info();
153 if( body_openshellInfo.
IsNULL() )
161 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
169 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
176 MySolidInfo->
SetName( L
"My Solid" );
182 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
188 if( body_solidInfo.
IsNULL() )
196 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
204 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
209 MyOpenShellForMeshInfo->
SetName( L
"MyOpenShellForMesh" );
213 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
221 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
229 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
234 MyOpenShellForPlaneInfo->
SetName( L
"MyOpenShellForPlane" );
238 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
246 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
254 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
259 MyOpenShellForInifiniteLineInfo->
SetName( L
"MyOpenShellForInifiniteLine" );
263 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
271 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
279 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
287 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
295 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
316 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
322 Cam =
Dtk_Camera::Create(
Dtk_pnt( 100, 100, 100 ),
Dtk_pnt( 0, 0, 0 ), 100., 100.,
Dtk_dir( 0, 1, 0 ) );
327 NamedView->info()->SetName( L
"MyNamedView" );
332 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
340 std::cout <<
"error : " <<
dtkTypeError( err ) << std::endl;
◆ WriteLayerData()
26 Dtk_Size_t Layer888Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer888Idx, 888 ); layerInfoSet->SetLayerName( Layer888Idx, L
"My First Layer" );
29 Dtk_Size_t Layer111Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer111Idx, 111 ); layerInfoSet->SetLayerName( Layer111Idx, L
"My Second Layer" );
32 Dtk_Size_t Layer987Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer987Idx, 987 ); layerInfoSet->SetLayerName( Layer987Idx, L
"My Third Layer" );
35 Dtk_Size_t Layer4Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer4Idx, 4 );
38 Dtk_Size_t Layer5Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer5Idx, 5 );
41 Dtk_Size_t Layer6Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer6Idx, 6 );
44 Dtk_Size_t Layer10Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer10Idx, 10 );
47 Dtk_Size_t Layer11Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer11Idx, 11 );
50 Dtk_Size_t Layer12Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer12Idx, 12 );
58 filter4_5_6->SelectLayers( layers4_5_6 );
64 filter10_11_12->SelectLayers( layers10_11_12 );
Dtk_BodyPtr CreateAxis()
Definition: testcreatecube.cpp:1492
static Dtk_ModelDisplayPtr Create(const Dtk_CameraPtr &inCamera, const Dtk_EntityPtr &inClippingEntity, const Dtk_bool inIsActivated)
Full featured constructor.
Dtk_ErrorStatus ProcessAsm(const Dtk_string &inResultDirectory)
Definition: testlibcatiav5write.cpp:350
uint32_t Dtk_ID
Definition: define.h:689
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)
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:428
#define DTK_TRUE
Definition: define.h:727
Dtk_ErrorStatus ProcessPart(const Dtk_string &inOutputFile, const Dtk_string &inReferenceName)
Definition: testlibcatiav5write.cpp:70
Dtk_BodyPtr CreateInfinitePlane()
Definition: testcreatecube.cpp:1435
This is a high level string class.
Definition: dtk_string.hpp:58
size_t Dtk_Size_t
Definition: define.h:712
Dtk_ErrorStatus WriteEntity(const Dtk_EntityPtr &inEntity)
Write the entity provided in parameter.
Definition: dtk_uuid.hpp:8
Dtk_AxisSystemPtr CreateAxisSystem()
Definition: testcreatecube.cpp:1465
#define DTK_FALSE
Definition: define.h:728
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:456
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:1407
@ NodeTypePartBody
Definition: catiav5w.hpp:429
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_MeshPtr CreateMeshCylinder(int nbpoints)
Mesh Cylinder sample.
Definition: testcreatemesh.cpp:337
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:22
void FixPathSeparator()
File Utility : Fixes path separator consistency. It lets you replace the '\' or '/' by the OS needed ...
static Dtk_CameraPtr Create()
Base constructor.
This is a high level array class.
Definition: util_stl_dtk.hpp:85
Dtk_BodyPtr CreateCube()
Definition: testcreatecube.cpp:1249
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:1292
Dtk_ErrorStatus WriteNamedView(const Dtk_ModelDisplayPtr &inNamedView)
Write the given ModelDisplay as NamedView - V5 camera -.
Dtk_ErrorStatus EndPart()
Free data allocated by catiav5w::InitPart
static Dtk_LayerInfosSetPtr Create(const Dtk_Size_t inNumLayers)
Base constructor.
@ dtkNoError
Definition: error_dtk.hpp:140
void push_back(const T &x)
Inserts an element at the end of the array.
Definition: util_stl_dtk.hpp:415
Dtk_ErrorStatus InitWrite(const Dtk_string &inLogFile, Licence_dtk inLicFct, const WriteOptions &inOptions=WriteOptions())
Initialize the Catia V5 Writer
void CreateOpenShell(std::map< Dtk_ID, Dtk_EntityPtr > &outArrayTopo, const Dtk_BodyPtr &inDtkBody)
Definition: testcreatecube.cpp:1194
Definition: dtk_rgb.hpp:7
Dtk_ErrorStatus SetColor(const int &R, const int &G, const int &B)
static Dtk_SmartPtr< Dtk_Info > create()
Dtk_ErrorStatus WriteLayerData()
Definition: testlibcatiav5write.cpp:17
This is a mathematical direction class.
Definition: dtk_dir.hpp:15
Dtk_ErrorStatus OverrideBlankedStatusWithPathID(const PathID &inInstancePathId, const Dtk_bool inBlankedStatus)
Override the Blanked Status of an instance in a Sub Product.