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

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

  [复制链接]

2014-8-13 21:53:12 4421 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 ); Z% z) b9 A- R  B2 n
{7 d: W0 r; x. d& y1 m4 X+ g0 s5 s
    /* Initialize the API environment */0 J# V/ y$ j, q) B  {4 @
    if( UF_CALL(UF_initialize()) ) 1 `2 A. w+ U% m5 ?5 P' ?9 [
    {; f! D. u! D- y+ V+ |
        /* Failed to initialize */
1 \+ q5 W) K( h  c; L        return;6 |# X) u9 _6 C9 I8 T6 \: ^
    }  X) F* @9 t/ `  `: W
    ' q" i5 o) {0 `: D
    /* TODO: Add your application code here */& r' q; @+ c# L2 B+ x
        tag_t part_tag;3 }( x0 E* P/ R- ?' H' e3 k
        part_tag=UF_PART_ask_display_part() ;/ F6 L( o* `+ N, \. L) Z+ T
        int num_views;/ r1 c  ^* o! p' n8 k! ?
        char message[MAX_LINE_SIZE];
" i- g  E3 v6 Q: A% c8 q        , M: |% R$ P* f
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";8 E  B, n8 q3 K& `- D5 {: _
        UF_DRAW_info_t drawing_info;; T2 {8 k3 J% X' [7 J
        tag_t drawing_tag =NULL_TAG;2 e3 k* ?! }- |! {9 s8 g! u- {
        tag_t view_tag=NULL_TAG;
; R; W# t# M7 D- r% M6 n. n/ T
0 h7 l" e. \+ a        tag_t front_view_tag=NULL_TAG;2 Q  w4 F  m6 V; R# H. t
        char *front_view_name="FRONT";
+ P& g4 a0 r0 C5 s- r        double front_reference_point[2]={210,400};
$ w9 S4 [. @) D: `9 ~+ \" K; b$ M$ m" ]/ d5 O, T, {
        tag_t tri_view_tag=NULL_TAG;
; h' a8 u7 h" x0 h5 s        char *tri_view_name="TFR-TRI";) E, {5 ^  e! c6 u0 _& X- \1 O
        double tri_reference_point[2]={630,120};
$ Z  w8 G" Y% m: J, A& h& I# N% G; p  R
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;% O  F8 I. G& P1 c' l* F
        double botton_reference_piont[2]={210,120};$ w) @7 e) {! _. j
        tag_t botton_view_tag=NULL_TAG;
+ ?6 F: y+ b! N0 S3 v2 _6 [8 d3 {9 ~. A; M% h/ Z
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
, l; J+ O$ X/ p        double left_reference_piont[2]={630,400};" p) p/ B5 \1 e- e
        tag_t left_view_tag=NULL_TAG;# b# O9 m, L& F( T% D+ {- ?' M3 x
9 G* t, e9 X: j* D
        drawing_info.drawing_scale=1.0;
4 F1 S2 g3 |/ H        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
5 [' ^( ?, Y6 N        drawing_info.size .metric_size_code=UF_DRAW_A1;
8 ]' d& D* Y2 S9 W7 U" L        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
5 r" A$ K- u& o. q        drawing_info.units =UF_PART_METRIC;
& Q1 c- W+ ^3 j$ ?- w& r, `4 o3 m$ y8 y9 Z9 c
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);: b% v- z. C& l8 b. Q
        UF_DRAW_open_drawing(drawing_tag);
8 f: f6 N- @% p: O  H% b  |- u
5 ~) P  @9 F& F9 ?8 @. G" j" Z2 Y        UF_DRAW_view_info_t view_info;! z$ A6 [, }) a% R% C5 t' [
        UF_DRAW_initialize_view_info(&view_info);- Q& M! b. Z5 |5 g4 f5 x, D

1 ^2 v- [+ y0 j; s+ v4 I  U        view_info.view_status=UF_DRAW_ACTIVE_VIEW;) J# E9 I. L0 C, y6 u
        view_info.anchor_point=NULL_TAG;
: ?! M% G0 ~% b0 S. P, {        view_info.view_scale=1.0;5 `5 K7 X- B8 i* x* k% W# C
        view_info.use_ref_pt=TRUE;% C9 h& w3 H8 q+ V- _
        view_info.inherit_boundary=TRUE;. Q1 R! T' o9 G. h* c' R
) f# m/ M" ~6 F7 N
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
9 y( s& v2 |9 ^5 i) G( z) B        if (view_tag!=NULL_TAG)
* Y2 h2 U+ z! L* p) N4 G# D        {
& t! E0 F9 F" o" t1 |                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
& L7 K7 C2 W8 q' Y                UF_DRAW_define_view_auto_rect(front_view_tag);1 W% [/ K. D6 T) |
        }; {  W$ P% e$ e$ a; l
        view_tag=NULL_TAG;& F6 f: D/ m8 ^+ X4 @; W

* \# X8 Q0 ~9 {        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);1 K* f! y6 [' x
        if (view_tag!=NULL_TAG)
) e) ~2 g( F+ j0 M# b: U        {
9 v$ Y1 P+ m7 T                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
! n2 K9 ?7 B0 ^5 |5 `7 e                UF_DRAW_define_view_auto_rect(tri_view_tag);0 p4 N! T3 ^% [  k  l
        }/ F' A9 K0 O, }
    if (front_view_tag!=NULL_TAG)$ {/ H; O* T) P/ R9 u, z4 A( j: A
    {
; @' d6 G8 Z' y" v                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
1 k5 x1 [" q4 K& S                UF_DRAW_define_view_auto_rect(botton_view_tag);
, z% f2 k8 f, `         }
5 \! r1 {# z! N7 e        if (front_view_tag!=NULL_TAG)
5 @- b; i8 W  i& z% q5 F9 h# q        {
7 Q; b9 m. M$ z2 |% X5 Y# t& q                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);# o4 V2 s3 ]: d( o( a
                UF_DRAW_define_view_auto_rect(left_view_tag);
- C3 S. i; V2 [! y        }
% ^0 [8 H' a! g( V' u$ p, o% O
$ |* m. N* p1 D- K" V8 B
3 W" V. ^( X1 L+ [& ?. b0 A* C        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
& \6 N0 X7 ^; V5 M9 J) U        UF_UI_open_listing_window();
: ?4 w; b2 v7 Y! @* a8 ]        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
0 x, v# C0 ~' Q( X& p        UF_UI_write_listing_window(message);
* i' M# j' M$ m0 k" ]: O& A; v  U8 O( p* S& g) t  H

" Q8 j7 P- M- l' F' |2 x$ q# M8 j% S4 F+ U' e
        tag_t object=NULL_TAG, front_objects[6];
% p4 Z1 Q% a- z" [& E% ]        int    subtype, type, count=0;
3 h6 `: R! v! L# L( Z( E        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
7 q; {: V" W3 s9 m7 y! y8 [        while(object!=NULL_TAG)
; @6 I, v* p) b" a9 p9 R        {
/ b8 m+ q& H- h7 c9 D% Q8 [& W                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
+ V- i" r' U' V1 `: n" n                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype ); m/ Z6 B5 n' }+ G: D8 N8 q
                {3 Q4 a8 w$ P2 a+ k& b
                        front_objects[count] = object;
6 k0 I) u1 z4 J                        count++;; y" P0 g6 F" D3 E2 E, c! }1 Z* F
                }2 P2 t7 J' i! ]# K4 A# N6 F- @3 h
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );4 N: {1 r- R  X; G' i* B* z! K
        }        
$ c: }# E& b( y. ~        UF_DRF_object_t object1;
" m% r9 R7 u/ L        UF_DRF_object_t object2;
' i1 B# W! N- p: z  F! z        UF_DRF_init_object_structure( &object1 );( |' p, |, F6 x$ e; _- H8 I% C( P
        UF_DRF_init_object_structure( &object2 );
  w3 W0 K; f1 a" L) ?" F        object1.object_tag = front_objects[ 0 ];
3 w  t+ g. e+ Q, p$ `/ D& g2 K% [        object1.object_assoc_type = UF_DRF_end_point;1 d. u. ?1 B! f$ _5 w$ A
        object1.object_assoc_modifier = UF_DRF_first_end_point;
1 Z( j) a8 V0 i, {        object1.object_view_tag = front_view_tag;
+ B) B6 J; i2 `) p! w        object2.object_tag = front_objects[ 1 ];
, N, ?: J6 z0 S( ?        object2.object_assoc_type = UF_DRF_end_point;
; K+ l( q$ `4 h9 j5 T$ [( N" m4 P8 K$ J        object2.object_assoc_modifier = UF_DRF_first_end_point;6 R7 m! Z) n" e% Z. v9 G
        object2.object_view_tag = front_view_tag;
, [: p# c* ]6 u  ]+ q        UF_DRF_text_t dim_text;' K' I. Y3 ~* |: r  ?
        dim_text.lines_app_text = 0;
6 j* ?( ~* D, q  b! p/ @# F        dim_text.appended_text = NULL;
5 H8 [0 i/ v& u% @. U        dim_text.user_dim_text = NULL;
/ z2 V- ^* F& b, }# h6 ^/ [( y4 `        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
( B; c; d/ o& ^3 z' O$ N        tag_t dimension_tag=NULL_TAG;
# d5 y# a; p+ c/ D% \) F2 P        UF_DRF_create_vertical_dim( &object1, &object2,
, N% }' k+ @" O. H; d) \" t                &dim_text, dimension_3d_origin, &dimension_tag );  
+ d' l/ o5 z/ y) `
3 f) k* X" Z3 {: A& o" }
4 K$ a  @5 Q4 a0 Z" W        UF_DRAW_upd_out_of_date_views(drawing_tag);$ o- I2 R- P3 f6 f
    /* Terminate the API environment */
" I4 ~4 e- A- j3 F9 W) o) o    UF_CALL(UF_terminate());$ V: M" ~; r! O* p! I, z) |. t
}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
  n- H9 G% |+ S- U6 a5 r/ z7 Z9 D# d$ }4 [8 ]; b  n
如果是
- }1 t5 |9 {8 D那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下9 }% g3 D) g. B2 `: E! g6 j7 o1 _

0 M) _  f3 y1 b! p+ H/ z如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  
% j' s4 ~: ~3 p+ d+ n) [& @) k& Z- G2 E0 l- S
书上用的是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
* e7 i9 I  Y- \. G当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:8 _5 Q# V4 H7 `6 c% h$ I8 L1 ^# n
+++ Encountered unexpected NULL pointer. See system log for details  ^2 |  ~2 n5 H: M( a5 c- _
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
+ f: w8 e. H  Q8 A- F7 T! j5 t' 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- v5 y2 E+ X8 {& k- M2 K, q
C:\Users\pc\Desktop\捕获.PNG[/img
1 h! A+ {7 q0 O$ H6 i当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
! Q/ r  `- i( Z% }2 x. G9 D( G; n
那就分析这个地方啦  2 D$ }1 m3 L" h0 i
" P! P% _4 j2 P- x6 c
我没法给你解答 没时间给你调试这个. g" }. p" o7 G8 [4 W

6 I4 T' r. p7 q* W你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了