PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

PLM之家PLMHome-国产软件践行者

[交作业] 20160320 lesson 2 2圆柱求和+手工输入中心线+点信息

[复制链接]

2016-3-20 19:27:35 3073 1

gsmfxsmy 发表于 2016-3-20 19:15:41 |阅读模式

gsmfxsmy 楼主

2016-3-20 19:15:41

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
/*****************************************************************************
. O- A3 X' [# ^) R- v**
4 ~- v6 t  g& y: f: ^** creat cly.cpp
( v) a% G* e2 J6 _**4 [; Y. _& g( J2 @  l' N
** Description:
) J+ s0 a4 T, V**     Contains Unigraphics entry points for the application.6 O+ @1 j9 x3 E
**- j0 q8 g, u2 m: s+ U7 {
*****************************************************************************/6 j* ^( v2 s2 j$ c

5 H3 n  }+ {/ y" `9 E& Y- Z/* Include files */
) l, E9 l- e$ v: W, t/ e' _#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
: k- B2 a, J# k#   include <strstream>
" I0 K% t+ _) A( `  S( ]#   include <iostream>
8 L7 _$ |- I, |, T- ~+ ^9 _/ F    using std:strstream;2 Q% t7 l  e0 `& n- A1 N0 x
    using std::endl;   
4 S/ U4 p3 D; x5 b4 Z( }    using std::ends;
( [( Z( }/ E( {& ~4 q  ^    using std::cerr;" g2 r8 ]0 `* h; ^9 C
#else
7 R- O' n  i0 C$ A. Z9 I#   include <strstream.h>/ y9 q4 X( J3 w0 o4 x
#   include <iostream.h>! `+ t( L3 V; k9 W/ z- E. \) k
#endif
( p, @! g4 ^# h- M+ }9 H#include <uf.h>; ?. t6 `) r) _% J5 \# }
#include <uf_ui.h>
, @6 R( ^/ I% h8 m1 w4 s#include <uf_exit.h>5 a9 L2 [+ a3 V& `) N, _
#include<uf_part.h>
/ Q- ~) y/ C: V0 o( z; X# H0 ^#include<uf_modl.h>
) o; R) C% Y- h, H6 \5 l1 P+ j#include<uf_curve.h>" P" N, `$ q# K. B( V4 z
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
3 N; G# Q; R' c
! ^! z9 U1 d; a" G* i
; g" G( |$ ~- @  E/ ]/ Astatic int report_error( char *file, int line, char *call, int irc)+ _& C; [1 ^3 x& [
{7 l: |6 v* D2 y/ ?9 h2 ^
    if (irc)% K8 b0 D) ?, [* g1 d# O! [  o* q
    {
6 F! u2 d: z" L" C        char err[133],
2 B6 f, _* e& T- ^3 O             msg[133];. S! f, L* `3 K

! k' g& C8 T. d3 e4 ~! a, L% I        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",
; C" c9 [9 g* u+ ^' t7 _            irc, line, file);
6 t1 E' s) R" t. _        UF_get_fail_message(irc, err);9 C% A5 G0 j  n) I# v# r3 d" z0 T* V
9 a6 P( U% _5 J, E7 P0 w
        UF_print_syslog(msg, FALSE);
; J4 U8 F3 h( L, N2 t3 x        UF_print_syslog(err, FALSE);
& v- e, t+ H. V+ G        UF_print_syslog("\n", FALSE);
7 X. @; q0 V4 }. P3 ?/ ~7 t1 O) x        UF_print_syslog(call, FALSE);
6 G% n0 x! e$ O+ @: i        UF_print_syslog(";\n", FALSE);/ q4 r" a# @3 [3 b3 y
. l3 c, g, t' \$ {( h. @; c1 _
        if (!UF_UI_open_listing_window())/ ?/ k. _6 Q, P: r% |$ _! ]& H
        {6 S; R* ^; H/ v' G$ c- _
            UF_UI_write_listing_window(msg);- H: m: q0 R$ x+ P& P5 y
            UF_UI_write_listing_window(err);
* R8 E9 j) v/ p# u: w            UF_UI_write_listing_window("\n");
* {# K3 R* X6 T, H/ L7 |& l3 {' y# [            UF_UI_write_listing_window(call);
. b* e9 ]. H" f+ _: s7 E1 k            UF_UI_write_listing_window(";\n");! l. O& P) X6 `6 S
        }
& }0 ~* M* J. j0 A2 R6 F    }
- ~  N0 A# P7 m3 @& N1 d$ J, C: `+ t9 u5 x
    return(irc);
6 B' g% Y( x0 z, D}
# |) s! o' v$ N& }/ Q5 i" P7 x9 u* E1 Y% E- L

) y  K0 m. ?5 I& G  s/*****************************************************************************
0 E: @0 ^/ P. K& K# l  m# I**  Activation Methods
/ x# K5 H! e- J) A( w*****************************************************************************/
! O; v0 p* I  E9 h; E# R/ l/*  Unigraphics Startup. ^+ P. ]' `/ K2 j  E9 j3 F
**      This entry point activates the application at Unigraphics startup */0 a- [% G9 h" _; @. G+ ~+ c
extern DllExport void ufsta( char *param, int *returnCode, int rlen )
  P  b. n8 l+ @8 S0 k' z{6 x0 G. Z8 h# l8 Q& Y  b
    /* Initialize the API environment */" R( {1 P" G; ^) p
    if( UF_CALL(UF_initialize()) )
; J  u. x7 Z9 }    {3 u5 n( C& a+ m# z) Z& @* y
        /* Failed to initialize */8 n: w% c/ a. Q( i4 |" s, t( M
        return;
; N" X4 @5 [; o) ?, Y    }- |! }1 f# J$ M# L: C0 M8 p1 a

! V7 P* U. D* x4 m/ e  Y* b9 V; @$ T/ ~3 E    /* TODO: Add your application code here */) `4 |1 ?! F- w6 l7 D! d) Y
        % e0 q; J+ r9 p% f9 Y* J
        //new part
3 }7 p# \5 ^- h/ Y0 y0 R3 S
7 A+ J! q- [; ~2 Q( [        tag_t parttag=NULL_TAG;5 N0 k$ p; h9 d8 G; w9 J$ m# y% Y

% Q# d$ |9 {7 M5 m) p- M        UF_PART_new("c:\\temp\\plmhome.prt",1,&parttag);) x* i6 K  p& n" N1 o7 g
' I& D, i7 a; r8 ~; {* K
        //creat cyl( g* a+ A$ E7 P, }' f' Z: E$ V
! O/ H& G' Q( F
                double origin [ 3 ]={0,0,0};$ Y9 p8 }7 t, D- ~8 \! |4 Z
                char *height={"50"};
9 v$ F: a7 ?# f# U" O8 }! \7 M& Q                char *diam={"100"};
/ {/ R$ e$ Z8 y                double direction1 [ 3 ] ={1,1,1};
* D, @- l" |4 x- p( G                double direction2 [ 3 ] ={-1,-1,-1};                  L- `( k. x; |3 K
                tag_t cylFeatureTag=NULL_TAG;5 v& s7 t5 N2 b

' S+ V& [* G1 ?3 I        UF_CALL(UF_MODL_create_cyl1(UF_NULLSIGN,origin,height,diam,direction1,&cylFeatureTag));
8 n" Y5 ?0 ~+ |$ J* R( r$ l        UF_CALL(UF_MODL_create_cyl1(UF_POSITIVE,origin,height,diam,direction2,&cylFeatureTag));. s% H8 R  Z' M, R9 a
        //creat line% J: P/ Q# G6 i+ h/ m+ \$ m# q$ f& Y5 U
        UF_CURVE_line_t line_coords;
1 Y- B9 l* C/ N- Y; [9 |  x        line_coords.start_point[0]=-50.0;2 }% M% Y: n" i2 m4 t8 ?
        line_coords.start_point[1]=-50.0;, F3 C" q" u% r8 Z9 D, d
        line_coords.start_point[2]=-50.0;/ J7 T0 T/ N4 b# h1 U8 @0 M
        line_coords.end_point[0]=50;
2 |! H) l/ a5 l) H7 h        line_coords.end_point[1]=50;3 c% n. W6 b- A5 L5 ^
        line_coords.end_point[2]=50;# h, w. b5 ~( y8 k% }
        tag_t linetag=NULL_TAG;4 L  L8 K- [$ v( Y4 ^5 w

# s  S/ s- K4 ~, A$ U, b        UF_CALL(UF_CURVE_create_line(&line_coords,&linetag));6 x* l' }! j  A  _: ~
        //creat point
  q. N- z. b0 E3 g4 F$ _* x. b        double pointstarTCoords[3]={line_coords.start_point[0],line_coords.start_point[1],line_coords.start_point[2]};( z! K( ^  _# n
        double pointendcoords[3]={line_coords.end_point[0],line_coords.end_point[1],line_coords.end_point[2]};6 K. |" T0 f% R- |# ?( k% \; G
        tag_t pointtag=NULL_TAG;$ g7 Y! p# i, U; W1 j5 ]" W: K
        UF_CALL(UF_CURVE_create_point(pointstartcoords,&pointtag));6 p2 h) b) v9 O  W+ c& a3 I
                double start[3];9 y! u, g1 a2 H; U5 j
                UF_CURVE_ask_point_data(pointtag,start);
0 U% f! i+ u& f% k9 O. q% d+ s        UF_CALL(UF_CURVE_create_point(pointendcoords,&pointtag));
' U& C$ V, k5 r( I5 b+ h7 Q9 X                double end[3];
7 g7 v1 W0 Y, P( k2 @                UF_CURVE_ask_point_data(pointtag,end);
0 t; R0 z/ P- D$ j% `$ L' e& z7 l4 K        char msg1[128];
9 G  P: ]0 l5 {  F3 Z        char msg2[128];
- _" v) ^3 t+ f- ~3 A) t        sprintf(msg1,"start:\NX:%f\ty:%f\tz:%f\n",start[0],start[1],start[2]);
& B) u  h9 {+ k+ g9 P8 v. J* P        uc1601(msg1,1);
# Q# o5 y- K( v& D4 m        sprintf(msg2,"end:\nx:%f\ty:%f\tz:%f\n",end[0],end[1],end[2]);
" H1 `  d( g6 M# q* O1 X        uc1601(msg2,1);
+ h% Y- X- M& C/ U        //mapping point from abs to wcs/ O: d; c$ Q( C: y* W8 @* d. M

, x' p0 J4 `( J7 c" n6 N6 d        UF_UI_open_listing_window();
, z6 n6 ~8 ^/ x+ R/ B) }        UF_UI_write_listing_window(msg1);
% \7 H5 g. ^& P: C9 l! W; l        UF_UI_write_listing_window(msg2);
* q3 }1 M' n% }& C# n; J* J        0 p# }  z: T7 @, g; H
        //close
- `! y$ V" A$ n, F, N6 ^! I        UF_PART_close_all();) d, A: R) b  q2 L

1 U/ c* m- X! `% Z& U    /* Terminate the API environment */
5 N3 |% C  ?3 ~. }    UF_CALL(UF_terminate());9 i% u3 m, k" |9 K% N
}4 Y" {( v) S6 I7 N" y
2 f$ M* R! ~2 j/ |
/*****************************************************************************# C, J/ Q, \4 E* L- @5 Z+ q; C
**  Utilities
% o, M' W1 B9 f( H*****************************************************************************/
. c  m; b  ?9 I) M7 i
* O) H; Y4 m; r0 K6 j' n/* Unload Handler' a' Z6 E* d6 }. @
**     This function specifies when to unload your application from Unigraphics.. j5 m* q" n# o: j( t1 `
**     If your application registers a callback (from a MenuScript item or a
) @3 n& B# N6 s6 K3 _9 Y**     User Defined Object for example), this function MUST return- d# @% x$ j) {5 q
**     "UF_UNLOAD_UG_TERMINATE". */1 {9 t- u7 {; r. B" C
extern int ufusr_ask_unload( void )
' `, \- E. O% w" w{
( d, W, M/ ]6 u    return( UF_UNLOAD_IMMEDIATELY );8 h0 |/ R- ^9 ~, G) o
}5 j# C' S& Y7 E% R% q) m# o0 U5 N

* [8 `' f; Z) b8 ^9 w( v6 r4 `- t. T, g% c- s. _$ A
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复1

gsmfxsmy 发表于 2016-3-20 19:27:35

gsmfxsmy 沙发

2016-3-20 19:27:35

本帖最后由 gsmfxsmy 于 2016-3-20 19:29 编辑
$ g& r' d8 e7 `- _, W! ]7 p8 N) F
; E- ^4 O( v0 t1 |L:\1

: f% Z- S% [- r2 U9 k                               
登录/注册后可看大图

9 q3 v% |. K3 F4 d                               
登录/注册后可看大图
" O7 K: v' c/ b+ @  c. |5 l  W
                               
登录/注册后可看大图
3.jpg
2.jpg
1.jpg
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了