PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

PLM之家PLMHome-国产软件践行者

[求助] 在制图中标准垂直尺寸,麻烦看下代码按书上的老出错

  [复制链接]

2014-8-13 21:53:12 4247 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 )
/ |% x5 d- u" ]+ k  _( T" I8 E# [2 h{
2 w; R) a$ n6 B6 N8 v    /* Initialize the API environment */
5 G' J' p( }# S- [  R# V    if( UF_CALL(UF_initialize()) )
! h: W4 `) M9 Y    {
. N) F; w7 |1 P/ ~6 i0 n; c3 l8 n2 l        /* Failed to initialize */, a3 r# ~4 x/ @+ l9 b* Q
        return;1 Y) N  Q+ t( `3 @: `
    }7 F7 b) G8 \* C8 s- I( ^- X4 L
    ' [6 x0 e1 `  P0 ~% Z: T
    /* TODO: Add your application code here */
% a5 t% Y# Y. \$ w/ [        tag_t part_tag;! F& x1 k9 C" J
        part_tag=UF_PART_ask_display_part() ;
& `) }" W; V0 q4 C2 p        int num_views;0 X2 I# ^% O, G3 ?7 ~- d- @) }& [
        char message[MAX_LINE_SIZE];# G* v/ Y  D' E$ z
        : u  w% _: c% a1 g, m, z
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";
. \4 t# a; S$ t! e        UF_DRAW_info_t drawing_info;
8 H5 `/ v8 l$ P1 r, F        tag_t drawing_tag =NULL_TAG;: }) Q2 J$ S* h" m( P; Q9 U" B
        tag_t view_tag=NULL_TAG;
  u1 Q8 z& h3 T# G1 i  c
2 G' l% c/ b- `* a* t4 s+ g/ o& u1 A        tag_t front_view_tag=NULL_TAG;! K$ H! c& A2 M3 o" b8 ~
        char *front_view_name="FRONT";% \5 g7 |0 P  G( {0 _
        double front_reference_point[2]={210,400};3 ^0 }3 B. @, s# b8 |7 J7 A* G

! B3 c6 Y+ ~' y1 {        tag_t tri_view_tag=NULL_TAG;- s. r! I7 X$ N4 e0 x5 }
        char *tri_view_name="TFR-TRI";
3 t" _  n$ Y; V+ o6 x; d        double tri_reference_point[2]={630,120};1 r% C: ]9 z9 }5 Q- Y

) p3 P. Z# ~, \9 ?5 B* R) G; c        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;$ ^5 K' e1 x+ C9 {
        double botton_reference_piont[2]={210,120};
4 M; n$ o9 t, r% I- r        tag_t botton_view_tag=NULL_TAG;
( l; }2 q2 j# a& f& ~* E: r4 b4 X* n0 X/ q: W* A+ q
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
" v! n6 ?2 Q7 X" b7 L  W3 t) y5 j! z        double left_reference_piont[2]={630,400};4 K: W0 v: ^, G* b
        tag_t left_view_tag=NULL_TAG;
7 `1 o7 r9 z9 S7 F6 W9 R
% i% t, ~8 |2 j% i        drawing_info.drawing_scale=1.0;* W1 e+ q4 ]9 W, @
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;2 L) |3 F8 W5 [( b; |1 u) c% H" m
        drawing_info.size .metric_size_code=UF_DRAW_A1;# n) a! a$ b8 M# ?3 H0 y
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
; d3 m+ ^: C" N/ x        drawing_info.units =UF_PART_METRIC;# E! w/ O: q2 f7 j

7 F5 b" x4 L0 b% b8 _3 f6 j" O/ _        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);+ ~, a& y8 i  m# G
        UF_DRAW_open_drawing(drawing_tag);
/ V$ e& c' R3 s$ [9 e+ G
% D3 ~2 d1 F+ j; m- M- F1 E/ ~7 u        UF_DRAW_view_info_t view_info;3 u; r& s8 r4 o4 W" u8 i( g4 w
        UF_DRAW_initialize_view_info(&view_info);
0 V. E; g1 P, q7 N5 w& E$ S
8 z" `" r# V+ v0 ]; w( C        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
5 N7 E: p: H- d& A: ^$ o        view_info.anchor_point=NULL_TAG;1 w1 ~6 T# T- _  S; Y1 }5 D
        view_info.view_scale=1.0;
( x; X+ `7 X" i7 D) V2 e  @        view_info.use_ref_pt=TRUE;
# Z7 V( w* Y$ m3 `0 h, _2 R        view_info.inherit_boundary=TRUE;
' C; a. S/ Q+ _) q* r- |6 x8 w% X  E7 |) e
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
  x1 u/ O% o0 h: A' \9 a        if (view_tag!=NULL_TAG)
4 u" H9 N" f3 N7 K# L        {( J' \$ S* ]! g1 C! D
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
( A0 G, J. h, \: {4 o- m6 K                UF_DRAW_define_view_auto_rect(front_view_tag);: x/ a3 D" D! K8 y
        }
( F8 J, c  m- [! l7 |+ j        view_tag=NULL_TAG;1 ^2 n' v" t7 Z" C; U+ Q( v8 C9 @9 ]

6 u/ B6 \/ j: l' j! q9 z6 |        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
% E: [6 Q4 Q: |+ i6 q" u        if (view_tag!=NULL_TAG)
' V" ]( i. R3 [' A        {
* h8 A0 o, C$ u7 H9 E                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);
, Y. B; l9 V- C6 j! Y) I0 q+ X                UF_DRAW_define_view_auto_rect(tri_view_tag);. A& M6 G, U8 Y( O) D4 o
        }
: \! P& {' G0 |% P' p7 w    if (front_view_tag!=NULL_TAG)
- C1 O: c' c, ^* t8 J( y% B  Z( P    {
7 n( L+ G) m( s                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);6 A3 ]( Y& Z" @. o
                UF_DRAW_define_view_auto_rect(botton_view_tag);
+ x# C+ [& m* O: R2 j         }: d, D- N7 f4 u; L
        if (front_view_tag!=NULL_TAG)
- N% v+ r! C3 A9 v4 l1 e        {
5 N1 z5 a* P( ?( X, s7 _' {                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);8 [- {. s+ P( n; }
                UF_DRAW_define_view_auto_rect(left_view_tag);5 F7 Z' q1 G6 {8 X
        }; W$ H6 ~7 _: g: J- j6 {9 ^
) Y, q& j- Z) R) F% M' N$ Z1 Z

8 u- D- W# R! Q" h  U. M+ A  Q$ D& s        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
- ^( F/ s1 b8 t! L- u- }        UF_UI_open_listing_window();$ I; Z% E) m$ q( \  S  {
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
9 M' j, i1 A" J. g; G8 k        UF_UI_write_listing_window(message);
2 s/ F8 r+ \( h) ^/ b( h$ ^, k  [; H% f, N. ~! ?0 p

) s: `; R/ |7 t3 M7 E/ [, y; A8 }. j# k0 \+ _
        tag_t object=NULL_TAG, front_objects[6];
+ \- ?3 b) I& P3 ^/ w% B        int    subtype, type, count=0;
! ~7 ?& G) F+ j& D* `6 w7 N        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
( q7 u2 s# h! G$ ?        while(object!=NULL_TAG)
! X, C5 Q3 z+ ^( N3 t        {
4 E* K0 [! J! V) E, P                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
, ?2 Z7 _7 L" C! v' O: V                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )0 d! l" i, V1 }! v  `
                {) I2 e' S" ]% b- o$ L
                        front_objects[count] = object;
1 c; K4 u' P' c' C& \                        count++;( [$ i; S( n& a8 O. k
                }
) n; n  V' P; m: N4 K                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
9 J7 e, M9 A; X8 R' J4 B        }        2 v4 D3 H) E" V  _, t( c, e
        UF_DRF_object_t object1;
- e+ ~0 I" \& c/ t        UF_DRF_object_t object2;+ e  C' e0 S  W. J6 A
        UF_DRF_init_object_structure( &object1 );; x4 F9 S; f2 u6 U5 `( s4 ]
        UF_DRF_init_object_structure( &object2 );
* H. r: S: n# e" o        object1.object_tag = front_objects[ 0 ];
+ v: @2 \! y6 K- l" Y0 r& C        object1.object_assoc_type = UF_DRF_end_point;/ X/ w7 ?. ?8 e# N1 Y& b  ~* F
        object1.object_assoc_modifier = UF_DRF_first_end_point;
6 ]9 s5 v7 v# e* F& J7 c, {        object1.object_view_tag = front_view_tag;
2 }# k2 C# c: W! ?        object2.object_tag = front_objects[ 1 ];$ O8 I. q5 [' m3 F% r9 M2 D  }
        object2.object_assoc_type = UF_DRF_end_point;
! F  M3 ^# x/ K0 P" D        object2.object_assoc_modifier = UF_DRF_first_end_point;9 E3 Q4 I, A1 p
        object2.object_view_tag = front_view_tag;
' P# D& T' E$ j/ R5 R0 y        UF_DRF_text_t dim_text;. A" N* l7 G0 _
        dim_text.lines_app_text = 0;
: k8 v% A/ p- [# L3 y2 A: P        dim_text.appended_text = NULL;
$ m* a1 @9 Q3 ]/ a        dim_text.user_dim_text = NULL;& S. k" }) J4 c# N6 a0 N
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
# V' ~7 p! I/ V. D! \, o# T        tag_t dimension_tag=NULL_TAG;0 ~+ d6 [4 [6 s* \! J4 \
        UF_DRF_create_vertical_dim( &object1, &object2,5 D/ v5 ^- L: v8 Z
                &dim_text, dimension_3d_origin, &dimension_tag );  ' y! j6 c" @* z7 T" Z8 d1 w
0 I7 N# a1 a( n. ^4 \% ]. k
, Z* b2 `3 y3 z( Q0 a
        UF_DRAW_upd_out_of_date_views(drawing_tag);# H& N- `) Q( f$ o
    /* Terminate the API environment */
  b  I4 {: K) F6 W    UF_CALL(UF_terminate());
4 E7 h! s( B0 P) _6 a7 Q}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
+ H2 t8 |/ J& h( }0 R5 b/ s! B, Z+ J6 @7 z' o; v, u
如果是
) r6 @4 ~5 K0 g9 m8 h+ a% L那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
* D7 a! I5 D# v4 @& p/ A2 v8 {4 p6 N6 C, d& {
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  . Z: [8 D' M/ [0 g' m
1 Y2 h# ~0 w/ Y" q5 R* }
书上用的是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
0 w$ s( x( ?; g6 A' U3 v: c$ e) I当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
* g5 h% t4 E& j- N. L+++ Encountered unexpected NULL pointer. See system log for details- m9 n' b6 H" w4 j* ~
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
" }- D, }* s5 S! @! M空指针,还是没找到!
上海点团信息科技有限公司,承接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+ ~; g* d+ y9 _" \% k
C:\Users\pc\Desktop\捕获.PNG[/img
: q9 r- I, j8 V+ P5 ~" q当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

/ ~# ~$ ?, v; x% s那就分析这个地方啦  , r) S0 w/ ^7 C5 p! u

1 E2 ?2 A+ c9 g6 I6 N& q- y我没法给你解答 没时间给你调试这个
  q* R, x4 H2 z6 \  n/ w. C
* }8 h- h8 X/ g你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了