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 4127 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 )
+ U' P1 a/ [7 w3 {0 p& ~  S  d{
. G+ K; D$ T' P: n4 ]1 U    /* Initialize the API environment */
. y2 o8 b$ f( o3 W2 K7 Z, q- `    if( UF_CALL(UF_initialize()) ) , \( n+ e; I1 p  F) S
    {
9 a7 ]3 N% S7 H& S  t8 q; `        /* Failed to initialize */, j9 d+ o# b; j; c7 b- }# K- m: Y6 P% W
        return;1 Y: V3 ~; P0 s2 `. b7 d, X0 j
    }
8 ]" ^5 K8 U) S+ g) m+ E4 K% M$ B   
3 t) f  J, _1 ^  d+ U    /* TODO: Add your application code here */9 J4 t. L$ Y: L1 ~
        tag_t part_tag;
! T2 g8 B. o2 J( Y        part_tag=UF_PART_ask_display_part() ;
" y. L+ f8 [1 V& M& O1 }. g        int num_views;
6 b% O' C5 g3 W        char message[MAX_LINE_SIZE];
# d7 r4 v6 {% |& r& ?6 a$ ]  x        8 E+ G  x/ T7 w% M+ z, E6 @; h
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";+ \/ a' }, L) Z* B8 B
        UF_DRAW_info_t drawing_info;  @8 D( Y: D5 ^; g2 ~: `' f9 [2 k
        tag_t drawing_tag =NULL_TAG;/ t; h5 d% s  Y' R/ y& _
        tag_t view_tag=NULL_TAG;
5 x4 Q: j' O- L# A  `2 u
9 W# C1 c9 v. _4 {/ ^        tag_t front_view_tag=NULL_TAG;8 v; d0 {0 N; D9 I, {6 v
        char *front_view_name="FRONT";! p; u3 C' s) i0 J, n: Z- X
        double front_reference_point[2]={210,400};
# ~  j* o+ M/ z' n3 i! \5 v$ ^3 P% E+ @5 l  z( o0 _4 o
        tag_t tri_view_tag=NULL_TAG;
. v" ], Z4 V2 ^3 C. c  g3 w' B        char *tri_view_name="TFR-TRI";1 G; ]/ t9 @) n  i% V4 e" o
        double tri_reference_point[2]={630,120};( P+ ~3 I- L# c. X: f, i

6 K7 x- F4 ^+ o* k: a        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
( X) \( t  H. r9 a! q. c' C" o4 C# x        double botton_reference_piont[2]={210,120};. R5 b2 t5 d, ~( T$ B! y
        tag_t botton_view_tag=NULL_TAG;
2 x& m4 N6 r, {" j/ K" H( }5 c
' o5 b% G  r5 w        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;( A; l* w& ~6 y( Q5 f" y6 ~+ x
        double left_reference_piont[2]={630,400};
5 M1 U' J7 M1 U) b0 G        tag_t left_view_tag=NULL_TAG;
$ b& b4 W/ C: k
! z" w+ v1 u5 o5 v: ?        drawing_info.drawing_scale=1.0;
  p5 w+ b  B8 J  |        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;7 {# o' e* B$ A  p  b9 y8 Z, w
        drawing_info.size .metric_size_code=UF_DRAW_A1;
/ y9 j6 z0 A; t        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
' v1 M/ O  d  Z; m$ j7 s4 W        drawing_info.units =UF_PART_METRIC;
7 w+ H9 Y; p0 b7 |
: u; \; ]0 c& {, S) x& K  [        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
$ O3 Z) @; t9 k        UF_DRAW_open_drawing(drawing_tag);; a/ h# P% T$ \0 |4 y7 t

+ `0 ?' O* F( L        UF_DRAW_view_info_t view_info;
9 b% }7 u* o9 @$ ^        UF_DRAW_initialize_view_info(&view_info);
3 R; q- a) |9 N# |
* }9 ~3 R: c; \: @- K* {        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
: [) C( c' Q' _        view_info.anchor_point=NULL_TAG;
. ]  Y! U9 U0 H: y1 u+ k: X        view_info.view_scale=1.0;
4 {% ~6 g+ f& r        view_info.use_ref_pt=TRUE;
# e. D1 I; e# K+ g+ a, @4 \        view_info.inherit_boundary=TRUE;  f9 [2 F: [; m4 m5 |

- h4 [$ s0 q( U( G! F0 c" u' z        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
& }0 x, l+ ?  x+ V/ ?' B+ E; |2 N        if (view_tag!=NULL_TAG)! B9 a% h8 q( h, U6 ?0 d
        {
3 P" A! s# ?+ Y4 s                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);& _2 v, r4 c8 R8 w  l
                UF_DRAW_define_view_auto_rect(front_view_tag);7 }# w7 w# _. S  i5 s+ M
        }7 A- m3 L" j/ N) K5 O
        view_tag=NULL_TAG;( l! Y$ M% I6 a9 ^6 u( `9 T  B

$ F2 |7 H/ @5 a( R+ q: h0 D        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);1 c8 ]) m2 H4 j* y4 c8 f5 e
        if (view_tag!=NULL_TAG)
3 Q2 f0 C; K, n& U& d4 A        {
, c* S& |, i; H$ q                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);* \6 }& ]( B) o. b' }: M
                UF_DRAW_define_view_auto_rect(tri_view_tag);
8 X* L9 d1 E/ t4 N) o3 M3 f: _        }8 R* |9 [) {$ U( M9 f
    if (front_view_tag!=NULL_TAG)5 Y7 Y) L8 {' `2 D, f0 S$ q: a% S4 q
    {0 z* B) m; m5 Q1 P  _3 Z) X- x
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
  q3 T. P1 M# O; o                UF_DRAW_define_view_auto_rect(botton_view_tag);% g# o) `' U  o$ F6 O; w
         }
3 E- W$ e4 R1 K        if (front_view_tag!=NULL_TAG)' F9 t5 w; S+ p6 C+ b
        {- l. J5 p7 t3 P: u5 {1 M' E
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);$ M" ?  ]! v5 J2 H+ f  w0 J5 S
                UF_DRAW_define_view_auto_rect(left_view_tag);7 W: r. y" _7 ~+ l
        }
3 m; N/ e2 @: x8 q/ n& B5 |3 M0 S1 D3 I* s" w  Y1 Z

  ]8 D0 k+ J* J5 f        UF_DRAW_ask_num_views(NULL_TAG,&num_views);- L# n, f) c" F7 D7 \! K$ f
        UF_UI_open_listing_window();7 P2 K: V7 \6 S6 \
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);# g' ~7 {4 I6 V2 Z+ K
        UF_UI_write_listing_window(message);" n6 \8 Z) T" A# M; f8 B. b5 t8 ~
' @" M/ H% a7 Z$ w; d
9 H/ ^( P& z( m4 Q8 H
6 J" V3 S) ?3 A' O, z
        tag_t object=NULL_TAG, front_objects[6];
' d) Y# J8 Q2 e        int    subtype, type, count=0;
% E& f1 P( \9 B( ?. F1 G, y1 c        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
0 `& A0 y8 n1 g: y8 w/ I: r        while(object!=NULL_TAG)
# j# u% x% g, M        {7 F5 v2 b0 B8 X- b% N
                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
7 ?# Y# N8 _. T                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
5 g- Z& G: b$ T3 m                {* h% _3 Y6 K1 x+ z" g2 b- r# `: e
                        front_objects[count] = object;
% V! ^$ j' i/ u: _0 o                        count++;
# i6 t4 h! B# ^6 i* a                }$ J' U6 m) X) @3 ^# K
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );4 @$ m1 }- C$ ~* ^/ Z* R
        }        * f9 T$ v; a7 s1 |4 Q
        UF_DRF_object_t object1;
* ]6 K( M6 J3 I5 `1 U        UF_DRF_object_t object2;
6 }- o# w/ c7 F        UF_DRF_init_object_structure( &object1 );2 |/ M/ O+ m! V; [
        UF_DRF_init_object_structure( &object2 );
3 y" b1 C) r( ?: u" d        object1.object_tag = front_objects[ 0 ];
0 ]0 c; f% n! s% T" v; K        object1.object_assoc_type = UF_DRF_end_point;& p4 \: ]% W# z/ p4 R2 C) i
        object1.object_assoc_modifier = UF_DRF_first_end_point;
  }- v. t3 G% r! \* _        object1.object_view_tag = front_view_tag;
& W( z. c" Z5 ?- F4 ]        object2.object_tag = front_objects[ 1 ];
. p8 Z6 T, z! t$ Y/ Y* t+ X( W        object2.object_assoc_type = UF_DRF_end_point;" Y) Q- _8 c0 ]$ {/ m
        object2.object_assoc_modifier = UF_DRF_first_end_point;
4 _9 K# N8 G3 f1 j! K4 I7 i        object2.object_view_tag = front_view_tag;
  K" g: N( U4 l  |# U3 G        UF_DRF_text_t dim_text;
9 w" w& T  U! R9 B5 O7 O1 s& y- z' X        dim_text.lines_app_text = 0;
$ U* k$ Z8 J. i) I, ~! M) b        dim_text.appended_text = NULL;: I6 y1 ]; V( l& H- z4 Z* j. `
        dim_text.user_dim_text = NULL;
8 w2 E# {( S( ?8 h+ S9 X        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
& U% \: ~5 m8 K5 h9 j8 b9 W        tag_t dimension_tag=NULL_TAG;
# g; b3 t8 T- E  f$ |        UF_DRF_create_vertical_dim( &object1, &object2,' C/ w3 D! {) Z4 b& A: g& \& A. `$ e
                &dim_text, dimension_3d_origin, &dimension_tag );  
* C" n" R$ s, G: }4 W; c; k1 }: R# ^& c

8 O! L- o- h# {8 W3 H$ g1 H2 q, {        UF_DRAW_upd_out_of_date_views(drawing_tag);
9 f% T: m3 W( G- t5 f$ t2 I    /* Terminate the API environment */
' N8 l, M2 f; `2 `. \$ [    UF_CALL(UF_terminate());
- p, c) W9 O! Q# o6 V}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
- ]  u9 R4 j/ J/ r0 v; f
  [8 t. A9 z) W6 z& C% H如果是
9 Y! S. U/ e- r. z. F/ g( |3 t那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下4 o- e& }( g+ a, ~- m7 o
: l& n4 c4 P) S6 l% L
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  
+ M9 G% Y8 {+ l# b$ U5 l* U  F; x. J4 j1 L! H+ K3 {) j
书上用的是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+ B; A4 @7 V# x2 u$ ^6 x4 m1 `
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:( V! L( k7 m- `% `0 V
+++ Encountered unexpected NULL pointer. See system log for details/ \9 O5 _: G+ {/ R2 O9 d
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
. E2 e9 }3 p  [  E8 a- q. w空指针,还是没找到!
上海点团信息科技有限公司,承接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" p& f! F0 t0 m& j) U, o
C:\Users\pc\Desktop\捕获.PNG[/img& }! _% ?! `0 p- T
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

1 n% M/ w$ n4 ]% R/ D' D那就分析这个地方啦  2 p2 g& W! u. K7 P9 Z
6 K: T# X" T" t# q. Z
我没法给你解答 没时间给你调试这个8 g: N4 o( g. ?6 ~- f

  g: K: _/ M6 e1 \! T' x) U5 H你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了