查看单个帖子
旧 2009-05-05, 08:57 AM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】edge coedge orientation

edge / coedge orientation
edge / coedge orientation
hello,
in reading acis data, i'm missing the information about when the coedge direction matches or is opposit to the 3d edge direction.
in the case of a box, there are 12 unique edges and 24 coedges, half of which need to go in the opposite direction to the edges.
i have tried using odbredge::getorienttocurve(), odbrcoedge::getorienttocurve() and odbrcoedge::getorienttoedge(), but all 3 of those always return true for all of the coedges of a box, for example.
how can i tell if the logical coedge direction is the same as the 3d edge direction or not?
thanks,
lowell
there are two ways :
a. didn't miss the information about orientation.
b. try next
1. set all edgeorient2curve to true
2. calculate point array of edges for each loop in face,
3. try to make closed loop from separate edges by compare start/end points and reverse curve if needed.
4. coedgeorien2curve flag = true if curve was reversed.
for example : one plane of square:
point array gets
a c c a a,b,c,d - start\end points of edges
* * * * * - any point between
* * * *
b b d d
closed loop will
a b c d
b c d a
so coedgeorien2curve flags
+ - + -
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)