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-国产软件践行者

[求助] 螺杆的螺纹代码始终不对,求大神帮忙

[复制链接]

2015-7-13 14:59:43 2736 1

youjixuexi 发表于 2015-7-13 12:28:41 |阅读模式

youjixuexi 楼主

2015-7-13 12:28:41

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
#include <stdlib.h>
5 q; K4 T) B! A2 c#include <uf.h>+ ~$ i( N+ V  F) v; T* m
#include <uf_part.h>
% Z. j0 q1 I- l) C7 L+ Q$ H# @#include <uf_modl.h>. k. U+ f- g" U) I, B6 e8 [# m! e4 Z
#include <uf_view.h>0 E  w* {$ i6 h
#include <uf_layer.h>
& S  G- g( y; X% U#include <uf_obj.h>% ?* k; H% c  M; X% O0 ?8 X
//#include <uf_modl_types>
. t& u2 D4 L% g, |
& S) [: S3 [8 R/ l5 r5 n5 g* Wextern void ufusr( char * param, int * reTCod, int param_len )6 m6 G* q" @0 F
{
! `( V4 d6 f) ^. g2 e
6 U9 g4 Y( b& S* h5 @       
) G0 @0 b2 C' Q if (!UF_initialize())
3 Y3 G% K/ p; ~4 X$ ~6 z; J{
4 E* |/ d4 X. U& A% m7 C3 r        UF_FEATURE_SIGN sign = UF_NULLSIGN;
2 H0 T5 }5 D% w4 D        double cyl_orig[3] = {0.0,7.5,0.0};+ j/ Z' `* k6 P. z: b
        char *cyl_height="26";" C2 ~$ A# f: I/ c  g
        char *cyl_diam="18";  {  a  {- X8 [- G% M7 M
        double direction[3]={0,0,-1};
0 J2 X/ q  s& H: Q" t' w! d6 j" ]; ~& `    tag_t cyl_obj;, |# K5 k& ^" |

" t) J8 n8 w. K) Y) T/ p        //圆柱1的变量声明区
* ^3 N/ o) A( b* _8 |' l* x- |, ~. m2 f
        double block_orig[3] = {-7.5,0.0,-26.0};
! a2 `& Y  [9 \# k        char *block_len[3] = {"15","15","26"};, L/ u+ m# Y3 Q+ t- g" Q/ c
    tag_t blk_obj;$ S: e2 Z  |0 l1 A: }$ B; S
        //块的变量声明区
5 C5 x5 Y2 x$ e  }. v9 y
' Q7 ?7 }5 C( }8 I0 o* V& ?8 h   double cyl_orig1[3] = {0,7.5,-26.0};0 C7 h' p7 Z* p1 ^" E
        char *cyl_height1="8";! m  S" t. ?* Y" C+ a. K1 X0 U$ m7 M8 A
        char *cyl_diam1="18";) l* i! V! `$ b3 O" g! U
        double direction1[3]={0,0,-1};8 A# _6 L/ C6 `+ w2 ?7 ^* [* i( t3 _
        tag_t cyl_obj1;
) N8 L( t4 \3 Y2 E# ^; p- ^        //圆柱2的变量声明区6 [) E5 a+ ?/ I5 q. V' W( n" p( F" Q

! |9 W0 w9 U; M        double cyl_orig2[3] = {0,7.5,-34.0};
# Y$ q+ G; S* b( Y        char *cyl_height2="12";
3 @* T# Y0 f2 C' o% f        char *cyl_diam2="22";
5 w; }5 C6 R  Z  a% {) @7 r        double direction2[3]={0,0,-1};0 s2 t/ A* B& M7 G! p
        tag_t cyl_obj2;+ w  z3 ]& b. d' q/ f
        //圆柱3的变量声明区
1 p8 n# t! p6 S- g
8 @7 s' _/ Y3 X$ G) O5 c/ ?5 X        double cyl_orig3[3] = {0,7.5,-46.0};
, l' Y8 K6 q4 M        char *cyl_height3="32";
8 C2 t5 l% q3 P3 V* |        char *cyl_diam3="18";
1 P/ ?: D: W* R' p, h: l        double direction3[3]={0,0,-1};* a, E$ k* y$ o3 b, v! r' w
        tag_t cyl_obj3;, c# E6 J# v; Z2 y* s
        //圆柱4的变量声明区
' g9 J" |/ y  m) x: m7 Y' ^% p       
2 W+ M1 g4 I1 R0 \$ ~5 M, f        double cyl_orig4[3] = {0,7.5,-78.0};8 V3 |# Y  v6 \" G1 H8 [3 x
        char *cyl_height4="7";' m# i$ J; _9 q& k( V- j
        char *cyl_diam4="14";
4 Z: u' P6 V  r6 y: b        double direction4[3]={0,0,-1};/ n6 c1 s/ z5 b! i3 ]3 w; w
        tag_t cyl_obj4;( N2 J: u, z; q$ H  u3 V
        //圆柱5的变量声明区: \0 @6 o" R3 }* v0 W0 r
  o% `* f$ M7 G- C: d6 _$ J
        double cyl_orig5[3] = {0,7.5,-85.0};
2 L! Y( X/ p- s' ~        char *cyl_height5="95";$ ~4 X% Q) b9 B1 Z9 B
        char *cyl_diam5="18";& {* T( K/ b$ S8 t
        double direction5[3]={0,0,-1};
3 s! P0 f* L- V        tag_t cyl_obj5;  F& P/ x3 [0 d6 }7 Z+ @
        //圆柱6的变量声明区
" z+ i& ]  ~; n( p1 h2 {9 {7 s9 t( o( T* g9 W: l7 r' `

1 c$ L) J. O3 \3 [% X1 V
( ^9 f& j# i6 t. P* g        double cyl_orig6[3] = {0,7.5,-180.0};9 l4 X7 l  o2 r) S& @
        char *cyl_height6="18";2 W8 {' w# S' n' c. i
        char *cyl_diam6="12";
; l- a# i* \; I; `2 }' E        double direction6[3]={0,0,-1};5 @: ^, f) q2 v7 d7 |
        tag_t cyl_obj6;: [4 O1 T  ?- [3 b
        //圆柱7的变量声明区
  G, Q6 a( L! M% r. Y3 d
( U$ C% F' N- k        double cyl_orig7[3] = {0,7.5,-198.0};( S* v. {; }" U2 m* P& w3 d1 l
        char *cyl_height7="20";
" U# T" I6 z/ z0 K- X5 J6 |, k        char *cyl_diam7="10";, \& r. n9 V$ b' e( Y
        double direction7[3]={0,0,-1};
) R( x. E+ }6 i3 w& T7 ^        tag_t cyl_obj7;
1 l% w( C, U$ |5 u, H& f        //圆柱8的变量声明区
7 c% j  Q0 [, j" i# e4 s/ Z8 C" |8 f6 u4 ~8 i
        double cyl_orig8[3] = {0,2.5,-210.0};/ ^- q& T9 G6 [5 g# E& J* {7 k
        char *cyl_height8="20";9 }$ D6 n5 @/ a( i. [
        char *cyl_diam8="3";
. D) G: K5 u& I& g5 O% F        double direction8[3]={0,1,0};& g& C. y( U$ [2 u% b2 s
        tag_t cyl_obj8;
" H- t, S' k2 @& y        //孔的变量声明区- B4 U7 s# f/ |2 M# x* J
! X! h$ J! [: q; F. P
    tag_t gasket_cyl_obj,gasket_blk_obj;% p; L+ x/ ^" i* p
        //创建圆柱的, ?9 i# G/ W* [! O+ z
, ~' }8 Q! H2 p
        UF_MODL_create_cyl1(sign, cyl_orig, cyl_height,cyl_diam,direction, &cyl_obj);
# ]$ v$ c/ _7 N, ^        UF_MODL_create_block1(sign,block_orig,block_len,&blk_obj);
# w  M- T( ?+ p( Z/ d/ a# e        UF_MODL_create_cyl1(sign, cyl_orig1, cyl_height1,cyl_diam1,direction1, &cyl_obj1);
7 h0 ~, q, G! O) \1 k/ `        UF_MODL_create_cyl1(sign, cyl_orig2, cyl_height2,cyl_diam2,direction2, &cyl_obj2);
1 X( I9 e; {1 |4 Y* I: p  r! h' M        UF_MODL_create_cyl1(sign, cyl_orig3, cyl_height3,cyl_diam3,direction3, &cyl_obj3);
7 P- c+ x1 S1 C8 J8 j% I& \6 W        UF_MODL_create_cyl1(sign, cyl_orig4, cyl_height4,cyl_diam4,direction4, &cyl_obj4);
! @3 v- B0 i' d* `% ~        UF_MODL_create_cyl1(sign, cyl_orig5, cyl_height5,cyl_diam5,direction5, &cyl_obj5);, C! S1 X' q' y3 k  G0 z9 d
        UF_MODL_create_cyl1(sign, cyl_orig6, cyl_height6,cyl_diam6,direction6, &cyl_obj6);
' J; \. R: z+ A) X0 A! f+ n        UF_MODL_create_cyl1(sign, cyl_orig7, cyl_height7,cyl_diam7,direction7, &cyl_obj7);& |3 S, P% Z5 r9 v6 M, q. N
        UF_MODL_create_cyl1(sign, cyl_orig8, cyl_height8,cyl_diam8,direction8, &cyl_obj8);
/ B6 b2 _/ t9 Y" t5 y4 t( a5 W* C# l
        //圆柱和块的建模函数( X; N3 w$ l, f# g; S. b4 T. Z% ^
) U* P* \  O( J0 E- i3 f
        & y; w* F( I9 ]5 f* _
        tag_t cylinder, block,*resulting_bodies = NULL;
5 g/ {# I7 }: z% _. _* x) `        int num_results;5 a) T  y) y' Q" t2 T
        UF_MODL_ask_feat_body(cyl_obj,&cylinder);//目标体( ~% C: L. q2 L. h6 I1 u$ K8 a
        UF_MODL_ask_feat_body(blk_obj,&block);//工具体1 o: S# K* {$ d
        UF_MODL_intersect_bodies(block,cylinder,&num_results,&resulting_bodies);7 }( q8 y0 `' w- {
        //圆柱和块求交
7 `! u. H3 N' R. [
9 A: z6 N3 h6 j        tag_t cylinder7, cylinder8;: Z  C/ l) @2 Z  O; n; ^
        /*int num_results;*/. Y) W5 q/ O2 E- Q( r3 K
        UF_MODL_ask_feat_body(cyl_obj7,&cylinder7);
3 w8 ~7 k( j. w, R        UF_MODL_ask_feat_body(cyl_obj8,&cylinder8);) H. w+ w7 C! h+ S
        UF_MODL_subtract_bodies(cylinder7,cylinder8,&num_results,&resulting_bodies);9 b5 l4 l. @4 i
        //圆柱求差,打孔; W1 h) E/ }* x* t" _
) F" Y% @3 }; @6 U6 W, ~0 L
        tag_t cylinder9, cylinder1;
2 Y* Z" D* N  @, W* {        UF_MODL_ask_feat_body(cyl_obj,&cylinder9);# y; e( Q( a. t$ ~& v4 j9 i
        UF_MODL_ask_feat_body(cyl_obj1,&cylinder1);
6 H& n" `. i  e, w        UF_MODL_unite_bodies(cylinder1,cylinder9);
& M# L7 {9 ^7 [* ]/ u; ]7 E        //圆柱求和, `5 h* d) r: m) _5 k( n
8 N% u  V0 _6 A( \# R0 j& B# B
    tag_t cylinder2, cylinder3;
6 f& N! ]7 m5 J7 G        UF_MODL_ask_feat_body(cyl_obj2,&cylinder3);
9 K& I$ U( V. Z- K- {4 s) \+ I2 n2 J        UF_MODL_ask_feat_body(cyl_obj1,&cylinder2);& o9 v% t3 C/ p7 R6 H; z, `7 B- r0 q
        UF_MODL_unite_bodies(cylinder2,cylinder3);0 v# b6 I3 F4 n* z
. s2 I1 @0 k' K9 u$ K; Q, p
    tag_t cylinder4, cylinder5;
( X6 S" g/ T, J        UF_MODL_ask_feat_body(cyl_obj4,&cylinder5);3 o: g9 x; t- w
        UF_MODL_ask_feat_body(cyl_obj3,&cylinder4);8 e: x6 i5 }; X$ @9 s, {/ `
        UF_MODL_unite_bodies(cylinder4,cylinder5);
" t. k. z1 \  d; N- [( n: T
+ t% n) X9 G4 f6 }. Z    }8 F' ~% n) B; G
}4 ~/ ^. H0 ~  }( _8 B
已经做出螺杆,螺纹不会,求教大神, r8 v. E; B) g; p$ [" e$ H: _' q
% S6 j0 m0 z; n9 L, p: c5 V
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复1

admin 发表于 2015-7-13 14:59:43

admin 沙发

2015-7-13 14:59:43

UF_Modl_craete_symb_thread看这个函数,有例子的啊
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了