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

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

  [复制链接]

2014-8-13 21:53:12 4430 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 [& J$ z% F% t! s' z{1 B7 d( k9 I% N4 P! f; l
    /* Initialize the API environment */
' O; c2 G" R" f' H- @% Y* \& ]& p    if( UF_CALL(UF_initialize()) )
9 Z/ _7 i! |0 k; P9 ^    {
! `5 u# N9 k6 P        /* Failed to initialize */) h+ B/ u. E0 k3 N* N" q+ b' V5 w+ h- K
        return;' J5 a5 R' B& n' r$ ^5 G% V' J
    }$ |) K7 D. Z% @
      D$ O/ b% f% v% F; y% d4 O' v" L
    /* TODO: Add your application code here */
) n4 R6 h; F9 H+ _( L! D" ?        tag_t part_tag;
5 Q/ u; b& @$ L" `; ]' ~) c2 N        part_tag=UF_PART_ask_display_part() ;  v7 K; \* J4 ~8 Y. X
        int num_views;! ?' p+ i7 |$ e7 z
        char message[MAX_LINE_SIZE];
. ]' r0 e7 S; K  B) K  Q        $ ?. K- ~; p1 W$ S
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";* U( i- M) D8 d' G* P
        UF_DRAW_info_t drawing_info;
1 t6 f% F1 F5 S        tag_t drawing_tag =NULL_TAG;
( j. G0 o" c0 Q* G) Y1 r1 v        tag_t view_tag=NULL_TAG;
5 J0 O* |: B7 k# p
9 n5 o/ E7 \( c, F+ {0 a        tag_t front_view_tag=NULL_TAG;/ q' D8 T8 j' s1 h
        char *front_view_name="FRONT";: Z- ]9 J- `1 Y+ }
        double front_reference_point[2]={210,400};( _& x- o8 f: i( i: p$ H- I

. }: E; ~+ Z* b# L        tag_t tri_view_tag=NULL_TAG;4 ~6 C/ u) K" X: g: v$ G
        char *tri_view_name="TFR-TRI";
9 s* G6 i( D2 k        double tri_reference_point[2]={630,120};& N4 V% w5 q" b
* M: E! u3 \0 K2 j4 o, u
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
# _- m1 P/ H  J$ V/ I  |        double botton_reference_piont[2]={210,120};  p6 f6 t3 @$ ?* K/ ^0 v. k- \. _# _
        tag_t botton_view_tag=NULL_TAG;" J8 B3 @; U/ R8 _4 W
9 f* g1 K- G# V4 f1 N1 M5 [& X4 t
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
0 _, S3 ~7 {- z9 k7 O2 @/ L$ W        double left_reference_piont[2]={630,400};
. b0 E# n- I2 ~8 R/ \- I& ?3 q        tag_t left_view_tag=NULL_TAG;; ^3 z' w1 B, k/ N' w5 L" D* p7 t

  p) i, q! R5 K4 \        drawing_info.drawing_scale=1.0;
% r! Y2 B# x  c0 S' Y: E$ t        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
3 @0 k; y7 s) V4 _        drawing_info.size .metric_size_code=UF_DRAW_A1;
, z9 K9 l" F8 D: D# C" L; F8 w        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
) d" h2 n4 ]# }$ |# d        drawing_info.units =UF_PART_METRIC;
6 j' x3 }- Z+ n9 l  G4 N; M; ^- m0 \4 p# z0 ~& r5 B
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);  {: I2 H9 q  s0 H2 o
        UF_DRAW_open_drawing(drawing_tag);, ^! O, {. J* P/ o8 |! A7 `
3 Y3 `* {9 n$ |; y- H. Q8 A
        UF_DRAW_view_info_t view_info;
; k- {$ m6 }# `7 D        UF_DRAW_initialize_view_info(&view_info);
* w" P1 R' o# `
% D% c9 A- q) R/ U4 k        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
: B( T+ {/ q& U" \! x: l$ {: f' w  {( S        view_info.anchor_point=NULL_TAG;
/ y- }# c: d' u& W* P        view_info.view_scale=1.0;6 f# ?9 P2 x" ?# @% F% T. p
        view_info.use_ref_pt=TRUE;
. u& U/ \4 @# B, T9 u- X        view_info.inherit_boundary=TRUE;% W% ^$ b1 o: u" f1 M, V
! C' `/ T6 _* o7 C0 k
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
3 M' r  I6 s$ p+ \) m; W7 H8 [        if (view_tag!=NULL_TAG)6 p' g4 R& n0 {
        {" E  V. e" |$ t) M
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
) M  c- v8 X' v+ f                UF_DRAW_define_view_auto_rect(front_view_tag);
. ]' a. z/ Z) z5 r6 {- x        }
% W* O' B4 x1 k. O" k        view_tag=NULL_TAG;+ W' R# ]% n' W9 |( O1 o/ H

! v2 K0 W2 |1 s! J9 M& T& B        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
) N, t! V. Y9 A+ A! h5 ]5 l; r1 K        if (view_tag!=NULL_TAG)
. l$ G' k3 k7 P- U  x        {
/ d+ J$ @' V( ^  t: d- b' r                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);& W3 l6 _5 d. X6 j$ j" Q8 m
                UF_DRAW_define_view_auto_rect(tri_view_tag);# Y. g- X% d" i6 M
        }' O  \# B. k3 a4 s9 K
    if (front_view_tag!=NULL_TAG)
8 _9 Q% o7 J' F    {) H. h. x, F# \& T+ s$ F  H8 ?7 R2 }/ X
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
; I$ h! o; |9 |. R, K. z                UF_DRAW_define_view_auto_rect(botton_view_tag);
6 l8 \7 T* e, y! Q         }
6 i3 o8 |* b  V( p        if (front_view_tag!=NULL_TAG)
' r' F; ~( |4 ]" b  @        {
2 C2 E3 {' A* K. d$ N& \: p. Z                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);
# U' j- [& V, g5 h7 J                UF_DRAW_define_view_auto_rect(left_view_tag);
2 c9 ^) _3 q( H        }" t* @* U4 F* B1 E
7 P  t+ Z- R: {

  v, O5 J; ?9 W, V$ B        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
7 p3 F2 c( L" U& r/ k5 v5 v        UF_UI_open_listing_window();: p  a% L8 f. J& u# |/ C* g
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
, u2 @' y0 X2 x: W5 e        UF_UI_write_listing_window(message);, m4 L" W3 j; j" ?3 e2 P- u# Q- n

& ~' e7 O5 }4 d' `0 h  q2 u
. P7 W* R) H! S6 A
2 Q3 p# e, w5 J4 |        tag_t object=NULL_TAG, front_objects[6];4 U- p. ]- e. i# b  _
        int    subtype, type, count=0;6 O5 F& h  u' d
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );# I# L/ n  s# P$ K
        while(object!=NULL_TAG)
8 F/ b: Y$ M- W        {: o1 N, |0 L5 M6 `9 G
                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
$ a. D# k; ?: @6 p                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
3 f5 v& P2 F& p0 M7 D                {
% X& z' G/ a; F" [- Y! x9 T) q                        front_objects[count] = object;  S8 H7 `& w0 V7 G  m) l. i
                        count++;$ e  v3 j. h' o6 Y* d& U% |
                }
6 c/ ~- s, K3 W$ @& V                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );" d3 @! |8 m2 i8 A5 T- e" Q' q
        }        
" l5 \( G" x5 \6 l6 N! ]# v        UF_DRF_object_t object1;
$ P) B% \& l& l! ]4 c( I        UF_DRF_object_t object2;; u' ~5 o5 v) Q" n1 I
        UF_DRF_init_object_structure( &object1 );1 G- p+ H3 `& N8 ?1 D$ z. P
        UF_DRF_init_object_structure( &object2 );
( w1 y; z4 a; x) _% h. e- j        object1.object_tag = front_objects[ 0 ];
; K7 W' S5 S! P  r  g        object1.object_assoc_type = UF_DRF_end_point;
. u: `/ B  Q# C" x0 f! g        object1.object_assoc_modifier = UF_DRF_first_end_point;
* u$ x9 A% w, r; T        object1.object_view_tag = front_view_tag;5 `. |5 h8 }& G2 p
        object2.object_tag = front_objects[ 1 ];8 p* J/ K6 E3 C/ q$ J
        object2.object_assoc_type = UF_DRF_end_point;1 @+ u5 L" L# }7 U$ m2 |& A
        object2.object_assoc_modifier = UF_DRF_first_end_point;
, }0 m- V$ u& H  b6 }        object2.object_view_tag = front_view_tag;8 @$ J8 j2 ?2 I& S0 I
        UF_DRF_text_t dim_text;1 ~, L' v5 ~( ]) s7 D' s' w! d
        dim_text.lines_app_text = 0;
% g+ f3 @! E5 ~5 P$ H/ c        dim_text.appended_text = NULL;7 h9 x( g: L# ^2 x; S! b* e
        dim_text.user_dim_text = NULL;
2 R' v: {* o& S! e) i& K# x' @        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
/ _- Z* @  Y# J% p, |1 }. G& Y! p        tag_t dimension_tag=NULL_TAG;
% J* i' ^) Y" }2 d9 H        UF_DRF_create_vertical_dim( &object1, &object2,
$ M4 k1 ?2 K: O                &dim_text, dimension_3d_origin, &dimension_tag );  ) e9 P7 V! ~+ f5 \' N

. i8 K# I+ m: [8 ~: b
% _5 h+ C9 ^2 m! K        UF_DRAW_upd_out_of_date_views(drawing_tag);
. p8 J  I, n1 C: D% f5 L6 R    /* Terminate the API environment */2 N6 k& h3 l5 L' o. B* t8 p
    UF_CALL(UF_terminate());% m$ U  i* B6 Y1 W2 [5 y' M
}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本! l( M0 D/ [4 u  w5 |7 \. l$ @) ^

" u. I1 O0 \$ z) Y  h4 P, O如果是
" h5 A% P2 D1 ?那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下% m6 }3 d( ~" w, o- ^7 [
- i! o& q6 j" H; h( _4 t* r
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  : M6 \1 F% t& _) l7 ^+ y0 l

' f- ?8 g/ k% B; l. T2 y& D( n8 o书上用的是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
8 ~3 o( o- V- b+ d( Q4 }当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
- o( ?; E2 d* P7 p+++ Encountered unexpected NULL pointer. See system log for details
/ Z0 |. M9 W/ \) E6 iUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
3 n- D8 Q% d6 `. |( {- L8 T8 ]5 J* G空指针,还是没找到!
上海点团信息科技有限公司,承接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:430 n) x9 P) [' G5 e' h9 `5 j
C:\Users\pc\Desktop\捕获.PNG[/img
" x: U9 h3 m0 C当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

* {" ]# ~% O% `2 P那就分析这个地方啦  
  ]) R& m& x" r
4 L  g- \) S  R1 v( e* }% b, b我没法给你解答 没时间给你调试这个) ?3 D  U# v6 j1 ^2 k) I

8 B2 Q6 E6 R, N: M4 `9 Q4 V你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了