|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
; c; B' V9 g7 @2 k- ?4 N& q 可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!
6 P* K4 B0 j: v( }* f+ R+ }. j; w) y
2 {4 P! J0 S% rvoid testSimulation::do_it()
a/ f) b9 p; h3 A# U* E4 A) O{
' y/ v$ J7 x6 F% s) P+ p" f //TaggedObject* toolbody = select_by_mask();0 T3 Q- p' ^) `: C8 y4 W# m$ ?
TaggedObject* pathCurve = select_by_type();
; i* s2 J& Q( W9 W. S- M& m$ K0 ~ //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();
- k1 t- [' v0 C- e; x3 m // get the path point * e& Q6 k n/ R9 B/ W
double ctol = 0.0;; \* `4 v% j7 ~3 k+ e
double atol = 0.0;
6 a. B2 L9 g1 n- I( A7 l4 x double stol = 10.0;6 u: D2 ~+ v% c8 O$ M/ |. Z" ~# Y
double *pts;
: M6 }# H' ? R int num =0;7 J' @$ ?. B# M0 ?$ t, _2 W8 G
char msg[256];- M' v- W% G4 F) H
int error =0;* I$ K7 s! k7 q- K' P8 v% n9 ]) T
double (*points)[3];
( g5 e6 K/ D! {; f! h p tag_t pointTag;
/ o7 ~) X& j) K; h& _$ n
0 j& I0 a8 K( X- Y0 L9 ^: P; k% V
! o; ]; b6 S' ]8 e) t( R8 f H UF_initialize();# V4 }3 X. i8 y: ~+ V# I" F- \
" N: H7 U2 w& L7 ]. b1 H UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);
) D' `; {, n* b* q sprintf(msg,"the number of points:%d",num);
; b# `7 l6 ~# x; D: D2 k$ N print(msg);
- i9 T. f* G. }! y+ G5 F. F( X/ X5 B9 B
points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));
& M. u" O% U1 r% s$ @, F( D' k
2 U1 V% X3 H- e for(int i =0 ; i < 3*num;++i) A& ?* P+ B& T6 w( K/ w9 t
{
7 ] J k$ [- @$ h+ S) u sprintf(msg,"The points are: %f\n",pts[i]);% ^' f' `/ ~9 j* C X# R
print(msg); D4 y% G+ H5 }3 d+ h2 l2 {# K
- l3 P+ d& e" y" n! V }
" E( [% z( m* O. T+ Y# F for (int j = 0; j < num; j++)% j, P* _3 x) [4 _8 D
{
6 w* Y, v, I& j% R points[j][0] = pts[j*3];; `6 i! ^& O( I! |9 V% `' }3 n/ q
points[j][1] = pts[j*3+1];
s h( @0 s& H6 M- s7 I7 O+ y points[j][2] = pts[j*3+2];" [: O6 I$ A2 P: x
UF_CURVE_create_point(points[j],&pointTag);. w+ l; t8 N- _+ k; f
}1 V7 A8 d+ H) n7 I/ F# o" m8 j
6 l7 m z8 H4 o! [! A5 J: {
UF_free(points);' ]0 U' z6 x, U$ ^ _; ~+ ~ b
UF_free(pts);
/ {' `0 F6 N2 k) L/ M UF_terminate();
9 [. p$ L2 h5 Z" ~' n0 A0 G" e( X x2 M6 M% f) M
// TODO: add your code here+ u) T5 I% D @/ j% ?$ k
' h0 L" E* l+ y6 \7 O3 ?( l% f}1 [% z. V, p. v) v2 [) C7 X
% X8 `$ D4 U: {( d0 `: Q
|
|