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

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

  [复制链接]

2014-8-13 21:53:12 4446 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 )
4 `& C9 ^5 ]  R7 p{
; _4 J( \! b( v7 W8 |    /* Initialize the API environment */
4 M; Y0 c$ p2 @, p5 x! d' F3 h    if( UF_CALL(UF_initialize()) )
  L$ f; ~" @9 t    {5 ]) M( t5 ]1 M, A  D
        /* Failed to initialize */1 I0 z3 f( F- }8 u
        return;
4 r  F1 x, F" H1 B5 F6 p! W    }
! c0 ?2 {" q9 V    1 k2 T( ]# m2 R$ u" w) _
    /* TODO: Add your application code here */: F9 S* l+ k; v) B
        tag_t part_tag;/ G6 x+ [6 b: m2 y! j
        part_tag=UF_PART_ask_display_part() ;& E6 I6 Q0 p1 B: R
        int num_views;3 ]) R1 M$ U# w% }) l: n
        char message[MAX_LINE_SIZE];1 y# L+ r% M- u9 V
        0 D1 n6 x; I5 e" \
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";
: I; p& e# G. W( x0 U4 l# _        UF_DRAW_info_t drawing_info;
9 q: k* R# t. M! h6 }/ n        tag_t drawing_tag =NULL_TAG;1 L% T7 E; ]1 @# N' I7 z
        tag_t view_tag=NULL_TAG;: h- x4 a" \* J& Z  p1 a

9 t2 h2 s: ]7 W5 U        tag_t front_view_tag=NULL_TAG;2 ?; f& I8 O0 y: D4 _
        char *front_view_name="FRONT";
  {4 `$ g; a) @# @0 [3 C        double front_reference_point[2]={210,400};- _$ V! T; Z! _) _- S8 y
( @% M) X% B  o' Q* ~0 p
        tag_t tri_view_tag=NULL_TAG;. C+ g6 U" R% I' T
        char *tri_view_name="TFR-TRI";1 v# U+ h! `, G
        double tri_reference_point[2]={630,120};" V( w7 \! M+ B$ t/ b% V* F

8 }  Y6 m* A; T" Q! N4 l        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;2 M; q; f* M" x; `% i" u3 C
        double botton_reference_piont[2]={210,120};
2 r! S5 h# b. r7 c+ R        tag_t botton_view_tag=NULL_TAG;( X: G% C- @9 h. I; t- K
$ Q# ~1 ^3 P5 M; z. u) h3 r
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;; a0 w, g, a+ x2 P
        double left_reference_piont[2]={630,400};
! Y) l9 O5 ?$ e' D% S        tag_t left_view_tag=NULL_TAG;6 f) m2 J; m% u3 g

6 j9 ]! M  \" v' J& }        drawing_info.drawing_scale=1.0;! K) z  k" |. a/ d- \; J! ?
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
. I2 E' c+ r8 {, i7 K        drawing_info.size .metric_size_code=UF_DRAW_A1;
/ G6 D* w$ W  k& q$ ~  r) o        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
6 X! p( T5 _& J0 V        drawing_info.units =UF_PART_METRIC;3 o( _+ Y# e4 a: K
9 [, W7 O4 f$ V0 f+ Y, [
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
4 I& @0 k2 I8 R" l/ W        UF_DRAW_open_drawing(drawing_tag);
3 [1 K& i9 t: h
9 U# ~4 |9 C( o8 C! W  M8 X# P2 w        UF_DRAW_view_info_t view_info;
+ M* E, D+ W/ i" w. R6 R; g        UF_DRAW_initialize_view_info(&view_info);
" B. |) o, R; B' x; U9 @9 u* A. B) [! K: b- S$ t
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;4 }/ f! E* R2 _
        view_info.anchor_point=NULL_TAG;8 |6 ^' A: n  |) l# y( }5 g
        view_info.view_scale=1.0;7 v% C$ t" b- v1 c* p7 h8 ~
        view_info.use_ref_pt=TRUE;1 B8 i8 B. f& w5 i
        view_info.inherit_boundary=TRUE;  I1 l! W2 b+ d( R9 A* j

) u# O& u( s5 `$ H' A/ P& S        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);" n- \: x4 F. {( F( F2 I
        if (view_tag!=NULL_TAG)
. h; `# `; C$ R4 e/ r) }8 s; F2 \3 X        {  c$ C$ `+ _/ O# l) n
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
4 N: o# F% K+ y3 C  s                UF_DRAW_define_view_auto_rect(front_view_tag);( ?2 D* `5 \# y7 o6 _& o" m$ p
        }
; A9 u% h( B+ e3 O% m+ e        view_tag=NULL_TAG;
7 j+ U6 k, d/ q- l" D% @0 y8 H& x+ w+ Q/ }! t$ Q
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
6 T" T% Q* x" h! n        if (view_tag!=NULL_TAG)
1 V' c! A! I: h7 N( f        {
5 p7 N. _  s  s( }! x                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
3 d. P7 [- |6 u( ~9 P( {                UF_DRAW_define_view_auto_rect(tri_view_tag);
% E" m* N' g: l. K& n        }
0 r7 [. x! h' \- o8 A    if (front_view_tag!=NULL_TAG)
8 ~3 Y% X* C1 ^1 r: ?+ R    {4 S2 b0 m" T* F/ H( l4 j* Z! W
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);: N3 @9 ]- E1 l) d- m0 U
                UF_DRAW_define_view_auto_rect(botton_view_tag);
$ |4 I1 K) `: o  h         }
! p& k, x' p8 l; s$ I        if (front_view_tag!=NULL_TAG)
* N( `; D# E4 c# E  N4 m( ?- y        {; p. |% o/ u) q3 s
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);7 I8 Z) k1 U& i: m0 S) _' B7 A
                UF_DRAW_define_view_auto_rect(left_view_tag);& Q: N. W) N# r5 H$ J1 f7 I
        }8 [% _' h" h( K3 a
4 m' X; b& p* z# k& }# g% j
3 M" e, Z' l7 ^3 R
        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
$ E- C/ r1 |# X/ g& ]; R- X        UF_UI_open_listing_window();' n  S& b9 e/ x. {
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);0 v( J% B5 w6 I: i% u1 [; f6 P  O
        UF_UI_write_listing_window(message);2 f/ Z9 D7 N  F+ i! w

! w/ T4 ~; `8 y" ~( |9 D8 c
- l; |8 P; B  Y2 p, o& F
9 x8 g5 p4 {; \& T. ?* N! f4 T        tag_t object=NULL_TAG, front_objects[6];
4 L' P  v3 V: N7 h        int    subtype, type, count=0;/ c3 |% ^  V# h
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );5 s0 i5 I: ]' k
        while(object!=NULL_TAG)
) [! U7 w9 `$ A% I/ }5 ^        {
" V6 X2 ~2 C* E% i                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
" }' F( K9 ^, \                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
! v% X- A3 E9 g6 Z( I: k- K: f# ^                {
$ I2 x" B  t( B+ X                        front_objects[count] = object;
2 l+ I. S# d' S' }; s8 ^4 B: S                        count++;
! Y/ j8 m  f/ ~& G  G                }  B1 h7 e2 f* w
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );9 m  u. ^6 B: d' {
        }        
! Y6 R  J+ z. S" @* ^* t        UF_DRF_object_t object1;. l! M+ e8 j: W
        UF_DRF_object_t object2;/ \, U7 t8 U1 q
        UF_DRF_init_object_structure( &object1 );: t8 A# v7 o/ K5 V
        UF_DRF_init_object_structure( &object2 );
% T! d" L; u: s, H$ r! D6 |        object1.object_tag = front_objects[ 0 ];
2 Q5 P8 G6 `$ o8 A        object1.object_assoc_type = UF_DRF_end_point;2 T5 z: o2 E1 x. I
        object1.object_assoc_modifier = UF_DRF_first_end_point;
: }5 u8 R9 F: h' F- C! \' S        object1.object_view_tag = front_view_tag;
; m- V7 @8 t& I& [' A        object2.object_tag = front_objects[ 1 ];* X) b+ X/ C9 U  h) j
        object2.object_assoc_type = UF_DRF_end_point;" U/ v" o" u( K* ?! w' X
        object2.object_assoc_modifier = UF_DRF_first_end_point;+ ?: D, @' n) n
        object2.object_view_tag = front_view_tag;
5 A1 o( W2 [6 A7 ?        UF_DRF_text_t dim_text;
: c6 k6 P; X" v+ |! }        dim_text.lines_app_text = 0;5 z) e& I7 ]5 c$ y$ B* [, h1 P
        dim_text.appended_text = NULL;
6 @6 P! ^; U+ X        dim_text.user_dim_text = NULL;
. O% u8 o  G# q. r7 G0 q0 f# U. J        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };" s* {! U! j3 U/ V; @2 m, L/ z" O8 T
        tag_t dimension_tag=NULL_TAG;
, |, z0 Y1 m& r/ d        UF_DRF_create_vertical_dim( &object1, &object2,0 F8 t3 K  _: o3 i
                &dim_text, dimension_3d_origin, &dimension_tag );  
) \; s0 O1 H6 p" F( P& K+ i0 ?. l, T" J. i- Y9 ]  a

3 ]; y/ a# X# g5 N; Y! \1 {        UF_DRAW_upd_out_of_date_views(drawing_tag);
( Z9 C# n7 v9 q; ], o$ [    /* Terminate the API environment */$ t- t% \7 n8 r( y7 w
    UF_CALL(UF_terminate());3 a- {: c9 P/ c; F1 N& t% u
}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本) X1 H9 ~" N/ n4 O) r
: B# H/ U$ e2 M8 E' d
如果是 ' I1 G" A+ ?- D9 i
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
7 ^" B6 E3 a* J0 g
* a: I1 b8 J3 n1 r# ?" {如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  , k1 f. x1 M) ]8 N6 H% B" @

8 H. T. D1 K9 c2 ~书上用的是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" [8 z( S: s4 y
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:* \% O3 s! c9 f+ ?
+++ Encountered unexpected NULL pointer. See system log for details
! i" p9 \1 H2 ]. Z4 {4 r4 F" y/ F+ N5 hUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );& y8 a  _  H- u: {, b' l' j) h2 |
空指针,还是没找到!
上海点团信息科技有限公司,承接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$ J5 t- K, h: U1 x* m
C:\Users\pc\Desktop\捕获.PNG[/img, n) y9 k% b- @6 v# o+ p
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
& ?- C2 V$ {  u$ ?' [
那就分析这个地方啦  
# ^% R9 I; C- \: J1 k! h8 a4 Q; e- [$ O! s5 I
我没法给你解答 没时间给你调试这个
( @  M- b- d2 G( E! a4 t5 o$ d( b3 u9 A8 v* n2 ~2 D
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了