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

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

  [复制链接]

2014-8-13 21:53:12 4512 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 )! h* c: X+ z  Y
{
9 u! e# u+ K+ b2 q1 v/ Z    /* Initialize the API environment */
0 B- ]7 K* y& A  z  q0 S- d+ V    if( UF_CALL(UF_initialize()) ) + M4 ]  m3 M3 I" t
    {
$ J- i7 O6 M  ~5 s        /* Failed to initialize */
7 m: A8 F# B% M        return;, m% l/ _8 C, }
    }$ I) O" f% @  B
    . O. E: P- R9 I7 ]6 [
    /* TODO: Add your application code here */
4 R% S% f* i5 |/ T; n        tag_t part_tag;
4 I4 H( G' @2 z2 |. L5 b5 T8 b& Q        part_tag=UF_PART_ask_display_part() ;8 U% V! H2 W9 b0 @" v: J
        int num_views;
) x1 h( L& p1 V        char message[MAX_LINE_SIZE];
9 ^/ z8 b( ]7 I# ?2 _8 b        0 S1 S+ H: S' U% h- }
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";7 e* ]5 e9 o3 v; a- b, H
        UF_DRAW_info_t drawing_info;2 z; K7 i1 b7 t4 `0 l
        tag_t drawing_tag =NULL_TAG;, C+ A* {6 |2 M2 I- M' E- ~" g
        tag_t view_tag=NULL_TAG;' U  n' h( F! I- j3 l

! m8 F+ j; r  ~        tag_t front_view_tag=NULL_TAG;
$ U* U0 }( {" N5 m2 ~        char *front_view_name="FRONT";) O0 A7 ]- Q3 ]+ G8 K
        double front_reference_point[2]={210,400};
- X1 Q7 c. v$ H
7 |) n5 V  J  i! r8 S4 n        tag_t tri_view_tag=NULL_TAG;' K. m2 |* Z# z1 R% Y: i8 |3 J9 i
        char *tri_view_name="TFR-TRI";
. A1 H" @3 J1 r% ]6 f+ G        double tri_reference_point[2]={630,120};  k! _8 l( r: C
9 a: W. ~) p8 |* P
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
( ?" E8 v7 Y5 \! U        double botton_reference_piont[2]={210,120};. E5 Q4 v4 u) {- o' N" k
        tag_t botton_view_tag=NULL_TAG;7 u3 F: s1 o9 ], x+ O6 k3 x

- X/ E8 j% \7 ]: c        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
/ X# v) @& U3 h! X2 J9 c0 `% ?        double left_reference_piont[2]={630,400};# M9 m+ z. a3 C9 Y/ J3 i1 @! t0 F
        tag_t left_view_tag=NULL_TAG;0 B8 d+ R$ g4 _8 g9 D
# C: C7 v2 @( V9 {
        drawing_info.drawing_scale=1.0;
1 S4 r8 X2 ~5 i, T6 |4 E        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
1 c: }6 A+ \* t+ O6 I( ^+ x        drawing_info.size .metric_size_code=UF_DRAW_A1;
2 O: [+ m. n/ D        drawing_info.size_state=UF_DRAW_METRIC_SIZE;0 l3 F) F5 Z' w
        drawing_info.units =UF_PART_METRIC;8 ^, C% M* C" D. P; F) D5 i  M0 u

) P$ p  s- o; l/ a' B9 C0 n/ l% T        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
" D+ ?% y. t6 `% Q; o: a3 N( B, U9 f        UF_DRAW_open_drawing(drawing_tag);
% u1 R0 T7 f- {0 J! G, W: I
& n7 A! u9 q( e0 ]  M, o1 o9 T        UF_DRAW_view_info_t view_info;# D" e: K3 _4 Q
        UF_DRAW_initialize_view_info(&view_info);* ~7 F7 x0 {+ P8 m

* ?3 `9 c& n+ e6 a& _, ^) s: u& A        view_info.view_status=UF_DRAW_ACTIVE_VIEW;2 L6 t/ c5 ]4 b( O. O# @
        view_info.anchor_point=NULL_TAG;' C# z* L- H. a# d: q1 l% L! r! T
        view_info.view_scale=1.0;5 t( f, ], T0 t8 S
        view_info.use_ref_pt=TRUE;
( j9 \, \& Y& D; V7 t) N# h        view_info.inherit_boundary=TRUE;! \5 N- I  w- o, F3 T  B

6 s" R( L0 N+ l2 K# m0 L        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);1 X3 u$ N2 y( h6 r: ]6 m6 j5 @  @
        if (view_tag!=NULL_TAG)( E0 x+ p+ E9 j1 g- x
        {$ Q! T; k; z0 k- A8 Y
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
6 E; h7 ^  F" B! e% Z                UF_DRAW_define_view_auto_rect(front_view_tag);, L+ ~3 y# L! n3 {6 I" w& C) z
        }
+ Z2 P5 k% u. N2 Z; f        view_tag=NULL_TAG;$ {  M, J4 O; `5 i! t+ c

: H" F0 g6 T$ D0 O) _        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);! j/ G# w' v! _: @
        if (view_tag!=NULL_TAG)
6 @/ a2 w, Q' y, D( d        {0 K8 J9 Y* Q; U$ K4 x  w
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);% P# C2 X+ z! a7 i. d% L( _
                UF_DRAW_define_view_auto_rect(tri_view_tag);
1 j# t7 f" l0 ^, L) I        }+ n- Y8 V# J: y
    if (front_view_tag!=NULL_TAG)
5 N$ [) j( m; Y$ i1 n    {
6 a5 ~7 \1 d, v3 W% N                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);3 Q7 ~/ k0 ^" t8 d3 G9 [0 V
                UF_DRAW_define_view_auto_rect(botton_view_tag);; o8 L$ _3 R, v
         }
: H2 B8 u3 M0 K& V4 B        if (front_view_tag!=NULL_TAG)4 g5 P) J  X; d1 ~, A2 X$ \
        {4 y. j- T2 i- H
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);
& O) [& z! a- u* ]  j                UF_DRAW_define_view_auto_rect(left_view_tag);7 [3 Q: ?; e7 }
        }& Z+ N% W+ F; G; m* Y
( l& o$ o- X# S1 h1 j

- b  C# c3 u5 z/ w1 k4 q# ?# a        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
- D$ ?/ U2 S: {        UF_UI_open_listing_window();4 |6 p$ K( b5 I" p
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);/ `* w6 ?3 f2 v. ?5 [+ T
        UF_UI_write_listing_window(message);
# ~9 p; i$ f) v2 |+ ^5 `* M7 C
4 @* J7 C! Q8 l4 T7 }2 Z9 B; p% [# M; Q
) K: ~3 D4 s9 n# t
        tag_t object=NULL_TAG, front_objects[6];3 {' k& Q) D4 S; C' I$ M
        int    subtype, type, count=0;
9 d9 R3 @) C0 M        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );( `5 |# |/ D/ ~0 O
        while(object!=NULL_TAG)
- r) @. _) z* C        {
4 _3 J3 d* x& F; i. m                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );6 @- j- p0 D+ o4 v" e; t
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )6 ~! }$ S5 e; j  m) _# ^
                {: q' j" a; U  ]: Q
                        front_objects[count] = object;- g. s. b  h4 E
                        count++;$ l8 ]# l8 X0 M. W0 C4 Z
                }8 e' ~& d3 L! c2 j# ]& t1 p5 `8 {
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );2 ~5 A0 T+ k7 G4 h
        }        
( P) c) e& h9 a        UF_DRF_object_t object1;4 b% h* s* O( ]2 ]: ]- B7 g) a
        UF_DRF_object_t object2;: }5 ], U0 w7 g+ F, @* B
        UF_DRF_init_object_structure( &object1 );
% t. l: K. S& q! q7 S        UF_DRF_init_object_structure( &object2 );
: `4 x  b  L) X; n        object1.object_tag = front_objects[ 0 ];0 X1 [" a* Y; s6 i$ H# x: \
        object1.object_assoc_type = UF_DRF_end_point;/ ~2 }( d+ g# ]$ I7 A( R! t, `# W4 \
        object1.object_assoc_modifier = UF_DRF_first_end_point;
" I/ y7 ~3 C1 q$ f        object1.object_view_tag = front_view_tag;$ H3 C: j, x- W$ z3 m5 _
        object2.object_tag = front_objects[ 1 ];
+ f5 m+ h% X0 q. C' v: o2 ~        object2.object_assoc_type = UF_DRF_end_point;, M- d, z1 i) j0 h! D% e8 M  L
        object2.object_assoc_modifier = UF_DRF_first_end_point;
% n% e( Z$ o% R* m        object2.object_view_tag = front_view_tag;
! l+ t+ |  j9 F/ S1 H        UF_DRF_text_t dim_text;
. Y, s& `3 L* P. D7 P2 V        dim_text.lines_app_text = 0;3 W6 |8 {* @- q; T
        dim_text.appended_text = NULL;
! [% Y/ m& U, X- t( v: q        dim_text.user_dim_text = NULL;
, f, B& C$ A9 W* v$ Y. R+ s        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };3 q1 p- P& E8 Y
        tag_t dimension_tag=NULL_TAG;$ t1 ]" F1 g% l0 Z
        UF_DRF_create_vertical_dim( &object1, &object2,
: d  s1 v, ^' Y                &dim_text, dimension_3d_origin, &dimension_tag );  
7 K& h8 ]2 y! J/ g
7 D; A9 S6 b3 j) h
( d5 ^1 Z- i* X5 u        UF_DRAW_upd_out_of_date_views(drawing_tag);
0 Y) F1 ]6 B0 z& l, ?8 L    /* Terminate the API environment */+ I2 W3 }# i" B& [
    UF_CALL(UF_terminate());' P& `9 Q5 H6 V' `- h
}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本; f$ H3 b; ]2 v( o& K* y

- S! w7 N9 ^) M如果是 0 `  g* Q3 o3 `' Z
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下: I, y, W$ d" ?7 a% o  u( r- Z- x

9 i5 ]* k3 y; ?如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  + D" D+ v  j4 |' s6 k

0 M' X! @& p( W# G书上用的是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[/img2 Y8 Q7 B) s% q8 B
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
0 _$ e1 k2 v% s8 V# C. t$ X1 \+++ Encountered unexpected NULL pointer. See system log for details
2 \1 `! Q) `3 T' F* v9 S* _UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
( l; E. d, V7 U7 d5 }+ w: B7 }空指针,还是没找到!
上海点团信息科技有限公司,承接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:433 _+ K3 B; t8 {0 f
C:\Users\pc\Desktop\捕获.PNG[/img5 |# _% |8 o) O7 ^
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

8 l/ A* Y# H( Y# z/ N那就分析这个地方啦  
+ ?! Z* U0 g8 E* o1 r! \: ?
6 @, `) G# u/ S2 K' v我没法给你解答 没时间给你调试这个( |+ b5 L5 n# |/ t8 K

4 R8 v) d" v$ M你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了