Open CASCADE Modeling Data --- Direct Construction
eryar@163.com
使用本章中介紹的包可以使用創(chuàng)建幾何實(shí)體易如反掌,這些包是gp、Geom2d、Geom等。若想通過圓心和半徑創(chuàng)建一個(gè)圓,可以使用包gp,在創(chuàng)建之前還需要?jiǎng)?chuàng)建一個(gè)軸Ax2d。若可以使用包gce,則將軸設(shè)置為Ox軸,可直接通過點(diǎn)和半徑創(chuàng)建出圓。一般的構(gòu)造方法都是通過構(gòu)造函數(shù)來完成的。
一、提供的功能 The services provided
提供了創(chuàng)建初等幾何實(shí)體的基本函數(shù),如創(chuàng)建直線、圓和曲線等。
l gce:提供了創(chuàng)建非持久性幾何實(shí)體的算法實(shí)現(xiàn),算法如下所示:
u 根據(jù)已知直線和距離求其平行線;
u 根據(jù)已知直線和點(diǎn)求其平行線;
u 過兩個(gè)指定點(diǎn)的圓;
u 求已知圓和距離求其平行的圓;
u 求過已知點(diǎn)并平行于已知圓的圓;
u 過三個(gè)指定點(diǎn)的圓;
u 過圓心和半徑的圓;
u 過五個(gè)指定點(diǎn)的雙曲線;
u 過中心點(diǎn)和兩個(gè)頂點(diǎn)的雙曲線;
u 過五個(gè)點(diǎn)的橢圓;
u 過中心點(diǎn)和兩個(gè)頂點(diǎn)的橢圓;
u 過三個(gè)點(diǎn)的拋物線;
u 過中心點(diǎn)和一個(gè)頂點(diǎn)的拋物線;
u 過兩個(gè)點(diǎn)的直線;
u 更全面的的信息請參考幫助文檔。如下圖所示:
包gce
l 包GC、GCE2d:提供了生成幾何實(shí)體的算法;
u 圓由兩點(diǎn)剪裁得到的圓弧;
u 橢圓由兩點(diǎn)剪裁得到的圓弧;
u ……
二、常用的包
在工具箱TKGeomBase中提供了相應(yīng)的三個(gè)包:
l gce:構(gòu)造gp實(shí)體;constructs gp entities.這個(gè)包中的類用來構(gòu)造包gp中的對象。每個(gè)類構(gòu)造gp包中相應(yīng)的一個(gè)對象。例如:類MakeLin2d創(chuàng)建gp包中的一個(gè)Lin2d對象。gp包在工具箱TKMath中,屬于基礎(chǔ)類模塊。
u 對于二維幾何形狀:
1. MakeCirc2d;
2. MakeElips2d;
3. MakeHypr2d;
4. MakeLin2d;
5. MakeParab2d;
u 對于三維幾何形狀:
1. MakeCirc;
2. MakeElips;
3. MakeHypr;
4. MakeLin;
5. MakeParab;
6. MakeCone;
7. MakeCylinder;
8. MakePln.
u 對于二維變換:
1. MakeMirror2d;
2. MakeRotation2d;
3. MakeScale2d;
4. MakeTranslation2d;
u 對于三維變換:
1. MakeMirror;
2. MakeRotation;
3. MakeScale;
4. MakeTranslation.
u 代碼示例:
當(dāng)你不確定傳遞的構(gòu)造參數(shù)是否能創(chuàng)建出相應(yīng)的gp對象,而不產(chǎn)生異常時(shí),上面的這種用法很有用。上例中,若Point1、Point2太相近,則函數(shù)MakeLin2d認(rèn)為它們是相同的兩個(gè)點(diǎn),會返回gce_ConfusedPoint值。若你能確定兩個(gè)點(diǎn)的值是不同的,則可以直接創(chuàng)建gp對象,如下所示:
l GCE2d:構(gòu)造Geom2d實(shí)體;constructs Geom2d entities.包GCE2d的類是用來構(gòu)造包Geom2d的對象。包Geom2d在工具箱TKG2d中,屬于造型數(shù)據(jù)模塊。
u 對于幾何形狀:
1. MakeCircle;
2. MakeEllipse;
3. MakeHyperbola;
4. MakeLine;
5. MakeParabola;
u 對于幾何變換:
1. MakeMirror;
2. MakeRotation;
3. MakeScale;
4. MakeTranslation;
u 使用方式與包gce相同。
l GC:構(gòu)造Geom實(shí)體;constructs Geom entities.這個(gè)包中的類是用來構(gòu)造包Geom中的對象。包Geom在工具箱TKG3d中,屬于造型數(shù)據(jù)模塊。每個(gè)類都將會構(gòu)造出包Geom中相應(yīng)的對象。如類MakeLine將構(gòu)造出Geom中的類Line的對象。
u 有些類返回Geom中的TrimmedCurve對象,這些類如下:
1. MakeArcOfCircle;
2. MakeArcOfEllipse;
3. MakeArcOfHyperbola;
4. MakeArcOfParabola;
5. MakeSegment;
u 同樣地,有兩個(gè)類返回RectangluarTrimmedSurface類型:
1. MakeTrimmedCone;
2. MakeTrimmedCylinder;
u 對于幾何形狀:
1. MakeCicle;
2. MakeEllipse;
3. MakeHyperbola;
4. MakeLine;
5. MakeParabola;
6. MakeConicalSurface;
7. MakeCylindricalSurface;
8. MakePlane;
l 對于幾何變換:
u MakeMirror;
u MakeRotation;
u MakeScale;
u MakeTranslation.
使用方式與包gce是相同的。
eryar@163.com
Shanghai China
2012-9-27