PLM之家PLMHome-工业软件践行者

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

  [复制链接]

2014-8-13 21:53:12 4431 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 )
7 Q6 R+ T" Y5 d5 J{
1 k, f: H3 b+ J4 i    /* Initialize the API environment */0 f# C7 c6 w' q& r/ f# J/ x
    if( UF_CALL(UF_initialize()) ) % K- }* r. y" L& y+ ^# X2 r+ |4 G* `+ h
    {
! P7 ~* |% c4 j' _- }6 r! D        /* Failed to initialize */
" k( P. S  h6 F        return;
7 |* F  c8 y4 g. S/ R4 Z    }# o% b2 u7 R/ y, X7 [4 y
   
* i$ x, {& N, s8 M, ^    /* TODO: Add your application code here */
, u5 q; i4 s: j  k* L( I        tag_t part_tag;8 Z& g: f$ Y, |2 Q/ l5 U3 H
        part_tag=UF_PART_ask_display_part() ;
4 x* |  E' z3 o& h1 c( W/ ^        int num_views;  m9 v( D/ Z, c+ N) G0 b& P
        char message[MAX_LINE_SIZE];# `: \/ B9 e( S; d5 z
        ; h2 a7 Z+ O: {% }! ^/ L% F# O5 {
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";
- e; v2 j* h8 ?) n        UF_DRAW_info_t drawing_info;
0 K- M7 Z1 h# }0 F  U  m, ?  ]) k        tag_t drawing_tag =NULL_TAG;
' {" c, e" A7 s- n* z! v* O        tag_t view_tag=NULL_TAG;
2 ]/ U  V# G- N8 ]" w, O$ r8 i7 \; B4 T. b
        tag_t front_view_tag=NULL_TAG;6 v- ]( d! |6 _# z
        char *front_view_name="FRONT";0 |; S/ B0 L3 e5 W
        double front_reference_point[2]={210,400};
2 l! I" k5 s& Q
5 D% S8 ]& A- T5 \# B        tag_t tri_view_tag=NULL_TAG;
0 Y8 l' Z- \& o" Z+ M+ j, R        char *tri_view_name="TFR-TRI";
/ n( w5 G  ^5 _* }3 k$ D        double tri_reference_point[2]={630,120};# V# @- M* x5 p  U" ]) y# \7 j* u

6 ^, [8 T; D* W+ ?        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
7 E' o4 f. T0 o! G6 v        double botton_reference_piont[2]={210,120};
* y1 [  r. n+ {) D        tag_t botton_view_tag=NULL_TAG;
9 x& _: W# ^6 D8 F6 n1 U8 `9 k. z: C  Z; R3 e
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;5 m! @) |5 N7 ]3 D3 G. u
        double left_reference_piont[2]={630,400};
" l+ W- c0 |1 x" d- U  |7 X) `        tag_t left_view_tag=NULL_TAG;
; L0 r& g( R- ]2 O- L6 Z+ |; z+ w$ U# q- P5 @( E# T' a9 T7 W6 @, O
        drawing_info.drawing_scale=1.0;
2 `: a/ `1 [5 \, ], f1 c( v        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;* l4 H/ Z, H* s9 }
        drawing_info.size .metric_size_code=UF_DRAW_A1;
; E  G  S/ ~7 m" e1 ?        drawing_info.size_state=UF_DRAW_METRIC_SIZE;. T. f- e+ }. Y0 k0 @: R
        drawing_info.units =UF_PART_METRIC;
4 ~4 e. B4 }) _7 f% @; N$ o. _, l5 }( c  X  }9 i8 f! Y
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);7 ~/ b/ I' R2 E5 g1 {
        UF_DRAW_open_drawing(drawing_tag);
2 j& c/ H: I; X2 D' F9 u$ b" d8 V* s5 F+ W+ p8 z# T. W
        UF_DRAW_view_info_t view_info;( G8 e; x7 I/ c- S1 z  N
        UF_DRAW_initialize_view_info(&view_info);
2 a5 S* J6 N3 Z8 G5 D  T4 b& n# ^8 E- x& M2 n; Y: g9 A  ^
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
# {/ b) X8 \+ a) U- \        view_info.anchor_point=NULL_TAG;
; I7 w2 c' R0 @        view_info.view_scale=1.0;) V% W' n7 b. C0 D! a; p( ?
        view_info.use_ref_pt=TRUE;- X" [8 j* R- ?0 s( s$ h7 p
        view_info.inherit_boundary=TRUE;
) ^5 O0 V( L0 A) h/ u- z! w! ^/ C, h- N2 S8 A$ x, K
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);  U- H* A3 i# H! `" Q
        if (view_tag!=NULL_TAG)+ H+ A6 t2 {, g- Y6 R
        {
( a+ E7 o, ?7 [' x! s" R* p                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
, d& C* l3 \& D5 `% E0 H2 a+ n! P. M                UF_DRAW_define_view_auto_rect(front_view_tag);. m) h: r% `  ^- ~0 J
        }
3 ^8 g: |1 R+ K: l* k        view_tag=NULL_TAG;
( ?  B, Y5 _* k* V, a4 q5 s5 D( C  `5 G, a% p2 R
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);3 U' O9 r9 f( H/ g- z" W0 i9 y
        if (view_tag!=NULL_TAG)
$ ^, `/ a5 f) Y8 M7 t5 n        {
3 Z) g+ m# h& Z- y; v                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
# \- u6 v( z  A                UF_DRAW_define_view_auto_rect(tri_view_tag);) j/ B9 Q: Q, }9 x  d9 L
        }
! t( h% s8 \" B  q2 [2 k* G( J: B    if (front_view_tag!=NULL_TAG)
! A8 t, c5 G5 ~, ?    {1 q2 `8 A$ \5 }0 _( H, L
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
7 C; q/ K5 c; t5 G: I) F1 ]/ M9 a                UF_DRAW_define_view_auto_rect(botton_view_tag);; y2 }3 s& Y( Q
         }
% }* i( A4 B+ w, q        if (front_view_tag!=NULL_TAG)
% s0 k, ?0 s2 c8 T5 C  t        {
9 F& A+ o) i8 r5 r0 G                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);
: V; N, V" `6 |( K                UF_DRAW_define_view_auto_rect(left_view_tag);
$ x" [5 i8 T4 k& W  [        }0 Q# f  _( g& Z' X2 o( Y
! m( X  ?$ I3 ]4 z+ V$ f( z/ ?

. @% s" P3 |+ W- a' G/ N        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
- e- y) l2 F  x' J        UF_UI_open_listing_window();
. u. D* o; ^3 [, }5 V        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
, \5 u  k6 k0 r& O6 z        UF_UI_write_listing_window(message);: b* P. p" \7 F# X$ Y, R
4 |+ E0 z3 i0 @+ ^# @* K( o, O# v

" b& r, o9 a3 \7 A0 |+ `& m+ t# |8 g
        tag_t object=NULL_TAG, front_objects[6];; C  W! r4 z% N9 i& E2 l) b
        int    subtype, type, count=0;
% J& T8 L  @' }        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
9 C$ O* k. `% u% I        while(object!=NULL_TAG)( ^( Z! f6 D4 B& `8 L
        {
0 K% I7 i3 l7 e                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
9 N& p- a% T& T8 d& q" n$ R                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
1 q5 g; I7 F9 {                {
, q" E6 _. z  u( f( ?# L4 U* f9 e                        front_objects[count] = object;
- S) i& w7 B# y3 |% I0 ~# V                        count++;1 o. Q& n6 ]. W
                }
+ |8 s2 H7 F, x  s) P- h                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );, q" O( ^) `4 n( K$ j
        }        % W  z8 i# D, \3 c" W4 P
        UF_DRF_object_t object1;9 n( ]; y/ _5 k1 b
        UF_DRF_object_t object2;
1 o7 T8 j. m% q$ ^" T$ O        UF_DRF_init_object_structure( &object1 );6 L. [. V; [% t8 Y! _( b0 U( D
        UF_DRF_init_object_structure( &object2 );
' e9 |" }1 R" m& f0 ^( u1 M3 ?        object1.object_tag = front_objects[ 0 ];
& |4 A* y  `+ x; W4 n0 K7 v+ T        object1.object_assoc_type = UF_DRF_end_point;
# A" m% W5 j6 ^% a1 p/ ~7 i! B+ y        object1.object_assoc_modifier = UF_DRF_first_end_point;
0 ?9 l( m4 a0 Y) |        object1.object_view_tag = front_view_tag;
/ T! `6 E, E) w; _8 v        object2.object_tag = front_objects[ 1 ];
: V% D3 Y" v, q9 u9 g2 G" R        object2.object_assoc_type = UF_DRF_end_point;
/ V: p: [. M& A% t6 z7 p) g        object2.object_assoc_modifier = UF_DRF_first_end_point;
$ s" m7 @4 n6 l/ f  T! m# @        object2.object_view_tag = front_view_tag;! L) ]4 g1 F8 B( G( Y) p
        UF_DRF_text_t dim_text;' B  \4 v: H4 C
        dim_text.lines_app_text = 0;( K- Z8 {& Y. W- K
        dim_text.appended_text = NULL;
' Y8 I1 R; I$ m( [4 ^        dim_text.user_dim_text = NULL;
1 Q3 C: |$ \, {# z% |  v        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
2 t+ k3 H( s2 r1 I1 c        tag_t dimension_tag=NULL_TAG;6 ^# J% ^! P- S) v
        UF_DRF_create_vertical_dim( &object1, &object2,% \/ E4 s* I/ u  J! q
                &dim_text, dimension_3d_origin, &dimension_tag );  4 [1 r/ X% Y6 N
5 u) W1 z' c( d6 ^# j% x- K# O

9 R1 |4 j5 n5 r# y* M        UF_DRAW_upd_out_of_date_views(drawing_tag);) v, |$ U' R) X0 h
    /* Terminate the API environment */
3 x1 ]; B. Z" O3 _    UF_CALL(UF_terminate());
1 S$ G! h1 [. D+ Z- C}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
; e0 R# K$ z2 n" \% J  Z5 b3 i. `$ T6 [  J& z
如果是 : ?1 w( \( G4 _
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
+ @- w" r5 d! [+ D5 ?8 H/ ?+ ~9 n: o+ |! Z7 \' H
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );    Z. j. {7 b, \

$ b: U# M+ S* w书上用的是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
' i1 F) s, W" s, U( _: R当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:6 L5 Q  e* w! M9 Q! W; ~# n3 `6 \; @
+++ Encountered unexpected NULL pointer. See system log for details
1 I- I2 P$ K3 C( f) n) yUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
* `$ j% j& M0 ?5 y6 s( i空指针,还是没找到!
上海点团信息科技有限公司,承接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
+ R$ C# {9 [% X1 F6 f0 N* DC:\Users\pc\Desktop\捕获.PNG[/img" V* H/ o# c7 ^; K8 d* R( I
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
; A% E9 ^. `) c/ \! T( j; b9 Z0 u
那就分析这个地方啦  
5 O- Z  D+ f0 O/ _. R  q0 ~: n$ n$ l. t7 E! @, r% ?" e2 n; a" i1 l
我没法给你解答 没时间给你调试这个
) z4 I+ j/ C4 J$ k6 F5 R( m8 \1 v2 s' ^+ ^3 Z/ i& z% k
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了