PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

2014-8-13 21:53:12 4497 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 )7 R$ X4 h0 s/ w# p
{; H, y+ t8 K  q1 p8 |/ g% |1 ]! J
    /* Initialize the API environment */
- }$ r( U# A; g    if( UF_CALL(UF_initialize()) ) 9 s1 Z2 z2 [  E/ V, ?4 d
    {3 i  C+ U! h/ p  Q+ U$ s
        /* Failed to initialize */
/ p$ o; y2 g3 p8 V5 C% b2 K& S1 z        return;
# T5 n- @4 _+ K. q$ N; V9 f# @    }
; w, |8 I  X) e' _7 U& w8 U) ]   
, P' b* ^7 y$ J4 N+ M: s& ]    /* TODO: Add your application code here */0 n' f6 e& |4 V% \
        tag_t part_tag;  W0 D3 T0 s# U
        part_tag=UF_PART_ask_display_part() ;
2 X$ O: E9 v, Q, L        int num_views;
, [8 \' f  ?1 P1 y$ f        char message[MAX_LINE_SIZE];
+ X. h3 ?  \3 ~3 X% S: X$ m       
: [) a0 s' |3 _7 V, w7 J% {0 u        char drawing_name[MAX_ENTITY_NAME_SIZE]="my_drawing";$ N- X7 v4 T6 ^
        UF_DRAW_info_t drawing_info;
3 h0 o" f  x$ s0 @7 m( {        tag_t drawing_tag =NULL_TAG;! o, u7 L, x1 f5 `" K
        tag_t view_tag=NULL_TAG;9 Y6 C# G' x+ `, z$ Z

6 M2 ]; f, J$ I( W, c        tag_t front_view_tag=NULL_TAG;
" r. N$ r; H$ U1 L3 J0 y        char *front_view_name="FRONT";( C& z, h4 _3 L) J
        double front_reference_point[2]={210,400};
% G/ N7 |4 {/ _) C, @! U1 w, Z+ z' p/ Z8 e' N& V' \1 c  E- z
        tag_t tri_view_tag=NULL_TAG;+ A/ }* R( x1 i/ }
        char *tri_view_name="TFR-TRI";1 I# m* _0 Q1 L1 t. a" n
        double tri_reference_point[2]={630,120};9 [4 I, n( o1 M; \3 F4 b

6 ~/ W& q+ E5 v- h5 E        UF_DRAW_proj_dir_t botton_projection_direction=UF_DRAW_project_below;5 x2 N! K6 o2 `4 n
        double botton_reference_piont[2]={210,120};$ }' ?- M9 q5 Y) j3 P; m: ?$ S4 V& e
        tag_t botton_view_tag=NULL_TAG;+ |: N5 Z5 d4 D; z4 v$ s
$ ~# O0 H8 y0 }7 L& n
        UF_DRAW_proj_dir_t left_projection_directiom=UF_DRAW_project_left;
4 Y. t- k, J/ x5 ]        double left_reference_piont[2]={630,400};
5 _: }( n3 E4 O( ^        tag_t left_view_tag=NULL_TAG;2 J; ^; W4 k+ x" R

& l" \. Q/ z  n1 `        drawing_info.drawing_scale=1.0;
. |, c% ?" z8 }$ D        drawing_info.projection_angle=UF_DRAW_THIRD_ANGLE_PROJECTION;# p( S8 X- T7 B$ L8 [# W" {8 H
        drawing_info.size .metric_size_code=UF_DRAW_A1;
3 j" f- D6 I: v( w" z        drawing_info.size_state=UF_DRAW_METRIC_SIZE;
0 L1 g5 E7 w& v/ U; U. s        drawing_info.units =UF_PART_METRIC;, t# N2 |# y' x- f  d
0 P2 ^8 a! q, T5 V2 i) P
        UF_DRAW_create_drawing(drawing_name,&drawing_info,&drawing_tag);, d' J8 }2 ^: u# O
        UF_DRAW_open_drawing(drawing_tag);
3 O0 \; F9 F/ u+ @- K) I3 ?( `9 t- [* H
        UF_DRAW_view_info_t view_info;
4 G: ^6 D; r3 I8 b1 j) W        UF_DRAW_initialize_view_info(&view_info);: X2 }: H/ w: I  n* [& X

" g* B+ [9 `$ b* R6 A* T& t        view_info.view_status=UF_DRAW_ACTIVE_VIEW;
0 Y( E  c, t0 g% Q  |6 ^        view_info.anchor_point=NULL_TAG;
2 e, l( L- V' ~  W; h        view_info.view_scale=1.0;
5 p+ C' ~) c) f% s* `        view_info.use_ref_pt=TRUE;
6 y" K, l# Q: L/ T        view_info.inherit_boundary=TRUE;, n, n3 ?0 O) c. u2 x7 Q; P

7 ?4 Q' S0 \  Y8 A; `3 e        UF_OBJ_cycle_by_name_and_type(part_tag,front_view_name,UF_view_type,TRUE,&view_tag);4 F( M& o  z6 x* k3 g
        if (view_tag!=NULL_TAG)9 Y  K( Q/ h# c# ~' }
        {8 Q9 u& q  a" q' t9 p! D& S
                UF_DRAW_import_view(drawing_tag,view_tag,front_reference_point,&view_info,&front_view_tag);
0 T3 {4 k) _$ s) A+ z6 v! Y: I3 M5 a                UF_DRAW_define_view_auto_rect(front_view_tag);
/ m6 {/ r' f/ p        }" U6 b5 |/ j* E
        view_tag=NULL_TAG;
. H+ C" b/ v- q( J2 l3 ^4 B9 S
4 r! `2 p* C4 ?8 @. N' m$ U        UF_OBJ_cycle_by_name_and_type(part_tag,tri_view_name,UF_view_type,TRUE,&view_tag);
- L+ {: K8 r( N3 H4 j        if (view_tag!=NULL_TAG)
( r& z2 r% M% J0 t- `! I        {4 }) `+ R9 `5 V2 B" n. _: Z( v- }
                UF_DRAW_import_view(drawing_tag,view_tag,tri_reference_point,&view_info,&tri_view_tag);8 g  ~; v3 X& w) }% @7 g' X$ A
                UF_DRAW_define_view_auto_rect(tri_view_tag);  p& c$ ]8 L; ^
        }/ u) b6 E# u& V: I. M$ V  L
    if (front_view_tag!=NULL_TAG)
' A$ o/ |% P4 ]4 f8 r/ d! C$ v    {
5 V% R8 ^! \$ Z4 D9 |! }' e# d                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,botton_projection_direction,botton_reference_piont,&botton_view_tag);
4 P1 p& Q! {) g: ~$ N8 v                UF_DRAW_define_view_auto_rect(botton_view_tag);# L  H, P* i4 |4 ?/ K
         }
2 \0 x$ Z8 Y  \) ]( q5 r% S        if (front_view_tag!=NULL_TAG)
* ~0 x! }3 }' z4 Z9 @! Y        {
: f2 \) w+ r: U# z, ^/ |) a                UF_DRAW_add_orthographic_view(drawing_tag,front_view_tag,left_projection_directiom,left_reference_piont,&left_view_tag);
+ `. A8 |( r8 O                UF_DRAW_define_view_auto_rect(left_view_tag);
! q+ {1 D4 }! i6 f& r8 a        }5 {- [7 e5 {8 p! q

! x# r' u: z. M# i$ R) ]. h7 `& r. m* x% Q* ]
        UF_DRAW_ask_num_views(NULL_TAG,&num_views);
" B1 J! j" G) U: ^. ]" o+ y        UF_UI_open_listing_window();; }$ X7 }: R3 ~( V3 k/ v, z9 O
        sprintf(message,"当前图纸共有:%d个视图 ",num_views);) y/ W4 H; _' u& h
        UF_UI_write_listing_window(message);
$ f$ W, ]5 w& H4 [
" {9 |' G  K# s' y7 u0 K' `+ W* r) q, @7 e9 c! I/ t
- t& @+ p- l9 H
        tag_t object=NULL_TAG, front_objects[6];/ u$ Z6 S( V; m8 q! a2 a
        int    subtype, type, count=0;# N* V' g1 y# D8 r1 u  \/ G; \7 ]
        UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );7 B$ e/ m/ K% s; L# r+ y+ h
        while(object!=NULL_TAG)" J. t) ?* a- G( E+ C
        {; k  p8 Y* l- u- J
                UF_OBJ_ask_type_and_subtype (object,&type, &subtype );" _2 o3 s* z4 b2 w
                if(type==UF_solid_type  && subtype==UF_solid_edge_subtype )
: m9 v% t7 D' Z9 ?  R( q: }0 e2 q  N! S                {
+ a6 b9 z! P/ g: [5 D4 j: ?                        front_objects[count] = object;
: K2 f8 z" `2 A                        count++;7 p4 R. y! c3 K7 V1 G
                }; D9 w0 D$ m$ _
                UF_VIEW_cycle_objects( front_view_tag, UF_VIEW_VISIBLE_OBJECTS, &object );2 k" V  B+ k8 y: ~" o
        }        ' L7 z' p. Y, m' ~5 R4 c
        UF_DRF_object_t object1;1 [7 @+ M5 `- ~
        UF_DRF_object_t object2;" {7 e- A8 s- h" a# o  Q9 `
        UF_DRF_init_object_structure( &object1 );
* H7 u( q9 Y; q# M6 N* x) r        UF_DRF_init_object_structure( &object2 );
' Q, D$ `) o7 ^( y* V+ q8 D        object1.object_tag = front_objects[ 0 ];  I+ l9 H- h/ i, ~1 ^2 S
        object1.object_assoc_type = UF_DRF_end_point;5 e5 V. G/ [8 ~6 u* z4 C. q# d5 a
        object1.object_assoc_modifier = UF_DRF_first_end_point;0 A  N5 D9 d! g0 d' {% y1 n& r! X
        object1.object_view_tag = front_view_tag;
. c2 D; ^1 X+ h  Y        object2.object_tag = front_objects[ 1 ];
; I3 l& J( x) O' {2 `% @9 K        object2.object_assoc_type = UF_DRF_end_point;
9 a( A& h! F0 Q1 t6 K, ]6 E! o3 Z        object2.object_assoc_modifier = UF_DRF_first_end_point;
, o7 Y8 {! U( d9 ^        object2.object_view_tag = front_view_tag;% G- o0 e0 e% }( K
        UF_DRF_text_t dim_text;/ F& X; d& I0 X/ j3 O" h5 g
        dim_text.lines_app_text = 0;6 ^) x8 E4 K4 `/ k0 S0 ]! [5 r- r
        dim_text.appended_text = NULL;% H5 j" N4 P& l$ m# Z4 N( J  ^$ f
        dim_text.user_dim_text = NULL;
" L+ ]4 g1 s. F4 f* n, @2 R' a        double dimension_3d_origin[ 3 ] = { 360, 400, 0.0 };
8 Z( L* I) |4 B& s" i2 r7 N        tag_t dimension_tag=NULL_TAG;
; I. ~! _0 {5 @$ ~* o- g        UF_DRF_create_vertical_dim( &object1, &object2,- W/ E! ~* y0 e& g0 w
                &dim_text, dimension_3d_origin, &dimension_tag );  
$ p' x5 s! p5 j- Z7 P" a3 a/ I( c
3 b& U/ m, z1 b, |) V- y
) g, t+ ^+ a) s. H        UF_DRAW_upd_out_of_date_views(drawing_tag);4 `& a/ k+ ?% P, X* y
    /* Terminate the API environment */9 N- J) d- \. i/ A8 Z) e! L' c7 z
    UF_CALL(UF_terminate());
# J! Z: o" E, S$ L/ H+ s2 r6 y}
上海点团信息科技有限公司,承接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

第一 确定你编译的版本 和 你说的 书上的 是不是 同一个版本
3 k7 j0 K; F' V; l  G  d
: x% p, z+ @9 r# ?如果是
% ?( {4 N( V" G9 E9 K( [3 _& `那就是书有问题 ,或者是你看书设置的环境有问题,那里报错,看code  debug下, b* s2 A) F+ b5 {6 q' `0 p

* B$ n  v% @4 K. _. j  W如果版本不一致,那很有可能, 这种问题 你自己通过报错哪一行解决了
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 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 Z& G( ^* O& a- R7 k( N6 v
+ U2 G% t/ M" N' X( ]书上用的是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
$ C7 \" G( L; q$ e当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_view.cpp:3 X3 u: C0 E0 Z$ t, u: \
+++ Encountered unexpected NULL pointer. See system log for details, f4 o7 Y! c- U; y  T0 H0 k% `
UF_DRF_create_vertical_dim( &object1, &object2, &dim_text, dimension_3d_origin, &dimension_tag );
4 Y( I# M% Q# 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
+ m" p  ?3 |) s8 Y: F; KC:\Users\pc\Desktop\捕获.PNG[/img( e  N9 c$ l1 K
当前图纸共有:4个视图 *** ERROR code 68 at line 207 in drawing_vie ...

7 |6 j5 ^) n% H7 b! U那就分析这个地方啦  
$ ]+ D$ @0 X/ E( L1 ~8 D4 h
) d* b5 `6 X0 T7 C1 Z5 ], w我没法给你解答 没时间给你调试这个/ _) S# [2 T; Y: G' d  ?
( j- ]! U% h- W5 V
你多看看 我录的 NX9 的二次开发视频教程吧  书上的都是比较老的东西了
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了