PLM之家PLMHome-国产软件践行者

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

  [复制链接]

2014-8-13 21:53:12 4414 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 )
) r" S3 O  f' t- h) {( M8 V, Q{
7 C- P% p% }6 s; d) A    /* Initialize the API environment */- t( _% @' T# f, _! K, v; f
    if( UF_CALL(UF_initialize()) )
% R) p3 r& T" f5 `* L) e% U    {
2 y1 v; Y" L  Y0 _' V        /* Failed to initialize */% V6 Z, P, R4 l" }
        return;
8 i" b$ J' _( g( d( a8 {* h  g    }  i5 l" K2 p% b/ ~! ^; }) Z
   
: P6 y+ B2 S. V( T- d7 n% t    /* TODO: Add your application code here */
0 b4 ~# K0 ^; w' Y        tag_t part_tag;
6 @& h+ _- y# d. e5 R        part_tag=UF_PART_ask_display_part() ;% q2 L, M+ i, K4 T+ c! t
        int num_views;
0 i5 q0 e! {* [1 P2 c7 {6 o        char message[MAX_LINE_SIZE];6 l% L' t; `! h4 L0 E. x
        1 c" m) r* s, J) ~. @, _; ?' q1 g
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";/ Z( f% f& X/ s; S
        UF_DRAW_info_t drawing_info;
: [5 C( |* a8 e% Z6 z        tag_t drawing_tag =NULL_TAG;
9 a9 [+ _7 T/ T! o        tag_t view_tag=NULL_TAG;3 c8 G; }/ l% ?- @

- m, S! }5 X' I4 L2 F, ^2 I        tag_t front_view_tag=NULL_TAG;% R8 J3 r* [' k* I
        char *front_view_name="FRONT";
! D# u  S/ M/ G2 R/ q3 L        double front_reference_point[2]={210,400};
9 J) `& K' Y" Z
: d7 g* f7 M1 p0 b        tag_t tri_view_tag=NULL_TAG;
$ N4 P& `" q4 Q        char *tri_view_name="TFR-TRI";
* c( q' B  O: O- s" ^2 v        double tri_reference_point[2]={630,120};
( \% `$ ]/ F  p$ Y1 \6 X( t( f
4 S9 p8 }- ?. w5 f) U, s3 |8 R' a        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
" R# d# C  C$ E2 n( m- ^* p        double botton_reference_piont[2]={210,120};) W7 H' ]. m" O9 n) J% M
        tag_t botton_view_tag=NULL_TAG;- s0 y8 Q! X' ~% I' b3 Z" B1 U; A4 l

2 z% M+ n& j; s- w        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
  D) c! B: t+ X$ v8 m$ ~& Y) P+ v        double left_reference_piont[2]={630,400};% x' L0 a% |5 ]: i. h# O& O9 Z$ v
        tag_t left_view_tag=NULL_TAG;
) T/ F8 t8 s. t; h% @& O/ M3 h2 Y: @: R, N
        drawing_info.drawing_scale=1.0;
6 ^; [) s) m+ K% x        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;( f# E, v9 h6 _- r  e
        drawing_info.size .metric_size_code=UF_DRAW_A1;
8 v" \' t3 `& |5 C. S        drawing_info.size_state=UF_DRAW_METRIC_SIZE;" h9 ^- S0 v, S& \3 f
        drawing_info.units =UF_PART_METRIC;3 e# u/ p% p8 t" j( G' w- {

' c6 {: c& |4 ^7 K" C$ `2 k        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
; J9 N4 v  [' [7 E" S$ m- r        UF_DRAW_open_drawing(drawing_tag);
7 z4 _; b2 \7 d6 ~: p: L1 G8 U
0 L, |0 y: {2 m( J+ z5 J& W. e" z* r        UF_DRAW_view_info_t view_info;
* j/ p% I. I" C: e  ]! ~9 Z# @        UF_DRAW_initialize_view_info(&view_info);
9 Y$ J7 U( P8 h" Z6 ?. N
. i8 [5 j: X$ M- O        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
  f5 l4 B3 m% p  E5 f9 l        view_info.anchor_point=NULL_TAG;3 R/ K4 F7 v) m$ @+ I
        view_info.view_scale=1.0;
# C. r4 |+ C$ Y! e0 k# Q        view_info.use_ref_pt=TRUE;6 s$ Z7 g6 a3 s% U, d
        view_info.inherit_boundary=TRUE;
, Z1 C$ w+ ^6 T1 l9 b" N$ b
) S' Y3 n; K" H' N        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
4 R+ g# M/ |# c) _7 i, k; _        if (view_tag!=NULL_TAG)
! @" h. `6 {' b6 d0 N0 G        {# ~- K3 a& u+ n# l, s
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);6 U/ s: E: ~4 C& M
                UF_DRAW_define_view_auto_rect(front_view_tag);, H: C$ G6 p6 |
        }
- [  g% i- y# g+ ~% ~* y        view_tag=NULL_TAG;
; \4 Q5 e+ p9 j1 E7 G
  B4 E+ p6 q/ {8 x& S# f* z* T9 `7 s        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);/ w" n, {5 B( b- k" w, ^
        if (view_tag!=NULL_TAG)' a' ?/ [* U# }
        {
7 [  B  X4 r2 M9 T6 d, M/ Y                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);" O  D. ~9 [0 V, X- v
                UF_DRAW_define_view_auto_rect(tri_view_tag);
# N$ I0 P! A& M; r2 m        }
6 F6 E+ t" C7 x+ p0 O8 u    if (front_view_tag!=NULL_TAG)
. b& ~1 a# ]' H* S    {: q1 {2 X! T( ^* F
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);! k+ X: D) d7 p; k5 o
                UF_DRAW_define_view_auto_rect(botton_view_tag);! N# I. f! O1 f0 y0 O
         }
2 ?: }# p- A0 N  z3 K( ~) ~: w* C        if (front_view_tag!=NULL_TAG)
( p8 h) U5 I8 A3 b0 H& s" \        {
% h, Q: p. u( g- B# l: J; I8 T                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);
9 h  i0 N! H9 M' j/ W" G                UF_DRAW_define_view_auto_rect(left_view_tag);8 {9 x) M8 \' d6 K, ^% t
        }- W6 c! v# g5 S! J% }& t4 B* t

+ g8 O" J* ~4 I
/ {( q0 K8 @6 x. u7 K        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
* }' d$ R2 N  j        UF_UI_open_listing_window();# x* o. F! c$ h
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
; v( V4 N/ i# E0 Y; d8 {6 h* x/ G        UF_UI_write_listing_window(message);
3 F5 S( E) B* P4 U% b+ f3 z* G: s+ C: u$ A0 M! _

8 w; m7 k. X$ j. x. O
1 g3 z5 U' X9 M& T- @& j: S6 \9 R        tag_t object=NULL_TAG, front_objects[6];, }+ z) n$ S% n% J
        int    subtype, type, count=0;* D+ W" H* N+ n, r! |+ S
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );" v9 Q2 m2 g. ]+ h+ ~8 p, Q
        while(object!=NULL_TAG)  d0 v/ k# f$ W+ d3 X" E3 X4 Z! H+ s
        {' D- U7 R# B7 W7 g3 x0 X: s
                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
: I( u9 ^3 X7 ]# ~# h. Y, K) U                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )5 l: [# C1 T# q& y. ^+ _
                {. D! ^+ y# I5 c' L$ c3 o% ?
                        front_objects[count] = object;) C( s! L1 F3 p$ ?+ [
                        count++;
0 `# D& @; v/ s) t9 k                }
' }- u' F" g8 S                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
6 p: F* ?7 K1 g" e; N        }        
8 B: Z  O: O2 Z        UF_DRF_object_t object1;
+ g/ s9 R5 [4 B        UF_DRF_object_t object2;2 F8 U1 I% h6 Y3 O0 v- Y9 L6 {" U) I
        UF_DRF_init_object_structure( &object1 );1 j6 R. l  F' S. E" A2 f: C
        UF_DRF_init_object_structure( &object2 );
. V3 m* `! l2 ]' x( K1 c8 u        object1.object_tag = front_objects[ 0 ];
" Z# m! A0 s' `% Z' o# }& F8 _; e        object1.object_assoc_type = UF_DRF_end_point;( u) B! n" [: z, o. f
        object1.object_assoc_modifier = UF_DRF_first_end_point;
$ \; U' Y4 C9 c0 T2 j! |        object1.object_view_tag = front_view_tag;
2 k5 d5 X& ]! P        object2.object_tag = front_objects[ 1 ];
% n6 L% [$ M0 g% |- j" v        object2.object_assoc_type = UF_DRF_end_point;
* y4 S( s8 f6 S        object2.object_assoc_modifier = UF_DRF_first_end_point;% n: W$ C# S% Y8 j6 `  K
        object2.object_view_tag = front_view_tag;
6 y# Z' X& m/ G/ ]+ W3 f7 j* u        UF_DRF_text_t dim_text;0 m% N# ]2 O) S+ G
        dim_text.lines_app_text = 0;
" M9 E( Q' z4 n5 x9 W! Y( y( W6 r        dim_text.appended_text = NULL;9 p& T  v6 \( G7 m/ u) O
        dim_text.user_dim_text = NULL;
, ^% O* ~' }5 D. b9 @% X        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
5 Q4 o9 k8 J/ K- K  @        tag_t dimension_tag=NULL_TAG;# D! d. t& ]$ l4 e
        UF_DRF_create_vertical_dim( &object1, &object2,
, v6 y+ B" ^1 s/ a* u# s2 E                &dim_text, dimension_3d_origin, &dimension_tag );  6 [2 c4 a& r0 g# |# F

' E8 s/ b2 ~2 h
- t& D7 W3 D; ?5 R" O# X! P. \        UF_DRAW_upd_out_of_date_views(drawing_tag);
# L3 y0 `$ n% H' @( I8 H    /* Terminate the API environment */# u, Z) e0 a6 z; q% C; }
    UF_CALL(UF_terminate());
5 J! M" ]$ |: x( 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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
  m9 v% m/ T9 |" h" r) F4 [9 Y! X3 f( e  a- h0 z
如果是 . r6 R: Y# s- {% f4 j5 V( \3 n
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
5 D& ^% @, j$ {1 r* {
5 f, [# f/ w' [1 D5 H' }0 w如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  , s% H; [0 S4 _' \# B1 R
4 H- s/ _7 x2 ^, a# 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
6 S% ~  v/ A/ b0 K- K当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:) k  n1 D: u6 g& |; W' i' R9 u2 R
+++ Encountered unexpected NULL pointer. See system log for details
, v; J1 W- X4 M* WUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );$ ~0 Q. G, n$ r. u" D7 R6 t2 P
空指针,还是没找到!
上海点团信息科技有限公司,承接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:438 Q6 l% C: ~' ^
C:\Users\pc\Desktop\捕获.PNG[/img
7 Y" o% Z+ ^0 `2 {当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
# J% A2 e$ }# O; c! `
那就分析这个地方啦  
4 q7 S6 b9 s# V% {7 s9 ^: u5 Y( @! L
我没法给你解答 没时间给你调试这个
  v. Q$ q* y. J3 j& K/ r7 [1 H  E  w
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了