|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ R7 @& a4 _9 e: G! X
$ D: v5 c. }3 E9 V' A6 i
4 v6 y0 ?3 H" V$ V6 D7 Y+ @1 b7 }+ S$ G( m. B2 y$ H9 c
6 O( I' b3 ^8 V* `) N/ ]3 C8 s0 \1 w
UG NX二次开发源码分享:获取边或者曲线的起点和终点(java)7 X! M; k* A% M+ C+ i3 C" R) A
这里做个参考,你使用其他语言类似,对于一般的曲线,建议使用evalator进行解析!!
! k) s: P" G& w# u" \
2 \) k$ E. a5 R4 {/ C; L4 H f5 l& Z
3 q _, `& Y9 q( ?+ w/ _0 W
+ v% ^: |; P0 }1 s$ F# S
, d5 @4 P) y; Rstatic Point3d[] askCurveEnds(Curve theCurve) throws RemoteException, NXException e0 I; _4 r+ o3 f
{2 ~: K1 _) g, e8 j- I F& x# k
double[] limits = new double[2];) X d: @& B* c. F
UFVariant evaluator;
6 I, _& Z) `; V. y) l EvaluateData start;
( v8 n" D5 p6 ` EvaluateData end;
% [: _" n U- w) B# V) V) X; s; M/ m6 t( Q8 E
* o% u6 _( }, g& @" K! u( j evaluator = theUFSession.eval().initialize(theCurve.tag());
" |- f" a, i! Z& }2 [; `4 _1 M limits = theUFSession.eval().askLimits(evaluator);" T. k: T. O; j" E9 C
start = theUFSession.eval().evaluate(evaluator, 0, limits[0]);
9 h* `. S6 [7 K0 }% ] end = theUFSession.eval().evaluate(evaluator, 0, limits[1]);
9 g) b) x7 }9 X0 z0 o theUFSession.eval().free(evaluator);, p6 p- w' z: d, Y8 \8 m; @7 t
; [( Q( t( b% t2 K% G T+ z' ~
8 @' G- p. ^: L Q return new Point3d[] ! s0 x# R) F" g$ q8 P' B* t$ n m
{ new Point3d(start.point[0], start.point[1], start.point[2]),# ~ Z1 a) }1 q" Q- z N
new Point3d(end.point[0], end.point[1], end.point[2]) };' i0 M; G. k) A& z5 Z8 o
}0 W* J* X. j% t d3 H
- a: r9 o. U: V; d N2 _3 x# S# x. J b/ B0 t8 x2 p
|
|