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

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

  [复制链接]

2014-8-13 21:53:12 4379 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 F# Q+ _" F+ b{
' }- q$ Q$ ~' b6 A    /* Initialize the API environment */
9 W* v; W" {9 Z* ]) |) H! Y    if( UF_CALL(UF_initialize()) )
, F+ Z9 x$ P. Y( d  U  X    {6 P7 C! }* X: Z8 p
        /* Failed to initialize */' F& B% d5 }2 F  h6 l# h
        return;  H2 ^- c2 ]* R7 I; {6 q
    }3 n' O' Y  M5 k( f% z0 y$ c' Y
    ) y1 f( E) {* u* E( ~. h
    /* TODO: Add your application code here *// y8 o. V8 e& H% v
        tag_t part_tag;
+ ~8 e' `) @) S# U7 |3 Y        part_tag=UF_PART_ask_display_part() ;
0 q/ s$ v7 f6 Y. M6 A        int num_views;; J% y" r1 D# N* l2 Q# i  x0 a; k5 n
        char message[MAX_LINE_SIZE];
% H9 l$ r. c( i       
* T  p$ K! h3 o8 L3 F. _. n" I        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";
/ Z, `) y- |5 G$ I% p8 w( K        UF_DRAW_info_t drawing_info;$ u3 ~; m, S4 Q$ w
        tag_t drawing_tag =NULL_TAG;7 `0 z6 G; a. J# z' j4 u
        tag_t view_tag=NULL_TAG;
( [3 A8 ^( ^5 R3 g$ a; y& i- ]6 D) l) [9 U: a* U3 ]
        tag_t front_view_tag=NULL_TAG;
3 i/ E* a+ a! i: k9 y- M0 p" {        char *front_view_name="FRONT";) v/ v* H. M9 E8 d9 ~& q
        double front_reference_point[2]={210,400};( [' P6 z- j: o: m

3 r1 G7 F( {2 L# b: o        tag_t tri_view_tag=NULL_TAG;' q  e3 _' N/ V# d- Z! O7 Y
        char *tri_view_name="TFR-TRI";) \; [# W7 b* Y4 u! t4 O
        double tri_reference_point[2]={630,120};
& ^7 b$ T9 V" n" H. Z* v& L+ q" j- `7 e! w2 W) H/ ^
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;; e+ ?: r* X) N7 `) B3 V+ ^
        double botton_reference_piont[2]={210,120};4 i6 I. a3 [- h3 J8 V' `' c, r
        tag_t botton_view_tag=NULL_TAG;
8 G) i( ~( S' d: T4 w: e9 l6 L! \( ?" @, O  Q! }% d* O
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;6 j: L7 Q+ e# [0 a/ d1 B9 O
        double left_reference_piont[2]={630,400};) n* u, C* @" @1 [- i# W  G
        tag_t left_view_tag=NULL_TAG;
, \. G! ~/ \& P) n
) m/ Z  `2 d6 e- Z# p8 w+ K  ^7 X# z        drawing_info.drawing_scale=1.0;6 }3 J+ b( N# i( i$ a- z
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;9 ?& Q. h- ^6 @0 \: D6 k
        drawing_info.size .metric_size_code=UF_DRAW_A1;8 Z# Q* v# o6 o
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;) N* B, R, M# P& w+ k
        drawing_info.units =UF_PART_METRIC;
: }6 C, L8 ]; r/ z/ d
2 _: m2 I3 b8 C# s        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);5 H4 }' F; K7 r1 m# y
        UF_DRAW_open_drawing(drawing_tag);
) M+ t, |( O; M4 x; j5 Q3 L
+ }2 `; R( _4 R) c! X' |: G& f        UF_DRAW_view_info_t view_info;
! m3 x; q) S. Q( P9 U& F" e$ N# B6 Q        UF_DRAW_initialize_view_info(&view_info);
6 f6 h/ `6 N' [4 l# w, {
+ Z6 b6 Y( i( g# A7 w) Q        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
1 d. Q1 L, d) {        view_info.anchor_point=NULL_TAG;
9 U0 V. \# |# ^# `        view_info.view_scale=1.0;; h" f( y; P1 N+ Z, |
        view_info.use_ref_pt=TRUE;- f: Z( g! [- T. `' x: Y
        view_info.inherit_boundary=TRUE;
0 M& z7 f( y2 |' d7 o+ k5 J  _& i( E7 C9 z( C/ }
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);/ ^  K) y. f1 T
        if (view_tag!=NULL_TAG)
1 ]1 T, L$ f$ ]1 h        {) @! E$ S! [: A' {/ x
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
" T) H7 C8 P+ i& c  ~9 J                UF_DRAW_define_view_auto_rect(front_view_tag);1 ^( [6 y& t5 _1 G
        }
& o3 @  t* r, i+ |# W        view_tag=NULL_TAG;
4 v; X7 ]& Z6 w2 R6 ^. A# M9 q% u! f% e' e
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
, B* @, \2 U# t        if (view_tag!=NULL_TAG)
1 {& ^& V" y! h& ~2 |# t        {4 a- c; f( u4 T) [$ `* L0 L0 E
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);$ O) _- |/ Z+ R" u9 d0 J
                UF_DRAW_define_view_auto_rect(tri_view_tag);
4 p  y0 }2 Y7 V9 E6 T! h        }0 B1 ^4 F; G* B
    if (front_view_tag!=NULL_TAG)$ Y/ _; V6 y& \' K& e
    {
' R$ v) B* [0 ^) |6 @) p                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);9 l$ n1 l2 k3 w5 A) \' a- G! o
                UF_DRAW_define_view_auto_rect(botton_view_tag);
7 ~+ E$ f' V9 l* x         }) F' V. W5 X3 e1 W5 i5 u4 k
        if (front_view_tag!=NULL_TAG)
3 ^# A! P4 N1 n: b# H. N+ [        {
* x7 e* |% J, V                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);' A! I; f/ C3 I, a
                UF_DRAW_define_view_auto_rect(left_view_tag);
9 _4 a! [; `- |  e        }8 g7 p% f2 W% R, ]9 y$ ?. t; C

3 W& X6 `+ {2 L2 k
+ j- s6 M4 S" w$ h7 a- R* ]- m# e- T& W        UF_DRAW_ask_num_views(NULL_TAG,&num_views);5 v) H. v; n4 K7 q, Y) x5 o
        UF_UI_open_listing_window();! B7 }1 v* C0 j& h3 d# [- Y
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
) y& n" }* r2 F, m/ y        UF_UI_write_listing_window(message);: d3 r& i1 {$ O  v" u; Q  i2 @

4 R8 O0 v8 A2 x+ N. Y1 O; x
9 i  y* F; M& z/ u$ ^$ p
! \( C* f# X5 R# Y3 o4 G        tag_t object=NULL_TAG, front_objects[6];
( L  l4 v% P9 H# D3 |; y        int    subtype, type, count=0;2 {( I2 [; H2 E$ t2 E
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );/ Y+ C7 R% i/ U# T
        while(object!=NULL_TAG)
) O) X; J- J0 `: W; M% s        {
/ |( \3 e( ^$ E                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );% j1 d4 h! t) D/ z
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
9 g, ^: N- T( U9 o( x; u& B! P                {6 Q% J# m! v, k& J! _& C0 P
                        front_objects[count] = object;" L- S1 v" Q% \- n9 s- Z1 u7 T
                        count++;: ], X8 Q9 m6 W8 `$ E* p
                }1 ~/ x* ]5 r" {4 [- o& d/ X
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );- K, `6 h8 ]1 ?# {; _. y
        }        ! N' f- q: q( f( T2 w
        UF_DRF_object_t object1;
" H' m. B1 D4 q- M: ~# t) J        UF_DRF_object_t object2;
+ |* q/ S5 y, R; E! z! S        UF_DRF_init_object_structure( &object1 );
' f3 g+ h1 l. Y8 N) }  X- M# Z        UF_DRF_init_object_structure( &object2 );
' r5 Y% `8 P! J* I' T. f        object1.object_tag = front_objects[ 0 ];
* S" }3 ^+ l- x) E" o        object1.object_assoc_type = UF_DRF_end_point;
: W9 W* S/ T+ ?/ f        object1.object_assoc_modifier = UF_DRF_first_end_point;
9 _6 H# k& G5 h  ]2 Z& I        object1.object_view_tag = front_view_tag;
6 Y) _6 ~4 ^4 _" `        object2.object_tag = front_objects[ 1 ];& o' J# J: D! E2 j! p) ?* a
        object2.object_assoc_type = UF_DRF_end_point;) W: v+ S/ B* k/ _9 i, Z6 u) y
        object2.object_assoc_modifier = UF_DRF_first_end_point;' j- e2 J! P7 [' F, v0 U: u5 ^
        object2.object_view_tag = front_view_tag;  Z8 g+ }& j; X4 |5 T+ h
        UF_DRF_text_t dim_text;
: O/ Y( l! I5 e2 n        dim_text.lines_app_text = 0;
$ U9 t/ T4 P% Z2 z* D        dim_text.appended_text = NULL;
* k3 ^3 {, |" x% b        dim_text.user_dim_text = NULL;5 \' T7 G3 K( @5 O0 z
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };. [' ~8 A! e0 I& x3 i
        tag_t dimension_tag=NULL_TAG;
, P  R7 M1 R9 M        UF_DRF_create_vertical_dim( &object1, &object2,' E9 \' T" q/ f  v$ l  f4 }
                &dim_text, dimension_3d_origin, &dimension_tag );  % `' _2 L% Y) Z0 y3 {6 ^0 f8 n

+ N- l( ~' i1 |- z. B; @* ?( j' C$ v& v' R/ r4 `
        UF_DRAW_upd_out_of_date_views(drawing_tag);3 }( n1 }) L9 m. a# u4 _' C
    /* Terminate the API environment */
9 A, J1 z* C" e2 h* V    UF_CALL(UF_terminate());
" E) V; v# X3 |7 \' F5 X; L}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
; @$ ?5 E6 k8 F2 `
' Q! `6 l% w2 n' F7 V如果是 % I" k4 z+ c  D' Z7 p8 v
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
. g" x; u+ q9 [* |/ j
. x; w1 }; @; E  y( S如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  
9 |! t8 |4 F1 B0 q5 Z9 q0 g9 l+ j' o* V% E
书上用的是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
; @# s, n+ F% a4 f3 F当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
( F! Z) R2 C& ?. i3 D+++ Encountered unexpected NULL pointer. See system log for details8 v$ F1 Q) u2 Q/ N# s
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );3 P7 C. {& u3 ]
空指针,还是没找到!
上海点团信息科技有限公司,承接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) D8 A6 I5 Q7 `- z( T( Z
C:\Users\pc\Desktop\捕获.PNG[/img4 m- w9 E+ Z; Y0 @
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

) b& s# ]9 @5 H那就分析这个地方啦    y8 x% m0 k8 P# U, C
5 K0 N! o8 d. G, o
我没法给你解答 没时间给你调试这个! k7 p$ H8 j  v

. x, ^" ]% W  e0 W你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了