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 4220 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 )# V0 b6 |& Z# j' P, x$ ~; q7 e
{$ V% l$ h/ H. p$ U+ b
    /* Initialize the API environment */2 M- X8 h6 f: t( u8 i2 A
    if( UF_CALL(UF_initialize()) ) 1 e1 A8 \; |# U: r( t
    {
; D/ S* Q4 Q! v        /* Failed to initialize */2 M* K8 j5 g2 O+ B' J
        return;
, m: A: X$ [( w' w2 @% ^! p    }# X  w% j" b1 p( Z+ L3 p
   
% ^% d9 c. X5 k0 y! Q: U    /* TODO: Add your application code here */
0 r4 W' P. P9 {( L9 _2 ]5 ]        tag_t part_tag;
) v4 c* _0 r, R8 N: ~$ A        part_tag=UF_PART_ask_display_part() ;0 l9 ^9 u2 b: i9 s8 y
        int num_views;3 u' ?7 W2 z) |: N! X* x2 t/ ]* j
        char message[MAX_LINE_SIZE];
$ I! G7 ^; C; U1 t+ `        7 X, ^5 x7 _0 u+ C: o. i9 y3 b
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";
9 `, `7 y/ Z5 Q4 e, O, E        UF_DRAW_info_t drawing_info;
: c8 `, d7 L; }3 O7 v        tag_t drawing_tag =NULL_TAG;
, H4 A: {' x' z. @- W0 B% _        tag_t view_tag=NULL_TAG;8 C# s# w) Q) _9 m- u) `

: ?5 a! i; x+ O8 f$ V        tag_t front_view_tag=NULL_TAG;* r4 F( T1 _) e
        char *front_view_name="FRONT";
) F; |% N$ J7 l        double front_reference_point[2]={210,400};  {3 @3 F* p2 x

$ C- J$ P8 R; _( J  E- R  f/ n        tag_t tri_view_tag=NULL_TAG;2 r5 J  h" L1 O6 g
        char *tri_view_name="TFR-TRI";
* C9 Y0 E2 ]# Q& H  `$ l" ^  k        double tri_reference_point[2]={630,120};% z& E* y$ r2 I4 s8 p4 Q# Z( D

" T8 q8 Z0 [9 }, a8 P        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;, }9 V# e7 ^, E3 @) I
        double botton_reference_piont[2]={210,120};
; F6 C1 P$ m/ L$ Z        tag_t botton_view_tag=NULL_TAG;
5 M6 [* ^( |7 e. a1 q3 W, d/ C, i3 g2 [* U
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
& ^  T$ r; _. t2 |5 G" v        double left_reference_piont[2]={630,400};: ~2 {. `& a0 b3 e) G
        tag_t left_view_tag=NULL_TAG;8 V/ X! r- v/ v% k

$ Y4 `; ^1 c6 q( }$ j        drawing_info.drawing_scale=1.0;! H% }- R/ s; s  ?: _& n. o
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
  J7 |; A; T* y5 ^        drawing_info.size .metric_size_code=UF_DRAW_A1;) \8 S2 s# a, r, M% z
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
$ `7 ?1 `. B& \8 m) T0 ]+ ~5 O        drawing_info.units =UF_PART_METRIC;- p4 X& ~% a% j+ @+ @6 k5 J" X

  z1 |( A& t' Y        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
9 K- O3 D) z" m% h  S( W  L! l        UF_DRAW_open_drawing(drawing_tag);
4 Q4 e/ t" q1 t7 [+ T( Z6 v+ m' ?! \8 L- d# K0 ~( e$ y
        UF_DRAW_view_info_t view_info;
7 ?& K) O; k5 E* v3 t6 }" Z        UF_DRAW_initialize_view_info(&view_info);1 `4 A8 `1 ?6 ]; v3 B: T3 B

: Y& o' g2 k6 v0 K( N+ l7 K2 ~        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
5 o  }1 y; b4 {9 K. o( D( [, @        view_info.anchor_point=NULL_TAG;
% ^* t1 C0 g2 p: t. y        view_info.view_scale=1.0;
+ K  y, ?% f2 \$ m4 p        view_info.use_ref_pt=TRUE;
  X6 ]" _1 t, |, Y        view_info.inherit_boundary=TRUE;+ B$ L0 |0 Q0 w

4 T' s' b- [, o2 V        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
1 L" a4 n" O& Z, `1 b' P' e$ u        if (view_tag!=NULL_TAG)
7 R- c7 m' @; L        {: _& w# d$ e7 T* h* \" U1 Y* H
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);4 x) E$ h4 k6 g- ?8 M
                UF_DRAW_define_view_auto_rect(front_view_tag);
& B' n' c: J( k+ e/ _6 [  n' H7 K        }! Z* B% ~% {4 b
        view_tag=NULL_TAG;& q  Z( e  ]5 ?) c" F

, H- g# _5 Z. @2 A3 T# s        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);2 Y. X4 m; X, f$ O5 j
        if (view_tag!=NULL_TAG)
0 F0 @3 `& b4 C' m        {
. w" n# A2 d6 m: r# P2 S8 \+ O                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);; v9 U$ Z' M3 ^% Q7 w9 ?9 e
                UF_DRAW_define_view_auto_rect(tri_view_tag);
8 u! ~7 @6 J- t" T" X! |8 h6 s        }
3 q. V$ _3 Q8 j9 J0 |3 u3 i; E) F    if (front_view_tag!=NULL_TAG)
* C/ \  z) z* _, a) q9 K( I    {
7 d' n; O$ r1 a4 v+ F/ p                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);9 S0 D# X7 J7 S/ i  C& S
                UF_DRAW_define_view_auto_rect(botton_view_tag);
1 z9 d, A$ m7 a  O' l+ X& Y         }( h/ {" ~7 S9 W7 D/ {- M5 }3 K
        if (front_view_tag!=NULL_TAG)
0 U" q; _* v5 F, Z        {
2 a! E& q  i, t1 r, j                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);
. h2 d! R2 @$ J# b. r- i                UF_DRAW_define_view_auto_rect(left_view_tag);0 f0 s" }3 V1 q. h. S3 j
        }
7 \  Z; a6 V5 e8 [5 Q
. c! `/ w7 X, T9 T$ [* o
: L: ^0 E2 r4 c, a        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
0 w/ ^  ?9 ^! H/ }        UF_UI_open_listing_window();
8 E7 Y8 c; [3 L  h- f$ `1 p, o  x) w0 R        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
* P2 M5 y( U$ C4 N/ [/ C: L        UF_UI_write_listing_window(message);
+ E( ?- d2 l! j+ k6 W- C) e8 _$ d

3 c5 Z0 z0 d1 J% }2 k8 z6 h! r
. O3 a! m* |+ c        tag_t object=NULL_TAG, front_objects[6];$ Y% I1 l% l! A
        int    subtype, type, count=0;$ ]& D& W9 i+ l: w; C/ |
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );; W) m% R4 {2 G$ b" H) `1 O% N
        while(object!=NULL_TAG)
* ]' D. G1 Z* L3 a0 g: m3 b        {
6 I# u; F# L+ q5 [2 O, w) _5 c: }                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );: O. `, s' P( ~8 y6 U
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )" t/ \; e! ?' {% u7 Y4 W2 z
                {
, [) L" I- u, U  S6 L0 @* `& N                        front_objects[count] = object;5 l6 j3 c4 d5 W6 \
                        count++;2 p/ |% l: y3 G& P# R
                }
! w/ ^& a% y, n$ y' c; z: ?0 w                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );: m/ L2 a0 y# |7 @: J& K+ f" O
        }        
5 H# y# F- Q. F4 ?1 g; V        UF_DRF_object_t object1;
# t/ h9 m3 a+ y6 }' r        UF_DRF_object_t object2;' ~' A2 w" W1 k2 S1 _- f# Y% b
        UF_DRF_init_object_structure( &object1 );
% k" _$ m; ?) h5 U* W        UF_DRF_init_object_structure( &object2 );
0 b  @+ {* }  g6 Y8 M        object1.object_tag = front_objects[ 0 ];
; `' |, d# A; L7 P3 p4 N& g; ?        object1.object_assoc_type = UF_DRF_end_point;( s* z. Z& e; a2 B* b% n8 i" x0 r
        object1.object_assoc_modifier = UF_DRF_first_end_point;/ ^7 d& S  d$ D7 l& c
        object1.object_view_tag = front_view_tag;
* F7 w% l6 m& Q5 N% @        object2.object_tag = front_objects[ 1 ];
3 _& e: S/ A$ p1 q        object2.object_assoc_type = UF_DRF_end_point;
5 Y- ]# I( Z- Z6 _8 ^+ E        object2.object_assoc_modifier = UF_DRF_first_end_point;
' ]( [! X/ x' |6 y        object2.object_view_tag = front_view_tag;1 H( Q' @: l: [/ Y" a. P& h7 t9 A. n1 t
        UF_DRF_text_t dim_text;
2 H- J+ L: B" ~        dim_text.lines_app_text = 0;
: P9 E: |! N/ w  S- {5 a* l! ^        dim_text.appended_text = NULL;; ?& ^5 Z( F8 }( K$ ~
        dim_text.user_dim_text = NULL;5 F- Y" {% q; m, _! H% S
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
* b6 d' a& h$ W2 W        tag_t dimension_tag=NULL_TAG;3 \& ?5 R" L) n, d' n- f4 G: l" G
        UF_DRF_create_vertical_dim( &object1, &object2,
" F, T0 d) R; b( \                &dim_text, dimension_3d_origin, &dimension_tag );  % ?9 ~* h' z0 ?/ j, U
1 h. t4 B4 F; g' d1 M& g
6 J) N& F  h. i5 W5 {9 g8 k# ?
        UF_DRAW_upd_out_of_date_views(drawing_tag);/ L: O4 b; H# I) @$ z% i# }+ V/ f
    /* Terminate the API environment */
( V+ \* B% k" i6 r/ D    UF_CALL(UF_terminate());
$ y* w6 Z1 a; Q6 A9 s3 ~9 e$ 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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本5 c+ c& w, @5 G+ I
& Q/ i$ T5 T+ r# N6 {& y
如果是
* |, F+ Q$ \: c' ^! V- C那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下2 Z; m/ f4 d2 W, F
4 n$ m7 e; {) \6 K- c/ P' B
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  
; Q% C$ }0 g" J" ~7 X% o
1 M2 X8 P" m$ x7 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
8 G/ q2 O0 l" Q; t当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
# t: y- Y4 B7 k8 t; U+++ Encountered unexpected NULL pointer. See system log for details% J8 W, _& D- R0 S. j9 a
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
9 d( O; ^* l1 l8 ]* y) J4 s/ k" B空指针,还是没找到!
上海点团信息科技有限公司,承接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. D* u" Q. g- T! x
C:\Users\pc\Desktop\捕获.PNG[/img5 q3 r$ Y! K& E
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

/ C' T2 y8 Z8 h% ?+ b/ V0 u7 t那就分析这个地方啦  
0 p& J  @0 x8 @$ r, p7 R) v1 V5 _
& D9 B7 [- @  ?3 H2 b我没法给你解答 没时间给你调试这个
" F( D7 i; Z: p7 Q8 T: \/ C
! A& \' @; L+ k; w你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了