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 4266 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 )
8 c5 P, v4 M  z7 A* n{
  B6 Q% n3 Q% Y6 L3 `- G& A, o    /* Initialize the API environment */
, e; c2 C4 R' _* v, {4 I    if( UF_CALL(UF_initialize()) ) 5 H; ^1 L: [( h- P
    {# N# u3 T# d; n' v) |1 s7 y6 s
        /* Failed to initialize */8 T9 D, S7 _: \3 l: N. m
        return;
, t. N! N3 s3 t    }5 p7 N* g# K$ v4 j
      K; x+ ]) r1 P4 ^2 ]1 T
    /* TODO: Add your application code here */
  b: d/ W1 M% N2 F: Z) |7 R# F        tag_t part_tag;* S. H! W' V0 ]. ~, n/ k6 O( M; @) b
        part_tag=UF_PART_ask_display_part() ;5 g4 H7 }, C4 t3 ]# D  X
        int num_views;
- j3 M4 z- x+ t% P1 G        char message[MAX_LINE_SIZE];; s# l) t5 z& O5 d6 q
        * l, N0 B+ ?! Q. V
        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";, r1 E$ O9 F- S  T; l! J- \
        UF_DRAW_info_t drawing_info;2 ^6 l% u- ^/ Y; {9 g2 O
        tag_t drawing_tag =NULL_TAG;2 m7 g! i9 H! F+ \! ~! q- r/ ~
        tag_t view_tag=NULL_TAG;
. m, ~" A' }6 z4 W4 w( t0 E
5 j5 y3 B5 P1 x" C0 o5 I5 K3 [        tag_t front_view_tag=NULL_TAG;
0 u& D: P6 y# x2 W        char *front_view_name="FRONT";
( |. x$ H; M! j6 R1 }& \+ v* W/ ]        double front_reference_point[2]={210,400};8 G0 }* ~% D( ]/ y" z5 h( R
! X( }; Y& y5 S3 ]8 Y
        tag_t tri_view_tag=NULL_TAG;$ g! {- R) \3 M
        char *tri_view_name="TFR-TRI";) s2 K8 [, `2 J; o
        double tri_reference_point[2]={630,120};8 m' ?, [/ g6 [

/ V: X2 N9 B" R3 F- Z  w( V        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;' E' G7 S8 S/ }: C: ]( C, L
        double botton_reference_piont[2]={210,120};
4 }; ^0 u2 h% x! X( r7 X# f8 T        tag_t botton_view_tag=NULL_TAG;
: M) ]' R3 r; r# q& M7 T/ A$ S; D* Q1 i# A  Y3 }
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;6 C8 t0 U$ B. P  F: g0 ~
        double left_reference_piont[2]={630,400};
3 g* ^. I% Z! @6 a  H- `        tag_t left_view_tag=NULL_TAG;  d# B( K0 @! k9 ?3 V

- E) T/ R# O9 r; ?6 p; k) k3 L& o        drawing_info.drawing_scale=1.0;
; W' k; H( u9 w        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;1 `; g' b. s- |* _" L
        drawing_info.size .metric_size_code=UF_DRAW_A1;9 A/ ~  T1 F9 ?. ?
        drawing_info.size_state=UF_DRAW_METRIC_SIZE;- D! h/ p' T6 z/ ^3 y* q
        drawing_info.units =UF_PART_METRIC;5 R3 |; @( @9 r/ U
) O) b  W" a4 e6 i  x& A  l
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);+ N/ l8 G+ L3 l+ b$ j; L# p& R! F6 ?
        UF_DRAW_open_drawing(drawing_tag);
" s$ r* ]! g* v0 ]& |7 i( j1 N( A/ k/ o
        UF_DRAW_view_info_t view_info;3 t/ V9 u  i8 h3 D
        UF_DRAW_initialize_view_info(&view_info);
: D: m6 }* ]4 i
  w) {, t0 D9 |! ]) v3 h0 ?        view_info.view_status=UF_DRAW_ACTIVE_VIEW;! N% P7 ?. S+ k. C; c! c, _. A
        view_info.anchor_point=NULL_TAG;
0 }% x- C5 g' Z        view_info.view_scale=1.0;- d2 w( X' u* w3 u$ I: D2 X
        view_info.use_ref_pt=TRUE;# v8 i! j6 w" l+ G  z6 D8 B
        view_info.inherit_boundary=TRUE;
: T8 u8 _& v2 ^. O5 @
. ]4 x  J3 \( h5 o4 q. Q' \) ?        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);
3 `% r* A+ _  ]7 z2 w5 ?, z        if (view_tag!=NULL_TAG)
' T4 F) I% `* S% g        {, l3 ^3 j0 T8 v' Y! f1 x+ f
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);4 l. ?4 P- @  @# z
                UF_DRAW_define_view_auto_rect(front_view_tag);6 K7 a. G# K: T+ U- n
        }) F' L& x; L; ]+ b
        view_tag=NULL_TAG;/ N2 p; e7 i( J0 i
, W& L( b, u, |$ _3 ?9 {$ c4 o
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);9 Y# l3 t. f9 X) g2 m" ?
        if (view_tag!=NULL_TAG)% }, z: Q( o, U8 C
        {! B( V6 C4 C) S& I1 f+ f' Q
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);' c& e; Q6 z5 x0 k3 c* c1 X
                UF_DRAW_define_view_auto_rect(tri_view_tag);/ l& o6 @1 D/ v" @5 h% Y- w
        }
0 V! F& X) ^6 {* k+ ~    if (front_view_tag!=NULL_TAG)! Z, V, j, f: `- e! }$ V
    {, F& B7 b8 o/ x6 c3 f& @9 H- ]+ X
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);7 Z5 \; u$ t. `% N2 ~9 L
                UF_DRAW_define_view_auto_rect(botton_view_tag);
( d9 D1 H# Y4 z/ q, p9 i         }
' l! y1 X, E4 D# T        if (front_view_tag!=NULL_TAG)
# }, E. u8 H3 X7 P; }' o9 m        {  B! R( d# G; Y+ ^5 G/ ?
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);
, r0 y. U% ^; O6 t" d: i: a                UF_DRAW_define_view_auto_rect(left_view_tag);
5 F; i( U$ a3 g6 p        }
4 `5 |4 j( O5 ]/ Z8 b6 I1 k* `7 \) G# g* o: [$ K, x
, Z) q2 T; F" H% F
        UF_DRAW_ask_num_views(NULL_TAG,&num_views);6 ~) l. D6 B" f0 y* u7 \
        UF_UI_open_listing_window();1 h! _: }' ~5 e8 a* g
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
: o7 i7 F& Z  J3 T7 L8 Y! q$ z; g        UF_UI_write_listing_window(message);( W3 E3 D) i6 W! E7 i0 p8 O# U

/ v3 p, d! T% d
; H  A5 P' k" Z' [% s& T
2 T( a6 i  D9 z0 G, r! F* k/ w7 D        tag_t object=NULL_TAG, front_objects[6];% t  q1 N6 l* s; ^. E9 Y
        int    subtype, type, count=0;
$ @  _, i5 G: K8 e) Q        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );4 N7 ]# M% {+ _4 r
        while(object!=NULL_TAG)
& {" ~: N( M. @/ W- n) `% {        {
. _2 _- x5 {/ D/ o                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );% ]( h- O3 y5 e6 B
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
  _% I$ J1 {4 p5 E                {
& F! _! @. U- m0 d7 h# k                        front_objects[count] = object;, D/ G1 Q9 }/ U# ]! z0 H' l  t
                        count++;6 A8 V  Y4 R+ a( P5 G
                }- M: g  z) z' ?5 w1 u- ?3 u' y6 E
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );  X- v$ E& _( @# }% n
        }        
8 d1 g# K1 Y7 f7 S& g        UF_DRF_object_t object1;
2 i) v' u; y0 M        UF_DRF_object_t object2;
( [9 d6 G/ |7 K9 t        UF_DRF_init_object_structure( &object1 );4 b8 D6 f+ _) V" p) g0 A. `! O
        UF_DRF_init_object_structure( &object2 );
+ \7 U* @- c' ?7 Q        object1.object_tag = front_objects[ 0 ];
& i2 X5 {2 k$ ~        object1.object_assoc_type = UF_DRF_end_point;6 B* g+ A+ K5 K! C% V, v
        object1.object_assoc_modifier = UF_DRF_first_end_point;6 M9 L6 H) T. A% \
        object1.object_view_tag = front_view_tag;7 R* J! B0 T: P5 i" M
        object2.object_tag = front_objects[ 1 ];
* }3 |. o) G9 R3 M        object2.object_assoc_type = UF_DRF_end_point;9 b! _4 [) E  Y# }
        object2.object_assoc_modifier = UF_DRF_first_end_point;5 ~' q+ B  j% \
        object2.object_view_tag = front_view_tag;- t7 |# c) b* b7 R
        UF_DRF_text_t dim_text;8 ^8 O$ g( W( u( r" S- j
        dim_text.lines_app_text = 0;) c6 n  @/ Q0 C. f6 v( b5 ?
        dim_text.appended_text = NULL;
+ L5 a2 V* |: q) v9 T  T3 S9 M  e        dim_text.user_dim_text = NULL;% T0 C# h' c  t. }& h
        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };; S* n. m$ X. u2 p8 X4 Q0 T
        tag_t dimension_tag=NULL_TAG;
& o/ ~" T5 R0 \  ~8 v* ~9 W        UF_DRF_create_vertical_dim( &object1, &object2,* p% S  F! J8 D! U& f
                &dim_text, dimension_3d_origin, &dimension_tag );  
0 f" ^* y2 ?$ g  e' X( g; b: F' k
9 `1 g7 x9 V+ ~  R, i" P' Q/ `$ a9 Q8 b) B
        UF_DRAW_upd_out_of_date_views(drawing_tag);8 g- X$ H) z, ]
    /* Terminate the API environment */
6 s- e. i  @5 A; G2 m/ g    UF_CALL(UF_terminate());& M2 w3 O' W& E% b. 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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本" [( A3 ^: q5 G! s8 ^* t9 C
* d- ^7 N1 m" D
如果是 & C- w) j" v4 O. I& `
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下& Z+ @- _1 e& W
3 T. r/ b2 v0 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 );  
9 w/ V# g8 J, G# {, {- S7 L
0 l1 f; I1 w1 s! 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
$ b0 v$ Z9 S) \7 L当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:
" p# ^5 X$ n& C) z% B" W# S9 a* Q+++ Encountered unexpected NULL pointer. See system log for details
) p- S$ I2 d8 V0 ~3 MUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
' o9 I7 T& i+ c3 Y空指针,还是没找到!
上海点团信息科技有限公司,承接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' u, n9 ~/ S6 L5 g" @% u3 O1 a
C:\Users\pc\Desktop\捕获.PNG[/img
/ n( E& G& C: \+ U$ P, a当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

0 k9 ?9 L3 n' K! D那就分析这个地方啦  ' \* H3 h1 _3 K

! n( e( J4 o6 x3 B( Q3 L我没法给你解答 没时间给你调试这个
. L( j/ W* P0 }) x5 Q0 J& K$ I2 ^9 |/ v- ?; H  f2 }
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了