|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 ?* U$ s1 G" L
1 d% s$ _9 \8 R$ Y/ h6 q5 G
4 _: X" x* f0 I, }* i
1 ^& f( t( Y3 N2 z
, p4 A, H5 } ]3 Y a( ~UG NX二次开发源码分享:获取边或者曲线的起点和终点(java)! }) r1 L. J. P7 }$ W' V
这里做个参考,你使用其他语言类似,对于一般的曲线,建议使用evalator进行解析!!
& h0 ?- c' V i' u( n
+ X% ?: C9 V9 f( S% i# L, b8 v/ V2 u( S% J' \. j2 P+ o! x
9 P/ c- q6 ~: R4 g. d! A: @" X6 f
7 M5 \) x6 Y- c% I+ \& T8 B- ?9 f5 W& s
static Point3d[] askCurveEnds(Curve theCurve) throws RemoteException, NXException9 f& P# |* o E6 @/ i
{
w* G& a! }3 v& D2 i double[] limits = new double[2];9 n/ W- }9 g& ~* Q
UFVariant evaluator;* i/ ?# }; h* C% P q7 e
EvaluateData start;
7 p( T1 d; ]1 J1 {7 W6 b+ \ EvaluateData end;
7 s; z2 U3 W0 a- |- T, U$ Q6 e5 d
$ S+ W9 b* u' O, ]8 `
evaluator = theUFSession.eval().initialize(theCurve.tag());( F; Q3 d5 a" F. i5 ^4 m3 d
limits = theUFSession.eval().askLimits(evaluator);; P6 H& c0 w# z0 x1 A
start = theUFSession.eval().evaluate(evaluator, 0, limits[0]);% _: }3 V4 ^. l3 |7 z$ U
end = theUFSession.eval().evaluate(evaluator, 0, limits[1]);
. o$ d r+ |( d% I) U3 c( s theUFSession.eval().free(evaluator);
G. c2 h. w f' O: _1 C2 b; C, B
3 o# @7 I( K, `* V' y/ Y5 _2 J0 u
return new Point3d[]
# c7 Z* S6 L/ h9 |' p: X$ C { new Point3d(start.point[0], start.point[1], start.point[2]),* ?/ U( K" ?- |7 Q: F; v
new Point3d(end.point[0], end.point[1], end.point[2]) };
% L( o, q6 b, t* S }
- a6 T* Z, X- a) m0 v2 x% L4 v0 h
O% X* S S0 B$ _$ f8 q5 ~
( v& t+ _4 R, X" R5 g |
|