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 4230 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 )
( {* Z5 h2 Q" n8 s/ o, y& z{
& `/ }' E, F* E  e    /* Initialize the API environment */
7 X& D2 P% x0 L2 w6 C7 G5 G( [    if( UF_CALL(UF_initialize()) )
2 L6 M  d# m) B/ p. ]    {
9 T. ^; p6 p* U8 a        /* Failed to initialize */
  Q/ k1 o( C" ^: ?! R        return;1 `/ \5 {. |! P0 B" @
    }
  M( u% C+ f+ L0 J* z9 K: U   
% X" R( c, M) K1 S; J" f    /* TODO: Add your application code here */
8 V% ?4 K& P) S% q+ x" ~( u        tag_t part_tag;
/ \' T) N" D" F  V9 T        part_tag=UF_PART_ask_display_part() ;
9 _3 m0 l# P" n' \- |! ~' r        int num_views;# f: j" R9 \) n9 k+ }1 R
        char message[MAX_LINE_SIZE];3 b0 w  ~) H$ t7 Y: i9 J+ u
        ; u6 T8 s( w. U) \! a% L' ?- p
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";
# M6 K6 M- _) Z/ k        UF_DRAW_info_t drawing_info;
4 q( I7 O0 e" t& @* b        tag_t drawing_tag =NULL_TAG;
# Y2 W% u: p  z9 I; O6 ?+ v% d# O        tag_t view_tag=NULL_TAG;
; `5 h# f7 R: q6 n
2 G; N5 ?, g# B; [4 {( V+ ]7 k! x        tag_t front_view_tag=NULL_TAG;( y) |5 U7 j8 k8 O$ L7 z# B
        char *front_view_name="FRONT";
4 Z+ t4 i# [5 ?3 V        double front_reference_point[2]={210,400};% ?9 x# Y# N  z0 g9 r; u
9 p& x& y8 n1 s; N4 r8 z
        tag_t tri_view_tag=NULL_TAG;
/ |1 @- I3 j( D9 D( i5 Z' v# ~        char *tri_view_name="TFR-TRI";/ F' e: u7 |  V8 h) m. T
        double tri_reference_point[2]={630,120};) E& |9 T" s' A* h1 l+ W8 J
$ s9 @- S4 U2 v- x
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
" ?% W4 C1 A! s( W  ]: a        double botton_reference_piont[2]={210,120};' {) b  r7 ^' X* T6 x' f# H
        tag_t botton_view_tag=NULL_TAG;9 n% k( y1 G# [" q  _7 |: u2 L

( ], `6 U7 ~2 n: e8 Z" u. d        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
% S8 P) S0 w9 J6 h' L. @! X- `        double left_reference_piont[2]={630,400};7 k" b  L& M& l7 u& g( Q
        tag_t left_view_tag=NULL_TAG;
0 h3 h( Q, ~4 o( q
/ {, z. J5 @3 w) w9 L& E        drawing_info.drawing_scale=1.0;( ^4 j; u+ U2 ~& ]9 J% t
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
. }% {7 m7 `6 Z5 f4 ?  y& J        drawing_info.size .metric_size_code=UF_DRAW_A1;
. p2 Z/ D4 a. y6 ~        drawing_info.size_state=UF_DRAW_METRIC_SIZE;+ e% c8 m4 }: h2 R0 s: F# ^
        drawing_info.units =UF_PART_METRIC;
; v) v% T/ o" _
* Q0 M1 R& ?5 n, m* U3 m        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);. E) K/ b$ i4 T$ j
        UF_DRAW_open_drawing(drawing_tag);" W5 u; O. S* w/ i0 w  \0 k0 L

3 y9 ]. `: T; o$ W; O        UF_DRAW_view_info_t view_info;% i5 _8 F4 Y0 p' c8 F3 [
        UF_DRAW_initialize_view_info(&view_info);2 W  G4 a* ?8 e1 U0 \! p
4 s' @# `* w2 V2 M, G2 l9 L% f
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;, W5 N& _4 t/ ^* V0 \& x6 e
        view_info.anchor_point=NULL_TAG;
6 o, k: V0 Y  O0 u' H9 x6 S! i/ x        view_info.view_scale=1.0;
4 ]: I* p* j! K4 Q7 c+ e+ N5 f        view_info.use_ref_pt=TRUE;
) d0 P5 x3 h; M8 ^5 h, `        view_info.inherit_boundary=TRUE;
9 M. M& m4 l3 y: i' I0 a% E
8 Z8 N$ K! A1 V$ Y- _  N/ E) ^! V8 d        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
2 J4 n; \1 b! E        if (view_tag!=NULL_TAG)
+ c" Q3 W; D& K5 H" a# D% k& A8 r) I        {+ O+ E' N# g  @* @1 W
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
# n- g0 f$ z2 K0 S& z# o                UF_DRAW_define_view_auto_rect(front_view_tag);
. y% j: S+ I( o, e( o! M% |        }3 d; f  A7 U0 H# k9 f4 G7 k
        view_tag=NULL_TAG;) V) ], @2 U) @& q4 Q

1 O0 A6 Q1 J# [3 f& f        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);3 U6 j' h& Q9 j
        if (view_tag!=NULL_TAG)) D' S  ]2 k0 u! A7 O: d
        {
+ L( E1 x- B) C) l' _4 _                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
. v/ d- v" ~  V* m# j8 u; ?                UF_DRAW_define_view_auto_rect(tri_view_tag);1 M  y0 A3 q* ^9 H
        }
6 Q8 i, O! I, h! z; c    if (front_view_tag!=NULL_TAG)
% M+ O  E2 G0 c% i6 a+ \    {5 p2 N* p4 ~6 b# e& G0 y
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
" ]4 v6 \) W) k3 l. ?                UF_DRAW_define_view_auto_rect(botton_view_tag);8 J* V" M4 u+ A5 h7 p0 b* G4 |
         }
. b3 y( S, d4 g        if (front_view_tag!=NULL_TAG)
+ b1 b8 q7 o4 S& X/ f3 J        {0 ]& J* Z- Q) j7 D
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);' u' p0 b8 k6 y) J/ _* m' x
                UF_DRAW_define_view_auto_rect(left_view_tag);
" s4 h  \  g) V3 }6 k+ l# Z/ ~        }
& i1 g: P  p* L( t; K$ W" q/ V4 m. Q6 j
  h/ a# W" U: f& O( w
        UF_DRAW_ask_num_views(NULL_TAG,&num_views);: J% J0 a. |# O1 J
        UF_UI_open_listing_window();
4 a( w6 B2 p5 x" y0 \, r        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
7 L. E6 O6 c5 [  O" d* y% F        UF_UI_write_listing_window(message);( D) h2 B( y% {. t0 a

5 q3 [( D& Z! C  O9 z" R& {, j8 \5 Q4 r8 _; a
+ P. C) C( ~1 m1 ^/ r% K& O" E
        tag_t object=NULL_TAG, front_objects[6];
! H$ W0 I9 v' \        int    subtype, type, count=0;
, d2 E4 {* k7 R( b6 m/ o        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
7 V8 L) R9 N; q" Q+ O% ^9 k/ `% T; k        while(object!=NULL_TAG)
' W. X2 w' I( f: h$ l! u        {( s/ [( f" A! S
                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
4 \( [% S' k  x0 w! {                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )+ ]- l, @7 |+ D: P, I# N
                {
' ?4 J! x/ c3 t  Y& f% }                        front_objects[count] = object;( A5 \" H2 A6 `; L- p) k; ?
                        count++;  G5 a% ]" N. m* z
                }
" r! j" a# J/ |1 N* W& K! Z% `: S                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );7 g# G0 F4 @2 z1 c
        }        . x7 R8 y! k( X) b' \! s" r
        UF_DRF_object_t object1;( J% K) O! R( K; Z) G
        UF_DRF_object_t object2;
; |$ f% U, v, Z0 m7 @0 i5 z$ o5 |2 r1 {, k        UF_DRF_init_object_structure( &object1 );' h2 `6 z: R4 D( n4 e  H
        UF_DRF_init_object_structure( &object2 );7 d; i6 Z6 d6 G0 ]  [, M
        object1.object_tag = front_objects[ 0 ];
% `9 e$ D/ `* c# J: g0 K( G        object1.object_assoc_type = UF_DRF_end_point;# f8 I" W* Q3 e& r; u7 |. b: R/ o
        object1.object_assoc_modifier = UF_DRF_first_end_point;
1 z" ~* |/ _8 V7 |9 }' L        object1.object_view_tag = front_view_tag;, W2 _3 Y3 m7 Z- W4 L& c
        object2.object_tag = front_objects[ 1 ];
5 u& m* N* r7 l        object2.object_assoc_type = UF_DRF_end_point;* \! m% s0 f6 l* x& r: u
        object2.object_assoc_modifier = UF_DRF_first_end_point;/ \: k0 d9 ^! ]2 x% [! ^+ ]
        object2.object_view_tag = front_view_tag;& ^3 G5 C& ~$ I% U& @
        UF_DRF_text_t dim_text;2 H7 e. v1 _. H' v# j; W2 s
        dim_text.lines_app_text = 0;9 ]$ k! ]1 z  l& f/ X, i
        dim_text.appended_text = NULL;8 `7 J+ T% ?: }* |! d
        dim_text.user_dim_text = NULL;
) G' P' M( w. K! H. ~2 G        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };3 b/ H1 V' W, n* G& B1 s
        tag_t dimension_tag=NULL_TAG;" W2 I9 B2 O1 E' N& c/ t
        UF_DRF_create_vertical_dim( &object1, &object2,* Y; E7 }3 L8 O. V
                &dim_text, dimension_3d_origin, &dimension_tag );  / r0 Z8 ^: \' ^6 R' H
+ n3 Y. [* C/ ~/ u# X& p

( ]! T2 W' S; q  _; @" e        UF_DRAW_upd_out_of_date_views(drawing_tag);
" ]: c4 O& C1 `; f" J" [    /* Terminate the API environment */
6 L% v8 X; r9 v- [; ?) A' c7 {    UF_CALL(UF_terminate());
6 C, k" t1 N# y: e8 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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本" l0 E$ F* p# i0 c' I6 _$ p# J
) l5 z( S4 v$ |) {
如果是
7 C$ s- I) _2 F' i* {$ o那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
5 K4 X) K/ R3 ]) g$ Y& X9 F, W( u6 `  q9 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 );  
6 d6 n( u3 K9 I. S, m7 u4 c# n; Q' {/ Z/ L# Z4 h
书上用的是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
+ O" k* Y) @0 m当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
. e% c2 |) [) u% k: o+++ Encountered unexpected NULL pointer. See system log for details" N3 B# ^* H) R1 D3 w
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
8 v* l6 f% b  I7 i: ^2 ~空指针,还是没找到!
上海点团信息科技有限公司,承接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
8 `. }2 b  @* _3 g% V9 yC:\Users\pc\Desktop\捕获.PNG[/img
' z0 _9 o' w$ K当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
$ f$ c2 ?5 G6 a  t& z
那就分析这个地方啦  
4 l& H& |( D' |% Z, N
' N2 r' k( ^  {: ^我没法给你解答 没时间给你调试这个6 @( H% G' k5 o; b( z1 h: D6 M  @
! _$ f2 D0 A" }. ^  l0 y
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了