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 4128 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 )  q+ u( D% {5 b  {
{
! V) R' R; \) Z* [" ]    /* Initialize the API environment */% q/ u- i, k' }6 P# N0 M
    if( UF_CALL(UF_initialize()) )
6 G! m; y) `2 S4 ?    {
1 [! V: [5 |! ?" K        /* Failed to initialize */) O* @6 p% L' q: v( q
        return;* a5 }  U) X2 R/ {1 x2 o
    }/ V. J8 |9 k* z2 b1 ~
    9 G, z, G0 s: Y! j! u) q
    /* TODO: Add your application code here */5 a* t7 p+ X3 d& w8 f7 D+ h9 B# `, t9 t
        tag_t part_tag;
: d0 n, c9 ]: |' I+ A) m        part_tag=UF_PART_ask_display_part() ;$ i. G. a% l! e
        int num_views;+ K( H. Q  p: L" w& y! B
        char message[MAX_LINE_SIZE];
/ Z  A. p) v( q: S- n: y        # t4 Y( M' K3 V5 B$ J8 D2 N- T
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";5 i/ e1 ?: h- }9 X  e
        UF_DRAW_info_t drawing_info;
0 g+ x% o) d/ A9 w  q        tag_t drawing_tag =NULL_TAG;2 B* T7 q% V, E4 }
        tag_t view_tag=NULL_TAG;
4 a7 W$ b: D8 R2 o3 {: r
& l4 Y1 f9 y; S2 `2 N: n- ~/ `        tag_t front_view_tag=NULL_TAG;; E8 [) Y0 d* S9 H
        char *front_view_name="FRONT";
2 U3 u4 T2 j/ _, {        double front_reference_point[2]={210,400};' @7 a! f- o& H4 w4 {1 \
6 ~5 z9 X  p5 {# ?4 `
        tag_t tri_view_tag=NULL_TAG;
( G/ l- O% v' Z, B' M7 w! F4 h        char *tri_view_name="TFR-TRI";
0 W# k; i; B+ l7 o$ N, l8 {        double tri_reference_point[2]={630,120};7 P, n* p* V4 e. r
5 W. P7 ?6 r: P+ V" V9 f
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
6 g/ T- u8 r2 q0 [, ]1 q8 n        double botton_reference_piont[2]={210,120};' v8 v6 D$ h  \, X% ~9 v+ O" _
        tag_t botton_view_tag=NULL_TAG;
( L9 G% W9 `& F( _3 O/ T8 B8 _$ G) S; R' c5 k
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;6 U1 ^+ D. r; k2 H6 \
        double left_reference_piont[2]={630,400};
8 i' v% r8 l* s4 D! h        tag_t left_view_tag=NULL_TAG;
) d* j0 |: r# ]7 B
3 G% t9 `$ Q" G/ `7 g& l        drawing_info.drawing_scale=1.0;
, I- l! M2 \7 Q: {& Z0 S        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;# W/ O* K& v5 `( ~' u9 p
        drawing_info.size .metric_size_code=UF_DRAW_A1;) |. B1 a7 L7 S; w% }& ^
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
9 @% [0 d4 e2 ~) r& Y6 e; f% e! e        drawing_info.units =UF_PART_METRIC;/ I. K! B$ r! _# d

, q6 F/ h7 S5 M0 _: u/ v; ]' N        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
" y( N. S7 k* y9 C/ Y. ^: C        UF_DRAW_open_drawing(drawing_tag);0 O9 n! h+ ?8 h5 _% r/ \0 n

  j5 C; W0 X# J! W7 W1 f2 W# B. f        UF_DRAW_view_info_t view_info;7 J, ]$ k: ]9 ?, _
        UF_DRAW_initialize_view_info(&view_info);3 u. {" Q: ~4 M

, C# e8 ^, N' C( ^* }        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
% w6 L: d6 c! L$ `% P0 c9 v2 Q        view_info.anchor_point=NULL_TAG;
" L3 N5 S% [! p# z9 j        view_info.view_scale=1.0;& q  q! [2 K2 _, K, i- X
        view_info.use_ref_pt=TRUE;
) j3 y" z6 J& Z$ @! b1 k        view_info.inherit_boundary=TRUE;- p  o7 l5 k+ S* l  M% x
: j- X+ q! b; \( f: x  ]
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);+ |& k' c% O5 S* F1 y
        if (view_tag!=NULL_TAG)
- w: h' u  W! `, g+ f8 t        {
6 L# B. k- H3 e1 ]2 F* R                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
8 s1 U2 d' u$ v# O                UF_DRAW_define_view_auto_rect(front_view_tag);
% a7 r0 n, g: W" m* X4 ?& s        }% b; b& T) F- @# v9 t$ z5 S  \
        view_tag=NULL_TAG;
) o/ i; K7 @) }# w3 s' V4 v$ I& e) F* h+ ~8 ?9 @/ z; \
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
. \) {3 @$ O) m) y" l+ z6 F        if (view_tag!=NULL_TAG)
2 X3 w9 x, c. c8 A0 p/ U; W        {
# @; r! k! j- c; q) H7 |' R                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
5 [  Q' I( G6 p( {6 c, g                UF_DRAW_define_view_auto_rect(tri_view_tag);
3 [: H+ b& O1 J2 t        }
0 r, R9 H9 E0 D    if (front_view_tag!=NULL_TAG)
" j0 E) c6 j% o( F3 S4 u    {
/ \) f8 O+ d, G: P4 w                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);3 M. B9 ~: y% ^! D5 t& U
                UF_DRAW_define_view_auto_rect(botton_view_tag);7 n$ B( W: @$ b4 ?
         }
! N$ P3 o* x2 G0 C. J8 p) X        if (front_view_tag!=NULL_TAG)( _: g4 `9 W! `. @) t
        {, |8 d2 ^7 N( S+ L
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);
2 x1 Q1 N! q" D  G+ p" E                UF_DRAW_define_view_auto_rect(left_view_tag);! Q7 K: o) |# j3 M, V, `3 N7 Z0 ~
        }: U3 T/ B3 W! T3 Y

2 x2 r+ Y, {' r: ~+ e0 f4 e; q- ^  w$ g. K
        UF_DRAW_ask_num_views(NULL_TAG,&num_views);+ c5 I. w( o; a
        UF_UI_open_listing_window();
4 Y% \$ c# B  h- Q% M5 T8 b        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
( n3 w! v4 U% c: U$ r5 c/ Z% B5 h        UF_UI_write_listing_window(message);: F$ O1 ?  E' X+ J# H* M5 M$ P; V
: Q- P' v7 J; C

! ^0 R, y  {. M8 D. v1 Q$ D: |
        tag_t object=NULL_TAG, front_objects[6];
9 A. s! I) g6 G2 M" P4 \        int    subtype, type, count=0;2 o9 y$ {: R/ C) j
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );1 J& x  J0 o+ i
        while(object!=NULL_TAG): L  M4 j1 z. R3 ^( Q2 k, O' Q" c
        {: s1 P# v- d" j& E8 d
                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
: a0 V' Z. r. A                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
5 s/ v. u% I% x& r. Y                {% e+ S5 s/ x4 ~+ N8 e6 B9 h
                        front_objects[count] = object;
1 X  }: p9 a$ T1 _                        count++;' l. n# r' N8 B0 C
                }
- j* G4 l; V' n& m                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );1 L; Z. [5 h  i9 {1 _
        }        
" j- e4 b( r% r1 {4 ?        UF_DRF_object_t object1;
, L" j0 n0 x$ ~# |, c& c        UF_DRF_object_t object2;
# {( [4 ?/ ]6 z. m( W# t1 M        UF_DRF_init_object_structure( &object1 );3 D2 H! K$ Y0 l+ M- [7 n8 }( {! G7 I
        UF_DRF_init_object_structure( &object2 );
0 H% h1 Z$ s/ s' F        object1.object_tag = front_objects[ 0 ];$ s  d8 w0 V* h; @$ U" b
        object1.object_assoc_type = UF_DRF_end_point;
7 h( t* u8 c) D        object1.object_assoc_modifier = UF_DRF_first_end_point;$ _1 E- R) X! t4 `
        object1.object_view_tag = front_view_tag;
, G3 `6 w1 a0 q) `        object2.object_tag = front_objects[ 1 ];
7 K; ]$ B- @0 Y# I. a+ n# o        object2.object_assoc_type = UF_DRF_end_point;
4 U" G8 d# b9 j  P4 b9 i        object2.object_assoc_modifier = UF_DRF_first_end_point;0 S( p' g2 Q: W/ a0 M* |
        object2.object_view_tag = front_view_tag;6 x# V* N  ]* C* s$ {; g
        UF_DRF_text_t dim_text;* A7 o9 j0 i* Q6 C. l: v
        dim_text.lines_app_text = 0;
) {/ T! e5 q/ G) x        dim_text.appended_text = NULL;( A! F& q, {( P% X5 |$ q
        dim_text.user_dim_text = NULL;
- M! C# n" e3 ]7 n4 |1 i& p: j        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
  K8 j: N" o6 U0 W        tag_t dimension_tag=NULL_TAG;
/ C: N* p+ N! ]" j        UF_DRF_create_vertical_dim( &object1, &object2,
1 G8 H; d% O4 T/ z! P* e0 W) ], C- c                &dim_text, dimension_3d_origin, &dimension_tag );  
6 D( n) y2 P1 {+ P: N1 V
- ?% f$ i7 S! G7 `4 X% f9 w; |
: I- o9 b" D7 L, _6 u        UF_DRAW_upd_out_of_date_views(drawing_tag);
% y6 n1 T" @3 Y0 S# ]( _' o0 S    /* Terminate the API environment */% U( q- Q0 r* L( b; L* ^7 l  w
    UF_CALL(UF_terminate());
3 t9 ]6 Q9 B, f% 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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
- w% F2 U, j) H; y" A. H( y+ t% X- y6 T4 w' Z. {8 M, x$ {
如果是 ' o+ f1 ?) v7 D- a4 Z& {0 k$ c0 Y
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下1 N9 s* F& [3 V2 \; k
8 o; Z- M. a7 h  o/ `/ 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 );  
2 O) k# R6 B; p, ^: _, g8 j
/ X! B* l5 O4 e7 f* l书上用的是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* _9 V& m3 O9 S* \
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
7 z& I. D+ D7 B; M+++ Encountered unexpected NULL pointer. See system log for details( o1 P! ^  z( U5 ]  Y
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );: Q, j) Y3 I% ]9 v, c" y, @8 q
空指针,还是没找到!
上海点团信息科技有限公司,承接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
6 K3 f/ n* ?; cC:\Users\pc\Desktop\捕获.PNG[/img
" k% H  o( G4 y5 O: F1 c当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

  z$ H& V/ {/ K( j% b那就分析这个地方啦  
/ d( u" Y* X5 U+ k& X% F5 M' i) c7 n0 v' J
我没法给你解答 没时间给你调试这个
! }) a& n* \. m
7 ^. \6 M3 r3 G% e你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了