|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, f; V$ ]7 p0 {/ e1 t+ _4 z
0 \5 o0 E' n: w$ F1 ?) L- |; \8 Z
- e& j1 p0 w$ E! s$ Y7 }; c' I4 P. M9 Z+ j4 h+ K) H% x; \
. Q& i$ G! S, o5 u! cUG NX二次开发源码分享:获取边或者曲线的起点和终点(java)
9 g: j& L/ n0 s }7 H这里做个参考,你使用其他语言类似,对于一般的曲线,建议使用evalator进行解析!!
9 c8 e: O0 F% G' k1 b7 Z* e7 p+ p6 E' C8 u6 h$ R$ Z8 v+ l3 ^& ^2 b
6 N9 c3 h3 d) |; ]: d' q) `" Q* n1 D2 }1 W s2 @0 `4 _% _& N/ _
9 T/ Y% X7 j# k, Y( P% j `static Point3d[] askCurveEnds(Curve theCurve) throws RemoteException, NXException
) a4 p2 B; Q/ T {
4 R# B( ]5 H) @- R double[] limits = new double[2];0 [* M6 C% o! o7 Z$ ]$ ?
UFVariant evaluator;
# j& g% [8 k, z; l" ~ EvaluateData start;
' W( h. ?. v1 y* n( J8 U! x8 z EvaluateData end;3 i" s& D' n2 v& n
' a& N. J- M7 L9 s) @4 a9 k' o7 T
- p* I3 y$ \( Y; ` evaluator = theUFSession.eval().initialize(theCurve.tag());
* q2 _" p6 Q/ a; D+ V limits = theUFSession.eval().askLimits(evaluator);
4 P1 _7 Q# T" y start = theUFSession.eval().evaluate(evaluator, 0, limits[0]);
( Z4 v( Q0 I9 S/ Y* ? end = theUFSession.eval().evaluate(evaluator, 0, limits[1]);% E+ a. P2 T' X3 G* o3 ]" |
theUFSession.eval().free(evaluator);9 v9 _5 i' |4 y1 _
2 b: y' f4 G) l0 \$ a2 b3 P9 B( q5 f2 L& }+ L. \
return new Point3d[]
0 w! f2 B: a! y8 v7 e { new Point3d(start.point[0], start.point[1], start.point[2]),
- m1 P; ?7 Q+ p new Point3d(end.point[0], end.point[1], end.point[2]) };
" B! r6 a# ^' ]' Z. J- O; q& d }) p2 O' H' c. M8 S7 G0 m- z
1 T7 C: o0 h0 f* }9 b
" W: N I' o0 L6 X+ L |
|