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

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

  [复制链接]

2014-8-13 21:53:12 4521 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 )
/ B! v* j2 t3 T7 D) ]* ?{
: o" X& l1 K+ `' O9 L    /* Initialize the API environment */
4 ~' U0 z! t- g  g    if( UF_CALL(UF_initialize()) )
7 n- n! @) r9 b$ o' ^8 P8 W9 O/ ?    {
3 z/ I: q, S% `: }        /* Failed to initialize */  z4 `( z2 U/ I6 a
        return;1 u& _# a+ P! s& j
    }3 _* @: x/ D8 g, t
   
4 N; C# h; ~8 L& c: z9 [  Q: T    /* TODO: Add your application code here */
+ Z8 L7 ]0 x" i& c# m        tag_t part_tag;
( d, w0 B& J) E$ W$ a: v        part_tag=UF_PART_ask_display_part() ;
% B7 B. Q2 M9 j  T" T        int num_views;0 x+ L2 [/ Y4 u( l4 P. C
        char message[MAX_LINE_SIZE];8 U6 m' v, O# [8 ~1 D: X
        5 T4 [1 k+ t) k- y
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";
: h6 o" \4 Q, h! C        UF_DRAW_info_t drawing_info;2 E) F$ U' @& }) D1 K; y0 ]
        tag_t drawing_tag =NULL_TAG;  f( U; u* `3 v3 h5 r9 v2 {
        tag_t view_tag=NULL_TAG;
" J6 ]2 l3 E& [; t9 Z; S7 e5 l6 B  V5 V
        tag_t front_view_tag=NULL_TAG;
# \/ h8 q! Z, E: G4 Q        char *front_view_name="FRONT";$ [! f8 c% q; [/ U( g' F
        double front_reference_point[2]={210,400};
$ b/ {7 o, I5 W6 g) W! F( E7 y) X. c; u  Y
        tag_t tri_view_tag=NULL_TAG;
5 w! z* [" j) ]        char *tri_view_name="TFR-TRI";3 R3 b; r% P" O
        double tri_reference_point[2]={630,120};
! p' z# S- l4 p# f  l
! o( s# e/ [. d, X. x. M/ K- v  P        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;6 `0 n, R% g: z
        double botton_reference_piont[2]={210,120};8 n. ?1 f) b) b: p2 c2 M
        tag_t botton_view_tag=NULL_TAG;( V3 E: c5 ?- G' W7 p" `

3 W8 F1 J$ M' X, J        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;% ]( i) f) _) s" I7 q# @9 Q8 z
        double left_reference_piont[2]={630,400};0 w5 D( w0 \3 h7 k9 e
        tag_t left_view_tag=NULL_TAG;8 g3 f2 j# |/ W
$ c" s, h3 _' |4 y1 L1 f
        drawing_info.drawing_scale=1.0;5 I  A  `, Z! n0 C; y$ c
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
7 ~# V  V8 X+ }% T. e        drawing_info.size .metric_size_code=UF_DRAW_A1;; D! l: l* j/ I7 o! X* b
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
3 g1 p/ s6 i/ {( |1 s        drawing_info.units =UF_PART_METRIC;" a! k. v7 d  e- j5 |& G2 I

- F3 v: G! U# p) ^2 A3 a5 w! i        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);5 M6 S$ Q6 e  }$ a
        UF_DRAW_open_drawing(drawing_tag);
6 Q+ C9 E. k: `6 N& T# V- x& w$ h; ]8 @$ @
        UF_DRAW_view_info_t view_info;8 b. D' G* y) Q4 m$ j$ s: @- j: L
        UF_DRAW_initialize_view_info(&view_info);
7 U* d& B+ w  w& o) I3 @  Q7 S3 t2 C; P- l# N: v4 D+ t) N
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
3 K+ Y# ]7 Y- |/ |& M) y        view_info.anchor_point=NULL_TAG;0 e4 Q) G. X, w* `4 o5 P
        view_info.view_scale=1.0;( f% }. O  J% S# {
        view_info.use_ref_pt=TRUE;
, n- l% k6 _8 f        view_info.inherit_boundary=TRUE;! a3 m/ h- N4 K- ^

. \; t: ?# _4 V4 E+ w        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);; H" M  [; X8 A$ M0 p( G2 V& E
        if (view_tag!=NULL_TAG)
% ~  N; C! u! E0 l+ S. C- U        {7 X. e! k1 ~8 E
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
- ]% v4 g. n$ }/ w- |: O                UF_DRAW_define_view_auto_rect(front_view_tag);2 x1 T+ K' b7 I+ [. f8 R
        }
& w/ A6 Q: K  S, F        view_tag=NULL_TAG;; ~4 `, U8 H/ T/ K

: [9 ~& k4 {$ j! c* V) X6 A        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
* e. t" M" X" P        if (view_tag!=NULL_TAG)0 k0 {8 q. Y6 g6 U, m4 G" g
        {
/ s6 N3 P: d1 }                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
; p3 u9 T8 ^$ ?$ K                UF_DRAW_define_view_auto_rect(tri_view_tag);
# O1 X- _1 y, t! I        }
0 s3 c+ i6 T( O0 E$ ^2 ~: `  f    if (front_view_tag!=NULL_TAG)
: }" ~6 s, S7 m5 u8 |    {  `4 C, r) ~0 O
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
* M) V' T7 ~) e' {9 e; A2 K4 W. _                UF_DRAW_define_view_auto_rect(botton_view_tag);3 s7 }7 V8 U- I. V' o
         }
6 Q9 m4 e, ^* F        if (front_view_tag!=NULL_TAG)) c& B" Y5 `, }! U* o9 X
        {7 ^1 T6 U$ @' H, F; f) \
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);& z2 w8 [6 s( H& F( O5 x3 q
                UF_DRAW_define_view_auto_rect(left_view_tag);3 K  |4 w: N3 F$ F. r. c+ R
        }
1 w8 D$ U4 `4 {3 C( U- Y% i6 s: c2 S; g9 F4 i

+ \# X  D6 c5 z8 ~& M        UF_DRAW_ask_num_views(NULL_TAG,&num_views);- `! G8 X- h2 ~$ y0 B- B+ m
        UF_UI_open_listing_window();
  q/ s# {. V+ [        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
4 B( o3 f" b% u6 p        UF_UI_write_listing_window(message);
! T$ E% P$ x' v. T+ q4 U) {3 R9 ]4 R

* Y/ p' J6 ~( m- g3 L9 X9 Z0 D: F# w1 \1 u
        tag_t object=NULL_TAG, front_objects[6];
8 }% B4 ^; S" S/ }        int    subtype, type, count=0;+ S# @1 [. H6 ^2 }) z
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );9 M, u  }+ J. Q. D
        while(object!=NULL_TAG)
, E7 U6 E% u( \2 b+ `% u! f+ y5 ~6 V        {* _6 w8 B( k6 S$ p, h+ I  ]
                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );3 Q, ?4 Z5 m+ ~
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
, P# v. |0 u: S, T                {
6 m, ?. y7 n/ I5 ]                        front_objects[count] = object;: g. Q' B/ F2 e& r3 {! C
                        count++;
. P; q& c+ V. z" t                }
# y( O, }7 h( d+ e                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
2 a6 d9 T! ~+ r, m+ J9 N" M4 c        }        0 N* m! M# J6 A1 l0 D
        UF_DRF_object_t object1;
' g2 y/ U7 N, S# x& Y1 N1 L1 \- `        UF_DRF_object_t object2;
; y0 p- z! N  e, w0 ?, T        UF_DRF_init_object_structure( &object1 );! l7 D$ X, A( r+ B
        UF_DRF_init_object_structure( &object2 );
% w& w. i2 d7 r% }* p" |. e8 \% F        object1.object_tag = front_objects[ 0 ];( d' t( g' a  y& o5 t
        object1.object_assoc_type = UF_DRF_end_point;8 \+ W6 Y  b  y2 U8 r9 j
        object1.object_assoc_modifier = UF_DRF_first_end_point;
* E5 e8 d1 d+ L! J1 T6 V7 o        object1.object_view_tag = front_view_tag;
/ J! L5 z4 {' z3 o3 U: r1 z+ k        object2.object_tag = front_objects[ 1 ];' Q  b( }/ O# G& y# k5 y. T
        object2.object_assoc_type = UF_DRF_end_point;
6 g1 R# x! b# q        object2.object_assoc_modifier = UF_DRF_first_end_point;
7 v' v7 ~4 v" b$ a        object2.object_view_tag = front_view_tag;/ A9 r  C, |" M3 f* e0 h
        UF_DRF_text_t dim_text;& _) t6 |# Z: }9 u1 T7 Y1 D
        dim_text.lines_app_text = 0;
9 P0 v& f3 B" p2 V0 _        dim_text.appended_text = NULL;* `# _$ z0 L. F* A+ w
        dim_text.user_dim_text = NULL;2 t) H" @. v/ A, L  l# P& Y
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
7 L) j8 Q6 P6 c        tag_t dimension_tag=NULL_TAG;" ]' O, N5 Q" Y% Z3 _
        UF_DRF_create_vertical_dim( &object1, &object2,/ M5 J' w8 w  _$ R' q1 @/ T) U
                &dim_text, dimension_3d_origin, &dimension_tag );  
' u; n' p0 w/ M0 p- s
# p) M3 r! L5 |1 n5 }6 c
% \" d* ~1 s) Z$ F7 W. ~- ^        UF_DRAW_upd_out_of_date_views(drawing_tag);
! Y' Y: ?, s4 \    /* Terminate the API environment */
" T: ]2 z" E6 w# ~- m+ S# K    UF_CALL(UF_terminate());2 {, T5 c6 F5 l4 j  b! t0 a
}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本% L0 s! F* h1 J

6 U' I) y! Z8 x  N( K0 c9 i( d如果是
* m- m3 J4 q6 _0 R+ \那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
  M4 |! |7 t4 J" |8 R* O4 a9 T- ^/ q$ j
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  " Y& `. z4 Y: r5 i; a
3 X1 ~9 y% C6 V6 M" U
书上用的是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
7 B4 p* _8 G6 l% J' i当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
# o1 v* A2 h' z! j( \+++ Encountered unexpected NULL pointer. See system log for details, ^/ \$ f% v; Z2 B* H
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
8 c! S+ u4 m$ R空指针,还是没找到!
上海点团信息科技有限公司,承接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
, u: F% D6 W& e9 Q, q4 P. FC:\Users\pc\Desktop\捕获.PNG[/img
- _) S0 Y- a. W# n: A' k& G当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
3 H8 G2 K  [% Z2 y, ^/ Z: |
那就分析这个地方啦  
# _4 c% J: O: E& ]( M5 a+ C
. v3 \, N* R8 h+ e' A! s7 o. G4 H我没法给你解答 没时间给你调试这个( c% W; B' a  V+ z% ]* s7 v

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

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了