/   /
7 2022

C3D Solver: 2D 3D

isicad.ru: C3D Labs

C3D Solver 2022 . , , , . , C# . .

Solver 2D.

, , . , d .

C3D Solver

C3D Solver

:

  • ;
  • ;
  • ;
  • ;
  • , , , .

, , , : , , , .

API C3D Solver. , ().

//   
geom_item GCE_AddOffsetCurve( GCE_system, geom_item curve, double offset );


, . . .

//    
geom_item GCE_FixOffset( GCE_system, geom_item curve );


.

//    
geom_item GCE_AddEqualOffset( GCE_system, geom_item curve1, geom_item curve2 );


(++), :

//   
auto solver = GCE_CreateSystem();
 
//   GCE_point p_
GCE_point p_;
p_.x = 1.; p_.y = 0.;
auto p1 = GCE_AddPoint(solver, p_);
p_.x = 3.; p_.y = 0.;
auto p2 = GCE_AddPoint(solver, p_);
geom_item pnts[] = { p1, p2 };
 
//      
auto lseg = GCE_AddLineSeg(solver, pnts);
//  1-   
auto offsetLSeg1 = GCE_AddOffsetCurve(solver, lseg, 5.);
//  2-   
auto offsetLSeg2 = GCE_AddOffsetCurve(solver, lseg, -4.);
//  1-    p1
auto offsetPoint1 = GCE_AddOffsetCurve(solver, GCE_PointOf(solver, lseg, GCE_FIRST_END), 4.5);
//  2-    p2
auto offsetPoint2 = GCE_AddOffsetCurve(solver, GCE_PointOf(solver, lseg, GCE_SECOND_END), 5.5);
 
//   
GCE_AddEqualOffset(solver, offsetLSeg1, offsetPoint2);
GCE_AddEqualOffset(solver, offsetPoint2, offsetLSeg2);
GCE_AddEqualOffset(solver, offsetLSeg2, offsetPoint1);
//   1-   
GCE_FixOffset(solver, offsetLSeg1);
//  
GCE_Evaluate(solver);
GCE_GetCoordValue(solver, offsetLSeg1, GCE_OFFSET);
 
//  
GCE_RemoveSystem(solver);


, , , , , .

Solver 3D.

( ). , .

C3D Solver

, . , , . , , .

API . GCM_constraint GCM_AddDistance(...) .

//    
GCM_constraint GCM_AddDistance( GCM_system, GCM_geom g1, GCM_geom g2, const GCM_interval &, GCM_alignment );


, GCM_interval , .

//     
struct GCM_interval { double lBnd, rBnd; };


(++), :

//   
auto solver = GCM_CreateSystem();
 
//   1  
auto box1 = GCM_AddGeom(solver, GCM_SolidLCS(MbCartPoint3D::origin, MbVector3D::zAxis, MbVector3D::xAxis));
auto box1XY = GCM_SubGeom(solver, box1, GCM_Plane(MbCartPoint3D::origin, MbVector3D::zAxis));
 
//   2  
auto box2 = GCM_AddGeom(solver, GCM_SolidLCS(MbCartPoint3D::origin, MbVector3D::zAxis, MbVector3D::xAxis));
auto box2XY = GCM_SubGeom(solver, box2, GCM_Plane(MbCartPoint3D::origin, MbVector3D::zAxis));
 
//     
GCM_interval interval{ 1.5, 7.5 };
//  
auto itrvlDist = GCM_AddDistance(solver, box1XY, box2XY, interval);
//  
auto result = GCM_Evaluate(solver);
 
//  
GCM_RemoveSystem(solver);


. .


:


RSS-

: ,
-

:

: - (28 2024)
isicad Top 10

    isicad:

isicad-2010 isicad-2008
isicad-2006 isicad-2004

isicad.ru - , . - info@isicad.ru

isicad

  • , PLM ERP...


. © 2004-2024 «»

, isicad.ru .
info@isicad.ru.