|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
; i. Y9 G: Q0 A
5 o1 ]5 i- k2 n1 K1 @
: Z# \2 `. S/ a7 U5 ~) v& t5 i1 }& q4 `1 q8 ? B! r+ H
2 V2 w& l" }1 @4 I6 P/ R+ aUG NX二次开发源码分享:获取边或者曲线的起点和终点(java)( f. J( J1 U$ s# y( g& Z
这里做个参考,你使用其他语言类似,对于一般的曲线,建议使用evalator进行解析!!
2 g& T$ P: O) G. _
) p+ D I, q) S( O$ ?; M% l W4 p6 S2 l$ S9 Q4 d. H6 W: C! m
& p2 p6 X7 m8 j" h7 x/ \- r
* K u2 J' o' t5 _# kstatic Point3d[] askCurveEnds(Curve theCurve) throws RemoteException, NXException
; ~1 X) P4 \: t {
( n* c$ s/ f b- l double[] limits = new double[2];
4 P# k% |. B3 t- O. m UFVariant evaluator;. j- G8 c! w, d- n/ M
EvaluateData start;
4 J4 @! Y& ~, L2 Q6 f4 L# \9 m5 z EvaluateData end;1 ^: }7 t' ?. p/ |% n
w( H( ?. ]& M& ?7 T" w
8 o4 j9 M* u2 j
evaluator = theUFSession.eval().initialize(theCurve.tag());
" m0 G# n, @' I7 u) f2 p* E limits = theUFSession.eval().askLimits(evaluator);
$ |( R- G. |7 `4 v! a4 h3 ?) Z start = theUFSession.eval().evaluate(evaluator, 0, limits[0]);( Z# S8 @; j( q$ }+ S
end = theUFSession.eval().evaluate(evaluator, 0, limits[1]);
* X: Z" O! W; _ theUFSession.eval().free(evaluator);
' p/ O! }1 n$ m4 ?! C3 }- T- l. m9 ]- E
: z" B) ]+ \8 M! b1 H a& l& s return new Point3d[]
+ N) ~* V# j' r T7 R; ~; ^9 k$ k! y { new Point3d(start.point[0], start.point[1], start.point[2]), q2 Z; {% \; k) r; W
new Point3d(end.point[0], end.point[1], end.point[2]) };
- ?+ e9 R$ J! h0 A1 a* _1 [" n }9 b. q9 |9 R4 N/ }: S0 c
3 t9 G, e1 O u2 r N F
0 ~& U4 n( z. P+ } |
|