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 4260 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 )3 h: F$ A+ Q+ T, J2 c
{
/ M; J! L% k: n4 C7 d    /* Initialize the API environment */) X: n1 w  i5 [! ]7 ?6 A5 g
    if( UF_CALL(UF_initialize()) ) 9 \5 |! i) l; a3 B/ U3 ~
    {) ~' E  m9 O: g# w4 K
        /* Failed to initialize */
- \* `: @1 _5 |; l- n. c        return;
" M8 h3 e5 @6 |& N8 b    }
2 D5 j0 y/ U% Q  Y: e4 s9 s( {   
, `7 P) W0 ^- d8 A7 @    /* TODO: Add your application code here */
) O$ v! N6 u+ Z$ o3 o8 i        tag_t part_tag;, p0 f6 q/ u- D6 `9 }3 q
        part_tag=UF_PART_ask_display_part() ;6 R5 Y1 B) ?" I& J) @1 L
        int num_views;9 l! a+ r0 P1 \. R7 J: J0 Z; U
        char message[MAX_LINE_SIZE];3 Q6 W* ?( z  }" ~, h5 p4 X3 k+ m9 C
       
2 k( H8 _7 t& u' k        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";1 x: V- @+ {* O- d1 N# R& ?6 W
        UF_DRAW_info_t drawing_info;( |! l. B4 z* X+ x+ i& K+ Q
        tag_t drawing_tag =NULL_TAG;
- S+ I' y: E. R+ o7 M        tag_t view_tag=NULL_TAG;$ L% s  F! q( g6 `( R+ N

' A" Y6 i8 h0 }, b, J  X        tag_t front_view_tag=NULL_TAG;! d2 p" M1 V" u! e: f
        char *front_view_name="FRONT";* `$ e( r2 G, a  z  A
        double front_reference_point[2]={210,400};
5 ~* U# S5 j1 N, U) D) a* ]3 z
$ A/ s3 f+ e6 x8 K5 Y0 N        tag_t tri_view_tag=NULL_TAG;* f: u/ j6 G; ?2 d. ^
        char *tri_view_name="TFR-TRI";6 R- w1 w) C, {( n' l' c* M
        double tri_reference_point[2]={630,120};
2 X. {5 C) `+ L; c1 Q
" p& R: H" O8 s* C: A; S% ^        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;
( Q6 c( R0 I9 u0 k) J9 o$ [        double botton_reference_piont[2]={210,120};+ Y* R% i  b2 m1 z& ?6 @5 z# d
        tag_t botton_view_tag=NULL_TAG;# s& d& m+ R% |3 t" p; j9 e
8 l$ D5 n! }/ ^% w
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;1 |! B, V' w& W7 y2 o
        double left_reference_piont[2]={630,400};
/ e1 t2 H9 g  ~* P$ ?* s) ?        tag_t left_view_tag=NULL_TAG;
$ B' U5 z3 _* a2 V% i/ `" n4 u' ^+ ^: R) Y  k
        drawing_info.drawing_scale=1.0;
1 }( K# A& x) j" B        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
, q% P% p5 V" V        drawing_info.size .metric_size_code=UF_DRAW_A1;8 v$ J! z! n/ p* P7 R9 I; Q
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;: O# D0 h1 B! l3 T1 p7 @& K4 n
        drawing_info.units =UF_PART_METRIC;
' `& f6 j. |* \5 o  a
7 G7 @/ f" U$ a) x1 D- Q        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);4 j3 O  u' a  B' w" A
        UF_DRAW_open_drawing(drawing_tag);
3 a1 c; w3 a* q- N- ?1 ^1 `- _
* D  j: L: X# L8 L) N& h        UF_DRAW_view_info_t view_info;" |( e+ ^. \0 d$ P1 n- D+ q
        UF_DRAW_initialize_view_info(&view_info);
. v! W. Y" G+ C! G+ A
* T7 M# a& g& ?( N( @+ R5 {        view_info.view_status=UF_DRAW_ACTIVE_VIEW;: T/ U! B$ q4 I7 J: J' y
        view_info.anchor_point=NULL_TAG;
& J0 B% I* Y6 V% H& y& @8 o        view_info.view_scale=1.0;
6 H' d% X/ u8 Q4 Q! x0 J- Z' H. Z        view_info.use_ref_pt=TRUE;
! E( E0 V- w4 E1 i7 @) w% j        view_info.inherit_boundary=TRUE;
( p& u0 K. }+ Y& H* j
4 o0 s5 Z) ~+ N, c        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
1 h  t* P. y; C! E' P        if (view_tag!=NULL_TAG)
* ]: H+ t- Q; t2 P" ?& ?0 g1 G        {
. b+ F' F3 u) `4 ?5 _1 ~                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);6 G: F. Z$ b$ P7 V- z; C
                UF_DRAW_define_view_auto_rect(front_view_tag);
* w( ^$ Y: n% I0 Q* b        }
: E: [* q- ^! M        view_tag=NULL_TAG;
/ ^/ A5 r0 \) O+ x1 c% `$ U- m; v- ?# M3 J( l: k+ U
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);" q$ h& s( }& [: p
        if (view_tag!=NULL_TAG)5 y2 n2 K8 s, y
        {/ {, C  h7 ?( U- p# }
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);3 K9 A+ r/ D. u7 Z$ ~7 j! `/ Y! {
                UF_DRAW_define_view_auto_rect(tri_view_tag);( h" a+ _, o) @: ], D: X
        }
( y. [/ p3 X3 M+ e$ x; K' n    if (front_view_tag!=NULL_TAG)1 q/ j- A3 L5 o0 e
    {
/ E# W( @/ t6 w7 d- i0 S3 o" Z                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
2 R& e9 ]/ p0 k                UF_DRAW_define_view_auto_rect(botton_view_tag);
" S( T+ r. Z/ u2 c; G% R         }" U& x8 V4 f* P1 |% q
        if (front_view_tag!=NULL_TAG)
0 @7 u/ I* ?4 M1 A5 w+ K1 B6 ^1 a        {
! Q+ t/ y1 Z6 n5 z9 \8 D                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);0 D$ v3 \8 U0 G
                UF_DRAW_define_view_auto_rect(left_view_tag);
; `( t7 b+ }. X! i  l        }
+ Z5 k. V. \' X( \6 n* p9 |( N$ b# Q) K2 }) p' ~

( {6 L# X/ ~* Q' d        UF_DRAW_ask_num_views(NULL_TAG,&num_views);$ w; P9 Y+ _3 n8 H0 l' B
        UF_UI_open_listing_window();2 s1 X3 \, H4 ~( I4 f
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);$ p8 Y. J: y0 l! q/ ^" L( Z0 W
        UF_UI_write_listing_window(message);
# Q$ |9 L- L; Z7 V+ r: t; C3 V7 \. D) s( g
3 q1 G: |) ?. I1 S' F

1 O2 ?+ e) B+ V6 C+ Q6 Q! K% n3 {        tag_t object=NULL_TAG, front_objects[6];
# _6 \+ Q- R. w4 m/ c        int    subtype, type, count=0;
6 u6 `5 B! w. x  d% [( G8 Q        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );( q$ k" @& Q& Q/ N7 t
        while(object!=NULL_TAG)5 Z8 j# o+ G4 M% H# }; r" P1 i
        {
9 t$ X9 E6 D+ c$ t" N( f8 s: G9 y1 ?: G                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
- e. A- v8 ]  q8 ~                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )0 i4 m+ a, }0 V: Q! m: B% `2 U( s
                {
+ {2 Z; y& z1 y6 L+ n7 Y$ v/ ?- }                        front_objects[count] = object;
, J1 X  d, y1 P/ J) |7 p                        count++;
. r& B& p( I5 D- \; [                }: h# r. I9 c2 D* y* Z$ @, p* T
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
" ]' m: Q( U2 @3 T0 j. p! v; {        }        . @( e" T2 Y, c. ~
        UF_DRF_object_t object1;
' \6 ~) P" U9 V( x1 u' G        UF_DRF_object_t object2;5 g+ A8 j# \/ t9 ~6 {9 Y
        UF_DRF_init_object_structure( &object1 );
' j. H+ P7 A7 b# W& s$ v; ]        UF_DRF_init_object_structure( &object2 );  S/ W. W% @& x$ @/ |6 s) l
        object1.object_tag = front_objects[ 0 ];
$ K3 U% }; ]1 b0 E; C. [5 ]' B. y; h' V        object1.object_assoc_type = UF_DRF_end_point;
% J* y2 C1 C5 M* j$ x: }        object1.object_assoc_modifier = UF_DRF_first_end_point;, R6 N' y' C2 n' N! f) ~
        object1.object_view_tag = front_view_tag;
- e5 Y' N9 x. `0 m: A7 s        object2.object_tag = front_objects[ 1 ];
+ ?* L0 E1 g7 @  E6 j+ a% L        object2.object_assoc_type = UF_DRF_end_point;
% Z# q  f2 G/ `0 y; Z, l* H2 c        object2.object_assoc_modifier = UF_DRF_first_end_point;
7 e+ r- K5 G& p; `5 c. F: {" c        object2.object_view_tag = front_view_tag;
. k9 |% C. _  o! u9 |! n        UF_DRF_text_t dim_text;
6 k5 c* e; A- _2 o& b. p. p& |  e        dim_text.lines_app_text = 0;- T2 C! J7 W4 g) n
        dim_text.appended_text = NULL;
  u& i( K; u$ r8 k        dim_text.user_dim_text = NULL;
* u5 e" a( m0 X8 {        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
( `+ g1 Z2 O$ U' F3 D        tag_t dimension_tag=NULL_TAG;
- `. X! v/ C7 G& B3 J' O  F) |4 h        UF_DRF_create_vertical_dim( &object1, &object2,
2 `2 P# B0 y! Z' E& P5 a                &dim_text, dimension_3d_origin, &dimension_tag );  : W) X7 Y' g, k/ O' D
: W# i! ?, P) m% f6 |9 ]- a0 B+ Y" q

7 V2 A3 j, ^$ L& Y: ?* ]2 G9 z        UF_DRAW_upd_out_of_date_views(drawing_tag);1 M" ~1 e& }& l& Z1 ]
    /* Terminate the API environment */
; n2 B  W4 K/ ?( h2 K; ?1 _& _    UF_CALL(UF_terminate());
! n; S# L% ]+ [; a( F; S  x2 }}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本( ]: k0 l0 @$ t- R
: @8 \) `7 y, d; e9 v9 Q" L5 u
如果是
# j* a% Y" K: y/ G, ~4 P0 |9 X那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下
! G* V3 q$ f- U" D* b  N$ ]& }! e5 H6 C3 l. k) Z4 ?
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  1 Q# J* K/ `+ G; t$ d" {& t
0 f3 q3 Y" F# c: D6 Y+ \
书上用的是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" S3 `$ t* G( q: `1 S$ H$ V, o
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
$ |  M& i! J6 m% R' j0 C5 _- N+++ Encountered unexpected NULL pointer. See system log for details1 w2 |, @: |6 f" o5 `& l$ s
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );  N: @' T- d/ K' P- O
空指针,还是没找到!
上海点团信息科技有限公司,承接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  p+ G7 c# K: e4 A
C:\Users\pc\Desktop\捕获.PNG[/img" n1 K( b( s" f; P6 b
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
9 e- k" q/ c3 W5 ?* L, }' R# ^! r' N
那就分析这个地方啦  " \3 g; v. [$ W6 X" z' c" M
! c/ B) O9 c) V
我没法给你解答 没时间给你调试这个  r8 W& N: {5 K8 N
% h% i( p$ s6 P- {& T
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了