PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

  [复制链接]

2014-8-13 21:53:12 4181 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 )* l% Z* b: M' Y, D
{* `6 C7 Y! Z& M+ Q: u7 ]2 c0 v+ _0 }
    /* Initialize the API environment */. {& s* y; Q, |- w  i. P- G: c6 \
    if( UF_CALL(UF_initialize()) )
! `' W4 S) _+ f/ Q$ R. H    {
3 O' E. O1 P: b        /* Failed to initialize */
: R/ l0 s8 \) v5 K$ o5 p) C        return;
: I" [$ q- o; m; k/ Y; L! y0 c# f    }
) {  i% d; K. d) \    3 u6 d' k/ J3 U# |
    /* TODO: Add your application code here */3 F8 z; P8 @8 B" T* O
        tag_t part_tag;
( ]. \$ E! l/ S& `1 ^3 |6 v$ d7 n        part_tag=UF_PART_ask_display_part() ;9 j6 b- f5 L/ q2 L8 Y, K
        int num_views;& ]" v4 ~+ ?- Q5 J+ ]( y
        char message[MAX_LINE_SIZE];
& S8 ?3 z7 [3 G& U$ C        & v, U6 E' E2 B
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";: H+ |* K4 ]8 T% ], O5 R
        UF_DRAW_info_t drawing_info;5 |8 ^2 M7 Z8 `8 J
        tag_t drawing_tag =NULL_TAG;
( ]9 L: c5 I! f        tag_t view_tag=NULL_TAG;
/ R( s$ @( O& [8 P& Z, c
1 m- W1 E$ J! w, l. a$ p1 e. J        tag_t front_view_tag=NULL_TAG;/ {. n4 T- C& Z1 h1 E
        char *front_view_name="FRONT";! R4 i/ N' i/ a2 ^1 Q0 V6 N5 f2 c+ q
        double front_reference_point[2]={210,400};
, j" z" i! I9 L: ^2 }
6 c4 Z" _* \/ H  _5 |1 n        tag_t tri_view_tag=NULL_TAG;4 }' ]! ~  `  ~
        char *tri_view_name="TFR-TRI";
% r* |0 d$ n2 l& X( M) N        double tri_reference_point[2]={630,120};
  j* e, [" ]" N$ q1 W7 D  Q3 o, d* Y- o/ p# R
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;" {3 Z1 `$ ]3 T0 h
        double botton_reference_piont[2]={210,120};& M& O' a* j3 [- k/ X
        tag_t botton_view_tag=NULL_TAG;+ H( M) Y3 T9 s$ S2 w/ T8 _7 F

" A0 L& K& e/ }! i/ d9 k( x2 L        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
8 `9 Q) X2 f+ l1 `" z        double left_reference_piont[2]={630,400};
# \, x' i7 l0 S        tag_t left_view_tag=NULL_TAG;! Z, B5 E5 A1 ^

/ K0 B- v# H" S) K$ @        drawing_info.drawing_scale=1.0;; P5 L$ p, {: k! r- C5 d- g
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
" |  ~' E+ G8 t4 `# W        drawing_info.size .metric_size_code=UF_DRAW_A1;
% z; g; F. o" C1 M7 S        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
" N" z( x/ f( Y3 n, e) {; B        drawing_info.units =UF_PART_METRIC;6 w3 l( H- ]# D
% c5 A6 @  s: X2 {7 W' k
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);4 Q. Q" w4 Y* l7 D  w3 h
        UF_DRAW_open_drawing(drawing_tag);
; l) A! e" g: B- a, A0 w3 k! c8 Z! D
  k4 C- t' O; `; l2 @: k        UF_DRAW_view_info_t view_info;
2 A- r1 Q& k( c0 l0 T* B% b        UF_DRAW_initialize_view_info(&view_info);" ?- N1 h( m/ i; E* L& x

. Q. R1 r6 i+ C# A        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
" b- C2 V% k: i2 [        view_info.anchor_point=NULL_TAG;6 m2 S" {; B% i0 \/ |
        view_info.view_scale=1.0;( o2 E$ }& ~8 s" M
        view_info.use_ref_pt=TRUE;
% p: L$ v5 @5 u$ n1 L2 U8 g        view_info.inherit_boundary=TRUE;
' u- q5 J, m. K4 p* m/ |# `- X, x- [6 }1 F0 W3 c1 x6 V9 G# b
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
+ s: ^3 |: v4 @" I/ ?, J        if (view_tag!=NULL_TAG)! l3 u9 X- I. ~% `8 R8 k
        {9 U! ?. X' D: |& Z' I' ^- x
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
$ E3 E; A8 s: _$ L6 q2 y! }                UF_DRAW_define_view_auto_rect(front_view_tag);
( ?% q1 O1 W& l, f) P8 ]3 X        }
5 _: g) V7 O) i* K        view_tag=NULL_TAG;
+ G9 h+ O0 B  F) H$ B0 O2 H0 S& _9 b9 b8 }0 i3 P# O0 T
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);9 O, D' `  b6 j& Y' m: `
        if (view_tag!=NULL_TAG)
) z" r; e/ _$ L        {1 L1 |2 h# J! g; k
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);4 ?) z+ c. [. u) d/ A& x
                UF_DRAW_define_view_auto_rect(tri_view_tag);
* b' C- `$ m( d1 Y4 r) Q* h5 B( ]$ `        }
3 X2 r3 ?$ U; P/ u- M    if (front_view_tag!=NULL_TAG)+ `3 D& c/ Y; \! }8 u8 s) L( F
    {: t9 a. R: j; M; ?
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);( j0 h+ e3 B9 O. V; }! g" `
                UF_DRAW_define_view_auto_rect(botton_view_tag);
# }+ f! B; k- H- i- _3 C% j         }# ~* h5 k0 I8 ]- I
        if (front_view_tag!=NULL_TAG)% ?% ~) o0 U/ M) k3 ^5 c
        {9 U( u8 r' F% U, M' o! S
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);& C, v. o4 n* [$ D" Q& J" t3 E6 k
                UF_DRAW_define_view_auto_rect(left_view_tag);3 V. Y5 a& d6 \
        }
  T" F) G3 i( u" T2 Z2 l1 i0 }' o# R5 S8 q: \6 o* {0 P6 M

9 o. S1 \: l; L: a2 p& @0 r( W9 G        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
  ^6 I/ X1 R3 v  t, h' O        UF_UI_open_listing_window();0 S: `6 n- \1 l3 H, M6 y
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
4 t( R; h) K* c0 v        UF_UI_write_listing_window(message);
5 d! a) d9 y1 R9 G6 `9 C% i) i0 d$ l9 R5 ^

5 ]( c- W; ~, \, X% ]7 N- N' k) B8 D4 c" e) @6 a; ?. n
        tag_t object=NULL_TAG, front_objects[6];0 }7 x) ]( q, _* A. i- c
        int    subtype, type, count=0;+ ?; `9 f/ s5 P! P- B$ k% q
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
3 o. D* c+ C6 p        while(object!=NULL_TAG)7 r* m3 {0 ?/ \0 z) q# F
        {
6 h% n! `$ z. @0 i. {' ]                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
" v) L3 w0 L; l0 f$ C% I. h$ I                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )$ L$ l7 c2 i4 i: E8 g
                {* Y) {5 k! s  ~2 u% }! a$ O( g5 y
                        front_objects[count] = object;
: f  z! ^3 R, a, B- H- o                        count++;' I3 h6 y% f# Z! b9 g2 g
                }: ]6 Q: `. \* p" ^, n' n
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
2 d# v! p* ^# t) X0 w* S% \        }        4 u+ J6 c; Q! P2 G+ R; {
        UF_DRF_object_t object1;- T. g7 e% y( Q4 H* @1 f4 o0 x
        UF_DRF_object_t object2;
# B9 }) p- {" F9 j6 @6 T5 ?        UF_DRF_init_object_structure( &object1 );1 v7 K* p/ q0 v0 z* D8 l$ N: v) b( `
        UF_DRF_init_object_structure( &object2 );' ~8 m' `% E6 e, h* s
        object1.object_tag = front_objects[ 0 ];5 i9 X1 z. [5 ^) Y( s! e; B
        object1.object_assoc_type = UF_DRF_end_point;3 D" v; }7 H1 D- @8 i
        object1.object_assoc_modifier = UF_DRF_first_end_point;% t+ D7 r: n, }5 b* U. b* T5 H  }
        object1.object_view_tag = front_view_tag;  ~% T4 g) x  H$ b) j* R
        object2.object_tag = front_objects[ 1 ];
! e6 P/ m# w, [9 _% U2 ?        object2.object_assoc_type = UF_DRF_end_point;
2 Y4 \1 k5 c5 Q! G( n        object2.object_assoc_modifier = UF_DRF_first_end_point;' g1 h7 d& _* h1 v
        object2.object_view_tag = front_view_tag;
5 ~$ o* Q( V; z* }5 e& z3 ^        UF_DRF_text_t dim_text;5 k3 ?/ N" C5 N6 G% p  Q
        dim_text.lines_app_text = 0;
8 }. n2 |' f  ?        dim_text.appended_text = NULL;
. }: |) i; [5 W: C$ Q! L9 _        dim_text.user_dim_text = NULL;5 Y" i# l+ m5 `
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };8 m; U# a. ?+ o' ]1 M) Q
        tag_t dimension_tag=NULL_TAG;$ \; \, W+ }: z
        UF_DRF_create_vertical_dim( &object1, &object2,
, [) k6 g% S, ^% F( U                &dim_text, dimension_3d_origin, &dimension_tag );  ! Z2 X5 Y$ C: @& y5 l9 r6 r
+ r$ a$ v: R$ {4 m
, G7 T- {1 o1 O& S. F) R; H
        UF_DRAW_upd_out_of_date_views(drawing_tag);% l$ C! x% [5 g! E, N1 O' S
    /* Terminate the API environment */' h; \# r, m3 z0 I9 ]- A) A
    UF_CALL(UF_terminate());
- P4 |% G0 Q* Q/ ]  A; H}
上海点团信息科技有限公司,承接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 `4 Y8 z9 K$ C8 R' c9 T- J
' D  y" ~( U' m# S. ]2 z) y, f2 L( ?
如果是
2 C  _7 @# a/ F/ `# {- p! I1 h9 t那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下6 l6 `; _* s- t3 C

: f; F* `/ ?- y7 P! @* e' H如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  . J& y: e# b* V* _
% J0 T$ w* S; Z/ o  Q; M7 S
书上用的是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
& t6 m4 ?  b8 w4 Y; F当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
7 e  F! Q7 I% N- N+++ Encountered unexpected NULL pointer. See system log for details
* ]5 Z; @7 X4 v7 S0 M# Y6 HUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );' k1 q/ W' U' k. e" m+ d8 {
空指针,还是没找到!
上海点团信息科技有限公司,承接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/ Y+ d( k0 O5 E; C+ e; K% y0 E
C:\Users\pc\Desktop\捕获.PNG[/img0 n$ X6 G% }3 Q  t( g
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

; _4 A8 L( H# j, R那就分析这个地方啦  
$ @- w0 t8 m& p$ d4 U+ Q; y4 P6 y  E+ u; I5 q
我没法给你解答 没时间给你调试这个: g2 a5 S$ B& g+ ~/ S. G
0 }( m+ }/ I- y
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了