PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

2014-8-13 21:53:12 4507 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 )
9 B/ e! o* B2 K& q4 c- k{, G3 H: y6 t1 Z; A
    /* Initialize the API environment */: y, t% B, p! q4 F; H9 Y6 s1 N
    if( UF_CALL(UF_initialize()) )
) o5 N5 Q; g1 k, b* ?! `    {
- b9 _& |1 b1 n2 d+ r        /* Failed to initialize */$ A6 q- g) f2 D4 Y  N
        return;
1 U! a5 D0 e: M# f" Y    }7 a9 G# h% \6 b& Q& u4 v) |/ [
   
& w3 |/ l) B5 {' u* w1 L/ p5 X    /* TODO: Add your application code here */+ K/ |) t3 w: e0 k4 w; a
        tag_t part_tag;+ ]5 x( {2 C8 v1 y% ]. g
        part_tag=UF_PART_ask_display_part() ;. T. V; s# G; S9 g
        int num_views;
" m) O' i. }/ I) M: Z6 L" V        char message[MAX_LINE_SIZE];
" n. l. z7 e- a7 _" [        2 f3 `0 b: Y& x9 f6 o) E  X" @  ^
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";5 \- P, k# t: D/ D+ ]
        UF_DRAW_info_t drawing_info;  x  a5 u5 m) M. R0 x' d
        tag_t drawing_tag =NULL_TAG;, m, d& Z8 l2 p& D# x: C
        tag_t view_tag=NULL_TAG;9 x2 W5 h: S2 J( h/ l/ P) r

2 J/ F$ `2 X3 X  v( K7 ]$ x) S6 z        tag_t front_view_tag=NULL_TAG;
. \) }7 Q( q2 A2 \        char *front_view_name="FRONT";
2 Z5 f3 e7 a3 O/ B/ ?/ T! o% c        double front_reference_point[2]={210,400};9 U: ]! ?1 b" f9 Q) m) Q- ^

1 J8 V/ C2 x0 R; \/ J        tag_t tri_view_tag=NULL_TAG;
% m# d4 w  w/ P% Z$ \        char *tri_view_name="TFR-TRI";
# t% o6 q. f6 A8 D9 s" y- q        double tri_reference_point[2]={630,120};) g% f* N* I2 l2 b; |5 F

0 S6 v4 g' g0 \  M        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;, U+ F3 a* Q0 z6 B2 U9 i
        double botton_reference_piont[2]={210,120};0 v2 `  ?8 E( J4 J4 n9 K
        tag_t botton_view_tag=NULL_TAG;1 t* V" R  d- D/ z, m0 ^5 g9 G* }6 H

' H+ q4 T2 V& |, {- e' O6 H% @& k; G        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
; |- J4 x  L; r  E1 T        double left_reference_piont[2]={630,400};
$ R! `, s+ e0 `" [3 K( |; K        tag_t left_view_tag=NULL_TAG;
9 s  c' {) V. l+ B8 I# C! c9 c$ p
        drawing_info.drawing_scale=1.0;
1 H% w- t* o5 }        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
3 L8 S( ^4 F/ W        drawing_info.size .metric_size_code=UF_DRAW_A1;$ Z$ M% g3 n- \
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
- t$ H8 ^; g$ t8 V+ T* c$ c        drawing_info.units =UF_PART_METRIC;
! k  |: I1 V# K$ L
  F. v' f# Q& P0 A) n8 l) J        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
8 p5 t1 |* ?2 U: D3 k4 S0 R        UF_DRAW_open_drawing(drawing_tag);. g' Z1 K7 k4 e! s3 a  Y
0 s- e% E) f9 c6 r! f" N
        UF_DRAW_view_info_t view_info;
+ _* c& c' Y% i9 }/ `/ R4 ^        UF_DRAW_initialize_view_info(&view_info);  V& W: e. [; Y$ X8 Y
/ F0 i" t: u9 H. n% U
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;& `  ~' Q# l6 o' U& e
        view_info.anchor_point=NULL_TAG;
/ W6 x) }& `8 u2 K- ]" _2 [) s        view_info.view_scale=1.0;0 X- J+ e4 C/ T. l. m* G! \) Z
        view_info.use_ref_pt=TRUE;
. I! ]( W! F& G  O        view_info.inherit_boundary=TRUE;
+ f- I% f0 ]  Z- q5 N1 o0 R! H
  y( a4 c7 @' x% E6 a5 M0 ~        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
% F3 e, W3 d9 G1 m% P        if (view_tag!=NULL_TAG)' n7 Q0 X* b9 w! A3 v; N
        {
$ Y: Q$ o1 X# @5 e( `9 R1 j# i. `                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);+ K1 j9 @# B1 o& h+ C
                UF_DRAW_define_view_auto_rect(front_view_tag);
" Z: |3 c7 i0 o& G2 ]# |2 ^        }
- W( {5 D  E8 r% e3 N1 }' S        view_tag=NULL_TAG;/ a7 X$ V; v2 T+ M, b( v

( ]# i  y' G1 _        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
3 t1 [" w2 x. A1 J3 n        if (view_tag!=NULL_TAG)! K: D% ^$ M4 D: ^5 d
        {* G, ~. `0 c! G( e& j
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);8 n" }: n1 {7 \. ]8 k
                UF_DRAW_define_view_auto_rect(tri_view_tag);
$ F" o' g& y3 C/ k9 C6 j1 z1 `4 V- W7 D        }8 G; l( r+ P* q. @+ ~& x- I$ g
    if (front_view_tag!=NULL_TAG)* f- ^  v& A' Z* }! A
    {
$ W9 m; ~" a, @0 I: t! s                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
5 }6 j' x9 B, L* }' j9 m% ~                UF_DRAW_define_view_auto_rect(botton_view_tag);
3 V: p0 q1 I+ y         }
- D. T- T0 r1 h* r; L* M        if (front_view_tag!=NULL_TAG)
) {/ d" ]* M2 ?5 j        {8 _" G' h2 q, d7 b( m4 P- p& O9 F$ A
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);) z# n0 U' s* z
                UF_DRAW_define_view_auto_rect(left_view_tag);
: c. P0 d$ O" T% A) @5 V5 `        }" H9 _  @( ^6 r" M5 n
, S$ b- F: f# ~2 Q+ X

' H* P8 F6 i1 F6 \6 |8 c( N, I        UF_DRAW_ask_num_views(NULL_TAG,&num_views);5 x, l3 E! z- m, k/ [
        UF_UI_open_listing_window();" |1 c7 T/ j7 u- |5 |
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
8 ^/ V- i# n) U        UF_UI_write_listing_window(message);
2 v4 ~9 _! W! t0 ^, |" ~) o4 K- g6 g' X1 I9 h5 {

! L9 J, Q+ y: O" @
# g3 d' r# h" ?1 T" L8 p" C        tag_t object=NULL_TAG, front_objects[6];% B7 P8 w* i5 D( z7 l
        int    subtype, type, count=0;0 |* D, q% F$ h" ~" b8 _4 z/ Q' z. H7 _
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
; @: {9 X; m+ x6 l6 e8 Z        while(object!=NULL_TAG)
1 G# k% k- |$ o9 N        {
  J/ X1 F- u1 W( ~6 J$ o4 v  l6 ]3 g& S                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );& s/ P! u. W" z3 ?* Q  o
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
% S9 D, i5 c/ ~9 z5 a                {" f' E+ E! c8 l. H; [+ }' |
                        front_objects[count] = object;$ Z: U: _6 F" S8 D& r8 k
                        count++;
! P) f% z% Q# ~                }& m0 W% p' U. i. Q3 J- E
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );, N2 g  v9 {" R: h$ [
        }        
4 H8 ~/ G' [) z+ Y: t( ~        UF_DRF_object_t object1;2 q4 g- g# F! n5 l7 [. B
        UF_DRF_object_t object2;
2 ]4 Y4 ]6 t. i  g- R& i. z- [        UF_DRF_init_object_structure( &object1 );
2 `! B! K* G2 T) r' w        UF_DRF_init_object_structure( &object2 );
) d0 N% t7 h1 \1 A* ^# g        object1.object_tag = front_objects[ 0 ];
7 v1 f. V9 R" }7 P        object1.object_assoc_type = UF_DRF_end_point;
9 g, G9 J& b0 `8 f        object1.object_assoc_modifier = UF_DRF_first_end_point;) ]5 A$ X; X) {3 G. Z
        object1.object_view_tag = front_view_tag;
1 l$ l5 g: g4 B  c7 F1 a0 x& }& Z) L        object2.object_tag = front_objects[ 1 ];7 W2 n: b' y% Q- d3 }
        object2.object_assoc_type = UF_DRF_end_point;
1 P  o; m' o# r& N2 ^) I- j1 S        object2.object_assoc_modifier = UF_DRF_first_end_point;9 R- t& Y. i  A
        object2.object_view_tag = front_view_tag;
( M) ^9 l7 j/ u        UF_DRF_text_t dim_text;6 `; @) Z  G% z+ i: o% g. p
        dim_text.lines_app_text = 0;5 l# k* r  l" ^" J
        dim_text.appended_text = NULL;: M; g6 ?$ B! M' u: Z  i1 ~4 D
        dim_text.user_dim_text = NULL;1 \9 u  \4 q6 w
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
. W: U  E2 [% S( n1 w3 \8 ]        tag_t dimension_tag=NULL_TAG;
- w0 z. ?6 k& |* K$ K5 g! s/ E        UF_DRF_create_vertical_dim( &object1, &object2,! f$ r7 V) @* N# O$ @; K, d
                &dim_text, dimension_3d_origin, &dimension_tag );  5 s6 s( W  s8 k+ ?! Q7 f

5 |. j; M- R, l6 ~' ^: L7 V' m- W+ m2 l3 Z! o3 ]. h
        UF_DRAW_upd_out_of_date_views(drawing_tag);7 l3 P( P' I1 O
    /* Terminate the API environment */7 r- ^5 [- c0 {" M
    UF_CALL(UF_terminate());
- T% z) J& H# o7 v2 }}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本/ Y1 M- b7 T1 q' a/ ?
: n% f* P" d, G5 R$ |9 J- Y( I
如果是
0 y+ W; N& F$ M' c6 Z那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下" N* D6 I) @$ `" u7 ~
+ E! t" j; w$ l0 w$ h- n- x
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 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 );  ) M, J' i: t, @/ Z7 M1 w2 X
. b! k. F+ ?: O9 Z* i" `
书上用的是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
9 K: E, s0 M3 I, D2 b当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:, p# m! ?  J# n! O/ T# \
+++ Encountered unexpected NULL pointer. See system log for details
7 ?: y8 |5 b+ vUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
$ F' f# m1 S  U1 x( J  p空指针,还是没找到!
上海点团信息科技有限公司,承接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# T. E. J0 L$ _  V
C:\Users\pc\Desktop\捕获.PNG[/img+ H, @6 X* C' L" X0 ~! \
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

) B* t( S/ \% T% D$ y2 P$ r' ^$ a那就分析这个地方啦  + S& C: n1 e3 v/ I2 T( ~

6 M: r5 @/ ~" i( l7 L我没法给你解答 没时间给你调试这个4 J' E( \$ g; v7 R6 \

3 }+ C% E3 i' `你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了