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

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

  [复制链接]

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

2

主题

21

回帖

211

积分

培训VIP会员

积分
211
发表于 2014-8-13 11:23:26 | 显示全部楼层 |阅读模式

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

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

x
extern DllExport void ufsta( char *param, int *returnCode, int rlen )" o+ V8 b4 t; i% x6 I
{
9 x6 C' w* _& }, N) f    /* Initialize the API environment */
9 d, H- O% o  I! k8 p" d1 j    if( UF_CALL(UF_initialize()) )
' u, x) X8 i0 j# S6 ~2 [    {- G9 R- j) r" w0 P8 D
        /* Failed to initialize */
# E; c: a9 ?3 Y/ k& P        return;
  n- E. C  E# ?4 D+ H2 @    }
! s: Q! O( h3 }! p2 `* T9 f   
1 d1 e+ R/ `1 @7 I' q) h    /* TODO: Add your application code here */
8 D# x9 k8 y* w9 F. _        tag_t part_tag;
! Y- a4 j/ R! G* [        part_tag=UF_PART_ask_display_part() ;& c6 K( _3 h( E# [& d
        int num_views;2 K5 e9 ~8 E7 p% h5 L4 |- G
        char message[MAX_LINE_SIZE];
# F. c% c0 X8 @7 z' J        - Q' l! J5 n  z6 _8 S; @* Z8 }+ y
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";
* Y( w% a  d$ x/ F        UF_DRAW_info_t drawing_info;
8 z( h" x/ v' s0 P& i1 O        tag_t drawing_tag =NULL_TAG;3 Y0 y# ^1 N+ M$ G
        tag_t view_tag=NULL_TAG;! K2 c: C& C, r" s. S+ B' r

9 ?& a# D' b# e* E. D! {" w* y        tag_t front_view_tag=NULL_TAG;
. r* H+ ?" I2 ?" c4 W        char *front_view_name="FRONT";
0 ]* Z, w% \8 |  Q. x. ?        double front_reference_point[2]={210,400};( w% q( t4 O: q$ e; k
. \7 U$ k& J4 `' t" x0 c( t' z
        tag_t tri_view_tag=NULL_TAG;  \( `+ k7 H  i$ z" w
        char *tri_view_name="TFR-TRI";
+ Z/ i6 W3 \* O8 Y: g9 F        double tri_reference_point[2]={630,120};7 _0 x! ^  N) }. c3 n
( q* m; a5 }. i* d% q
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;4 D+ L' J; {3 ~8 G
        double botton_reference_piont[2]={210,120};
( H2 N% d% M6 m        tag_t botton_view_tag=NULL_TAG;1 R( @; i: ^* U3 Z% \$ o" ?$ N5 Y3 H

' e6 A. ]2 J, t: y) o9 m, U( ^  |        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
- C, t' O7 H9 L3 m) I        double left_reference_piont[2]={630,400};
5 B- @5 g& a( `$ k: e$ q* t        tag_t left_view_tag=NULL_TAG;5 I+ I9 ^* T: |  G
1 y1 y* u6 \  X: c6 S; W
        drawing_info.drawing_scale=1.0;
& o. x6 }2 `0 s9 E' Q" q/ y5 y        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;) r& H* N3 F: G) ^# w
        drawing_info.size .metric_size_code=UF_DRAW_A1;& `5 ]- E) N3 |2 P1 \
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
( T, G7 j* U% ^- v* R; c" K! ]$ p        drawing_info.units =UF_PART_METRIC;
9 x9 R& o* m4 `$ D: `+ V! t( e- t" }- {+ x! Q
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
4 ~6 S6 g5 t8 N8 Y, E        UF_DRAW_open_drawing(drawing_tag);
2 r- t$ K+ E" W0 ~: O% v& z8 b4 v7 s" L& e# O+ e+ `; u8 G2 ?
        UF_DRAW_view_info_t view_info;* u9 S- W2 n6 s- }  I# k
        UF_DRAW_initialize_view_info(&view_info);- }5 k/ T' y% j7 A; [7 \4 ?0 n

; s1 ^! ^; N' A% _        view_info.view_status=UF_DRAW_ACTIVE_VIEW;+ H2 g. b, S. _0 r+ ^
        view_info.anchor_point=NULL_TAG;1 r/ v' V& p7 Q: C, o9 X8 a
        view_info.view_scale=1.0;
$ Z5 I2 g, z  D7 b        view_info.use_ref_pt=TRUE;
' e) e( P! Y; B7 V+ v2 R4 x        view_info.inherit_boundary=TRUE;
0 n- g! C. [; i- l2 J9 z5 P6 ]% F7 B9 I  ~
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);4 T" k" d$ O9 F) T2 x
        if (view_tag!=NULL_TAG)$ |2 i6 c8 K6 w: p1 h# \
        {1 {6 O/ x* ~3 x
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);* v2 C! Y8 W' A. X+ p
                UF_DRAW_define_view_auto_rect(front_view_tag);
+ E2 |0 a, t" ?2 M/ U- O4 q        }9 V; O- }9 q6 V7 I
        view_tag=NULL_TAG;) t( e* |4 a+ y) z2 N- f% }8 N. N) K! }
4 N5 v9 C5 [( d. P( O, B& |( b" ^
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);" O/ ]( m  R+ ~+ ^* i, ~+ N, e, m7 V
        if (view_tag!=NULL_TAG)
1 y/ _# b8 N2 y4 F* l        {4 Q( s8 N5 }- @9 U+ f* Y
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);. H( ?0 ?+ D+ d" p7 T! t! K
                UF_DRAW_define_view_auto_rect(tri_view_tag);  v* S$ E9 E! }0 N$ X
        }
7 u5 @+ i& g5 ?, U) o    if (front_view_tag!=NULL_TAG)7 a1 H+ j3 g4 V: l7 ^
    {
- `$ h: S0 K+ `! e2 _                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
" f5 j; q* F$ F+ _7 L+ ~                UF_DRAW_define_view_auto_rect(botton_view_tag);
$ R  J5 q6 Z% A. F* r         }# @! t  H0 S  S  L/ ]# F$ E- ?$ c
        if (front_view_tag!=NULL_TAG)/ S. U+ n: X' u" T. z9 O
        {
5 T! O; f# d/ `( B' A+ D2 d                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);
$ E; I8 W! n7 f, x                UF_DRAW_define_view_auto_rect(left_view_tag);
9 R7 d! ]% I* C" w8 |        }
$ }1 F3 j) o0 E% l! z$ k0 Y$ \6 N. F. ~8 J

3 W$ x& w! O" N2 f% ]: B  M        UF_DRAW_ask_num_views(NULL_TAG,&num_views);6 [. q2 C' X2 g
        UF_UI_open_listing_window();
2 q- z3 x; {2 X, @% x        sprintf(message,"当前图纸共有:%d个视图 ",num_views);5 k6 E5 o) j: ~9 l
        UF_UI_write_listing_window(message);
1 ]3 D( ^; O/ K
. M- ]: c9 s3 K& i8 A6 T  b! v% S/ E! B+ l0 l# N5 c  v) S
* q$ ~0 X0 v/ [) k  V  J, y! z) m
        tag_t object=NULL_TAG, front_objects[6];, `5 d' w5 P6 d: Z5 f3 Y9 t8 Z
        int    subtype, type, count=0;
% e& b9 O) h8 x% t9 S: T. f8 k        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
% q/ \. _8 h) v1 G        while(object!=NULL_TAG)0 a& |" ^) }8 c
        {
$ s4 U1 D6 Q) x+ j3 k' a                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );5 c" N' z* f& g* V& C7 X. J
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
& z$ o% I  H1 T# n2 L+ g% l; }) L                {
2 U" v1 F( b* W7 C& N# t# [3 W                        front_objects[count] = object;6 y+ F4 n% Z2 j
                        count++;
8 Y. L; \7 ?6 _                }% v! U9 F) y2 F# q  d
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
7 K8 K3 T3 U! b) O- Y        }        
7 g0 P( @- d1 H1 J' R        UF_DRF_object_t object1;
- U, U& D* R5 L7 b+ g        UF_DRF_object_t object2;
' k' p" ~/ n$ D9 `9 W6 L  T: _        UF_DRF_init_object_structure( &object1 );/ ^! [( @5 n, I3 H4 a
        UF_DRF_init_object_structure( &object2 );
, |! K: J( r8 N& X5 V- f        object1.object_tag = front_objects[ 0 ];
) T- O' i$ Q) ?  O! [5 _- ^        object1.object_assoc_type = UF_DRF_end_point;1 S; r2 O4 k# z: i: H' S
        object1.object_assoc_modifier = UF_DRF_first_end_point;
6 M# G* g+ r& ?+ j        object1.object_view_tag = front_view_tag;
4 y2 B! G+ U. M' _        object2.object_tag = front_objects[ 1 ];
3 ^( T9 e9 o( i        object2.object_assoc_type = UF_DRF_end_point;
' D9 V- n6 ]. _, X% _/ l        object2.object_assoc_modifier = UF_DRF_first_end_point;
5 j  X' _2 n' r, R. K7 x! i( R        object2.object_view_tag = front_view_tag;) m3 W- i# t$ a0 J/ ?8 y  L
        UF_DRF_text_t dim_text;
* G( u1 W% S9 H* y# F1 l0 D: x! [# G        dim_text.lines_app_text = 0;$ G+ M( ~# F/ u" y" H) |# \
        dim_text.appended_text = NULL;3 U) u) O4 L+ @
        dim_text.user_dim_text = NULL;4 z& ]4 }9 V7 f. @: G& U" e) ?
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
! `3 h0 ?4 p- ]6 V$ v) W$ j        tag_t dimension_tag=NULL_TAG;
. ^$ \7 Q0 q! M+ e6 @  N        UF_DRF_create_vertical_dim( &object1, &object2,
' U# t0 l7 r# I! O# _4 t$ I                &dim_text, dimension_3d_origin, &dimension_tag );  + p/ o3 ^# \! x1 }/ e  K
4 }. j* T2 e& K/ h: C7 j

# l5 m. @! p% v* ]" M! p        UF_DRAW_upd_out_of_date_views(drawing_tag);
+ `; w6 x1 W, H" w    /* Terminate the API environment */
+ X( v' }/ i, ]+ G3 \    UF_CALL(UF_terminate());0 l" E8 u* e$ x: K# }
}
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

全部回复4

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2014-8-13 15:15:49 | 显示全部楼层
第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本9 l/ n0 h2 y8 J; i
& W- p3 E% n5 B3 G' g
如果是   K9 Z  b# H* c* p1 b+ r7 w
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下4 N8 p/ U& J9 S6 f* m* f

4 H2 b8 [7 O& Y9 }$ b如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

2

主题

21

回帖

211

积分

培训VIP会员

积分
211
 楼主| 发表于 2014-8-13 19:08:40 | 显示全部楼层
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );  
+ I2 v" H+ A( X* x/ f6 a1 o2 |; O( e8 R% Z( g4 P
书上用的是NX7.5我用的是NX8.5,就知道这行出错了。这一行错误但是我找不错误原因。
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

2

主题

21

回帖

211

积分

培训VIP会员

积分
211
 楼主| 发表于 2014-8-13 20:43:32 | 显示全部楼层
[img]C:\Users\pc\Desktop\捕获.PNG[/img
+ @2 ~  n' V' H# t; a, ?当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
* l1 R, {3 b( w( [. b+++ Encountered unexpected NULL pointer. See system log for details& g: Y* X& l( j' I* k- D
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
0 K3 r. k- H6 M& g5 {' [空指针,还是没找到!
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
发表于 2014-8-13 21:53:12 | 显示全部楼层
北方的候鸟 发表于 2014-8-13 20:430 m+ z4 C- F$ u( }6 G- c
C:\Users\pc\Desktop\捕获.PNG[/img
! q0 ]) d( f/ x! ?/ F1 b当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
" ]7 v  |* E! [+ W8 x- s
那就分析这个地方啦    A, K2 Q% Y9 W' c" Q
, V: ]9 z+ s2 k
我没法给你解答 没时间给你调试这个
; B) ~* ~$ \6 J8 X! m
: q- _" r2 x+ H) U1 b% ^你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了