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 4221 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 )2 u9 K# f: k5 l0 V' H* }
{+ @2 v/ |9 p. E. ?' H& j
    /* Initialize the API environment */
+ n$ p8 B5 G2 L* [6 _6 Y6 V    if( UF_CALL(UF_initialize()) )
5 H  v( D  v9 _" s& j9 z& m& u6 _    {
4 {$ ], \4 Q' i1 }6 o        /* Failed to initialize */
# t3 V. n+ S; b+ Y' d1 \( Z        return;- e0 [- P/ G) _& o# F1 k% k
    }
$ I1 y( d! |& _& g4 F) Y   
$ e6 H; i+ ^4 A' L- L' `& e    /* TODO: Add your application code here */  \1 d$ h3 F' N" s/ f/ t
        tag_t part_tag;
/ ?$ I* h( C8 Q* x' r2 }        part_tag=UF_PART_ask_display_part() ;
; w7 d: s3 x) P        int num_views;% O/ F$ W9 t' X- R
        char message[MAX_LINE_SIZE];  d7 O! D' `' u& ]
        ) g. M! L5 t* s  J9 L0 m- }
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";1 P' C9 {( I  v/ F2 G
        UF_DRAW_info_t drawing_info;# E. ~. Q# Q# v1 o- e
        tag_t drawing_tag =NULL_TAG;
" v0 D" V1 r% @! d/ }1 \        tag_t view_tag=NULL_TAG;3 g0 Q& O' O4 q6 H5 s
1 m6 {# F, ?9 ]
        tag_t front_view_tag=NULL_TAG;
( C; f8 A  J4 |        char *front_view_name="FRONT";" C6 h% `& D" m) k2 B" X, [
        double front_reference_point[2]={210,400};
, a$ S. B# ^& }; B
: @3 K1 c! J; }* k' A        tag_t tri_view_tag=NULL_TAG;
! @! j% H, s# l  _8 O8 ]& `        char *tri_view_name="TFR-TRI";
! d# X3 @/ M- T& M( j$ a$ B        double tri_reference_point[2]={630,120};
% R5 X' \8 ?  [
# ~! X* W: e+ E! {8 Y        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
2 A: M. R$ M! r9 K4 q9 }. X        double botton_reference_piont[2]={210,120};
" l& {% |$ K3 r        tag_t botton_view_tag=NULL_TAG;
4 |0 O- K' U9 U7 q+ Q. S9 q0 [
! b, ]' s4 A( l9 c  y) \        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;7 _, W& t0 s  U
        double left_reference_piont[2]={630,400};. e$ b- R+ j' u$ y
        tag_t left_view_tag=NULL_TAG;
$ R: G) @0 n' @# u2 d4 I! y; D/ s, ~6 }6 H
        drawing_info.drawing_scale=1.0;6 w5 s5 F7 o% t( {
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
; U  u) r: P* w6 y        drawing_info.size .metric_size_code=UF_DRAW_A1;0 v9 s6 _! Y5 h8 R6 a- g0 |4 |
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
5 }3 B6 S# w4 J! Y. u        drawing_info.units =UF_PART_METRIC;, I- A0 Y) \  c* s! \
0 p% m4 O$ E) x' A3 ~$ s' a" k
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);7 Z/ e" P1 p) p/ n3 Z4 a! Z3 f" n
        UF_DRAW_open_drawing(drawing_tag);( `8 D2 s4 D+ d( N, b
9 k, G. X$ V' m: F7 B4 P
        UF_DRAW_view_info_t view_info;
- e: L' F" q# \% k        UF_DRAW_initialize_view_info(&view_info);7 [# i2 E9 F# K7 B" z* M% S
9 d" M# }* x' V7 h, k
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
, Z( a9 T* H8 M2 v4 V: b        view_info.anchor_point=NULL_TAG;3 U, D$ k$ e3 V6 t7 B. g
        view_info.view_scale=1.0;( e1 X( I# u  r& g5 B
        view_info.use_ref_pt=TRUE;% e5 f- w3 |  f+ G
        view_info.inherit_boundary=TRUE;
; D' F" h; w( X& q. A
7 R" H9 D4 Q8 k& x; T        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);& [2 [8 b4 W4 g+ q1 l- a' Y/ Q
        if (view_tag!=NULL_TAG)4 X7 z  K" w, o( j, t
        {5 ]  G! S% F* H% G% t
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
( g" c- O2 e& E6 V4 B: g+ ]- r# G" F                UF_DRAW_define_view_auto_rect(front_view_tag);6 }1 v1 t7 x* n- T, P) r, |
        }
8 p4 j; S! k  y# A9 @        view_tag=NULL_TAG;
; A5 q/ o' f: s3 ^% Q; P& B( H. ?5 d9 A9 ^: V4 O" ^
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);" X# `1 N# a% X. u+ z: u! r# F
        if (view_tag!=NULL_TAG)
' F. w- W; W7 a" v/ k+ \) J        {
1 a; s' G% J" u/ z- J                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);( g0 b' t3 ]. }# q% p6 v
                UF_DRAW_define_view_auto_rect(tri_view_tag);
% p' f5 S) w7 a        }
1 ^# i, n2 `2 U0 ^    if (front_view_tag!=NULL_TAG)
. ^4 x, H! {5 B. \1 U! {* ~    {
; A! y9 w1 f+ D$ k                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
# k: Z; }9 j% q3 J9 p$ K                UF_DRAW_define_view_auto_rect(botton_view_tag);
" [( U  M! `' y" L% O. W7 P/ S& u2 r         }
1 n3 `& W0 Z/ \- O        if (front_view_tag!=NULL_TAG)
5 `, s6 }0 L! [! D$ b% M        {5 ]* V4 b- N& c+ u5 k
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);
- }  K1 P  I4 `1 ~* y+ U7 ]/ Z                UF_DRAW_define_view_auto_rect(left_view_tag);
3 H, E" g% F' y        }& E2 H+ N0 F( ]6 ]) {3 ?

- I  ^) M7 M6 R3 ~$ M4 l2 n8 o
/ e7 Y7 D. r9 h* @4 K" ?        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
% L- V8 A8 ^+ k: o& a        UF_UI_open_listing_window();
2 f- k' ?7 @' R* t/ M! `4 j3 r5 h$ A        sprintf(message,"当前图纸共有:%d个视图 ",num_views);* u/ v4 M- S' s' N. `
        UF_UI_write_listing_window(message);
" W  W4 o4 ]0 \+ m" \5 b; Z+ x$ r- `6 \$ h% I+ Q/ Z

/ c5 y' l+ d8 T3 o3 V6 B
' j! s3 A1 h# [5 [, y: _- |( K        tag_t object=NULL_TAG, front_objects[6];2 T' g2 ]% \8 |. d
        int    subtype, type, count=0;5 ]& C2 i/ W1 L. S% I/ [8 _
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
* L, G7 e( A5 E: u) |        while(object!=NULL_TAG)
/ W- _/ {, C. N        {. F+ E( Q% {8 |  _: S* h( o
                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );) _# o( v$ O5 y  l# Z; Z
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
3 C, t& e4 T( W                {" t( @+ A9 s5 q/ W/ i- x3 {
                        front_objects[count] = object;, e3 O6 E$ U+ F
                        count++;
" G2 z" c2 k/ B: L  V                }
4 P6 ]" N$ i, \2 e) S$ x7 O1 U& ~% M                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
0 R+ q! J' A" ?9 }. ]. ~        }        9 O- v% N' k. `7 e( X$ f! E
        UF_DRF_object_t object1;
" Q5 p0 h) A  ~+ M5 h4 ^! J        UF_DRF_object_t object2;
& w0 l6 Z* G9 w9 N4 q$ t3 M        UF_DRF_init_object_structure( &object1 );8 K1 J9 l. ^. a
        UF_DRF_init_object_structure( &object2 );/ X  p) o0 g2 R2 k) |
        object1.object_tag = front_objects[ 0 ];
) p- X2 _/ j2 E3 {        object1.object_assoc_type = UF_DRF_end_point;
, o' h4 t7 Q- x4 R+ d6 Z" @. r        object1.object_assoc_modifier = UF_DRF_first_end_point;2 S* P( W1 O; a# P
        object1.object_view_tag = front_view_tag;
. @2 I4 i% [. ^4 w% X% p. R6 O1 Q        object2.object_tag = front_objects[ 1 ];/ _1 G# `% K) W7 ]
        object2.object_assoc_type = UF_DRF_end_point;
, h& x. Y# A' k! ^        object2.object_assoc_modifier = UF_DRF_first_end_point;
# W: I9 c' }" v5 M' o        object2.object_view_tag = front_view_tag;
7 q1 w% {; ^7 y) y/ g% q        UF_DRF_text_t dim_text;
6 l  B4 ^& x& E/ _3 B        dim_text.lines_app_text = 0;
4 x0 [6 E9 J, F% a2 H9 _        dim_text.appended_text = NULL;; ]- k; L0 g$ o( a1 d- \: Q" O. Y5 F
        dim_text.user_dim_text = NULL;. B0 A7 T3 N5 a, x( Y) V
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };2 E- }: Z2 M% l# i, W, \
        tag_t dimension_tag=NULL_TAG;
1 |  X% o' k, p' w. g        UF_DRF_create_vertical_dim( &object1, &object2,( C: w. r9 S( u
                &dim_text, dimension_3d_origin, &dimension_tag );  * ]1 j% H* ^* {* _" L6 A# x, O
: h# ]- T. r9 i5 T( {, c% y

0 v" K. ]0 M: e% `: O        UF_DRAW_upd_out_of_date_views(drawing_tag);2 i8 O# N' I2 j. d9 I$ Y- R  T
    /* Terminate the API environment */
8 N& L4 k7 ^5 [+ b- |, G6 b# ]& T    UF_CALL(UF_terminate());
: U, W1 t/ ^8 \0 u) Q, b2 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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本3 t+ f! B9 k& b: L' s3 {1 W

0 U! S7 K7 k" f7 S( s0 w如果是
- R7 z4 P7 S, p# B那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
# X/ O3 J1 Y, j  s6 n: K: ?9 x: P
: Q! |! S4 [% m" d1 V  {如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 M' s2 U! A: S$ v

- s7 j; ^, I+ f9 W- B! p( y书上用的是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[/img2 Q' n: I- N* j! Q! ^/ p
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:- u7 l/ T+ O2 A: I2 K
+++ Encountered unexpected NULL pointer. See system log for details1 ]. ^% O1 M9 d
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
. w' t  x) e6 U. Z9 h" i空指针,还是没找到!
上海点团信息科技有限公司,承接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
. O) k/ Z( H( u5 ^+ r4 |; r5 h2 DC:\Users\pc\Desktop\捕获.PNG[/img/ \! |% x7 }8 k& x6 j2 D$ ~% C4 M
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

9 B5 c! f/ D  v% n那就分析这个地方啦  3 J6 z4 J# I" A6 J* E$ q* i
& W1 D# n- G4 ^+ M! R9 f1 D0 I* H, h
我没法给你解答 没时间给你调试这个' r' ?$ G' t/ d! {$ n
! x2 d4 K1 j& P/ ]6 M$ J
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了