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

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

  [复制链接]

2014-8-13 21:53:12 4492 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 y, D& p# t1 @{
% U! i, p$ }# h. u/ y    /* Initialize the API environment */
; F7 r' P# A& ~) ~% j2 m, ~# ]* g6 K+ P    if( UF_CALL(UF_initialize()) ) ! u. S6 @# K5 v4 P6 L. b' c& x
    {% S6 V' G+ a, {* q4 R! B) ?/ v
        /* Failed to initialize */
- q) |0 R$ E/ w; X. B        return;; M/ a% f. |) Q6 K0 B% a$ n
    }: U( f' H* z' J$ G; D
    " K8 E* t; F5 g, }1 s
    /* TODO: Add your application code here */
8 g  c. O% w4 ^2 O( H        tag_t part_tag;
6 i+ r$ p( D% O/ c& a        part_tag=UF_PART_ask_display_part() ;
, Z/ Q) z7 v) K2 Z/ i        int num_views;& W7 X# z5 F9 r1 y  y
        char message[MAX_LINE_SIZE];% N1 M' G, r: D/ \
        6 |& @  ^5 m" Z3 p" K; j
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";
! k9 i) h: A/ k4 J& w        UF_DRAW_info_t drawing_info;. p+ }" D4 d& H' m
        tag_t drawing_tag =NULL_TAG;
, M6 s/ P! \1 R, m4 U: q        tag_t view_tag=NULL_TAG;
- A* ?& c7 v9 q/ \
2 ~6 m0 ~  T) @; J* @, j, b+ a        tag_t front_view_tag=NULL_TAG;
$ f) q) j  N  W( U* A* b) b& e        char *front_view_name="FRONT";4 m+ ]% Q8 E8 _
        double front_reference_point[2]={210,400};( Q; L) T: z" w0 O# d) W& Y7 f

$ j# j4 ]" Q9 }% k7 l  @, Z        tag_t tri_view_tag=NULL_TAG;/ X  _$ g2 e3 F( f5 r0 P3 k4 O
        char *tri_view_name="TFR-TRI";
& A. ?1 ?. N( z. }+ R2 ]        double tri_reference_point[2]={630,120};
8 v* g7 E& C" |8 [0 B$ ]& j; [5 Q, b4 L4 {. s" `% `
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;4 ]6 P  Q( V3 T7 X* \, f
        double botton_reference_piont[2]={210,120};
; c! F, |9 V$ s3 r( b7 O        tag_t botton_view_tag=NULL_TAG;; F/ A9 f! l1 s) ~

7 c* ^- N0 D2 y3 J, Q9 k- j        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
) R0 p( ]+ Z4 Y$ A% D. I9 q* C' o        double left_reference_piont[2]={630,400};
; R4 D4 J( E! |* G0 }        tag_t left_view_tag=NULL_TAG;8 H. q! }# I7 W" \
% Z* r5 o3 j1 m/ Z5 {9 q# U
        drawing_info.drawing_scale=1.0;7 h- q: Y6 w- W$ o: c% V
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
9 o1 o* y8 A  l; }; a        drawing_info.size .metric_size_code=UF_DRAW_A1;3 b2 B/ x2 e: @* Q) N: `
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
* E2 T4 k. G4 \+ K; a) R( `        drawing_info.units =UF_PART_METRIC;
; d, F" ^1 c- W) Q3 Q/ f3 \/ K& F" |" c7 M
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);# z, V/ B* N- O- Z( n5 s' ?
        UF_DRAW_open_drawing(drawing_tag);
! @& C, d0 ~/ b" @' U; J
4 d+ [' A5 y* F# w  X/ A& r        UF_DRAW_view_info_t view_info;4 o+ f& F8 p* E+ \8 \  Q$ y: {
        UF_DRAW_initialize_view_info(&view_info);9 D" _; \/ ~- {) G9 c
8 V6 H6 I  \5 S0 U1 G
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;" z4 t/ @. l% r+ r
        view_info.anchor_point=NULL_TAG;+ U  h, `. W/ y6 A( [; B
        view_info.view_scale=1.0;2 o. _" t" h/ A" }
        view_info.use_ref_pt=TRUE;
6 z. m  Z; [6 d        view_info.inherit_boundary=TRUE;
" a, P/ ]: U% U6 {1 H2 ?$ A
1 K# b+ A! j) W' g        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);5 ?: p! d( `2 ]& ?" v
        if (view_tag!=NULL_TAG)' k2 [% t7 e1 r
        {% F; |8 f  V7 W8 I0 }, j0 N
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);- W: e) y; k; _8 ^0 @1 b
                UF_DRAW_define_view_auto_rect(front_view_tag);
& p, ~7 F; @; p1 l! A2 r        }
+ e) u) C5 @$ x0 l* k( ~4 c: t- ~        view_tag=NULL_TAG;
& W0 s: Z3 p) E4 @+ @$ t- I5 }' \8 f; d5 c
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
  S8 k9 Z! G$ n( M6 \        if (view_tag!=NULL_TAG)/ W- Z( O8 M! ?9 w) F; Z9 _
        {) V  W6 A3 Z* j; Z) t$ c; \$ O+ K+ s
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
7 i* x; P' z( k2 B/ I                UF_DRAW_define_view_auto_rect(tri_view_tag);9 ?8 D+ H; \& k  o4 U
        }0 ]; p4 [% d: K$ b1 h4 Q; M5 {2 W  I( C
    if (front_view_tag!=NULL_TAG)
: @$ t" W% ^( S3 `6 O2 _$ `    {$ u# T, R9 [7 r5 w2 d4 i! C
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
' B1 {6 F% p1 A2 a4 t/ c                UF_DRAW_define_view_auto_rect(botton_view_tag);1 x# b; r5 P2 N2 ?$ A
         }
0 L9 M* w* n7 Y  ?$ B) c8 b        if (front_view_tag!=NULL_TAG)
! p* f7 ^- W0 n4 c3 z" \3 e% N! d        {
, o% w1 }% N$ C# a! \- w  I                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);& m! o. X3 X, E( C( [2 f
                UF_DRAW_define_view_auto_rect(left_view_tag);0 P9 y6 S# ~. t6 s
        }
4 S# p) N" k+ C. _7 f
% y6 E6 A/ \3 m
0 h8 |: H8 L- |: s% O        UF_DRAW_ask_num_views(NULL_TAG,&num_views);' v2 |% }  I4 O( @8 M1 z
        UF_UI_open_listing_window();" l" E2 \) U9 t2 D* l; A
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
( d% B" }8 S2 \0 o! X        UF_UI_write_listing_window(message);+ j: g: o- V$ Q0 f% V! ^

3 K9 X% V% w9 ^+ |
6 n% M% z3 W! U* p7 {9 ~1 ^& D( T" |3 D/ G, Q
        tag_t object=NULL_TAG, front_objects[6];! n, p5 @! z) v$ Y
        int    subtype, type, count=0;
, c6 S3 E/ y/ @, [1 b7 L3 s" N0 \        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
% O, K5 a/ d6 q; q/ a  ?6 M        while(object!=NULL_TAG)
  b4 t- ?7 z' w; d! G' U" t  y        {, g( I5 H( A. b5 `3 i+ D3 J
                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );$ u5 O. I4 ]4 i. U
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )) r/ q* @  m- w8 L" ]3 \- Y
                {
+ e6 X& q0 m$ H, n' A! y' R: X                        front_objects[count] = object;
' \* a) w. V5 M0 N% M                        count++;4 \, |8 Y( Z* `! L: K
                }  w) e8 f' H0 t4 B
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
# d" C& ?  W: z3 v( `  K  M# O        }        2 h7 X8 K" G& F5 @: W
        UF_DRF_object_t object1;
" O# |% g: S" j" K% H        UF_DRF_object_t object2;$ q8 M0 I- Y; `5 Y7 K
        UF_DRF_init_object_structure( &object1 );
7 U% h" s5 D6 D' I; w' _        UF_DRF_init_object_structure( &object2 );0 d; ^& {, V: M1 F
        object1.object_tag = front_objects[ 0 ];
6 f7 w) ]) {* X1 Z! w        object1.object_assoc_type = UF_DRF_end_point;
% k7 w% G: u" c" C# G7 Z        object1.object_assoc_modifier = UF_DRF_first_end_point;- F1 T" v4 U8 j: U8 N' o
        object1.object_view_tag = front_view_tag;
! ?9 s& |2 h" l' \* @5 S5 E        object2.object_tag = front_objects[ 1 ];
7 D, t, G1 s( ]- }9 g: q        object2.object_assoc_type = UF_DRF_end_point;
% q3 D; t' ]( _+ x        object2.object_assoc_modifier = UF_DRF_first_end_point;; k* X: G4 I4 e- z% r, _
        object2.object_view_tag = front_view_tag;
! K# Y' K/ r, S        UF_DRF_text_t dim_text;0 u( T& C) Q: p1 Q# C  K7 H
        dim_text.lines_app_text = 0;, M7 g; `4 l- ^1 D6 }
        dim_text.appended_text = NULL;
6 y: g$ z. s) I" \        dim_text.user_dim_text = NULL;
$ |" h. g  ?9 Z4 s: b4 B        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
. N! Z. V+ x6 }+ N3 q2 Z+ a        tag_t dimension_tag=NULL_TAG;% a. K7 G$ {  K
        UF_DRF_create_vertical_dim( &object1, &object2,
1 [3 s; z1 v( d                &dim_text, dimension_3d_origin, &dimension_tag );  
$ c+ ?2 r$ ]6 G& F, u5 g+ X4 c& \
( |7 F1 z3 }8 p, g2 X$ Q- R6 u% B. ~5 s# H% _/ V
        UF_DRAW_upd_out_of_date_views(drawing_tag);' a8 p% S# s+ U% V, |  u
    /* Terminate the API environment */
; \7 |7 j) \2 y3 Q    UF_CALL(UF_terminate());" H% {2 o( e% Y0 o% e$ K
}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
2 a: |! \3 C0 ?# V; l; M0 h' @; K5 O5 d# _5 a
如果是 ( Q; w4 [4 i1 \. X4 T) V+ G
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
. P' G  p: {" C; U4 M4 }( }! T
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  7 o/ |! e$ E" V; I

1 v0 C: L# I: [( \# f# g! F书上用的是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, ?' v1 i0 f+ R7 e& Q9 H
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:, L+ x; [7 Z" P/ T- `* t( d5 U
+++ Encountered unexpected NULL pointer. See system log for details
' e! x5 a$ V- ~UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );9 B& P% ?$ {, Y& `; I5 |) R7 L
空指针,还是没找到!
上海点团信息科技有限公司,承接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
( T- u) x% Z' d1 `, {C:\Users\pc\Desktop\捕获.PNG[/img
0 F! S! `" I+ X# _2 S8 D7 n! u当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

1 n) L6 t: S; t7 l7 g, m0 [& J那就分析这个地方啦  
) V$ T' j4 L% s; S, ^; h1 J7 m9 F( X5 M# z8 D
我没法给你解答 没时间给你调试这个
: m& D7 w. t) ?/ p9 c$ t8 I
4 }# F, ]. t+ Z, ?1 _' _! d/ y你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了