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

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

  [复制链接]

2014-8-13 21:53:12 4513 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 )8 r6 W/ H2 m1 J/ @0 |
{
" w7 T7 M! j! H  l  P% b    /* Initialize the API environment */2 b* `- X$ Z. }5 A
    if( UF_CALL(UF_initialize()) ) ; ?8 }# ]& H: C- n% C
    {" t9 c, {+ h# u; {
        /* Failed to initialize */
3 J& ]& S" K* J" v9 }( |        return;
& L  R$ S* S. u5 f* B    }
7 @& h' W5 K  `' h   
8 e  d+ z6 F; }/ ^* [/ m" y    /* TODO: Add your application code here */4 I* w+ }8 v% Z
        tag_t part_tag;! V6 T8 L; J3 J' k
        part_tag=UF_PART_ask_display_part() ;1 }, l8 h# V" d+ L* d, i  h
        int num_views;1 q; ]" v; a' X7 e3 A$ Z# o
        char message[MAX_LINE_SIZE];
! B; g( A- B; Q# k0 k       
8 S: l1 k  N  w( a% w- n, h        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";
7 U2 V# S  u& O6 c        UF_DRAW_info_t drawing_info;
$ p7 u0 L8 ~9 ?( Z        tag_t drawing_tag =NULL_TAG;
9 R& [# s8 g8 B6 S  ]        tag_t view_tag=NULL_TAG;' E9 L. E% Q/ H

- W1 y" d& t* Y6 `. ]- Z! K        tag_t front_view_tag=NULL_TAG;1 d) o5 L* @! X4 u  V
        char *front_view_name="FRONT";
0 ^$ o" f! _/ X1 {4 e        double front_reference_point[2]={210,400};
. a  g# f3 y$ u
0 H8 d/ M; ?9 O        tag_t tri_view_tag=NULL_TAG;1 e2 Q) d6 |$ c  ^4 I/ c$ x( k7 W( e
        char *tri_view_name="TFR-TRI";- z, r2 o- u7 b  a, [. a5 \
        double tri_reference_point[2]={630,120};
5 ^0 I1 J: p) r! X2 u) M( _6 s+ X/ u
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
5 o- `& v) ^( Y( E        double botton_reference_piont[2]={210,120};6 K9 ?5 }1 A! O; t9 N
        tag_t botton_view_tag=NULL_TAG;4 k4 u1 |1 U% K( z4 ^+ Y  F

& h% i1 C6 Y! h: E8 q! X        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;3 A1 i3 B0 M" h5 F
        double left_reference_piont[2]={630,400};
! f$ }! [, f) i- [, ?$ |9 I        tag_t left_view_tag=NULL_TAG;, M2 r! Y) Y, u9 G" `) J7 A' j
* I, ?. h2 z. {, m% ~1 ^2 |
        drawing_info.drawing_scale=1.0;
" {2 @, Z5 o8 M& d        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
  F# Y" t* A* R6 r4 J3 l( K( m        drawing_info.size .metric_size_code=UF_DRAW_A1;
" ]0 s9 p) I+ X+ Z6 Z% g        drawing_info.size_state=UF_DRAW_METRIC_SIZE;. @; Y* f, Z: [* [2 q, [
        drawing_info.units =UF_PART_METRIC;
2 |# P" `+ I5 ]& A/ }
$ @3 O2 Y2 w4 T: d& o+ X        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
# B2 ^9 t4 `/ I/ W( @) K( {        UF_DRAW_open_drawing(drawing_tag);" g* A: w4 Z2 q# q! j
; J- z+ Y* f; P  K. a8 U
        UF_DRAW_view_info_t view_info;: s! F* ^" v9 y% V$ U% o
        UF_DRAW_initialize_view_info(&view_info);
0 L/ R- ^- A, Y* Z5 V4 P! }8 I5 x& Q! g5 S1 Q8 T# G6 }/ Q
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
" H/ K0 j1 a2 G. R/ p% u# @; d        view_info.anchor_point=NULL_TAG;2 V( ~7 B: y3 r% `( V
        view_info.view_scale=1.0;
0 d( D# k# A6 m1 q: p2 e1 J        view_info.use_ref_pt=TRUE;, w7 p5 d8 G, p# G# t
        view_info.inherit_boundary=TRUE;
5 v9 b- o: _9 O7 H' X. R  \" D/ x$ M5 ~
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
! E) w) c# q0 j8 l7 U, G        if (view_tag!=NULL_TAG), }# D% ~9 ~: Y/ Y, c" _" |
        {
) p7 R2 \& |* k# b                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
- U  @! l3 P% i8 ?" X4 l                UF_DRAW_define_view_auto_rect(front_view_tag);
0 r1 E. q3 `( u$ A% N        }9 X) H7 E5 Y  k: b8 x5 y; v8 R9 F
        view_tag=NULL_TAG;* l- }- J: Z% y
9 P- K/ p$ A& m& L" U2 \
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
( o! [4 Z3 [% }# f5 C* A        if (view_tag!=NULL_TAG)
. ]  v/ {* _) h9 M5 S% l6 ?        {; M* P- b6 c: u; S3 I
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);1 c. C, e3 X, D1 }" a
                UF_DRAW_define_view_auto_rect(tri_view_tag);
- b  U1 c: P2 k        }6 U  p: E# L" n  O9 B1 ~6 g
    if (front_view_tag!=NULL_TAG); q5 y; R. f" g" i( o. e
    {/ q' H2 P. r/ Q3 I
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
# V( r3 k, x# Q) X/ C0 x5 Y9 T                UF_DRAW_define_view_auto_rect(botton_view_tag);) J  Y2 U3 h7 q- y; Y/ C- I
         }
" j- A" S. R+ i) \& h+ h        if (front_view_tag!=NULL_TAG); `: C. j' l/ z$ e& O; z9 F
        {5 c# s/ N/ Y+ w$ ~. z4 v* ^# v
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);5 Y  ?) n2 M/ j7 n  S% u
                UF_DRAW_define_view_auto_rect(left_view_tag);7 T) n* S! m, i: `  c: w% U6 x
        }
# A2 G/ o7 T0 k0 f% h' W" }2 z3 C: P0 v+ O/ G; p7 z
7 K6 L0 Z* j7 x
        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
  J) o* M! [% ^) P5 m        UF_UI_open_listing_window();* y7 g) z3 [' q' `, O+ k
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);0 i, d1 Q6 k, C/ ]% R
        UF_UI_write_listing_window(message);
/ J7 X4 Y* {" |# V7 _; ~
+ ?) v; r& l# x$ Y
- ]5 {; ^+ I& o8 T) N; k, X! P6 b( L5 Q9 n
        tag_t object=NULL_TAG, front_objects[6];% O4 x4 r! O% O
        int    subtype, type, count=0;/ C% I% U: \9 R5 y0 Y( z* J
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );  F7 N* _. v+ \7 }
        while(object!=NULL_TAG)
7 _  ?6 K2 K4 l2 w        {
  q1 ?9 V+ m& D4 g                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
2 q, j4 F  b  _2 Q& J                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
5 w0 m) x9 W% e! s; d5 m                {
0 k3 W6 w- d7 l                        front_objects[count] = object;
# s7 t* U" G' h9 C; o/ g8 O                        count++;" `8 S3 H5 q2 b$ v. q0 d0 ^& ?
                }
8 u, ]2 M# m7 e+ }: D* A" ~                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
/ T" T. y; t' v, ?+ N) b& g        }        ) I  p2 Z5 e% {
        UF_DRF_object_t object1;
4 i$ Q( O& l6 d% E0 V1 ?/ ]  [        UF_DRF_object_t object2;
6 _/ X9 l3 W( p        UF_DRF_init_object_structure( &object1 );
! D" Y9 E1 k* u+ D' P5 M4 |        UF_DRF_init_object_structure( &object2 );
2 R0 V  h9 i8 q1 Q  W        object1.object_tag = front_objects[ 0 ];
/ P" a* K9 ^: \        object1.object_assoc_type = UF_DRF_end_point;
5 j& K# Q$ ]9 E4 {. x/ X& i        object1.object_assoc_modifier = UF_DRF_first_end_point;1 G; p: B& ]: ^' a4 j/ l9 J
        object1.object_view_tag = front_view_tag;4 \) Q, C# F  N' i  K1 g
        object2.object_tag = front_objects[ 1 ];
3 X- s3 [0 u+ |& V# g        object2.object_assoc_type = UF_DRF_end_point;! D* T6 Q8 `; H, f1 Q) u# f5 d
        object2.object_assoc_modifier = UF_DRF_first_end_point;
; U9 w. k5 V3 l9 l: [# B$ C, U0 ^        object2.object_view_tag = front_view_tag;6 Z5 i2 _/ }7 K7 `
        UF_DRF_text_t dim_text;
, `1 t) k: r7 v# `$ ~' P- f0 ^        dim_text.lines_app_text = 0;
; g* Y7 y" E/ O( @2 R0 d        dim_text.appended_text = NULL;2 r6 k7 \9 k  [/ h1 E+ Q
        dim_text.user_dim_text = NULL;; v, u3 Y4 H) d/ H- n8 M2 x
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };9 U  C' R5 a3 Y2 w2 K
        tag_t dimension_tag=NULL_TAG;
; s! v3 B, b! J3 I' `        UF_DRF_create_vertical_dim( &object1, &object2,2 Y' R" ?6 B4 v1 W( j; @4 f
                &dim_text, dimension_3d_origin, &dimension_tag );  
  s0 E9 i! r% z' T5 b4 m& b+ p0 d7 j% g% X3 G

- `  R5 u6 ^# f' T( T        UF_DRAW_upd_out_of_date_views(drawing_tag);
+ A) V# Z" p4 U% @    /* Terminate the API environment */1 i3 E$ R2 Y! m  ?7 e& Q
    UF_CALL(UF_terminate());8 x8 U+ m" @) u% r- U* p
}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
$ ]# G/ I" x3 O& z3 r- L4 K+ p- d* Z6 w) m5 |: N8 \
如果是
7 i, F& w- P9 [* W. i9 }& T: H那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
( A, g5 ~0 F5 |1 D
( V- C( e8 z' \1 c" D如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  
: u- ]# a& s8 H8 m
5 S, ~% `0 h( [  ~书上用的是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
5 c1 B  G: p& I3 P! K, r" z% e当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:, D. n% W# |$ V' p; U' N
+++ Encountered unexpected NULL pointer. See system log for details! n/ ^5 E( F/ x! c
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );- i' `6 P8 w( m* g" C
空指针,还是没找到!
上海点团信息科技有限公司,承接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
" D0 a6 ~8 ]* o% YC:\Users\pc\Desktop\捕获.PNG[/img
1 G' C0 v8 @% P当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
. o+ @( A: _% V7 i3 q. A
那就分析这个地方啦  1 P( X9 {5 u4 O, g+ s3 W- a

1 ^5 v: K6 U3 i我没法给你解答 没时间给你调试这个) M8 i" `% M  W# z- E) m
$ h! S4 N! I2 H5 y% }. }+ C3 [; n6 [
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了