|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
' r: j! e% j. e
- p) S, m! m+ ?' ]! G& O
! m% ]8 j4 I- a. E8 R, a9 @" J5 _, o' v+ Z4 a) L
8 Q L- T# @, i& z4 I# \UG NX二次开发源码分享:获取边或者曲线的起点和终点(java)2 B( d1 B) l' I
这里做个参考,你使用其他语言类似,对于一般的曲线,建议使用evalator进行解析!!
7 j, r3 q( @- T" x: n+ M+ q. a1 B: i6 q( f2 Y* y7 I& b0 x
$ l9 g' Z" e' ]6 }! Y0 x" m3 _
% l. |- M% j" ]0 }
' @2 N6 J4 [+ p# I ystatic Point3d[] askCurveEnds(Curve theCurve) throws RemoteException, NXException/ {3 w/ ]2 {7 G/ j4 c
{8 ?$ T6 s* e! o8 x& N" n0 Z
double[] limits = new double[2];2 ]1 Y! O" l5 k c Q9 r
UFVariant evaluator;) G# z6 C# @0 I+ Y0 p
EvaluateData start;$ Q2 H4 E1 {% I5 G( U/ A
EvaluateData end;- x. R$ S9 u; F1 T
M6 }% W1 Z7 `6 i# n, ]- V5 h" d$ k3 v" r
evaluator = theUFSession.eval().initialize(theCurve.tag());
6 k/ o# x/ t" D. O( f- h limits = theUFSession.eval().askLimits(evaluator);) E3 G) l, L& r
start = theUFSession.eval().evaluate(evaluator, 0, limits[0]);
2 d. U$ U5 `& \6 m; Z) A end = theUFSession.eval().evaluate(evaluator, 0, limits[1]);: y7 }& V5 n$ X, s
theUFSession.eval().free(evaluator);
: T, L, y# Z7 D8 B+ R
( l1 v; b7 @( X7 X% g& _; v* V' C9 L9 M+ c6 v% f
return new Point3d[]
9 M+ K, H" w" M4 |3 Z r4 v { new Point3d(start.point[0], start.point[1], start.point[2]),
; x% ?6 B7 o2 v" X/ ^ new Point3d(end.point[0], end.point[1], end.point[2]) };
8 D1 N0 P' ^5 `% w( }+ X/ G }
* s2 ^" @% x+ c% R! |/ x& `
. W4 X* f9 p( A7 @
* { C6 F, X) W, H: t8 y |
|