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

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

  [复制链接]

2014-8-13 21:53:12 4522 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 )( |" c  |- l' @- Z+ i! y
{
4 ^& R* j# o6 y3 S. ~) N; Q    /* Initialize the API environment */
4 t# F+ N9 _( x, S7 D$ p    if( UF_CALL(UF_initialize()) ) 6 B+ ?  T! @" j/ ^( w  j- ?
    {
3 M1 \. a2 t3 }4 P0 V: B* j        /* Failed to initialize */* G2 n7 o$ @- T# W
        return;; n3 A0 C* ?3 }3 \: `; {
    }, L# [9 u) i* s! |  Q" s& s
   
: \& ?1 F' ?. G: \, G' b/ ?, q    /* TODO: Add your application code here */( z4 j1 u  i; r% ^, v8 W
        tag_t part_tag;
' r4 n, P3 l% a* P/ v% h        part_tag=UF_PART_ask_display_part() ;
) W, W! u9 U; p) S+ Z8 ]        int num_views;" W7 A  F9 T/ n. |5 Q' ^( `
        char message[MAX_LINE_SIZE];
: U, y- g- u8 {' }        " c$ m2 @& X0 X( ?( z
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";. ]8 M; `% E: I& Q- G! ?
        UF_DRAW_info_t drawing_info;
9 }( W( ?- C- J0 ~& y9 I        tag_t drawing_tag =NULL_TAG;
% x, A/ T9 O( t        tag_t view_tag=NULL_TAG;
' S2 E) T4 x8 A* ?. T$ Z7 ~9 x! ~+ U2 F" Y0 Q9 X$ U& Q! h
        tag_t front_view_tag=NULL_TAG;
) H) B4 D1 }* k- u6 C2 ^        char *front_view_name="FRONT";" @) X7 S5 V1 j
        double front_reference_point[2]={210,400};
* L, [+ X7 g, u) p
9 E% R$ [2 |" B! R        tag_t tri_view_tag=NULL_TAG;
" f' u$ q* @) R! p        char *tri_view_name="TFR-TRI";
/ z( ?2 b1 E4 A, J; j4 O        double tri_reference_point[2]={630,120};
8 B) i. V% C/ b: J! K( o2 T1 N. @4 I( Z5 N4 G, B9 \9 Y
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
8 S$ g- f- P3 B! j/ e- X4 v        double botton_reference_piont[2]={210,120};
. O, w/ ?5 f( `8 F6 c+ a) ^7 S        tag_t botton_view_tag=NULL_TAG;
* f; C3 m. O; Y; c5 c
% w" K" S1 M, x( X. g' f/ k8 C        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
6 \# p$ ?9 ]5 Y% K        double left_reference_piont[2]={630,400};) I7 e- ]( F# d7 ?
        tag_t left_view_tag=NULL_TAG;
. U* h( J) R, V1 B* e
: y# a! e1 Q' I        drawing_info.drawing_scale=1.0;8 {5 u3 g/ q9 t* `/ S
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
; x$ r1 w$ M$ ^6 P        drawing_info.size .metric_size_code=UF_DRAW_A1;: w# [# Y" {0 Q6 o# [1 `9 s
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
9 B8 e/ e1 X  B! a, m! [        drawing_info.units =UF_PART_METRIC;; n$ I  j2 O6 [' _' s; g7 N
$ y) J1 U- y" i, A$ P$ q) j$ i
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
6 m" J* o' m% f' Z        UF_DRAW_open_drawing(drawing_tag);" W1 O0 Y  w+ ?4 I/ g

" [2 W* ]* [% j        UF_DRAW_view_info_t view_info;
* }9 R! ?1 F1 U. ?1 W, Z        UF_DRAW_initialize_view_info(&view_info);" f/ t/ Y4 D" M0 a" q7 ^

  c* D# I, A. Z& J+ V5 E        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
% _) |! ]7 B" k' N: t$ l        view_info.anchor_point=NULL_TAG;) D. F! [0 i; \" S. G
        view_info.view_scale=1.0;
7 w0 |/ b1 M  c+ Y' v        view_info.use_ref_pt=TRUE;7 r# L0 L0 @7 ]! [1 s
        view_info.inherit_boundary=TRUE;
5 `! p/ {" t* x+ n) i. X0 f: @
4 g% t- e* j; P  S' k7 w        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
! n0 s- k; H' q$ b& p9 K        if (view_tag!=NULL_TAG)
8 e& Z$ v- C$ B        {% J" _0 B( @; ]: ?: ^% v7 \3 a
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);1 `/ d- b- ]1 h
                UF_DRAW_define_view_auto_rect(front_view_tag);( i/ r" o% r9 J( e; G% @7 K1 o
        }
+ k* y7 V$ T) {        view_tag=NULL_TAG;; Y) G6 k5 M# b8 e8 X1 ^9 z0 m6 W

* S7 C2 O6 w* E: J- A4 P        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);% _3 l1 H9 C: G/ i  B  E2 E
        if (view_tag!=NULL_TAG)
7 J( Q" p8 T6 x! c5 o        {
0 P4 l4 y& F  h+ k                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);3 ^0 K& o& U$ y* G9 C6 ^7 z5 V" z
                UF_DRAW_define_view_auto_rect(tri_view_tag);
. n6 [$ F& L$ p/ [, p# ]6 w5 ?        }! ~0 p6 U, g+ f$ U0 g  y' E
    if (front_view_tag!=NULL_TAG)
; E+ g. T) z% D) P. J, S    {2 d, [) x+ o( b
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
: c' [# K/ Q: w, ^* f                UF_DRAW_define_view_auto_rect(botton_view_tag);7 ^7 r$ ~# ?3 `) a" @
         }3 x( G( D$ `* D, \7 u4 C
        if (front_view_tag!=NULL_TAG)
" A. E. l6 v) O- q! \        {
. v  ]; ?/ Z% f- \$ o                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);+ O$ Y! q3 T9 n  ~, T/ B
                UF_DRAW_define_view_auto_rect(left_view_tag);
9 L7 N4 ?0 r0 ]+ A* W; G9 n        }
! p9 w% i) C( v+ r$ y7 a3 D
: j5 |" e' h2 n' j$ l9 z
$ Q- G. [9 `: _8 J8 D* n- O        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
6 G) M5 \& y  }        UF_UI_open_listing_window();
; {4 B2 j- ]3 m9 y9 ]        sprintf(message,"当前图纸共有:%d个视图 ",num_views);- ^3 d* T* R" R: x1 [. {
        UF_UI_write_listing_window(message);
- ?& D; x8 R0 b$ a- G9 M
, E) J8 [, Z+ r, t4 m% d) p1 W! H. f2 j9 g2 i4 a4 ~2 D
( A' H: O% j1 u( w* D
        tag_t object=NULL_TAG, front_objects[6];- D4 Q/ q6 F+ M( i
        int    subtype, type, count=0;
- @  B( _# t. V) L        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
# J( [4 `: ?( I        while(object!=NULL_TAG)( R8 X' A" u4 [0 W2 ]
        {
5 B9 e$ B6 F: z* O3 `3 q                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
. z. a; j- f# W" i! P3 z8 D- |                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )! _. n. G( m: o6 P4 x
                {
5 C( Y# Q4 I) Z- d$ _5 U$ G                        front_objects[count] = object;
" d6 B! V+ P1 [; r/ |                        count++;
! U# |: D. v4 @: Z; T                }
: P0 |2 U& [4 I% ]                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
# V5 j& W5 o9 r5 `        }        
9 `' F1 p$ r* g        UF_DRF_object_t object1;
( G' Q% d& o+ _2 m( O: ]        UF_DRF_object_t object2;6 \6 Z+ o: X2 @' _; T1 w
        UF_DRF_init_object_structure( &object1 );4 w. W: C! {1 `7 Y! J
        UF_DRF_init_object_structure( &object2 );! n; z! ^- ]3 b
        object1.object_tag = front_objects[ 0 ];
! p1 V% _$ }) ]8 G        object1.object_assoc_type = UF_DRF_end_point;; o) A& V/ R) ^7 A8 j" }
        object1.object_assoc_modifier = UF_DRF_first_end_point;( c; z4 E+ `8 e: P, C
        object1.object_view_tag = front_view_tag;; T& z$ u; D3 L- I
        object2.object_tag = front_objects[ 1 ];
1 c6 t0 C$ {) Y+ N/ p, Z% `        object2.object_assoc_type = UF_DRF_end_point;
8 K4 G* p0 f7 T" g        object2.object_assoc_modifier = UF_DRF_first_end_point;! U. o& Y) [; H" Y  d4 @
        object2.object_view_tag = front_view_tag;
3 N! m; ?9 T% t4 q0 V        UF_DRF_text_t dim_text;- R$ ?/ d" v8 m! |
        dim_text.lines_app_text = 0;
. M0 w& R$ ^6 P( P% @& T) {        dim_text.appended_text = NULL;
  a6 I) v- H1 f        dim_text.user_dim_text = NULL;8 p* p4 U; m7 f8 ]1 f
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };7 n: }" d. A6 f& Z  Y, |/ ]
        tag_t dimension_tag=NULL_TAG;3 u2 a8 ~. w" ~/ t; W9 \1 ^
        UF_DRF_create_vertical_dim( &object1, &object2,
# w, P. o# P3 N) N, h; C                &dim_text, dimension_3d_origin, &dimension_tag );  - O& ]- W% J" V
) `9 t# ~3 D, [7 P3 ]- m+ ]1 D

3 [& |1 v4 c( `8 z" F' T- c        UF_DRAW_upd_out_of_date_views(drawing_tag);
$ a2 V& A1 v- n7 P" i6 R    /* Terminate the API environment */) @) W% X' M( R2 Y" T( b, r
    UF_CALL(UF_terminate());
! C; R' _( A* V5 q4 y4 R}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本7 z6 i! ~! d+ m% L! ]* e

2 y7 p# I6 T: ?# H( I0 q如果是 3 g1 g. f! u3 D: H: }  T- i- r) [
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下3 U( C" D1 L) t1 R" N/ X
% ]3 ]* I! h3 ?1 ?2 k% i3 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 );  % y; N8 J! w# H" R9 h

. u* P+ e6 j; W! C+ |; I% Y# {书上用的是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. f; e) s/ |
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:. Z! z( S6 P) x
+++ Encountered unexpected NULL pointer. See system log for details
: M7 r! V& J* k8 |' T9 XUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
) {" i9 J- f# N2 g' 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:43" a$ \4 G. s3 S9 d6 i9 B4 X
C:\Users\pc\Desktop\捕获.PNG[/img' o2 v; {% m( Q4 d8 q! X
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

3 r2 ]2 x9 K3 F: E) I7 W" R那就分析这个地方啦  : x- B! @2 a0 _! G. j

2 X% v9 Q9 Q# V5 q# \我没法给你解答 没时间给你调试这个
: i" @/ Y3 f6 L/ E/ t
2 ]: p5 [7 B" N  l  Y$ Z你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了