|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ r9 t \" l Q* h: J7 L$ G. u* h; H, m+ L* t6 n' K
. t; p0 X7 h6 E7 \. g: R1 x M! c& o
# ?; I; Y' o, ?0 c" _! I' R% P
1 |* k! D7 Z6 |% P4 |
UG NX二次开发源码分享:获取边或者曲线的起点和终点(java)
r% x, ]% m2 e5 K; ~8 @+ i这里做个参考,你使用其他语言类似,对于一般的曲线,建议使用evalator进行解析!!+ @9 C, W6 D) }3 _5 m0 G( E
0 F5 B, k' c! q8 T3 h: x
) `& H/ o1 Z! x* V) i. s7 k1 H. G0 U$ F" t6 `% U0 t9 u6 S
( g: `1 T2 e9 k2 I; v1 istatic Point3d[] askCurveEnds(Curve theCurve) throws RemoteException, NXException
! h& ^' D' z; U {! E# F2 y: T: M' x. t; m; e+ l
double[] limits = new double[2];; z- s6 @/ x, U, K. g4 H
UFVariant evaluator;4 P3 W: M/ A! g+ J
EvaluateData start;
: I8 H& n; C: c- o% I+ V EvaluateData end;
; b4 a: O. Y, R( r% {
4 U8 C2 k5 L0 [9 i8 m+ l/ k% \; I; K! D( D D
evaluator = theUFSession.eval().initialize(theCurve.tag());# V' K) B, x8 w; T% _+ B. C
limits = theUFSession.eval().askLimits(evaluator);
9 w$ u" f4 s7 ~' s9 }* r e8 P' L start = theUFSession.eval().evaluate(evaluator, 0, limits[0]);
$ P- w0 [1 O! A6 M; ^% r3 l end = theUFSession.eval().evaluate(evaluator, 0, limits[1]);/ t% R' y- t, w$ p: B2 t$ F* s0 a
theUFSession.eval().free(evaluator);, O9 [/ d9 I. u
4 F! r t+ j( C- ^ y" F+ b1 x) X" H1 k! f; m1 ~$ M
return new Point3d[] ' m; c# m: t0 U% e
{ new Point3d(start.point[0], start.point[1], start.point[2]),
3 u2 \4 l- \; K4 c* @ new Point3d(end.point[0], end.point[1], end.point[2]) }; y) D- @* ~# S6 w% L$ ~7 ^7 j
}
: c0 i1 _" T/ n9 `
$ Q+ o# _# C" O2 J5 u$ `. J9 m% N' T) N7 U* Z3 R7 P
|
|