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 4216 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 )
" E. {% y* W# l  s* `8 F{" i# Z; w* O; ^$ f
    /* Initialize the API environment */9 u2 ]3 _: B% v, |3 H1 K
    if( UF_CALL(UF_initialize()) ) $ ?1 b6 t# D1 c7 W8 T2 X8 ~
    {
$ a8 x- w9 ?3 F) b        /* Failed to initialize */4 _( r5 r, e2 V+ Z+ }
        return;
6 p. R1 n0 N4 c  Z$ G    }
9 O) Z( x# s* u$ o' U# D   
6 M( e+ J. ?+ G7 u- V- J  h3 G    /* TODO: Add your application code here */
" h3 k0 D  y3 O1 O$ H) n        tag_t part_tag;
# x* x  C/ m1 E- V! H- D0 j        part_tag=UF_PART_ask_display_part() ;
" o! {" z6 Q  x; v/ X! h# v. j: S$ s        int num_views;
1 A  u5 D- ?# Q8 G9 u! i        char message[MAX_LINE_SIZE];
% @" o2 _8 A) P4 }1 E. m! q1 D        4 }( j0 r. ]. {/ }
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";! I) m/ O& n( Q6 Z7 e
        UF_DRAW_info_t drawing_info;! u. |" {' n+ M
        tag_t drawing_tag =NULL_TAG;
2 ]* k; z! c1 ^        tag_t view_tag=NULL_TAG;
  t! I; p8 O2 s- v* q
. P/ H- a% \, t* C        tag_t front_view_tag=NULL_TAG;2 _7 n  ?% Q0 r" G7 ~1 B. r% P7 t& G* B+ x
        char *front_view_name="FRONT";
1 _' `& o) v( R: N4 I3 U" K        double front_reference_point[2]={210,400};4 }( z, O4 q3 H" @* h! N

) \: Y- U/ E5 \; u( f! Q8 A        tag_t tri_view_tag=NULL_TAG;& f; O  a& n5 @4 ?( ~& h
        char *tri_view_name="TFR-TRI";
8 ?* l+ u. Q5 b1 Q$ y        double tri_reference_point[2]={630,120};
& g8 ~: B* ^7 {  N: @( s
: a! \8 W, ]7 _- |) r4 j( \' {        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;- c, i5 c0 H, G$ H$ s1 O
        double botton_reference_piont[2]={210,120};
# z7 x& p! E$ I+ g, a        tag_t botton_view_tag=NULL_TAG;
8 I6 d. V- H4 v4 ~  ?0 t5 I7 ~# Z; o: y; m! M6 o# p! {5 ?
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
; ~4 g% {. L6 E; V% c- o        double left_reference_piont[2]={630,400};% R2 x8 s- |" P4 W& M$ M
        tag_t left_view_tag=NULL_TAG;
$ v2 n& v- f: G7 p) C/ a, [/ ]) n
& l' \$ D1 i. W- p) ~; V        drawing_info.drawing_scale=1.0;# j9 l' P  X. T2 {) K6 u( x3 W7 n
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;5 `. S' G; J& g2 j2 N
        drawing_info.size .metric_size_code=UF_DRAW_A1;
" h  D. m) E/ A; g5 N* i        drawing_info.size_state=UF_DRAW_METRIC_SIZE;) n0 G+ U( [  [; h% G
        drawing_info.units =UF_PART_METRIC;6 o. |6 P$ b, S+ j
: N4 z% p; h8 x" }; |: H$ A: H! o9 Z
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
* w6 o1 K+ d+ S        UF_DRAW_open_drawing(drawing_tag);
+ d8 N: D2 I0 `, o! q( x9 q: c5 {* n) \2 A4 A; Y
        UF_DRAW_view_info_t view_info;0 z+ f* K! q" N
        UF_DRAW_initialize_view_info(&view_info);' b5 m. H6 `* [) p! g' D
# x3 ]7 ^/ j5 }% `3 F' e
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;5 @1 r9 M, I$ N. I3 \" T9 `
        view_info.anchor_point=NULL_TAG;; ?( a# S, w' M  W
        view_info.view_scale=1.0;7 Q, T/ ?3 J8 U& S
        view_info.use_ref_pt=TRUE;
0 R7 `& a4 B3 X        view_info.inherit_boundary=TRUE;
- \  l& w& K/ Q  S  G9 U3 v
6 p) `) @' h/ {2 @1 ?: x        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);& ~: Z; r9 }+ y$ T) g+ r7 Y
        if (view_tag!=NULL_TAG)6 a9 h- s, n6 n4 @$ ~2 F$ C
        {
# _% D+ S. F. s+ n                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);! g/ D! `4 Y" n3 z; w- m
                UF_DRAW_define_view_auto_rect(front_view_tag);
" k( \" E* h+ Z8 j/ n        }
7 z, Q7 B) o2 k* v- M! Q8 P        view_tag=NULL_TAG;+ Z, n7 F, Q- ^' A! k8 g3 m
; D+ L: |1 E* S" R( I
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);$ `& h" ]( F. U) }
        if (view_tag!=NULL_TAG)
7 e( q7 _! H0 E) ~        {
+ x7 R9 Q5 J- u9 B2 v                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
5 p4 Z4 \! u  n# [' A0 _                UF_DRAW_define_view_auto_rect(tri_view_tag);
% R* Q* |- r. p7 S: c: ~2 T6 c) y        }$ {( B) ?, y9 v# _( e* K; m
    if (front_view_tag!=NULL_TAG)' I( t; a$ P; ?7 V
    {0 ?  e- i  U/ y8 T! n# T9 E
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
# k* u6 a  y4 v& `9 \                UF_DRAW_define_view_auto_rect(botton_view_tag);  G" }$ w- @% z5 M
         }
  s  B" g, }9 D$ j6 z4 }        if (front_view_tag!=NULL_TAG)
5 }+ w( P' P) W, ]        {
# z/ N* \+ y, z% x                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);
  f+ [) J& ?. ?; \% Z: A                UF_DRAW_define_view_auto_rect(left_view_tag);
# |& Y9 K; |) E        }
8 r. Y/ z7 P& [2 V6 p; N  ~0 r- k8 c: v

- \8 s  A7 O- u! X2 v        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
. D7 u; s: V! Z        UF_UI_open_listing_window();6 {7 W0 D( i* n8 Q
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
8 a5 A# t  I% e8 G" @! I        UF_UI_write_listing_window(message);7 {# _9 t" M6 @0 p8 n: _

2 ^$ [% w  H3 l, D! i' J0 u- P, F1 D& a! s3 c; A, z
* i; u4 H( `  @! h5 R' K
        tag_t object=NULL_TAG, front_objects[6];
6 Y2 A% B0 ~" M- J6 |% o        int    subtype, type, count=0;
; s& Z) B# j2 o8 j& Y" i        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );1 T9 z) @& i' x- m; r4 h- }( y; _
        while(object!=NULL_TAG)$ |* L5 C5 P! m# g4 {6 Z
        {
% B$ e. F( T9 v1 R/ |' g                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
, J( [' C# \% C/ v6 d8 ~1 G" E* {                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )9 b4 A6 `* I) A& \4 U, G2 |
                {- ^7 S$ d$ N5 d' o
                        front_objects[count] = object;
; W1 o, @5 h2 H5 Z# G                        count++;
; f0 J- B0 }0 f                }, w/ k; C: a/ o* W- Z( s# R
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );) F# ^. u( H5 m! L
        }        
0 F, ^* L' I7 @& m+ E( P+ x        UF_DRF_object_t object1;
& V( C) s( T  S& D/ \; Q        UF_DRF_object_t object2;
; t6 z; N; m& |5 R        UF_DRF_init_object_structure( &object1 );
* q6 r. j* e- v  f        UF_DRF_init_object_structure( &object2 );
1 C( j# Q1 z8 P4 ]) J* K        object1.object_tag = front_objects[ 0 ];5 v( g3 d( q9 ~- ~* D
        object1.object_assoc_type = UF_DRF_end_point;5 X" S) \9 `8 {$ k- G8 f4 L
        object1.object_assoc_modifier = UF_DRF_first_end_point;
0 C' q1 ~/ _3 J9 `$ K$ c4 W        object1.object_view_tag = front_view_tag;
6 l) y9 D. G! [# y        object2.object_tag = front_objects[ 1 ];* G$ C5 P: v3 t0 A  F0 p* t
        object2.object_assoc_type = UF_DRF_end_point;6 v& v$ X5 k# I! ^$ Z
        object2.object_assoc_modifier = UF_DRF_first_end_point;
7 D* A3 T" w# M! d6 F0 y' L        object2.object_view_tag = front_view_tag;
% X0 ~0 S- d( H% N% f        UF_DRF_text_t dim_text;6 a. }. b$ M: R1 Y* g9 I
        dim_text.lines_app_text = 0;
( ?5 n5 `7 V* E0 L        dim_text.appended_text = NULL;
4 \& Z( H; M7 ^6 m1 B; Q: Z6 J        dim_text.user_dim_text = NULL;7 e: j" X# Y& ?& }8 o
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
0 [6 Z7 Z( j) e, d' [        tag_t dimension_tag=NULL_TAG;, k& u  ~& c7 s" p7 q
        UF_DRF_create_vertical_dim( &object1, &object2,
6 G# w+ Q; ~$ i1 b7 Y                &dim_text, dimension_3d_origin, &dimension_tag );  
6 g; b) i" I7 [! ^7 @* }
0 N9 u; ]4 F2 v; _  U/ r4 g4 E
3 {. S  X. l: y8 l2 E. l        UF_DRAW_upd_out_of_date_views(drawing_tag);" u  a- [3 G4 ^8 B* E
    /* Terminate the API environment */3 d% s. h( A, @$ E; L7 M
    UF_CALL(UF_terminate());4 B$ m6 h, m( b
}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本1 v; l# F" V9 m% n

, f. w8 ], D; R/ ]如果是
6 ]) Q4 G7 U9 [9 u# P! U- A9 j那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
" M8 @; _$ w# ]: J/ ^+ W0 F" G% x, x- b2 Z# D* F/ e" n/ S( 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 );  
9 k+ ~! j; g: M5 G+ ~  f/ z
+ k' v8 p/ d; P/ q: f2 Q1 o5 W% V书上用的是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! k0 s# r8 ~' J- i) _  B: M
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:5 ~$ f& l" i) r4 F! x# d( |4 I4 W
+++ Encountered unexpected NULL pointer. See system log for details
" i8 ], T- I. ]  T% y- q8 ^UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );3 d( n2 {5 W) O% S: Q) X, C3 Z
空指针,还是没找到!
上海点团信息科技有限公司,承接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) i* f* q- a# T- a4 S5 e- @
C:\Users\pc\Desktop\捕获.PNG[/img
8 @* I" k. Y% v: h1 ~1 Q当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

0 c; y: c7 f! y: R) D那就分析这个地方啦  - u) F; v% g( r; T0 b
, ]2 `8 B% o  H& r" e& }
我没法给你解答 没时间给你调试这个
* b1 ]9 \9 m2 G/ l3 ?
" E7 F- R7 [# r6 J: R你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了