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

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

  [复制链接]

2014-8-13 21:53:12 4505 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 )
" Q+ s+ Y$ R2 C( q8 i' j8 {{
1 z" k1 L" t) S0 J" E    /* Initialize the API environment */
) I: Z9 ?3 u7 V* A    if( UF_CALL(UF_initialize()) )
; g+ A$ @1 I" u2 ^- i- m& i    {2 R& ]# W$ j& L3 S* }
        /* Failed to initialize */
3 ~5 F, D& Y7 T5 x: U" [8 q) Y) C        return;
( V( R* T2 l6 K& l' B    }
( `- f9 T; `" i6 R# `8 M! T    + t, \' }- p0 h0 q: B( B
    /* TODO: Add your application code here */+ d* Q# b5 Z6 A( d* m8 R
        tag_t part_tag;
! _, n0 L; e; I/ t3 W        part_tag=UF_PART_ask_display_part() ;. ?1 R9 R6 v9 Y2 M% W
        int num_views;  Y0 l3 T# H2 ]8 I
        char message[MAX_LINE_SIZE];
2 V( j' {+ u/ D% l, }; n) H        / \' F. @3 W: l! F
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";# f6 n# C7 L% R
        UF_DRAW_info_t drawing_info;6 x1 B, a/ Z2 Q0 q4 P' F! o
        tag_t drawing_tag =NULL_TAG;
2 a  E1 I2 p/ N        tag_t view_tag=NULL_TAG;
4 z" d% H% u, T$ E9 L. X9 R" B& H4 J# D
        tag_t front_view_tag=NULL_TAG;# A- _' [! ^$ D$ v- A6 K
        char *front_view_name="FRONT";; y1 O: w0 d+ z
        double front_reference_point[2]={210,400};+ `. t; L; K; z, d  ^' s
% d  w) f, H4 [4 j4 K
        tag_t tri_view_tag=NULL_TAG;
' \% i9 J3 j" q& H' j* G8 F1 J! ~- N        char *tri_view_name="TFR-TRI";7 l1 C/ w; l: [5 \% @
        double tri_reference_point[2]={630,120};
7 M+ k- k, s# a
4 }$ T: n2 p( z  w: u7 f3 {4 d        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;- }( z! S# W% S; \& V: M
        double botton_reference_piont[2]={210,120};
9 N$ W: z3 @, j; H- u: u* {        tag_t botton_view_tag=NULL_TAG;
& U5 U& o) x; M4 V4 v# i6 ]7 \. O$ k/ J) e3 s5 z% ^% E* A
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;" C) Y1 K8 a  K0 c% ]2 D) `. C
        double left_reference_piont[2]={630,400};
  s) p* B5 ~2 ^" p; V7 g        tag_t left_view_tag=NULL_TAG;
7 L4 k& i. I5 n5 l# d3 ^) G* b2 R) m' y- H
        drawing_info.drawing_scale=1.0;% @" x: {" W' {3 S
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;/ D' j# s8 \2 j9 m7 f% P& \+ ~! H$ s
        drawing_info.size .metric_size_code=UF_DRAW_A1;4 p$ b# G0 Q$ y! A# X# ]4 |: e" i. K
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;: E" e2 u! q! C& ]4 @' E/ U
        drawing_info.units =UF_PART_METRIC;
1 ^- S) a0 Z9 \4 H2 @
) Z, j& {8 m- i        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
3 C$ [: J" \! W) E        UF_DRAW_open_drawing(drawing_tag);" e. D: ?9 y3 d5 q

2 B9 r% A8 v* L& p6 u3 x        UF_DRAW_view_info_t view_info;7 n- l# N( @# H( Q! _3 Q! R' G7 g
        UF_DRAW_initialize_view_info(&view_info);$ W$ V$ S" p. ~; Y( `$ p+ ?
& ]3 U1 e  x4 Z
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
  C) u! R" Q9 E$ w, \* u# f+ O        view_info.anchor_point=NULL_TAG;
( q, c+ T* D) \% K3 ~        view_info.view_scale=1.0;" P7 o( f2 x9 x+ n
        view_info.use_ref_pt=TRUE;* R4 c" k" c5 s0 E0 B4 g- o
        view_info.inherit_boundary=TRUE;# Q- i; s# J6 R

" m2 f% r$ Q* Y+ [4 _; b& G( g# j        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
. ^, ]( V, h4 ]/ W4 Q6 X        if (view_tag!=NULL_TAG)5 n* J2 Y" }- \( _1 |
        {
6 M) B. i3 g3 k' r( N                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);; {" |! P& X% _4 r; \( V
                UF_DRAW_define_view_auto_rect(front_view_tag);
& C: A% N, }' p3 {        }
, |. N% U; |, H2 d  d3 o        view_tag=NULL_TAG;
- {* T. ?+ ?* a* n" ^2 F& O3 a. m
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
) |0 U5 N4 M1 C0 z& C& t        if (view_tag!=NULL_TAG)! @( _! U) h/ S9 l. o4 S* g1 M
        {$ l; e* m& a0 l: k; ~& d
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
7 l2 C, |/ l3 O& i% [                UF_DRAW_define_view_auto_rect(tri_view_tag);
( ]0 ^% z+ m. ^        }
+ ^+ a! H* i( C$ D6 r    if (front_view_tag!=NULL_TAG)
1 q  H& w% }! o9 C* C& o! J    {( J$ l8 q7 U4 e. [; `$ W
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
6 S" S- }  o- w8 _4 Y: @4 l7 S/ k" k; q                UF_DRAW_define_view_auto_rect(botton_view_tag);
+ b) A: [! w1 g& o' W% M  u6 o6 l         }: C# o9 q# T2 F! j7 |# r
        if (front_view_tag!=NULL_TAG)( o  T/ k+ @. w& j  U
        {* E% Y5 B) F3 h
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);7 j( V. m- A) \7 V
                UF_DRAW_define_view_auto_rect(left_view_tag);1 }! ?; D$ K' o% G% T
        }0 ]: g: N0 }* U9 V1 C( d' n

- v# `6 |% e$ C5 l7 U) m# S( H) m) u3 h* }, _
        UF_DRAW_ask_num_views(NULL_TAG,&num_views);- X7 Q2 q9 \1 H  s$ Y, b8 W7 H0 D
        UF_UI_open_listing_window();
) I" U, c: r6 R7 h2 i        sprintf(message,"当前图纸共有:%d个视图 ",num_views);5 b6 [) v5 d% d! P* [# {% o
        UF_UI_write_listing_window(message);
4 B$ o4 N1 g7 n' M" g3 B9 p
7 G6 W0 M# I9 l) v3 `1 l3 |9 h1 f# I. G, d5 p2 b2 e6 a

) c: I, s  l) F/ m# [* T3 @( W0 `        tag_t object=NULL_TAG, front_objects[6];. y% @% z6 k' y' N
        int    subtype, type, count=0;" U7 i: N- K& M% f5 R9 x+ ^, H# j
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
1 H0 h/ D2 k0 ?* _8 l* ]6 Q        while(object!=NULL_TAG)
3 _, _% v, O( _# T- V' ^3 d        {
* X2 J& s0 }( Y2 I5 ]" I                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );2 M5 b7 t+ m; O! T- Z8 {0 h& [
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )! D) j6 z$ n# X- R7 Z* o/ S) B/ l# H
                {
# \( z8 }0 Q6 i% P7 h2 j$ x                        front_objects[count] = object;1 g# u6 }5 B- S, ?  J- I
                        count++;
5 |& d) V% }5 \4 h4 r' J                }2 N. W1 J; e' K) j
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );0 ^4 G3 ~8 z' b: z
        }        
- `/ x7 R- V3 M8 G( K( p        UF_DRF_object_t object1;
0 T" v5 [/ U) S% W$ ^        UF_DRF_object_t object2;5 A% p% s( m: Z- H6 s( l; ]' @
        UF_DRF_init_object_structure( &object1 );
- |( q* J( J& e9 n1 y        UF_DRF_init_object_structure( &object2 );
0 y- L7 S1 d6 `" _        object1.object_tag = front_objects[ 0 ];' k# V. ]  V+ H
        object1.object_assoc_type = UF_DRF_end_point;
  ~+ _, |! x1 w! z' @5 B4 M2 V0 D        object1.object_assoc_modifier = UF_DRF_first_end_point;! Q* m) @  `/ k$ |
        object1.object_view_tag = front_view_tag;
; ?; }! W) _/ I6 M4 U        object2.object_tag = front_objects[ 1 ];
6 }: z" x$ P, R$ U" R( {        object2.object_assoc_type = UF_DRF_end_point;
: c0 _% ~& C8 Q5 f* v        object2.object_assoc_modifier = UF_DRF_first_end_point;
6 L- i2 m" C/ x3 X/ `% t        object2.object_view_tag = front_view_tag;
2 [7 i0 R/ M9 S1 R        UF_DRF_text_t dim_text;3 w0 L) Y& ~5 t; u
        dim_text.lines_app_text = 0;
$ @% @1 i+ c7 }) {/ _6 I$ g        dim_text.appended_text = NULL;: }; A$ _$ |) o( t2 \1 J" Q
        dim_text.user_dim_text = NULL;
& [+ G+ F, Q* \$ ^. y        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };, Y7 T0 c. O. }) w
        tag_t dimension_tag=NULL_TAG;0 T6 h) e, l/ S- i, {" ^. F7 A# u' F
        UF_DRF_create_vertical_dim( &object1, &object2,
6 ?* e/ V% M( X                &dim_text, dimension_3d_origin, &dimension_tag );  
# a) K8 [# Z4 P0 H! p* z' R8 U4 f! T6 w3 g

$ F2 w0 ?* O+ i' g        UF_DRAW_upd_out_of_date_views(drawing_tag);
. a3 E# x. u7 G. ^    /* Terminate the API environment */
* q+ @0 f7 ~4 h2 N    UF_CALL(UF_terminate());
% h! t: k  ~8 F}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
2 V0 b2 |- y  j" P% \5 o1 Q
" ~- ^4 w! Z' a' H4 s  I2 f5 u+ @如果是 4 l- G* Q0 h( v9 e
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
5 o! d! ]9 c0 W" `6 D, r3 ^: _: U4 h" W) t7 R: a2 |* _+ A
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  + C! E) o% f: H6 Q3 U

! e( L/ z- L/ p书上用的是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. }  P5 x4 ~  C
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:! e& T4 G( g+ h1 u2 N
+++ Encountered unexpected NULL pointer. See system log for details
0 P  v/ r, \! R9 V, pUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
6 @2 w' U  I' q3 r9 f8 G空指针,还是没找到!
上海点团信息科技有限公司,承接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+ Q( @2 g& x: J. u% {0 B, F$ s
C:\Users\pc\Desktop\捕获.PNG[/img
7 {( P& O. A: O8 X) G# t当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
/ x# @2 o. T. X1 G! l8 E
那就分析这个地方啦  
: m# t; x# j7 K/ t. o& r( h: c, }' l: s" }
我没法给你解答 没时间给你调试这个
. }  H; h. ]# X) ^
6 I* W6 v3 A5 R7 Y你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了