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 3975 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 ); n( \8 s3 z! }6 A$ `/ S
{
3 L2 h! o" K4 u# T2 ^/ E    /* Initialize the API environment */
) l% i4 k! }3 }3 S- Y0 N1 j    if( UF_CALL(UF_initialize()) )
  G7 E* e' [8 I    {
7 D+ e5 p# f- X( @) L+ j        /* Failed to initialize */+ Z. e: }6 g, E7 ?/ T
        return;
8 c+ O% K+ X: F) K$ J& p; v/ x9 P    }9 k4 F9 U! M/ n2 `. \8 [. N: i
   
# ^6 W9 |( }1 X/ Y9 s0 |* M    /* TODO: Add your application code here */
( [) t5 L. N4 d* Y        tag_t part_tag;" P( k) F# b1 J6 P2 G
        part_tag=UF_PART_ask_display_part() ;
6 j* g# c# J: M        int num_views;
* g  Q8 X5 k5 C- b4 o& K+ U        char message[MAX_LINE_SIZE];. c4 X/ {; Q1 d
       
0 i( q) F4 h$ B6 V! W        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";; |/ y) r! J6 Z5 m2 n
        UF_DRAW_info_t drawing_info;
6 |- K! Z  J0 ]9 G0 o        tag_t drawing_tag =NULL_TAG;
. K( ]6 c) v1 @0 X        tag_t view_tag=NULL_TAG;0 B! _9 \  ^/ N" N* ?+ z; w/ m

! [0 Q2 c  m) }        tag_t front_view_tag=NULL_TAG;' e9 }5 H1 u9 r( W9 R, ^8 y  p# T
        char *front_view_name="FRONT";
! m1 ?% z0 p. Z' J9 K. ^5 i        double front_reference_point[2]={210,400};
2 G7 U' F) T0 O9 l
1 ]% \! Z; [  W/ X( r. R6 v        tag_t tri_view_tag=NULL_TAG;
6 D1 |% M, D( C: ~# e" @# r, @        char *tri_view_name="TFR-TRI";. |; l- ^0 I7 k0 ?2 e% r. @/ B9 w" k
        double tri_reference_point[2]={630,120};# ?" A# y4 F  t3 D" Z
3 V# z- z7 a6 e* U5 N
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
$ m( }, ?1 o3 ^        double botton_reference_piont[2]={210,120};, L$ ?" X$ @( U: {6 \+ @. h1 r8 s+ J
        tag_t botton_view_tag=NULL_TAG;
' F* f; n- X% K( C" T7 ~, O9 `- q& l+ r  t- V
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;! D! A5 W- N1 W* R6 q7 D
        double left_reference_piont[2]={630,400};
) a4 ]. h; M0 W& p- V5 i, L        tag_t left_view_tag=NULL_TAG;
2 `+ G: [, h1 l/ H  ]: m  A" o
7 r7 s+ S: f( \        drawing_info.drawing_scale=1.0;
- M1 N3 @# `% {8 E- {        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
3 D9 U( u1 J6 s: D) J# |( i& O, G        drawing_info.size .metric_size_code=UF_DRAW_A1;
! M: @! Q0 c4 S, y7 p        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
, U9 W. i. c& L        drawing_info.units =UF_PART_METRIC;
! b- B8 j" K$ T7 N
2 D# w6 I/ G' f        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);) G  \: `( m" A+ ~
        UF_DRAW_open_drawing(drawing_tag);( C7 [! O# \3 J, G

  t2 y2 M8 H. s* h8 [        UF_DRAW_view_info_t view_info;
) ^5 q7 T, M: K/ w! \        UF_DRAW_initialize_view_info(&view_info);: L, y+ C5 t" |. C8 b' v1 k

6 m& U+ z$ |; |! U% Z        view_info.view_status=UF_DRAW_ACTIVE_VIEW;* Y/ t$ b$ E% y2 u
        view_info.anchor_point=NULL_TAG;
8 y: u9 U" A( {0 y( L, q9 _4 v        view_info.view_scale=1.0;
, Q9 Y) _& `  u  u7 O  P" F        view_info.use_ref_pt=TRUE;
% y7 h  e1 V$ j  `7 J8 g        view_info.inherit_boundary=TRUE;4 R5 e( f+ V! e; X5 w
6 m- ]; i+ F9 i: v. Z+ V$ y
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
3 T. d! Z. t( z3 _4 z( ^1 g        if (view_tag!=NULL_TAG); @& x, ]2 f7 f9 n6 `( L
        {
# P1 Z+ w1 @3 G( s                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);  t2 V1 u1 W( ]! f3 s
                UF_DRAW_define_view_auto_rect(front_view_tag);
4 @: W! P- ^* O& L  z        }
, c' @3 x" ]& l5 `+ {        view_tag=NULL_TAG;" B3 J1 q8 w# s5 s/ Q, [
6 `4 y. P2 d; T2 s) V/ f7 l5 V1 a
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
' I+ c# q( J; t0 `1 J# |        if (view_tag!=NULL_TAG)7 T! w4 B* E$ H
        {
: K! M+ J& u0 G5 t: K; [' ~% e                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
9 P" v3 f2 [$ k, l, q. K" n                UF_DRAW_define_view_auto_rect(tri_view_tag);% e$ h' v- f% x( c$ Z' d! G, C8 V
        }
* }! L& _% J4 G2 q7 k  Z    if (front_view_tag!=NULL_TAG)
# [$ o) p" F! ]! m5 V2 P9 v3 q: s0 S5 N    {
  b9 X* C! i( z. z8 v: |9 Z                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
0 `1 r3 _2 f; I/ k4 U8 G4 k                UF_DRAW_define_view_auto_rect(botton_view_tag);2 b5 U& U" R) g: t' @
         }
! f" t( a5 b2 n3 U        if (front_view_tag!=NULL_TAG)
" i  M  A% I. E        {0 J8 y; N! a0 X
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);( o+ X: z4 n6 c( l; ~/ u6 V
                UF_DRAW_define_view_auto_rect(left_view_tag);
& Y1 W) Q/ t) R8 ^% y- F8 H1 N$ H        }8 M. p0 Z5 _$ U( {0 H- O

, V2 `' K9 `- u" v! T/ }, W9 L+ S+ l
        UF_DRAW_ask_num_views(NULL_TAG,&num_views);5 U6 i1 Q4 P+ k0 V1 _6 O8 n% q/ T
        UF_UI_open_listing_window();
' F+ y9 Q! b! x0 R! J2 W        sprintf(message,"当前图纸共有:%d个视图 ",num_views);; S# E, F5 C& Q) ?
        UF_UI_write_listing_window(message);
5 G* o) c3 c0 c! E/ j1 i9 e/ Q7 C' o# @) u3 E3 J

* \2 s0 @  t, y2 u# Z6 T0 J# l9 \; z* k; l2 ?/ ^, j! D3 l
        tag_t object=NULL_TAG, front_objects[6];
6 o3 B( h# r' e, ^+ l' P% t        int    subtype, type, count=0;9 t9 E6 a+ S. ]) y5 \% e
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
  A" b- o' D9 Y/ }  W        while(object!=NULL_TAG)
* D" T, G" e! L7 S# _        {$ i, x, I0 v; l, D0 X
                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
8 ~1 R2 e  Y! K9 ?% o4 ^8 w                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
& l: B) E1 ^3 X% x# \# c- F4 T                {
7 s, M- r( A2 B& V. v                        front_objects[count] = object;% f; e5 K, e6 n2 U( G
                        count++;. ^+ s' k; r5 J% f7 o: @& g9 d" \
                }
- O9 s5 R/ A  U. N  b+ L                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );4 i+ h$ Q2 R8 f5 p3 U2 |: u% j5 _
        }        
9 A& }% P/ p) @- z- J9 {1 m        UF_DRF_object_t object1;& E/ E. {7 ?9 R9 O4 i
        UF_DRF_object_t object2;0 h4 t) @' F/ @% `) ?7 a/ y
        UF_DRF_init_object_structure( &object1 );! ]* X: S# e, f) l
        UF_DRF_init_object_structure( &object2 );
, I% N  G) l8 ]5 g6 k5 ~        object1.object_tag = front_objects[ 0 ];1 f$ w- s& G! h! q, j
        object1.object_assoc_type = UF_DRF_end_point;
9 u6 j/ t- _' |& o3 ~  n1 E, b' J        object1.object_assoc_modifier = UF_DRF_first_end_point;
4 [: s/ D1 s$ J' y3 M        object1.object_view_tag = front_view_tag;
) ^2 N% a& r" \) S% L; ?. v4 j        object2.object_tag = front_objects[ 1 ];# }  e* I8 Z1 b! _
        object2.object_assoc_type = UF_DRF_end_point;
: U4 L6 S2 W$ [7 S        object2.object_assoc_modifier = UF_DRF_first_end_point;7 Y- s9 \/ t* ]9 }2 H7 P
        object2.object_view_tag = front_view_tag;: a. S$ u! ?8 _
        UF_DRF_text_t dim_text;2 M5 R! D" h0 j6 _, F5 G
        dim_text.lines_app_text = 0;
. Q( g& [1 m1 H3 I& h& k. b        dim_text.appended_text = NULL;3 ~5 Y6 a& x  h
        dim_text.user_dim_text = NULL;
! h9 G" R* b% c- U, [        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
. ]( {' x9 ~# X  @! p4 O  F        tag_t dimension_tag=NULL_TAG;( d2 v2 C! D* s( X+ r+ B$ ]
        UF_DRF_create_vertical_dim( &object1, &object2,
5 D3 }5 m; V4 ~$ {* T: V4 O- \                &dim_text, dimension_3d_origin, &dimension_tag );  
6 g: R/ o, n/ x% r7 g; V1 g0 h! G: X8 ?) }0 G

, q4 N, r/ e! W        UF_DRAW_upd_out_of_date_views(drawing_tag);
2 q* j1 l9 E! P- x! U    /* Terminate the API environment */
' }& g8 Q) q* J' l% g    UF_CALL(UF_terminate());
9 K0 y# A# v1 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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
0 D" E' m  E$ w$ t: m' s6 X% _$ e, {( T2 o; r- t$ I4 s. s$ u
如果是
2 V' t+ k' t7 R  a+ a7 H, U那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
% V0 c# e( o- k' D1 I( R) N* ~, _) e5 z
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  : O9 U" P( {0 a0 g0 W" P
5 T: q' Q% h! j0 }2 _$ E* M. F1 ]7 Y" p
书上用的是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; o7 t: S8 K& s" V) f% j' G, c
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
) ^5 e' w5 `) q4 p9 E. [$ F& P9 t4 y+++ Encountered unexpected NULL pointer. See system log for details
, a' |, ~; i+ y4 W+ O$ S1 ~UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
1 k9 B+ c1 h; f" U* L) ]空指针,还是没找到!
上海点团信息科技有限公司,承接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$ S% c: L' T3 ~' ~5 e$ Q" d9 T
C:\Users\pc\Desktop\捕获.PNG[/img
4 G; k% [! _7 i) m2 F当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
6 W) E8 W/ T6 J$ c
那就分析这个地方啦  # h0 p! f9 j, E7 n; ^

* t# y0 U' v6 R我没法给你解答 没时间给你调试这个7 s3 v/ K0 a  M: g7 W9 L% F

  @, Z5 U9 C/ D; i, R你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了