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

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

  [复制链接]

2014-8-13 21:53:12 4279 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 )6 }/ W' D! |4 b$ `$ e
{. D! n0 }2 f2 U2 R- h+ t
    /* Initialize the API environment */
6 E) ~1 ^! z2 q5 t, ^+ v    if( UF_CALL(UF_initialize()) )
9 a5 s# w8 I! v, R! |  e- V% P# ~    {5 l- L$ j3 _' S* W3 Q
        /* Failed to initialize */
1 `8 H: @2 K( H: d) \" d        return;! H9 x) r+ C2 `' \1 G3 U
    }
/ u, T4 e: O& L& ~1 n3 J   
) M1 ]0 Q5 J) H5 d    /* TODO: Add your application code here */
  |7 `9 D. p4 x( I( K        tag_t part_tag;0 G* C6 A- g0 F6 v3 Q# {+ x
        part_tag=UF_PART_ask_display_part() ;" b4 m7 Z2 i) G5 B5 i  e
        int num_views;
; U6 R. l) G  j; l. {3 \- N" c        char message[MAX_LINE_SIZE];
5 }& x. v. e3 H! v$ n0 Z       
  @4 R# |. ^) S5 e3 e        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";3 B8 I8 ~6 m; L
        UF_DRAW_info_t drawing_info;% H' s$ G& z) F: U/ ?
        tag_t drawing_tag =NULL_TAG;. @* \1 {2 G# W
        tag_t view_tag=NULL_TAG;. H7 A- s0 d: K; \

/ S) \! V* V  B2 d- u        tag_t front_view_tag=NULL_TAG;2 R; c( }' C0 Q0 i# W) Z
        char *front_view_name="FRONT";) f7 ?0 q' P8 E
        double front_reference_point[2]={210,400};
7 X9 O+ W( I  \' U5 r, [% p$ j/ ~
        tag_t tri_view_tag=NULL_TAG;
6 r( Q% Y. r5 f& B9 [$ S        char *tri_view_name="TFR-TRI";
. I0 u- K! k. U0 ~' T/ B: x/ K        double tri_reference_point[2]={630,120};
3 y) b' Q0 L4 V# v' N4 H# I. b7 B9 ?
: X" s$ ~7 X; `! t: }5 ^/ c4 p, [        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;0 D4 w( c/ G6 f8 [7 L
        double botton_reference_piont[2]={210,120};$ Y2 k8 g5 t: k$ j! f
        tag_t botton_view_tag=NULL_TAG;
5 ^6 q2 T5 K/ j! I2 O4 v% w/ {1 v. J9 g% f7 e$ J
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;2 ~7 ]9 v, i" i/ @' {% `2 X
        double left_reference_piont[2]={630,400};9 K: k% U: ]8 n/ h( I: b' k
        tag_t left_view_tag=NULL_TAG;  Z9 v" k( D! Z9 b

- D  D3 m3 @$ F/ u" |8 N+ T7 a) ~1 |) Y' g. T        drawing_info.drawing_scale=1.0;  {( E; A" @( L$ Q4 F) w
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;/ A- G2 L$ c8 g, x: f; ~
        drawing_info.size .metric_size_code=UF_DRAW_A1;2 m0 R, V! p2 u3 o  Y
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
4 P. N  u6 @5 L% Y- N& Q0 a# D        drawing_info.units =UF_PART_METRIC;) W  C: |( J  f9 U

9 b/ k# G" Q: S& w0 c" _7 m        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);% J, v! y% G; M4 k0 u# R
        UF_DRAW_open_drawing(drawing_tag);$ \& j& V; E1 z! n" Z( ]2 G

3 n' ]8 t$ D1 f% I2 a        UF_DRAW_view_info_t view_info;2 Q1 s1 @' c6 {8 S9 W- m
        UF_DRAW_initialize_view_info(&view_info);
2 ?; Z' r2 W7 @
% h' v7 P3 V- v. S# U        view_info.view_status=UF_DRAW_ACTIVE_VIEW;7 a; x: A7 E+ n) Z
        view_info.anchor_point=NULL_TAG;; d4 F+ I$ H7 c6 O+ q0 Q5 Y
        view_info.view_scale=1.0;
* Z% T2 \2 E" w9 Z9 ?# N, X2 [* z        view_info.use_ref_pt=TRUE;/ O* F4 m6 J2 R6 |
        view_info.inherit_boundary=TRUE;8 P4 k6 o9 m/ Q, i1 X" s
2 M3 J5 M- \4 x- ]3 ~
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);, F0 E9 |1 U6 H- Z# M& h/ R8 N
        if (view_tag!=NULL_TAG)( y' Z( o0 r- ?9 [: U
        {
5 w& D& e, W, ^                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
: H0 [* x3 \& v1 T& Q                UF_DRAW_define_view_auto_rect(front_view_tag);0 ~: h  |/ N- d/ K
        }1 R/ b2 @1 `3 I! f% K* m( E
        view_tag=NULL_TAG;1 Q3 q+ ?  k3 [& M' _5 k

% I7 J% i6 `/ {        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
$ M7 j0 z% o/ F5 \( y1 P4 H5 N        if (view_tag!=NULL_TAG)
4 a' K5 W/ j- D* E        {4 _% {8 n. p" E! }& `/ ^. @5 s/ F
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);/ x/ L/ {* `3 l; d% y
                UF_DRAW_define_view_auto_rect(tri_view_tag);
: O7 {+ h% W: f& Y7 B" X& S' Z0 g  z5 g        }) z( W, Y/ w# w, {
    if (front_view_tag!=NULL_TAG)
5 i3 k/ S, G) I5 x" \# R8 ^    {4 z2 n- x1 `  H1 ?( I3 C
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);  h" ]+ C, B$ q7 p
                UF_DRAW_define_view_auto_rect(botton_view_tag);
6 @2 Q) Q; I3 D6 Q0 ?: h, A# B% e         }: y- B7 h. J6 Z$ o. }
        if (front_view_tag!=NULL_TAG)- A+ N* ]$ t. W
        {4 c0 o% D3 |6 C
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);/ n' g, E; \$ \# `7 {& L) T, C
                UF_DRAW_define_view_auto_rect(left_view_tag);
. N- i4 Q6 `! ^( S/ Q( e& |        }9 X/ A' B8 t. h: a8 k
8 F) m) K4 A, c0 w

: I6 Q1 S8 Z: r        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
  f6 s2 z' R* H5 L2 ?        UF_UI_open_listing_window();' b3 q  g) r0 b3 W3 ^
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
2 P  R0 g. W' G5 @        UF_UI_write_listing_window(message);
: u$ t. [8 m- J. r
; b( f0 H' {) v0 }' g7 t
5 e% I3 A3 q' W5 L" s( i9 ~* R) H, h. f4 ]+ ?
        tag_t object=NULL_TAG, front_objects[6];* [% }5 z' M, z7 T8 _: }5 H
        int    subtype, type, count=0;
" J6 D' _- Y  z, ~9 K        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );" R3 f9 _( e+ w  l+ n9 B
        while(object!=NULL_TAG)
& K( J" w% w9 L: x        {5 q  `$ A- j1 |
                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );7 x; o  E% F9 U' Q$ A' X
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )) I/ @" S2 B5 |( O
                {! u: ~- J7 K" ^$ u9 V
                        front_objects[count] = object;
' L0 e1 M' e& L% ?7 N; ]3 K: \                        count++;& O3 ]; A  \4 _( f$ d# ?
                }
/ Y, f* |! j0 z/ i! g                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );4 }6 g6 C, W4 W5 o& D+ _
        }        
& K6 _  Q- y9 T0 e; z7 L        UF_DRF_object_t object1;" g. g4 }4 I8 G+ U7 P( y4 W
        UF_DRF_object_t object2;
3 q4 P# [& M* v7 z        UF_DRF_init_object_structure( &object1 );. z7 V& _, y: }8 T- c* r
        UF_DRF_init_object_structure( &object2 );
4 y9 T3 w! z+ J        object1.object_tag = front_objects[ 0 ];  L  f5 X9 k- z4 p5 M4 R
        object1.object_assoc_type = UF_DRF_end_point;3 k% ]* G2 U9 f  I) B
        object1.object_assoc_modifier = UF_DRF_first_end_point;
( G# ], S  k$ ]$ o        object1.object_view_tag = front_view_tag;
* Y7 S% Z( K6 w  p/ S" }        object2.object_tag = front_objects[ 1 ];$ J# @7 N, y) y- y: A3 ?
        object2.object_assoc_type = UF_DRF_end_point;
; k' A- u9 `1 {! A8 S" x/ i        object2.object_assoc_modifier = UF_DRF_first_end_point;9 ^* K$ T8 A' R* L% p
        object2.object_view_tag = front_view_tag;
/ O  e  Z) m9 |( d, j1 e8 t6 m( _. u        UF_DRF_text_t dim_text;
& G8 k# u2 y5 h3 @7 h2 u/ q        dim_text.lines_app_text = 0;/ }# i# j  M& D8 J# X' v, x
        dim_text.appended_text = NULL;& r' Z- s6 n, F- \  G
        dim_text.user_dim_text = NULL;( e9 [- {" x, j8 ?- C) l. ~! e
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };- q" p" X1 K3 L5 V6 {& k  s- }
        tag_t dimension_tag=NULL_TAG;
2 q0 ^4 J: Z' f* A! v3 i$ W        UF_DRF_create_vertical_dim( &object1, &object2,4 R6 ~# \9 C" _8 f
                &dim_text, dimension_3d_origin, &dimension_tag );  
7 F' T" X+ x# N! D1 v  Y4 |" Z- S- d5 c+ y6 c8 @$ [* K
, c- k( i* x7 P8 ?0 x: ?
        UF_DRAW_upd_out_of_date_views(drawing_tag);
+ b/ r4 m! U: U6 ?    /* Terminate the API environment */
: r6 X. c0 o9 _% i6 `    UF_CALL(UF_terminate());; _( S3 X' D4 ?
}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
% \; |; p2 q5 A+ Q& D1 G  @9 ]
如果是
# }4 Y3 Z' [/ d9 ~6 K$ \7 m' t# ?那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下/ D6 r5 o, z( m% P

0 r! R; j9 z6 R# k6 \3 W如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ 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 );  
0 \+ r: D" J. ]+ U
! P4 T8 ~- s& V2 y. R4 B" k# n% F$ K书上用的是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[/img0 |0 C2 }, m# |% |. F/ p+ q# J
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:7 j! i/ w7 O5 Y1 v' h
+++ Encountered unexpected NULL pointer. See system log for details
) W! d- O/ U9 j4 a! XUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );) l2 S* W! i+ ]1 X+ U+ M
空指针,还是没找到!
上海点团信息科技有限公司,承接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
; d. t* V* D3 [C:\Users\pc\Desktop\捕获.PNG[/img  W( [8 p2 [  L
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
. l  Z$ ^2 [  e
那就分析这个地方啦  
! F1 P9 h7 y7 J% r8 H8 T4 I# x+ R1 {9 z7 c9 B
我没法给你解答 没时间给你调试这个
. Q, {) f2 U, o3 U) p: ]) I/ A( y; Q$ k
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了