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-国产软件践行者

[求助] 在制图中标准垂直尺寸,麻烦看下代码按书上的老出错

  [复制链接]

2014-8-13 21:53:12 4246 4

北方的候鸟 发表于 2014-8-13 11:23:26 |阅读模式

北方的候鸟 楼主

2014-8-13 11:23:26

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

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

x
extern DllExport void ufsta( char *param, int *returnCode, int rlen )
2 ~6 {# r5 q! {5 r, j{( \( Z9 u; N: Q' v
    /* Initialize the API environment */2 h  S" G$ b7 F7 I$ H- e
    if( UF_CALL(UF_initialize()) )
6 L. @5 b7 S  @  F/ R3 I    {
- S1 a6 `7 u/ r5 P, v, G: ]        /* Failed to initialize */) t1 V( z' W: |9 h& I
        return;
9 \. y" ^& b/ f! p    }
. t, j$ G$ ^* z4 m( G0 y+ \. x4 \& o    7 C: M; J4 C4 U* q1 ~
    /* TODO: Add your application code here */
; u4 P. m1 i& s# N        tag_t part_tag;4 R: E) k7 ]2 w* ]
        part_tag=UF_PART_ask_display_part() ;
5 C5 H3 u3 r' @6 v& D0 [8 a        int num_views;
$ O7 s* u/ s/ C6 u; Q, `5 k        char message[MAX_LINE_SIZE];3 v( ]" W$ u( }  A- Y: t. r$ {' U
          [, a% P) q8 {& x* G% n% s
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";9 R/ B' j7 X0 E
        UF_DRAW_info_t drawing_info;
8 M" n' F. D: ?- p9 Z        tag_t drawing_tag =NULL_TAG;
( t+ y/ z$ V; i+ t        tag_t view_tag=NULL_TAG;( c! U4 P6 K% E$ }8 z; y

# B2 [/ G% R7 T& \" Y6 p# o        tag_t front_view_tag=NULL_TAG;
5 w4 s7 r0 c" [+ N9 h- d        char *front_view_name="FRONT";# k" Y( J- v9 N6 S4 v2 G; _
        double front_reference_point[2]={210,400};3 n! S9 B. \1 C) M. ~! W3 h, l
- V5 C& _6 G/ }8 r
        tag_t tri_view_tag=NULL_TAG;8 i! e; C9 W2 ~) X) u! B  Y1 G
        char *tri_view_name="TFR-TRI";
  F, r( ~- u8 x; o3 w& H( d        double tri_reference_point[2]={630,120};+ O" V, F; L# H1 H1 c" d; q

  M9 q# m1 n* M( [5 g8 b* I        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;" T8 r, Z$ E8 m7 M9 ~+ R4 ?
        double botton_reference_piont[2]={210,120};
0 ?. H8 r; j/ j& u/ |        tag_t botton_view_tag=NULL_TAG;4 X2 o0 i. _, z) P2 a* s0 b

  b+ T/ K* t7 F! l0 a        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;2 p, \( q3 w$ w. q, u( f- V2 q- N
        double left_reference_piont[2]={630,400};
5 ?: @4 w- c" I        tag_t left_view_tag=NULL_TAG;
2 W; k7 D2 H) f( o1 T2 Z
* ~% `4 S, e& B        drawing_info.drawing_scale=1.0;1 V6 q, ]& \5 s5 T! ~: I( w
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;6 l% @, E" b* K# y
        drawing_info.size .metric_size_code=UF_DRAW_A1;% O' Y& b8 {! n: @4 g
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
8 `# u: e2 J2 ^$ o* x) N% W8 Q        drawing_info.units =UF_PART_METRIC;7 F0 h1 k2 g8 {4 G5 W2 S
1 E6 \9 i9 F4 {( V3 G
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);1 s" e  ]7 s: Y* v0 X# ]/ ]) r
        UF_DRAW_open_drawing(drawing_tag);6 P3 t# b! s& E
  m( f7 Z- I# j3 Q; |
        UF_DRAW_view_info_t view_info;
/ l5 L0 U7 L5 S: t        UF_DRAW_initialize_view_info(&view_info);
  ~, V- G. u$ n' _5 ~" d2 G; g0 S) E6 E3 U0 o+ x+ s! \( D
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
: l% t1 V# R/ Q' X        view_info.anchor_point=NULL_TAG;
9 m8 s2 D+ G1 @) s) _" M        view_info.view_scale=1.0;) l: X4 d8 ~! _! M4 X6 _; H/ I
        view_info.use_ref_pt=TRUE;
8 t+ x' b  p# \        view_info.inherit_boundary=TRUE;
1 I7 F0 C+ [6 m0 K9 l- Y; E% g. Q* C( Z- L  s
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);, F0 i( x& r* @  C/ ~
        if (view_tag!=NULL_TAG)
/ n, j" m" y; E/ @        {* ~6 _- s0 @. p2 ~& P5 L, R
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
5 y9 M/ B2 @2 T! L( ^                UF_DRAW_define_view_auto_rect(front_view_tag);$ ]( O# {- J. s. ]
        }
! H! E' u) a8 o0 z2 `        view_tag=NULL_TAG;
# y9 y  z" D2 \. w7 [0 f9 v! B1 t$ L% R4 [' [* ^: Z
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);& a# W$ W( ?7 u' @6 _) x4 Y3 R
        if (view_tag!=NULL_TAG)
$ x8 T( J% X+ \7 c. l, v/ Q9 p4 x        {
/ I: F, u7 u$ K0 D+ R, j- S5 p                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
0 T5 _% B5 z6 C. ]6 P                UF_DRAW_define_view_auto_rect(tri_view_tag);. d6 a/ O5 M. e) t( O$ Y
        }
. Z: ~6 I8 e, L: k    if (front_view_tag!=NULL_TAG)
! s. x; `4 F+ h2 E8 b& Y- `7 Z    {
8 `" c5 Q1 t5 t8 G( J) P9 D                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
8 D  i7 e2 P3 ~8 h4 S1 k0 ?4 @4 N. P                UF_DRAW_define_view_auto_rect(botton_view_tag);; e, X1 C, s: [& Q; ~" ^. e" P
         }
) M" @! R  r+ b, B) V5 _2 L$ `; ~        if (front_view_tag!=NULL_TAG)
6 e% R5 a8 L! b3 p) e" k5 q$ a        {
+ j3 n* Q: V! q9 D0 T                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);
$ }& |0 r* U, l                UF_DRAW_define_view_auto_rect(left_view_tag);
3 w# v! P% I; h5 H& H        }
+ a; B( _8 Z/ `5 C' Q+ S
/ }% @" [$ S# C& o, T6 J) {: `* ?* u; t% X, p
        UF_DRAW_ask_num_views(NULL_TAG,&num_views);1 n" f8 ~: g0 I# O. ~  P- R
        UF_UI_open_listing_window();
/ e' R0 T; i2 C. X        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
0 g. i" I0 [+ u# ]! e$ X5 M        UF_UI_write_listing_window(message);2 ^$ I( ^$ ]# W' n8 U
. y$ |) _0 K+ ~: j
' G, C! K8 R2 o( A

/ f" O) g. t5 c1 d4 H8 t5 ?. j  V        tag_t object=NULL_TAG, front_objects[6];
: i" e$ u) }: q        int    subtype, type, count=0;% D; N; w% l$ _8 g
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
) F& X( T2 N/ e  b- Y        while(object!=NULL_TAG)7 Q! C; E0 O1 N( Y
        {
  s7 c( g. I' W7 \                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );6 R9 Y8 u+ C% `0 \7 Q
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )( u  k5 L. w) I; O
                {
* b* A7 {/ _  [: M  u                        front_objects[count] = object;
; b" h& Q+ t6 X, `4 |2 c: k2 w                        count++;. q2 ~) _' k5 P9 z: |
                }% |  C0 c/ ^3 V1 f
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
1 `+ |6 m. v7 l2 l1 E        }        
8 s" ^6 I( X* F5 ^3 J        UF_DRF_object_t object1;
  @; R6 B0 b4 Y9 r        UF_DRF_object_t object2;
7 i  h3 P) B8 Z        UF_DRF_init_object_structure( &object1 );
' u" N# `7 E9 g* ]+ p0 _6 b        UF_DRF_init_object_structure( &object2 );
4 y3 f; w! p) n' n        object1.object_tag = front_objects[ 0 ];
" o" m6 ^/ A+ x+ Q% r        object1.object_assoc_type = UF_DRF_end_point;4 p. R  b- v2 \9 A
        object1.object_assoc_modifier = UF_DRF_first_end_point;% ?$ u9 I5 a% o* \9 |/ h6 @9 n' M
        object1.object_view_tag = front_view_tag;4 g; o! {4 n) ]. z
        object2.object_tag = front_objects[ 1 ];
+ Q! T  g5 w5 f, \4 z        object2.object_assoc_type = UF_DRF_end_point;
+ S: k. f0 r8 c  G4 X2 z  y        object2.object_assoc_modifier = UF_DRF_first_end_point;
/ i' m8 t8 ?1 n% t        object2.object_view_tag = front_view_tag;% h: Q( A$ R0 l: G' W5 y
        UF_DRF_text_t dim_text;" v, a# y' [6 J4 p
        dim_text.lines_app_text = 0;
9 X3 Q3 f  `, F( _7 [        dim_text.appended_text = NULL;
; K; I% `8 M# ]0 a        dim_text.user_dim_text = NULL;, v$ G; ], [% O2 }1 y8 E6 E
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };# u& o( ^: J6 c+ b+ U! r
        tag_t dimension_tag=NULL_TAG;
' j! i( d6 L8 C5 N        UF_DRF_create_vertical_dim( &object1, &object2,' e- i0 u" t0 R% ^) A, t
                &dim_text, dimension_3d_origin, &dimension_tag );  
2 w6 ^2 I) [! ]( Q5 O' c( s# L
. T0 W+ K$ n: k% R: G9 a8 F8 r. q0 k) A0 \. c- Y
        UF_DRAW_upd_out_of_date_views(drawing_tag);
1 a0 [7 H$ u+ R% |    /* Terminate the API environment */6 [( J  @8 b1 i4 H- P; d
    UF_CALL(UF_terminate());/ _6 ?) ]/ Y  x4 b
}
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复4

admin 发表于 2014-8-13 15:15:49

admin 沙发

2014-8-13 15:15:49

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
, I& i9 `4 r6 Y( d, B4 J: j9 Y: E, s( E7 z% e( g
如果是 : Z; B7 f, n4 b) g( E, [% }
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
% w4 X" [1 p- _( S3 V0 I: B8 `) f. M: C8 ^- _0 h) C" G& g
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

北方的候鸟 发表于 2014-8-13 19:08:40

北方的候鸟 板凳

2014-8-13 19:08:40

UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );  
$ d0 ~& s0 t  v1 f* h0 d) V1 W; f4 ?; [
书上用的是NX7.5我用的是NX8.5,就知道这行出错了。这一行错误但是我找不错误原因。
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

北方的候鸟 发表于 2014-8-13 20:43:32

北方的候鸟 地板

2014-8-13 20:43:32

[img]C:\Users\pc\Desktop\捕获.PNG[/img. R) U& F1 n: U& n. w' C% U+ f( ^
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
( p/ i' q/ r# `( U' \' B+++ Encountered unexpected NULL pointer. See system log for details
6 }& ?* g6 K$ v8 d2 H+ ~, a* DUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );+ x% P- M7 k9 y; K/ ~% ]( p+ c
空指针,还是没找到!
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

mildcat 发表于 2014-8-13 21:53:12

mildcat 5#

2014-8-13 21:53:12

北方的候鸟 发表于 2014-8-13 20:43( H  e' ~) p) D0 l/ A
C:\Users\pc\Desktop\捕获.PNG[/img
" p7 `- x3 O" j) z8 X当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
& L! Z: h! F3 b/ I
那就分析这个地方啦  3 ]1 i) E4 u- m' A* T

* X  H. ~# ~( k9 g  {& ]( L我没法给你解答 没时间给你调试这个
3 v  G; W1 ^' k
/ _6 O* i8 |" ~; P' R! U* Q! W0 E# f你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了