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

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

  [复制链接]

2014-8-13 21:53:12 4418 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 )  O. w! Y+ C$ Z8 Q" o* b* g
{
* o6 P. p/ j8 j0 K2 {    /* Initialize the API environment */
! b6 h) ]3 ]7 w+ w1 n7 `    if( UF_CALL(UF_initialize()) ) & ^( N& {' ^7 q" `
    {( S% I9 ~1 X2 y) N+ L
        /* Failed to initialize */
: ^! p* D' c9 p8 D7 D/ L. t5 H        return;) |0 l/ r  Z4 t; k$ r; z. O$ E3 j
    }
, x% l0 ^7 L$ W  M    9 m* x: A4 q: K7 K. n+ _$ p
    /* TODO: Add your application code here */6 Y- U- B" A% U
        tag_t part_tag;
0 T$ E4 I5 Z: Z9 E9 [" Q+ v& H        part_tag=UF_PART_ask_display_part() ;* f0 }+ D" ^- k6 b
        int num_views;
/ W3 K; P5 L: ^0 y3 ^        char message[MAX_LINE_SIZE];
/ R* O# y" D( L' Q: r1 Y       
( B" H+ j3 @$ M* A        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";) G) g- B0 _: @1 U4 X
        UF_DRAW_info_t drawing_info;7 \5 f5 [7 i  P/ s( A' R
        tag_t drawing_tag =NULL_TAG;4 b: R/ `1 f- o. z: r* U
        tag_t view_tag=NULL_TAG;/ W; V* M! _) Q' G# K: J8 ]
6 F# g) ~& G( W8 F
        tag_t front_view_tag=NULL_TAG;1 ~! `5 y, m1 X
        char *front_view_name="FRONT";
, z6 h# ^0 V- F! [: N+ z5 T        double front_reference_point[2]={210,400};# _8 \* r: a% i+ V/ l* S1 E
  o8 s* \% B& n4 u
        tag_t tri_view_tag=NULL_TAG;) [6 ~  L4 W9 ?- |$ w/ @: q
        char *tri_view_name="TFR-TRI";/ z+ |6 x1 r, Y& z6 F: M7 t7 `
        double tri_reference_point[2]={630,120};  T( P, [. S$ s: f% ~

8 h  ?- b  H2 j/ D        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
- ~& w" j( d2 k  b# J$ b. `7 ~8 E        double botton_reference_piont[2]={210,120};
' K( O0 t9 {8 e& v1 \6 _        tag_t botton_view_tag=NULL_TAG;
& d, `7 {8 J" e) P$ O0 p  o& H" ]3 s7 O3 s4 n% m) o. r0 p0 X6 z
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;" o. F; r4 a7 j1 q
        double left_reference_piont[2]={630,400};' q+ \! M/ o; A9 s  ?
        tag_t left_view_tag=NULL_TAG;9 P: E. ^/ R% A

7 T$ D6 Y9 K$ V  b% s+ X5 y3 `# D( I        drawing_info.drawing_scale=1.0;
/ U4 h, ~* [7 K2 @        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
7 U/ _) B! ]5 }5 Q. _5 c; n        drawing_info.size .metric_size_code=UF_DRAW_A1;
# B, e( u4 p- J5 p/ y0 t        drawing_info.size_state=UF_DRAW_METRIC_SIZE;2 U0 w$ o% c1 W8 u) v
        drawing_info.units =UF_PART_METRIC;
, d7 y+ l9 z: D" P8 C% r7 p+ P9 ?$ }' A) `
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);) D* H/ Q7 |( M+ s" }
        UF_DRAW_open_drawing(drawing_tag);9 S! X; y5 F. F8 b0 j3 M  {- e% s
4 t+ b- \; E3 ~& ^) f
        UF_DRAW_view_info_t view_info;
: E7 k  `" u: Z& V. E. ]- X% w# P5 g$ X        UF_DRAW_initialize_view_info(&view_info);' c( p1 V5 Q$ W# F

, Z3 q" h: n. X/ ^; h" E        view_info.view_status=UF_DRAW_ACTIVE_VIEW;4 w! S; G+ X' h1 j
        view_info.anchor_point=NULL_TAG;
& |0 B6 d- C6 O7 A! F! U3 |" J0 N        view_info.view_scale=1.0;  X4 k7 b, E) {& I) @4 B) U
        view_info.use_ref_pt=TRUE;8 J- Q% j9 C  f$ \+ e; k3 }, z8 I
        view_info.inherit_boundary=TRUE;0 X3 [& j; W& b( N  w
4 W) A5 u$ D+ }7 ]
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);& O% Q+ J/ t( V6 I$ {
        if (view_tag!=NULL_TAG)) A  T  i7 n) {9 \7 t* R0 ~, s
        {8 ~6 y# Z: N+ Q& w6 B
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);. d) O3 p* J" }# ^
                UF_DRAW_define_view_auto_rect(front_view_tag);  n* N9 R% N8 F: B5 E/ \5 G
        }+ e1 X, r1 j+ f: {3 y& Y" |! _2 \& Y  W
        view_tag=NULL_TAG;
3 g# ?. f  i3 A0 q. t3 Q- k- t
8 r+ r5 J2 U! Y+ q0 u' J5 x7 `        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
7 }( j0 K5 i" ~/ A3 T$ w        if (view_tag!=NULL_TAG). d/ i0 R$ c) T, [7 E& a% K5 N
        {+ d- e  _. L2 _0 h4 a. f
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
3 Z7 b7 f2 P% ~1 b# j$ P                UF_DRAW_define_view_auto_rect(tri_view_tag);& J* C0 k) T: q6 p" J) B
        }5 }. d1 `- l% Q( |# N: _
    if (front_view_tag!=NULL_TAG)
% E7 c! @; ^  I4 q  y, X    {
$ V4 J$ L5 A) N6 k5 p, H                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);$ S5 P. w+ Z" H
                UF_DRAW_define_view_auto_rect(botton_view_tag);
' R. N! n( L) g4 a5 L( |         }
! f0 [& G/ O% P8 a8 n3 S        if (front_view_tag!=NULL_TAG)
' J# a9 w# Q8 U3 J& L  D        {
  |9 y: ^. X* e2 h! ]8 R* O+ ]                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);
& o2 C$ }& H* K, J$ Y/ |4 F, M" t                UF_DRAW_define_view_auto_rect(left_view_tag);
* k5 E4 u3 K+ C5 z. [6 C. F        }* F9 T# j& ~5 c3 j$ ~% H) O
4 Z  v9 ?. w) [  C' b

) k. `) m9 o" |        UF_DRAW_ask_num_views(NULL_TAG,&num_views);; V% H' k0 ~( s  H
        UF_UI_open_listing_window();
  ]7 G8 j; b. A" i; M        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
. r8 P" p3 V$ D        UF_UI_write_listing_window(message);
+ I& d* c! F2 G4 i+ K" S8 u) B3 _! J; j5 X. L/ T1 s- W- }+ o, D6 Y9 g
4 r4 T% J$ o$ F: s- Y: q
8 Z9 _* J) J8 s& y4 B! h
        tag_t object=NULL_TAG, front_objects[6];9 V! L: f7 ?; ?2 }. h3 S# g
        int    subtype, type, count=0;
$ k  q( k3 l, C0 U; }        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
; I- b7 N+ q3 t* u        while(object!=NULL_TAG)1 D5 d% W0 N( f2 N# g
        {! i0 z7 L9 Q& K0 _, P* i; Z
                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );9 r9 Z! x$ Q% }; L  x5 ~
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )6 Y- V# ]) {- {( @, x
                {
, f. F9 |  O8 ]: H5 Z- J                        front_objects[count] = object;3 ]* {' K* b& j  i; B5 W6 N- g6 h7 o6 i
                        count++;7 G3 x' b( L+ }- X! a! B' N7 `
                }* g, g% z" j  G) a
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
! R' \  `1 s; ]6 d: x- t; t        }        * ]0 J2 U  |& ^2 ^9 ?; q6 ]
        UF_DRF_object_t object1;
/ U9 E2 n) Z* J* Z/ B4 T2 W        UF_DRF_object_t object2;
7 r! b& H) h4 S7 u        UF_DRF_init_object_structure( &object1 );
& ?3 i* u6 X: ]) d; c        UF_DRF_init_object_structure( &object2 );
9 w& _; d! A9 i3 b: Z1 K8 G6 H        object1.object_tag = front_objects[ 0 ];" ^: N. a; V( C1 x+ B
        object1.object_assoc_type = UF_DRF_end_point;
9 X% l6 N6 M) B/ A        object1.object_assoc_modifier = UF_DRF_first_end_point;8 z* o) r. |0 r# a6 E
        object1.object_view_tag = front_view_tag;7 S1 x* r3 K* V2 L' k* h
        object2.object_tag = front_objects[ 1 ];
% K1 m- W' A' V        object2.object_assoc_type = UF_DRF_end_point;
. X" E  N5 `1 A9 Q) I. }/ i        object2.object_assoc_modifier = UF_DRF_first_end_point;9 U& j, {* r. i; \1 I
        object2.object_view_tag = front_view_tag;! T! ?% ]5 e: B6 B! Y4 z
        UF_DRF_text_t dim_text;' i! L4 K7 B6 M: z
        dim_text.lines_app_text = 0;
5 M  m' q3 u+ z# T3 \        dim_text.appended_text = NULL;
9 Z( P  t2 p2 [5 a        dim_text.user_dim_text = NULL;1 D7 W+ L$ v# v  f) P
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };& ]8 @7 i# H4 x0 t  V8 f( K
        tag_t dimension_tag=NULL_TAG;
1 o0 h/ }3 [( d        UF_DRF_create_vertical_dim( &object1, &object2,6 k+ j* {# l( f3 i  d# M8 c* {3 U  \
                &dim_text, dimension_3d_origin, &dimension_tag );  
: x/ E5 @- z# i( n( {/ \
- h, N# Y* _8 s2 g" v. @, e
# y+ A2 |; O9 U9 n9 I. A4 B8 Q        UF_DRAW_upd_out_of_date_views(drawing_tag);3 f; Y2 T( P* r5 i4 L
    /* Terminate the API environment */" y! t) m5 K, k7 c
    UF_CALL(UF_terminate());
8 u8 ?5 h# z5 q; T$ i}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
, \/ U+ p# u. b9 @! b
2 I5 l, K% G3 j. n6 H6 Y, `如果是
, G5 P, \$ r0 G7 T4 N2 m那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
; ]4 d  Z4 \" g0 s/ r4 k8 Z; h! \7 k( {
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  % q, V0 J# W1 E2 q4 P
0 Q# I- h# [4 \( t/ N
书上用的是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' \2 U; w$ N% V" D: I
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:) [& d3 n$ {: Y9 M5 i% |
+++ Encountered unexpected NULL pointer. See system log for details
0 a2 e9 z, k" c  d% y6 K7 NUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
4 _. P  e& ]! ?0 }. v空指针,还是没找到!
上海点团信息科技有限公司,承接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 r9 m5 E$ V  \; w: q
C:\Users\pc\Desktop\捕获.PNG[/img/ B; O4 ~0 j3 z0 i& |4 }: {' Q
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
2 d) A" y+ L6 Z( X- F2 X
那就分析这个地方啦  
8 N3 m! A3 o2 y  r" m9 h& I
6 I7 Q- ~  u$ C; b我没法给你解答 没时间给你调试这个
! m. r5 Z6 s% E3 P# n( t4 J6 |, v( Z* W
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了