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

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

  [复制链接]

2014-8-13 21:53:12 4466 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 )
" B- I& K3 _# Y( S" w' ?  ~: T{5 T! C0 m9 {2 `8 S- c
    /* Initialize the API environment */
3 ]+ {' |' \6 y$ t  z8 c' V, U    if( UF_CALL(UF_initialize()) ) , }2 V6 x% o5 m) c. X& D6 N
    {0 s7 `1 _! u& g3 G" G. q8 s
        /* Failed to initialize */. [2 q8 X2 p/ M
        return;
3 N9 G" p" `2 c3 z+ Y) ?9 m    }
5 h4 S* ~. S+ f( d   
3 Q, _) }/ W* W+ E# d, ?    /* TODO: Add your application code here */1 I8 w2 C' ~+ W8 m
        tag_t part_tag;% g; q- I& V& ?/ j
        part_tag=UF_PART_ask_display_part() ;
6 _2 t2 D, e9 }! v5 O& \        int num_views;$ D6 ^0 L' N5 A
        char message[MAX_LINE_SIZE];9 f9 v) p$ U% e: B7 @' J+ T
       
( x8 ?6 u1 d7 x: e- t3 j        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";8 A6 Q: v! X2 H; w$ Y" w
        UF_DRAW_info_t drawing_info;. e$ E7 {" z# C, \  A
        tag_t drawing_tag =NULL_TAG;
" c- Y7 J) z: q9 G2 Y3 G        tag_t view_tag=NULL_TAG;, F5 o) e+ E1 U

5 F4 |; @) G; W6 Z" h9 B        tag_t front_view_tag=NULL_TAG;
& }, a9 f9 ^3 v7 B; ^        char *front_view_name="FRONT";
" D' ]& q) ^0 ~* a9 z  }  c        double front_reference_point[2]={210,400};
4 z& }: W1 G5 B3 l4 U# o
, W1 X$ `; x3 M" y& O7 O/ T        tag_t tri_view_tag=NULL_TAG;
1 S) W' A: n: b. ^        char *tri_view_name="TFR-TRI";
/ ^$ {4 L  S4 |" r. [        double tri_reference_point[2]={630,120};# T* ?/ s* w1 e' e3 s6 i5 ?0 I

! s) c* t: a; I3 |4 _        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
, T: E+ m8 f3 @' S3 f        double botton_reference_piont[2]={210,120};
) d4 f5 U# {  I5 C        tag_t botton_view_tag=NULL_TAG;: W" ?$ ^' j# r( L( H

$ s) E4 |3 g8 G% d) a) e        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;: {$ t/ z- k, g5 t: z
        double left_reference_piont[2]={630,400};( {$ t7 `* E1 \5 s! U8 c1 n- j
        tag_t left_view_tag=NULL_TAG;
$ |0 t& J1 d, p# F
0 P0 x2 k/ O1 u7 F        drawing_info.drawing_scale=1.0;
8 n7 f' Z- V0 z1 Y$ s        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;; R. C8 Q5 \2 E$ _4 M  d0 b
        drawing_info.size .metric_size_code=UF_DRAW_A1;
3 @$ m9 i3 M0 h8 E/ L        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
2 |; T. M6 c, b7 Z        drawing_info.units =UF_PART_METRIC;
, _& c0 H1 o$ B+ q
. K/ I! j  x+ R  v- v( C5 Y5 C9 p  O        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
$ m" E; C% p6 O8 j) B9 T$ @2 M        UF_DRAW_open_drawing(drawing_tag);9 M% W7 M" \, f: M' J

' ~7 D0 R  p& r/ U        UF_DRAW_view_info_t view_info;6 b7 k) I; g( d  u( b! @$ T
        UF_DRAW_initialize_view_info(&view_info);
9 }* Q, z0 Z1 z( e) C6 z. P2 W6 I
- u* E  @  {. t" f% h- |        view_info.view_status=UF_DRAW_ACTIVE_VIEW;1 I7 M3 o! F7 s
        view_info.anchor_point=NULL_TAG;3 `* t6 Z, t6 i, K& M( l2 x
        view_info.view_scale=1.0;) a! K$ |" ?4 }
        view_info.use_ref_pt=TRUE;* g- {* \! |6 p% V" f; T5 b% J
        view_info.inherit_boundary=TRUE;
, Z- K3 Z0 [2 a* t8 b7 c  N; s: n$ \
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);0 ]% l* A6 w6 ~! k1 F+ _" Z, m
        if (view_tag!=NULL_TAG)
' n+ I8 J2 Y; L4 s2 [+ Z& D3 E        {1 F( I% b4 l5 ?
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);* y0 r. Y0 c+ O' F7 f
                UF_DRAW_define_view_auto_rect(front_view_tag);& D; f. }9 w' I7 l% s; h
        }
5 r8 `# o# M1 \        view_tag=NULL_TAG;
, A" k0 B, G+ V- B/ \* S7 l" j' u  |
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);8 h  b( j! _/ |6 W7 ^' h9 _
        if (view_tag!=NULL_TAG)
+ V8 m5 q6 s$ Z# x, j5 W; O: p        {6 M1 `- z) Q+ ?. ?( i1 f
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);* X6 m+ U' l  S8 s* Q0 [% z
                UF_DRAW_define_view_auto_rect(tri_view_tag);/ O, C( p/ @8 H
        }
' ]5 a% [, J9 U    if (front_view_tag!=NULL_TAG), E2 `5 ~$ t7 j; \4 d
    {4 V( Y5 T* G1 B# `' B+ \
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
% P  X% U1 d# g3 o' q4 z                UF_DRAW_define_view_auto_rect(botton_view_tag);3 }% `: C& V2 J; {% N
         }
8 N# p& b$ g2 I5 _# Z        if (front_view_tag!=NULL_TAG)+ @9 B: c- m$ O9 u$ G
        {
  h* }- h. ]; }. R$ P/ m1 k" H                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);* F' W  F8 ~9 t( W3 ^
                UF_DRAW_define_view_auto_rect(left_view_tag);/ L8 G1 b' L- m. X0 F$ Y
        }/ b& F8 z! v5 I
7 b7 |! v1 G8 J7 f& G* M
  ^1 n0 H9 q& a
        UF_DRAW_ask_num_views(NULL_TAG,&num_views);& \5 k4 N8 I: Z9 n0 j* G' u6 N- \. }
        UF_UI_open_listing_window();% a' U2 L6 r3 m6 m
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);  m3 S, E8 F2 _  M. P
        UF_UI_write_listing_window(message);! w: {' I, V1 B7 _

" V8 F, V; [8 b8 S
$ ^5 J7 o7 R$ Y  j* m8 H' M! d5 m) t) [, C+ M6 ]2 V
        tag_t object=NULL_TAG, front_objects[6];# ]' P5 C; L1 b+ F
        int    subtype, type, count=0;
4 O( E6 {4 F! ^0 c; k7 N        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
3 C  c2 {' E6 c( _        while(object!=NULL_TAG)
" G' c$ n7 r' k* D7 L& s* n( J        {
4 D# L( P9 n& m9 F/ B( f                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );  Y& f2 @8 I( [  k
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
+ ?) B- H- ]9 y2 p  P9 B& d: Y                {' X* {2 g1 A* {# g
                        front_objects[count] = object;/ w0 ?" H0 ^0 n( P5 S) b2 N  g
                        count++;
0 ]( o. u3 Z4 }" B                }
" M5 S; `( X$ I7 y% P, P. e% F* J                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );- [0 P/ {# D6 u, o* R% P
        }        5 O% v' n% b/ e) U9 j# {) c& O
        UF_DRF_object_t object1;
1 ~" E% D, g- L4 h" X) S. [        UF_DRF_object_t object2;
# J: T- I2 Q3 N4 S: o( A6 c        UF_DRF_init_object_structure( &object1 );) z  |2 W9 |( S8 `- i
        UF_DRF_init_object_structure( &object2 );
3 j3 V+ y- n6 C5 r* w7 l  n        object1.object_tag = front_objects[ 0 ];
. v8 R& m5 p+ S. `- c8 u) {        object1.object_assoc_type = UF_DRF_end_point;
) e  c  }' ]0 E        object1.object_assoc_modifier = UF_DRF_first_end_point;
) `: H: d8 o( v        object1.object_view_tag = front_view_tag;
& z, i, e1 m9 Z9 M( E- ^        object2.object_tag = front_objects[ 1 ];
+ q7 p  u- Y; u$ T  a        object2.object_assoc_type = UF_DRF_end_point;/ B9 |0 z: e% Q  i
        object2.object_assoc_modifier = UF_DRF_first_end_point;0 ]' V3 N" A) ]9 x* C
        object2.object_view_tag = front_view_tag;
0 T! k) ^4 j; k3 k1 Y- z        UF_DRF_text_t dim_text;
( n* j; H+ Y' O        dim_text.lines_app_text = 0;5 o$ `8 Q9 I* s3 s7 c
        dim_text.appended_text = NULL;# z' n1 C6 C6 ?2 i: l" y6 z% t  W1 r
        dim_text.user_dim_text = NULL;" ?, A) m. s1 d& P) O1 F# A$ a
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };( A$ {4 k- L- N# y2 s5 a
        tag_t dimension_tag=NULL_TAG;8 z) x8 \2 h7 @7 @$ S) R5 z& s
        UF_DRF_create_vertical_dim( &object1, &object2,6 A. r; t! Q! ]7 V
                &dim_text, dimension_3d_origin, &dimension_tag );  
$ L6 D* Q. J- x0 A
0 P8 D8 Y" S; t
0 L0 ^# p! a" K# u% E        UF_DRAW_upd_out_of_date_views(drawing_tag);
: v" z, U3 W$ b    /* Terminate the API environment */
; V* A5 t( P6 k) h' ~' ~( l    UF_CALL(UF_terminate());
$ i$ @# n, R  l2 z}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本1 u. Y1 n( b+ l* v7 V2 _
* C7 x$ `( T# z& q
如果是
0 k, G" I& W7 d( s8 |3 n$ G! P那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下& q+ ^6 P- `! \4 m
# c& G9 f! k# D' `  m; F
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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( w" L" z7 a( D5 d

" c% H1 F8 F/ e* I" I书上用的是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
! X2 K2 [1 ]: r( b6 e当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:% b' o% F3 z  n3 W# o
+++ Encountered unexpected NULL pointer. See system log for details5 k/ {/ v6 \8 r* _: X- \1 f1 I8 h% G
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );1 T! `# [  [( L6 t+ J( s- r9 a
空指针,还是没找到!
上海点团信息科技有限公司,承接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:433 s5 A2 b& b1 [( I! j" [$ ?
C:\Users\pc\Desktop\捕获.PNG[/img
- E& [; a, j0 o3 o  ]/ F' Y% Z当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

$ ~- o* x. O) {2 D那就分析这个地方啦  
# b4 L; }- s: Y, u! g
' D* N/ `  v. w/ u我没法给你解答 没时间给你调试这个8 |5 z4 k9 K  N& E9 |) `$ D1 s, y
1 |( E3 L0 }% G$ b- y) N7 g$ M
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了