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 3981 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 )
/ }! @2 b/ h- p9 A1 J/ f{: g7 l6 Z& n+ p$ N. e6 z7 {
    /* Initialize the API environment */' ^0 S% q3 x7 L' Z) @
    if( UF_CALL(UF_initialize()) ) 3 A7 h2 g. @" h& H) ?
    {
, U/ D6 F5 Q$ _' e# C        /* Failed to initialize */
; B2 K8 l, _& u2 Z9 [. `* _        return;! L  u! U# X* |6 j) E% Q; b" E
    }( x3 A( d& ~, S7 w
   
( v8 t( T: }3 M" c* [  E    /* TODO: Add your application code here */
% W0 x/ [2 h, m: M: G        tag_t part_tag;- A/ R7 g/ j5 P( S- e/ q
        part_tag=UF_PART_ask_display_part() ;
" D' O& r0 B+ z        int num_views;
+ U; ]3 y  Q8 j+ U  @/ q        char message[MAX_LINE_SIZE];: j. q/ l/ ]# A! L0 F3 {8 n0 {/ `
       
0 d9 i3 t, A) c        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";* O% K, Q- E. c' e2 c4 ?* M  a+ H
        UF_DRAW_info_t drawing_info;
6 u. G! \/ d% v4 y        tag_t drawing_tag =NULL_TAG;
8 [+ _/ }& q, z$ h1 x+ e( v2 `        tag_t view_tag=NULL_TAG;
5 ^: v: x! ?3 ^0 N' V
% E* r( W! o% Q8 p1 h        tag_t front_view_tag=NULL_TAG;0 C  j$ C1 c# o  S+ E/ k
        char *front_view_name="FRONT";
1 Y" C5 V' ]: v: Y1 A        double front_reference_point[2]={210,400};4 L% T0 |7 c) J& Q& [! s
7 a3 @- k) r6 @( o
        tag_t tri_view_tag=NULL_TAG;2 }. [2 a" ^- D* p
        char *tri_view_name="TFR-TRI";
# S8 F' }% \" W8 Z0 K        double tri_reference_point[2]={630,120};
0 D5 r1 x* _( Z% t
( [# n! v$ C, m4 h/ K# q        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;: f% K0 A; G% g7 C1 b4 p; \
        double botton_reference_piont[2]={210,120};
3 O, u1 q# [0 q! p, w5 r* F- X        tag_t botton_view_tag=NULL_TAG;: n5 y' K5 x/ Y, f8 [" o
* \/ ^, H6 G1 q5 M2 s9 X
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
$ }- B2 l3 I+ y$ A& s0 N, @7 C) ~        double left_reference_piont[2]={630,400};1 T* M. w2 e! R9 a" G9 V1 B
        tag_t left_view_tag=NULL_TAG;5 k/ Q1 s+ x3 q6 U8 v7 y  E0 J
' n' `' T" A5 n7 I! E  ~7 M
        drawing_info.drawing_scale=1.0;8 [: Z3 v* U) `$ q
        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;
7 S# f, f6 o, d5 }& z% |  x* Y" k  `        drawing_info.size .metric_size_code=UF_DRAW_A1;
; p* l5 l# V* D' N: }        drawing_info.size_state=UF_DRAW_METRIC_SIZE;! ?) b$ ?. O* O4 s& a- m1 v
        drawing_info.units =UF_PART_METRIC;
8 n0 [$ q# I/ i6 u- N$ B; K- K- Y2 {
% f: j# A$ Z# k6 M4 s/ `  n2 @$ F        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);
+ S2 J0 j+ D+ X8 h0 {4 t+ H        UF_DRAW_open_drawing(drawing_tag);
& z. f) d& G% R1 @. `5 I, I. Q: v( z) n/ A2 D% k" O3 W
        UF_DRAW_view_info_t view_info;
  I- W% w! f; U# d        UF_DRAW_initialize_view_info(&view_info);: v! K! A" K2 J1 U8 G' y" m6 Z
- T/ H1 P8 K5 I! v1 ^0 _
        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
) S! A- M! F, b5 D        view_info.anchor_point=NULL_TAG;/ _) d( z; D) k) I
        view_info.view_scale=1.0;, r+ o* P: ^7 V. y+ ^0 Z- [
        view_info.use_ref_pt=TRUE;( W0 |+ Z1 i9 G1 Y* ~4 _
        view_info.inherit_boundary=TRUE;& ?7 a7 @$ P, h6 r. O
+ V8 l% s; Z: S/ O# d6 {
        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);% w. |8 Q8 X2 Y  j8 X, u( z' V
        if (view_tag!=NULL_TAG)/ ~6 d; L5 d) y4 {& O
        {% C& I5 L4 G: j
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);8 x8 ]3 H/ ~$ I  f/ K
                UF_DRAW_define_view_auto_rect(front_view_tag);& z5 d- `2 r' u1 [
        }! Z1 W* Q" p; i" |- G1 g5 k
        view_tag=NULL_TAG;  m' ]6 ]$ ?3 ?
& v9 l. D; N) h8 e
        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
$ W7 u9 n6 R4 [0 O        if (view_tag!=NULL_TAG)( E, r+ C% P" e( E6 D8 A+ n
        {
6 O% [- M$ F3 J" |                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);: C$ j: R5 u3 w% B! k) x, t. `- a
                UF_DRAW_define_view_auto_rect(tri_view_tag);' B! y$ l& [3 q* _! ^" X" [
        }
3 j- @' z, I, T4 `2 r6 A    if (front_view_tag!=NULL_TAG)
. c% u  C6 n+ G6 J+ U/ H    {+ N4 e; E! @) E, Z6 z
                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
& a2 g5 F! M$ V7 ~                UF_DRAW_define_view_auto_rect(botton_view_tag);5 k7 ?" ^& V2 E: X5 G. i
         }
6 L1 t. ]: ^2 j: w5 ~0 C5 f, j        if (front_view_tag!=NULL_TAG)
# c$ z/ k; C6 x8 ^, E3 N2 e        {
/ p0 q! v7 U, ^- }$ ~, X4 L* p                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);& P: F7 L' `7 `4 {: S
                UF_DRAW_define_view_auto_rect(left_view_tag);" B9 h9 S9 D( l( O& J0 u9 {0 z: _
        }4 \% r  ?3 i5 m  X7 ^* Z

; K5 g+ s* Y( b/ Y  x) i4 _* C5 G# N, W* v9 P% ?6 I4 F
        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
/ h  n" q5 q7 t        UF_UI_open_listing_window();
" s! U8 a8 i3 D3 @8 `* w5 R; m$ P! I        sprintf(message,"当前图纸共有:%d个视图 ",num_views);
2 t4 f$ R2 N& i' c- J        UF_UI_write_listing_window(message);
, r+ q) f0 U2 D# o# o" f( U3 u1 d# H6 i2 z; C
' F4 x# f4 A1 y% J: s3 O
; @9 y( h/ u0 J6 B5 M7 `0 B+ y/ s/ w- n
        tag_t object=NULL_TAG, front_objects[6];% ^8 g* H  ^/ v; ?) `2 B& @0 B4 c
        int    subtype, type, count=0;
8 _: c- M. m; ]! _% C7 _0 X        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
( m4 U  c; R! c3 ^' S        while(object!=NULL_TAG)$ J5 Q$ r1 `+ Y$ [* w
        {6 z, \0 X7 z5 i: B& [6 r
                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );
) _, X9 u$ m1 ]8 z0 x# {4 M                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype ). r# K/ U& m" L) Z1 U
                {# T" D' {, d- g; p
                        front_objects[count] = object;2 O5 S' j* A" h& U! o- X
                        count++;
" d6 m: Q9 L# n. b9 u6 c. B* D' @' I% L                }% d9 Q- D( k0 f. S8 z/ t
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );
5 I$ W# N" |5 K) z9 v- j        }        8 f* [5 n8 h+ W( X+ }7 p, J
        UF_DRF_object_t object1;+ L7 k& Z9 C0 c
        UF_DRF_object_t object2;
+ ]0 ^8 i/ T0 ]" N' n8 N! o        UF_DRF_init_object_structure( &object1 );
* A; E4 r" K4 |* j( F2 k+ A        UF_DRF_init_object_structure( &object2 );
* [4 l7 y3 g4 P" i8 ?' r' W7 }( y, i        object1.object_tag = front_objects[ 0 ];
. v7 A+ ]: Z7 `8 G6 q9 T        object1.object_assoc_type = UF_DRF_end_point;7 O  a2 O  G  ]- n
        object1.object_assoc_modifier = UF_DRF_first_end_point;0 `2 q4 n2 S& ^& B* D
        object1.object_view_tag = front_view_tag;) K, B$ y0 c8 L. }0 n, E
        object2.object_tag = front_objects[ 1 ];
% I" u( D4 e. G* d7 N/ @        object2.object_assoc_type = UF_DRF_end_point;
  i7 a$ q1 k# n# F" ?1 M6 k+ n' p        object2.object_assoc_modifier = UF_DRF_first_end_point;8 [2 S; C5 ?; \* d: ]( H+ v4 O) \
        object2.object_view_tag = front_view_tag;
0 R& W; W- r4 S) M        UF_DRF_text_t dim_text;  L) g8 R. ^, A" L% Y
        dim_text.lines_app_text = 0;$ M1 G# |( t# K. I6 V  k7 R
        dim_text.appended_text = NULL;
; u0 n! z5 Z6 h! W        dim_text.user_dim_text = NULL;
; z0 {) U; [' Z) z4 ^' t        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };0 T0 J0 V" w) j7 e4 P0 ]; w
        tag_t dimension_tag=NULL_TAG;
, ^+ B6 i8 {! w/ J. x" [5 q        UF_DRF_create_vertical_dim( &object1, &object2,5 H/ P0 A3 L! d8 a4 X
                &dim_text, dimension_3d_origin, &dimension_tag );  3 \& t. P$ X* X  C! t$ D0 ?  l% N
" O8 a" e% Q( y
7 C/ a# b4 P. j7 ?! E: U# t- O
        UF_DRAW_upd_out_of_date_views(drawing_tag);
' T! Z. k* t& w6 ?2 S$ O% g    /* Terminate the API environment */
* {) ~7 G  n5 M! X2 z    UF_CALL(UF_terminate());
4 ^7 F! Z' d" D! P5 r. b1 T) S}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
1 m: @: J# o( Q* e3 O9 Z8 K; A" q; o" z: B7 u: r- r
如果是   p* Z; C2 W. h' m$ {$ q
那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下9 g+ h7 Z4 X+ P8 k
6 L2 d, I1 M6 k. x0 ?, C' j
如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接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 );  
: j* Z, Q5 t- @4 l
3 Q: L# V$ _" B2 m2 x; Y9 N: s书上用的是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
* I# C9 j: p( ^  k" n: Z当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:" A$ z' I1 x# F) P6 @! {
+++ Encountered unexpected NULL pointer. See system log for details
: B- P- r3 r( I2 O/ I1 M9 V' XUF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
4 [7 v+ r' E. z8 u/ O2 Z空指针,还是没找到!
上海点团信息科技有限公司,承接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
, I# g/ ]5 U& x. p) ]C:\Users\pc\Desktop\捕获.PNG[/img6 f/ o' X3 f8 X$ u- N
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...
0 `- {9 B$ q6 \2 R
那就分析这个地方啦  2 @1 A  ]2 g' q- e9 A# n
5 J5 A, @/ _7 i4 c% ?8 F$ t3 d# M
我没法给你解答 没时间给你调试这个
! P7 Y4 Q8 c. A! g' c6 S) H' |+ W7 g/ [. r+ a/ a3 R- `* j
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了