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 2722 1

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

youjixuexi 楼主

2015-7-13 12:28:41

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

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

x
#include <stdlib.h>
7 s" l  i9 U" W/ R0 a# m2 ?: n- j#include <uf.h>
: [' P3 g# ~8 g& z  |! o# P- U#include <uf_part.h># b4 V/ l  E+ r! z7 X# l" }
#include <uf_modl.h>
9 Z! q; h6 O' A0 z% V#include <uf_view.h>
: D6 M# B2 ~" [% X#include <uf_layer.h>% \2 z  _; H$ y) v$ ^
#include <uf_obj.h>! D; H9 Q( y7 p6 V+ J+ V  Q2 K
//#include <uf_modl_types>1 N/ i2 A, b9 g& u- s% t* Y: [
( `  x/ Z, W8 ~7 c& U
extern void ufusr( char * param, int * reTCod, int param_len )1 A7 M( q( ~' U9 e1 o
{
; `8 `# A; h  B6 f5 K# m
' O& f( p& a3 ?7 I, M        ) T; ~, h( e& |  H% h: m
if (!UF_initialize()), U# B6 x/ r* m5 T2 J; e
{* w3 h0 l3 Z5 \: x% y/ o
        UF_FEATURE_SIGN sign = UF_NULLSIGN;
0 ^" a! p# r5 E# _* u        double cyl_orig[3] = {0.0,7.5,0.0};' r4 G0 F8 U0 s4 v6 A- r: B
        char *cyl_height="26";
3 D9 h8 t4 h0 G! Q: H        char *cyl_diam="18";
( B; g0 H$ M) c        double direction[3]={0,0,-1};
3 i+ y! Y# m2 o+ c' v7 u    tag_t cyl_obj;: \$ S7 J# n# V4 [: K

4 r# n7 @9 U# J. [& ]        //圆柱1的变量声明区
! q9 M, V& M7 V* e7 [& H. I$ E
5 `& t4 C9 t8 l5 r# m        double block_orig[3] = {-7.5,0.0,-26.0};2 |" ~2 A1 y' J& W, G
        char *block_len[3] = {"15","15","26"};* ]! \7 a: T, L$ E( L
    tag_t blk_obj;5 {' W% s% ^: N2 m/ q; ]
        //块的变量声明区: E& r9 ~/ T" v8 k6 w

7 s, N; I' B. \4 F   double cyl_orig1[3] = {0,7.5,-26.0};, f- e' I6 z& ?* M  T/ l7 t) A
        char *cyl_height1="8";, }0 }+ G' v8 d1 C
        char *cyl_diam1="18";7 p: T/ b+ I1 I/ c/ M& R
        double direction1[3]={0,0,-1};
" M' x/ u6 a8 A! p" ]        tag_t cyl_obj1;
- z3 X4 r- O* V& V; I9 t0 n        //圆柱2的变量声明区
5 ^+ ]4 h& ?5 z5 _: |- h0 H; F3 r
        double cyl_orig2[3] = {0,7.5,-34.0};( X7 m' c4 `8 A9 V/ t# H' y! h
        char *cyl_height2="12";
. F: i3 J& w, l2 t( q        char *cyl_diam2="22";
# |7 z1 I6 a; a, W7 w$ d- y        double direction2[3]={0,0,-1};
! _0 |0 N: _; l# T7 v# B        tag_t cyl_obj2;6 i, {, R9 O$ w1 A; j7 A5 B
        //圆柱3的变量声明区. h+ }7 \8 v- y$ O% \# Q/ y

& f$ `3 N( ~' G) U0 e- Q3 O: f: |        double cyl_orig3[3] = {0,7.5,-46.0};1 z. K4 Y% }4 k( `2 }
        char *cyl_height3="32";4 q+ u- p, i6 _% T1 {
        char *cyl_diam3="18";3 A- s3 p6 Y5 t; k9 X$ o$ Z! X
        double direction3[3]={0,0,-1};: `) {: L: m( w$ d9 K2 F8 X
        tag_t cyl_obj3;4 a1 p( x4 j. i9 y1 j
        //圆柱4的变量声明区
/ l: \, t. T2 k* D/ r* A2 |       
  y$ S, [' Y5 B  R- s        double cyl_orig4[3] = {0,7.5,-78.0};
' V8 {7 G1 [  D: a( ^; Q7 Q+ @        char *cyl_height4="7";
6 H: |7 H0 a1 ?' O        char *cyl_diam4="14";
) D* ^5 n. a+ L        double direction4[3]={0,0,-1};5 f* p/ w2 V6 k& u, @% p8 e# d
        tag_t cyl_obj4;
  @3 R; r5 X5 L3 i3 W        //圆柱5的变量声明区
& t# }6 d( L4 o6 w0 P4 y7 |0 u% ?5 G) M, \+ R' U5 u& P8 ~
        double cyl_orig5[3] = {0,7.5,-85.0};
1 m9 @4 r* H5 Q8 z& O        char *cyl_height5="95";7 B' R- S9 j9 A( E3 R: l
        char *cyl_diam5="18";# T/ v/ a" B, N) X4 G3 c) e
        double direction5[3]={0,0,-1};0 X: Z8 \) A; y/ s& \
        tag_t cyl_obj5;% }* a1 X: q* p6 B% S; s
        //圆柱6的变量声明区
: {, k, m  D# l2 l5 R/ V. `* h3 f. o! X
6 U& H5 N& h' {' Q# u
$ j( X1 b3 M# e; K
        double cyl_orig6[3] = {0,7.5,-180.0};& c* ], j$ L. X! h; f0 g% \
        char *cyl_height6="18";
5 v: e/ d: @8 I8 Q        char *cyl_diam6="12";0 p: _" F" [" M1 s! A
        double direction6[3]={0,0,-1};
) r, D, p7 x1 g        tag_t cyl_obj6;
3 a2 d; g- B& R. q( |4 ]7 ]' L$ m        //圆柱7的变量声明区
" t  w  W% @# v/ G" D! N0 ]6 K& D8 R  E/ r3 _  B
        double cyl_orig7[3] = {0,7.5,-198.0};
& Y. V( C( i9 {        char *cyl_height7="20";2 i& U6 K, v4 j
        char *cyl_diam7="10";, ~$ n9 B; E- o! R( \
        double direction7[3]={0,0,-1};+ ~! _$ e$ X$ v* f! k1 l
        tag_t cyl_obj7;
. b# P, N1 V; A" i        //圆柱8的变量声明区
- h: V$ K6 {8 N, @5 M& u0 q6 [
1 r8 M5 C2 |2 i# Q+ P3 @        double cyl_orig8[3] = {0,2.5,-210.0};! L5 L5 M$ a" R
        char *cyl_height8="20";2 z% e# A' o, o0 |( U( C, I
        char *cyl_diam8="3";
+ k& k4 T1 I1 Q        double direction8[3]={0,1,0};
; E) ^: f, x1 I4 v" L, m( K        tag_t cyl_obj8;
) \" v, B& M4 p, G4 b" |        //孔的变量声明区5 S: Y( w: J6 h3 P
' U- {! o7 f& Q# K  J
    tag_t gasket_cyl_obj,gasket_blk_obj;! ?0 F0 r  B% W+ |
        //创建圆柱的! R6 w  c( |( ^0 h
  P8 L( i8 l" S7 E5 V% V  w
        UF_MODL_create_cyl1(sign, cyl_orig, cyl_height,cyl_diam,direction, &cyl_obj);/ w4 f* l5 m* A
        UF_MODL_create_block1(sign,block_orig,block_len,&blk_obj);0 g4 h3 @( F* o
        UF_MODL_create_cyl1(sign, cyl_orig1, cyl_height1,cyl_diam1,direction1, &cyl_obj1);
+ x1 i" w! k" w; q  K        UF_MODL_create_cyl1(sign, cyl_orig2, cyl_height2,cyl_diam2,direction2, &cyl_obj2);% ~7 Y7 m4 r/ O" W& R
        UF_MODL_create_cyl1(sign, cyl_orig3, cyl_height3,cyl_diam3,direction3, &cyl_obj3);
3 Q/ F: A  T! U  J4 Z% {% p7 _        UF_MODL_create_cyl1(sign, cyl_orig4, cyl_height4,cyl_diam4,direction4, &cyl_obj4);
$ ?& w* M, q2 x) ]        UF_MODL_create_cyl1(sign, cyl_orig5, cyl_height5,cyl_diam5,direction5, &cyl_obj5);
& G! P, _  I1 H3 D3 J        UF_MODL_create_cyl1(sign, cyl_orig6, cyl_height6,cyl_diam6,direction6, &cyl_obj6);
* \) Q, }! M; r* Z9 w9 B3 m        UF_MODL_create_cyl1(sign, cyl_orig7, cyl_height7,cyl_diam7,direction7, &cyl_obj7);9 @- m, Q: b# y( z
        UF_MODL_create_cyl1(sign, cyl_orig8, cyl_height8,cyl_diam8,direction8, &cyl_obj8);; x  A/ n; d1 Q- C* p, c
" Z- D: l, l$ b- j$ ~& k) i
        //圆柱和块的建模函数
1 w% \. O& o; d* p- B' ^- w( F! u1 f* a& B, O' j4 a* j
        , w' L! ]) K" V1 g. s
        tag_t cylinder, block,*resulting_bodies = NULL;8 M' }: |: E. g5 I. }
        int num_results;
( ?- r  E+ r4 F4 u; d/ {" r        UF_MODL_ask_feat_body(cyl_obj,&cylinder);//目标体
0 G0 ?6 d1 p( X6 L- h$ ^        UF_MODL_ask_feat_body(blk_obj,&block);//工具体
7 k9 j$ l. \3 a/ g$ n        UF_MODL_intersect_bodies(block,cylinder,&num_results,&resulting_bodies);
. z, p3 o3 t1 m2 x7 Y! E& g        //圆柱和块求交/ t2 I0 A: S8 U0 w

# t) K4 Y- F9 a0 q8 M- I1 }2 {        tag_t cylinder7, cylinder8;* a9 b' A. B4 P5 W* w: s
        /*int num_results;*/! c! v' ]1 W7 o. B! S
        UF_MODL_ask_feat_body(cyl_obj7,&cylinder7);+ L  @* y5 r+ Q
        UF_MODL_ask_feat_body(cyl_obj8,&cylinder8);5 f3 ^1 }% n( }" g/ D, ^/ \' H
        UF_MODL_subtract_bodies(cylinder7,cylinder8,&num_results,&resulting_bodies);' ?( H% r8 M2 p: S8 A; A
        //圆柱求差,打孔
& q( ^3 R+ n. W5 R( Y) N* L# E2 J7 @2 S; _9 D
        tag_t cylinder9, cylinder1;
, o$ ^) P2 b, r( h' Z; ^5 l7 ~6 c" Y        UF_MODL_ask_feat_body(cyl_obj,&cylinder9);
* D/ @, y; \$ }% }) w+ `        UF_MODL_ask_feat_body(cyl_obj1,&cylinder1);
0 t0 e1 H9 u2 m. R- ]: ~; u        UF_MODL_unite_bodies(cylinder1,cylinder9);
0 s! I  N. x1 [4 C# x        //圆柱求和
* W$ ^1 v7 E- G; C- O, N# b# n
/ \& P, T, v9 d4 `0 n& k. n& G    tag_t cylinder2, cylinder3;0 r! W7 e& h0 X' @0 o+ d0 X
        UF_MODL_ask_feat_body(cyl_obj2,&cylinder3);
3 y6 k3 d) r6 O5 F- p1 G        UF_MODL_ask_feat_body(cyl_obj1,&cylinder2);  a6 ^* G' e! r& q5 n8 Q  p% j
        UF_MODL_unite_bodies(cylinder2,cylinder3);
  `3 [; _0 F9 N& U% I
/ H$ r0 `* v) c$ s  D/ N) b    tag_t cylinder4, cylinder5;
6 D/ Q/ C( N# V" B9 k/ Q1 j        UF_MODL_ask_feat_body(cyl_obj4,&cylinder5);0 |6 I2 c) a* q+ h" I5 ]9 |1 h, W
        UF_MODL_ask_feat_body(cyl_obj3,&cylinder4);
+ ?; U# t9 e5 ?0 P, u) p8 W& p        UF_MODL_unite_bodies(cylinder4,cylinder5);
4 p- o0 ?1 }/ V1 i( h% f* x, S: f( O9 i: v- [4 Y( n6 M
    }
/ b' f" @: r$ r+ S/ u}. f& W6 `: ?/ V  h) H0 E7 P9 y+ w
已经做出螺杆,螺纹不会,求教大神
. b2 H7 x8 g) P$ w. y) ?* g' ^" N! R/ w- @6 F$ i3 J
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了