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 4243 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 )
6 M9 x  }. I& O' \& k" b# m- S{) a  G+ t# _) i
    /* Initialize the API environment */" `& l8 h& `. p) C1 c: _
    if( UF_CALL(UF_initialize()) )
9 f: S9 }) w# B) p5 v$ X    {
' ~' X" i4 B8 `2 b# L3 V        /* Failed to initialize */
! e0 ]1 T3 T& X! x        return;
) I1 }( i7 n8 f    }' P. \( H! S4 G! V% T
   
1 |0 }8 X0 V: S  \; `8 i9 d' V    /* TODO: Add your application code here */
  \* e! U  Y# V        tag_t part_tag;3 h0 X2 `* U3 O, m
        part_tag=UF_PART_ask_display_part() ;& Z; V% z/ V( M+ G
        int num_views;! s5 k# O' U8 \- P* Y% z
        char message[MAX_LINE_SIZE];! U. b# a$ h! ]& r, w/ V
        4 a- Z( t  @/ v2 O6 y" @
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";& N4 f& F# Z  J. G2 h/ g) c& u
        UF_DRAW_info_t drawing_info;
/ |9 o! h/ L, |& |        tag_t drawing_tag =NULL_TAG;- T4 D; F+ _$ @. z' |- k* a; K
        tag_t view_tag=NULL_TAG;
- @- |3 g' A1 [+ q# A! o; D. z: s4 ~5 c* i" ~/ \+ X$ t9 ?, j
        tag_t front_view_tag=NULL_TAG;/ c( K$ U! _4 g7 @) p0 b
        char *front_view_name="FRONT";
! g( Y% L! d* `* o; {- G& i6 h, }        double front_reference_point[2]={210,400};
$ @: Q% J' S2 ^! |2 o
3 i3 T$ V1 h$ K% k& N        tag_t tri_view_tag=NULL_TAG;0 a: a4 h* r7 X7 G# E1 f( T
        char *tri_view_name="TFR-TRI";
$ f( k' E% {5 `& r! ~        double tri_reference_point[2]={630,120};( h+ ], f# E2 p0 n
" U7 s% R9 h  p
        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;/ T$ H$ s9 B6 ?; l
        double botton_reference_piont[2]={210,120};0 k( f/ j. I- j0 a
        tag_t botton_view_tag=NULL_TAG;2 X) x. Z/ a+ }6 c: r1 X% A

# ?! r+ s0 L$ w) C; w  g! C: ~        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;$ H* ~9 r) B( _5 w- ^$ K
        double left_reference_piont[2]={630,400};; Z1 |" Z5 j* J9 k: L8 L  W
        tag_t left_view_tag=NULL_TAG;' K6 X3 P: u* a3 l
8 e  G' t$ S( A! B" V3 E3 X
        drawing_info.drawing_scale=1.0;3 i) X2 Z, u$ H, R, D, \0 w
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
# ?) H4 L# K( i+ [8 [        drawing_info.size .metric_size_code=UF_DRAW_A1;
7 o- Q9 ?4 D4 W" _        drawing_info.size_state=UF_DRAW_METRIC_SIZE;) e1 V. h/ \6 W1 C2 K4 h
        drawing_info.units =UF_PART_METRIC;
: ?" \0 g" z% ?' D7 y
/ r9 |  ?+ b3 l7 _$ y7 H        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
6 p9 y2 X1 M1 u+ J( \7 e1 ?. v        UF_DRAW_open_drawing(drawing_tag);
6 Y+ j1 x# A; j3 l+ }( S& G' i+ J0 X' D5 v2 q
        UF_DRAW_view_info_t view_info;
* r4 h4 `+ j. _; x8 A        UF_DRAW_initialize_view_info(&view_info);; C0 y# q5 p; P% |
' i' Q+ b2 e' r$ j" G) |
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;& P2 w1 v: x8 ]4 j
        view_info.anchor_point=NULL_TAG;
: w3 Z; C) K* `& Y        view_info.view_scale=1.0;
6 M. N7 r7 w: I# p$ b        view_info.use_ref_pt=TRUE;# O0 R9 S! _2 z$ T$ B( @: u
        view_info.inherit_boundary=TRUE;
! p9 m+ D) u  U7 S7 s+ {7 I
, f! q2 ?6 p" G' h6 n$ W4 [        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
1 T/ O2 a5 @1 Z6 k+ D" I        if (view_tag!=NULL_TAG)7 g% ^2 {2 T" W5 |7 ~/ t  u7 a/ J( g, t
        {0 m( R  ?* |4 {+ y
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
: b6 i1 u2 o4 h& |# M& U4 B                UF_DRAW_define_view_auto_rect(front_view_tag);
- R1 O0 `/ s) t: d( i  Z. w4 f        }; [5 z  G7 ]: _2 U/ m3 x/ F
        view_tag=NULL_TAG;
+ M+ e+ ~' M" r! Y$ K( @2 S/ W& ?
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
; r; Y2 v' c! V) m2 }        if (view_tag!=NULL_TAG)
+ a% F4 q3 t( `0 N        {
5 _- D  K3 M& d& l; |) z" r1 M/ g3 L4 {# o                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);4 ]7 c; U# ?& c
                UF_DRAW_define_view_auto_rect(tri_view_tag);: A; w  r# M5 @
        }
& h$ z8 @' Y7 U7 X$ t- R4 `3 |% d    if (front_view_tag!=NULL_TAG)
, _; Q& w2 M2 ^  e+ ~# y    {4 D! t/ {/ Q( @1 K/ G
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);7 B" Q+ E& F% Q$ |
                UF_DRAW_define_view_auto_rect(botton_view_tag);3 R$ _; c" U6 @6 B* ^
         }" @4 l! j  Y7 ^" _0 K
        if (front_view_tag!=NULL_TAG)' L& _# n6 b9 _% i  Y  C
        {- c# d3 A( w& `
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);" \2 {6 v4 }3 F/ P) S
                UF_DRAW_define_view_auto_rect(left_view_tag);
8 K1 O& I6 i3 z/ h! j        }
4 {8 K. D8 i7 ^: Y7 a( w$ A; H3 K9 `( v  s. W9 G

* l$ }) n. }) \) x2 x5 L0 E        UF_DRAW_ask_num_views(NULL_TAG,&num_views);; s! T1 T( Q" a0 _# d) r
        UF_UI_open_listing_window();* N# ~' p+ `5 A! |( U; o6 {
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
8 S3 L) f, w0 @9 V% c9 p        UF_UI_write_listing_window(message);8 W: f4 J3 ~7 D* [8 `+ a& j2 Y

3 W% c  m- F$ }" J1 O; H5 D3 q. R# G4 b
- N$ Q2 T0 G. r' Q, J
        tag_t object=NULL_TAG, front_objects[6];
9 w+ x& |$ ?5 S. d( g, Z  g. ?+ }        int    subtype, type, count=0;
- \, N/ ]; ~+ Y        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
- n* T( ~! _" K8 ?7 I5 A        while(object!=NULL_TAG)# w* ?( t0 B3 S# H
        {
( ^; g1 j6 H  s( i/ [% w8 O9 \                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );1 Z# G1 M; M# E
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
3 C: W& v# W9 r+ [" m                {1 O' P8 V/ i8 F( ?
                        front_objects[count] = object;
- P; v* z/ h2 v* v! \                        count++;
# O1 a; T# J) S                }
* @7 q  p1 B" s* ]6 ?1 f9 I                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );* f3 D; ~; K) Y. F. @  Q
        }        2 E" Y$ i9 T4 A/ B& b* I" W
        UF_DRF_object_t object1;2 v$ h' l$ A) d2 i* P8 x
        UF_DRF_object_t object2;0 u* h% v4 d# k/ U2 v7 s  L
        UF_DRF_init_object_structure( &object1 );9 T3 Z. Y5 \3 f- R
        UF_DRF_init_object_structure( &object2 );
0 ^& |  l1 W6 Y& x3 J  S" g: S        object1.object_tag = front_objects[ 0 ];! U- k! @& D2 e
        object1.object_assoc_type = UF_DRF_end_point;
0 j" c  }! E& V) J5 T2 k  b+ }        object1.object_assoc_modifier = UF_DRF_first_end_point;
5 Q; X7 ~2 h( K2 {- _        object1.object_view_tag = front_view_tag;
: j, y) b  d% Q- M, d; C        object2.object_tag = front_objects[ 1 ];) I( a& u, w- k& e8 p8 Z2 f0 Z' O
        object2.object_assoc_type = UF_DRF_end_point;
: }, E9 s% E. w: h$ }: J        object2.object_assoc_modifier = UF_DRF_first_end_point;" G, j# U4 b: C' `7 h
        object2.object_view_tag = front_view_tag;
9 l  k" y3 w' W+ _0 J/ s) `% V- _        UF_DRF_text_t dim_text;( [5 j' {5 Z% y0 Y* [
        dim_text.lines_app_text = 0;
) }/ f( `' B- f; z        dim_text.appended_text = NULL;
8 J% ?/ C! ?% U$ ?) R0 L        dim_text.user_dim_text = NULL;
" H% H- l6 d8 m& I, x        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };, }, e/ [. f6 n; C1 B! }2 s
        tag_t dimension_tag=NULL_TAG;
  M% j; C7 T' D8 r, K& s" Q! r0 A        UF_DRF_create_vertical_dim( &object1, &object2,
! |' @/ x- J# z; h5 R. N& a                &dim_text, dimension_3d_origin, &dimension_tag );  
- p6 ], i3 }$ _; i% x; T( J
" V. `: W9 l- H* z8 Y3 M0 G- I5 `9 M& |
        UF_DRAW_upd_out_of_date_views(drawing_tag);9 [! x: x$ O$ N8 Z
    /* Terminate the API environment */) b  R5 Q- h! a  z6 i
    UF_CALL(UF_terminate());6 Z, s% u! O& @% R) _8 b- G
}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本7 w6 X  |9 `( Q) w; ^

7 G$ `" k0 }9 s/ \2 o$ `如果是
/ J- {" _1 O. r3 T那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下- g  o- @; y( j0 b
- j* \' S8 v- n- x$ x7 x# c
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  ( v: j3 q6 _, z, {' N

* r  G& {) O; z1 p) b  _# i% G0 E书上用的是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
& m7 f- _1 z2 N  n! A# j, k当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
. k. W1 f# K- C) |- m+++ Encountered unexpected NULL pointer. See system log for details# {! Q6 H+ f8 n1 _: I' {  i
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );$ V4 S  A" \. H9 Y& Q/ f: 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:433 i! ~5 \& J+ \( M9 p8 x; j" J
C:\Users\pc\Desktop\捕获.PNG[/img; z+ K- J; U) ?4 q& [  a
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

7 a, |. _/ z2 w& f: Q+ a1 P那就分析这个地方啦  # J! e1 n( X: C, |0 h: k1 _3 v: e
8 [) {" Z% ^* h% m8 u$ E, Y$ j% d
我没法给你解答 没时间给你调试这个
7 Y+ Z) M! |# |) H) E8 ]; X$ N" k1 d$ e2 m- `9 r1 @
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了