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

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

  [复制链接]

2014-8-13 21:53:12 4285 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 )
" w: H' i7 a* h  l6 o{
5 y% L# H; @: S' o$ l    /* Initialize the API environment */' m1 T" n4 V1 b
    if( UF_CALL(UF_initialize()) )
" {9 H7 B6 o% i% s. L# r+ ?! S! _    {
9 J7 I' B1 b2 Z. n" s* _! P        /* Failed to initialize */
0 m& V# u4 t- h) T9 d        return;
) Q7 a$ Q& `2 D    }- _  H& L  F7 g7 v8 Q! M
   
) n- B& P7 e% g/ F# p    /* TODO: Add your application code here */
5 r2 H& H, q! V/ Z        tag_t part_tag;
! K+ v( z/ r" I' c% P" l7 L. s        part_tag=UF_PART_ask_display_part() ;7 \/ j0 y2 @) w; k% v
        int num_views;
; @* \- t" s" j7 Q" F        char message[MAX_LINE_SIZE];0 [& U- m- S9 F
        - C6 C2 a! Z6 }; W( y
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";
5 F3 k, g; A! j4 \/ @% a        UF_DRAW_info_t drawing_info;3 M% N3 _$ z( H5 y  e& e; [
        tag_t drawing_tag =NULL_TAG;
: R% {+ Y) U6 q% E        tag_t view_tag=NULL_TAG;
$ Y, e/ u: c0 |! o6 v0 R, l  g! L
        tag_t front_view_tag=NULL_TAG;
* d+ U* Z/ }  Q$ N        char *front_view_name="FRONT";
! f8 S7 o) S: R        double front_reference_point[2]={210,400};( X- T' C8 G( e% h' f5 d: {$ n& {
' U' S5 ]9 C; ~1 A" T) q
        tag_t tri_view_tag=NULL_TAG;
9 U" W) [; L5 _        char *tri_view_name="TFR-TRI";$ _: P) E) G+ ?4 b# d  b; f
        double tri_reference_point[2]={630,120};
( g5 t/ f/ e: E$ w0 }6 E+ w3 v# |9 `# [
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
' ^6 {" O3 @: @& j        double botton_reference_piont[2]={210,120};
4 `3 l5 _/ ~' e. N: r- u: L6 F        tag_t botton_view_tag=NULL_TAG;
3 V/ k5 K2 p( z% S! \: v$ ~" b
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
3 W- C: ^" }$ Z5 \" S        double left_reference_piont[2]={630,400};0 E1 M) b1 @, Q' P7 U" A& Q
        tag_t left_view_tag=NULL_TAG;3 r( @1 {1 G( o4 c% L# C9 @: u- F4 q

; M2 f$ M) Y+ ?) e& Z/ q: t* _        drawing_info.drawing_scale=1.0;: n, z* I4 T3 A$ ^
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
8 y5 j9 y% G8 p# q, d. C        drawing_info.size .metric_size_code=UF_DRAW_A1;! {, C1 l. w" m# R
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
" ?# |* P0 V: F& e/ i3 G6 u        drawing_info.units =UF_PART_METRIC;
# [/ C. ?( A0 ?5 k4 \9 N  |' @/ A; Y) P8 r
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
1 C% ^2 K* n7 T! A& x        UF_DRAW_open_drawing(drawing_tag);
! d9 z7 v6 [1 v( ^9 c, Y# a5 i$ V7 M3 }# K
        UF_DRAW_view_info_t view_info;$ d' \* ^! p( ?0 z; B% B5 N  f, C
        UF_DRAW_initialize_view_info(&view_info);$ p# r# A- \. X8 ^
1 K! s6 @, t) a
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
' S, X3 p. _/ V2 h4 Z        view_info.anchor_point=NULL_TAG;: ^' [$ ?$ z9 `; v
        view_info.view_scale=1.0;8 I+ F& B' v- l8 L& p  W
        view_info.use_ref_pt=TRUE;: l( f$ \' t6 s" }
        view_info.inherit_boundary=TRUE;
! i& o8 k: j0 L7 i. j0 ~7 c; w& t( t5 X& U
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
& V" Q6 A& f1 b5 w# _$ _! v' H        if (view_tag!=NULL_TAG)
% v* i. ]7 l, V1 r2 D        {
  U! F* L0 f6 o" n; g; l7 O% j% D% M                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);4 B3 s  B- n- s- j5 {2 F4 j
                UF_DRAW_define_view_auto_rect(front_view_tag);$ l4 I0 p4 I; A' U
        }
/ Q5 o& z$ w* _; `        view_tag=NULL_TAG;8 L9 s# T+ a9 M
6 T4 ^9 v2 q3 w/ O9 s3 d
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
8 s1 s" E) k* V* [0 v& k3 E; X        if (view_tag!=NULL_TAG)
) f" c6 S9 A! ^7 \" q, O& _" T& I        {
4 U2 ]& P7 `$ z8 E$ h                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
( \, @' ?! E/ G8 T: ?3 b& Z                UF_DRAW_define_view_auto_rect(tri_view_tag);
. k" C2 I7 ^( u4 }8 z" m        }
5 A9 \' y4 P" B5 g' g    if (front_view_tag!=NULL_TAG)
+ I+ W' |) Z2 @' Z& c+ T2 n    {$ T5 `$ {* e  N- c
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
2 t) h. o& v/ O$ L" K. C. b! i% T                UF_DRAW_define_view_auto_rect(botton_view_tag);0 l9 r& p( f. x7 T- v
         }
  t8 y2 q2 [6 D; v% U6 E        if (front_view_tag!=NULL_TAG)* M% w! M" z4 g$ M
        {1 c9 d' e. }" W/ X$ Z
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);! b4 k  R% r# |# r' m7 D( ]
                UF_DRAW_define_view_auto_rect(left_view_tag);
$ s+ v/ c! [  M% R        }4 ]1 u3 J7 k/ Y) R1 l$ i

, p8 W, ]7 c: ^8 l
2 H' @8 O6 _% f$ K: q- b        UF_DRAW_ask_num_views(NULL_TAG,&num_views);0 `8 b! @9 e0 m
        UF_UI_open_listing_window();
  U4 `" U, e0 p1 w  K1 W        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
4 P4 q8 S) L) E: d+ H8 A4 {9 Z( ?        UF_UI_write_listing_window(message);
0 m' l/ m" _# Y7 [4 q) N8 F# O  j! M! p( E2 v" N4 Z

% Y! x; v0 I0 F. C# Y/ i, k
7 _7 _; a# P7 T6 j& B0 O        tag_t object=NULL_TAG, front_objects[6];
9 I3 a+ r$ o2 E/ B$ m% v% c3 u! G        int    subtype, type, count=0;4 f, D( q) s+ ^" U- R) k# ~; \) B: C
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
. l* x) n3 \& d5 ]' q; Z- i$ b0 q! m, b        while(object!=NULL_TAG)# f2 }7 p2 I5 a' g3 n
        {
# r$ V  s" m; u9 V" z; u                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
% N" i$ T! |* ~7 k                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )2 U. G; Z, Z3 s) J$ S- b3 D
                {
6 {- y; I+ ~! _                        front_objects[count] = object;
9 m* A9 c& t- Q5 h1 W                        count++;9 K3 E7 g0 R$ E: \6 `/ [5 }
                }
8 {8 N: Z1 ]) R" y3 e                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );: M: J  d7 q6 v/ q. m" A- \0 A
        }        
" \1 c' Z" J0 Q2 J        UF_DRF_object_t object1;% w2 ?* {3 r+ G1 c' R4 x. o
        UF_DRF_object_t object2;9 N  N  b. o3 @
        UF_DRF_init_object_structure( &object1 );
) A7 j( F' n2 M  P        UF_DRF_init_object_structure( &object2 );
1 x5 W( {0 c/ _        object1.object_tag = front_objects[ 0 ];7 x! k6 g9 b- G3 p3 x
        object1.object_assoc_type = UF_DRF_end_point;
0 ]# v& Y( ]1 m        object1.object_assoc_modifier = UF_DRF_first_end_point;
2 M6 Y( j; d; d' e6 @; @        object1.object_view_tag = front_view_tag;' Q& T1 ]) i& s# a  x# Y8 ]7 X% p4 v$ m
        object2.object_tag = front_objects[ 1 ];
' U) M( ?- Y2 S1 A# \        object2.object_assoc_type = UF_DRF_end_point;2 V4 D$ r! v  ]& a1 ?+ @6 `% w
        object2.object_assoc_modifier = UF_DRF_first_end_point;1 N% U0 k: z  I6 y; L& Y
        object2.object_view_tag = front_view_tag;
& C8 O' \2 t( @* r8 s* e5 Y7 `4 v        UF_DRF_text_t dim_text;
, d1 J! p7 f4 t! m; P7 L        dim_text.lines_app_text = 0;
' C3 x; p* e0 t7 {6 V        dim_text.appended_text = NULL;: Z3 v7 Q, x9 u- K
        dim_text.user_dim_text = NULL;0 ^+ }; ]; ~7 m) z. l+ |, k5 f6 V
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
5 k. }9 x6 H' l# {        tag_t dimension_tag=NULL_TAG;6 H, X8 c& `* m
        UF_DRF_create_vertical_dim( &object1, &object2,
3 y4 P& @& I9 b! b3 z: w2 q; g                &dim_text, dimension_3d_origin, &dimension_tag );  
! M" q% s% B4 T, X9 z1 u$ G/ P3 ?8 R8 m2 i- Q2 Q- _- a0 c
% v4 Z2 m" J) }% N1 D9 J
        UF_DRAW_upd_out_of_date_views(drawing_tag);
- p3 x. ^. M! O1 q, q    /* Terminate the API environment */
7 Q* V% N+ ~! l* u% |4 X& x. A3 U    UF_CALL(UF_terminate());9 c+ ^& @2 g, z3 n4 k1 I
}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
4 V1 ?/ ]2 ~9 @0 {  _
" E2 b2 s! r$ ^  V4 z8 r2 [4 Z如果是 ' a7 w3 \7 C! k% s2 G8 D2 `
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
, K+ o& L  Q0 i2 D( w
- w' o3 Y- m1 |/ e, W% k如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  
) t* B% ^, O( t6 d% b8 Y6 [
7 g: V9 i1 @  y  D( q& ?3 j: d0 S4 d- `书上用的是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
5 P; a9 t: _. z9 S- }当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
7 I; J4 T" p+ z+++ Encountered unexpected NULL pointer. See system log for details
% l/ k  w- M& GUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
7 q6 f9 G) }' {) U$ Y" D5 G3 W! Y  u空指针,还是没找到!
上海点团信息科技有限公司,承接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  E' G4 T: I: c- C$ |. @4 `
C:\Users\pc\Desktop\捕获.PNG[/img
  |, t; k$ q, i当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
3 _+ V- K3 f1 `2 N  R
那就分析这个地方啦  ; n! J: Z* M7 w+ _( c
6 y- L6 c. F0 O
我没法给你解答 没时间给你调试这个
2 ^! ]" w1 q, s, [
9 j: y7 ]2 f4 K! z: D你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了