|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ C$ q, D6 O5 M V/ n2 i. f* F6 p
* I8 G2 S b3 v# J7 u0 w
8 C/ C6 Z9 B# G0 X+ O- _% y' o. o' n. p+ m$ s2 _" i
UG NX二次开发源码分享:获取边或者曲线的起点和终点(java)
7 @: D! \, {4 H6 o这里做个参考,你使用其他语言类似,对于一般的曲线,建议使用evalator进行解析!!
6 y Q* u5 `% n% C
& C$ |7 B1 R4 c( ]% G! d
- T( Q1 D, \- @' h9 F" e/ L5 e1 n* [+ Y
3 c1 M7 p% r+ r8 F+ k/ Z7 N
static Point3d[] askCurveEnds(Curve theCurve) throws RemoteException, NXException/ w# N+ ?2 f; N2 ?" m) U
{
" T# P* |: @' k double[] limits = new double[2];
2 `5 A, l0 ^: [5 r: f2 h UFVariant evaluator;- H3 [9 _ M( o' I7 z
EvaluateData start;
0 I1 `7 K4 q9 n) E% u8 S, t EvaluateData end;
! F/ C, E. I4 h* {6 v: n
) ^" b- j/ V5 o3 q; U7 K1 E+ h" B# @ g1 W6 T) x0 G
evaluator = theUFSession.eval().initialize(theCurve.tag());, l6 \6 X0 R. l5 R1 h% B
limits = theUFSession.eval().askLimits(evaluator);' r% j7 G6 e& a; k8 h* m) a7 Z0 }
start = theUFSession.eval().evaluate(evaluator, 0, limits[0]);
& `- K; ^: ^+ n6 ^0 |4 I( O* v end = theUFSession.eval().evaluate(evaluator, 0, limits[1]);
( J, S! Q2 j9 ]7 Q theUFSession.eval().free(evaluator);
0 m* @2 u$ Y) t3 }1 r/ J- d
7 k# Z. U& }$ f0 E. Z+ T9 o9 A% O& R% w9 \
return new Point3d[]
" x( [( w3 n6 d. `% Y0 | { new Point3d(start.point[0], start.point[1], start.point[2]),
5 J$ F+ X5 O8 @: Y0 P! f new Point3d(end.point[0], end.point[1], end.point[2]) };: T" `6 }4 B+ m/ S1 _# m% @4 Y
}
( r9 L3 S0 @9 ]! P4 v7 ?
1 |9 w% v! F6 M% `" }$ @. z: h2 f7 w7 M5 j0 o2 q% Q
|
|