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

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

youjixuexi 楼主

2015-7-13 12:28:41

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

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

x
#include <stdlib.h>
0 x7 K( `# y0 \: k1 k#include <uf.h>
1 Z+ n) ~  @) Q- Q6 ]! u6 T#include <uf_part.h>7 o# h1 Z- M: z# I5 `2 P. ?* k
#include <uf_modl.h>
; z- K. z4 I7 H1 l* S# P- D3 ~' d( m+ P#include <uf_view.h>+ ^1 y  O: e3 }9 r
#include <uf_layer.h>
1 X* ]! g/ L: c) Q6 b#include <uf_obj.h>
5 x. W1 [) }0 Z% O% F' ~0 p5 x//#include <uf_modl_types>8 ^: p- Q0 b# g2 @
% A9 Q+ D/ m4 w7 l' C) V8 @3 f, `# O
extern void ufusr( char * param, int * reTCod, int param_len )
/ K$ J. J* i2 ~1 T3 [- p{
$ N% d3 [' L6 t+ y% G% C/ K- ^! V' @4 `
       
9 }! P) q6 s# J7 k% n. W if (!UF_initialize())
" p5 o6 L9 O4 \+ ]9 V3 g2 N{
: k& ~' F) |2 s& J2 g% O" U( t        UF_FEATURE_SIGN sign = UF_NULLSIGN;
" T6 Y6 j+ k, a, A9 S& u        double cyl_orig[3] = {0.0,7.5,0.0};% R: P2 {: M5 A, J3 q+ Q
        char *cyl_height="26";
  Q+ Q; T0 E; j: |        char *cyl_diam="18";
8 O$ T' }5 A# p7 O        double direction[3]={0,0,-1}; ' ~; e. Q$ l* J8 y! ?4 A
    tag_t cyl_obj;4 N" a4 @( c/ v2 j6 E, x3 J) `
; F/ f' ~+ @) }- p4 b: ?2 p
        //圆柱1的变量声明区* J6 G) {, E9 k
; M2 O5 w# v. a' F$ R8 C- i; r' r
        double block_orig[3] = {-7.5,0.0,-26.0};$ x* ^$ E& p& j
        char *block_len[3] = {"15","15","26"};# ^( n& x& h/ F* V' l
    tag_t blk_obj;" m% s7 S1 G9 D
        //块的变量声明区
+ i& ]7 A. q0 C$ o
) m6 d$ }5 J2 o4 n; [7 w/ B   double cyl_orig1[3] = {0,7.5,-26.0};; Q4 l4 }( ^- @3 Z6 I2 T' y
        char *cyl_height1="8";
4 u0 |, `. c- h/ `4 ^! A        char *cyl_diam1="18";( z" M- v: Z7 c. G
        double direction1[3]={0,0,-1};- {1 k. X$ q  Z, J) _
        tag_t cyl_obj1;
8 m0 H& `- k, l. S- [% X4 T        //圆柱2的变量声明区% z# U) k! t; ?* x+ c. j& S
6 C( @0 ]9 A1 m, X
        double cyl_orig2[3] = {0,7.5,-34.0};8 @0 B( j4 \: }( w1 f! n$ _7 _
        char *cyl_height2="12";
( ?4 R" e& G' y( r1 ]7 G( ?        char *cyl_diam2="22";  m* I+ _4 f. l# S: n0 d' m
        double direction2[3]={0,0,-1};) K) D% {5 t$ ?$ T8 X. {
        tag_t cyl_obj2;
& A- W3 ~( P. [, h- T# V        //圆柱3的变量声明区1 O/ W5 t+ U9 Y, v

9 R# h6 z' p/ P2 ?0 `- P9 S6 S5 J        double cyl_orig3[3] = {0,7.5,-46.0};( @+ U1 g' I( L& L
        char *cyl_height3="32";. h7 D/ q  w2 l( S7 @$ J, r! [! x* f9 @
        char *cyl_diam3="18";
2 o) e7 Y7 J4 ?) I" q; K        double direction3[3]={0,0,-1};
4 p3 M, g+ R7 y8 \9 r# S        tag_t cyl_obj3;1 _, e9 g  ~5 m' T8 F% G; J* G" _: r
        //圆柱4的变量声明区
& y* P* k* f9 Q       
+ q/ _. h: B( `: R2 ?        double cyl_orig4[3] = {0,7.5,-78.0};/ \; E, H9 w1 R* t: p4 E
        char *cyl_height4="7";
  A9 l  S; a. M* W7 \        char *cyl_diam4="14";
& b* h3 W3 T* c9 J- Q  U3 t. h4 L- P        double direction4[3]={0,0,-1};
6 E4 o' i4 u/ s        tag_t cyl_obj4;: F% P, k: ]/ t2 h1 R6 `
        //圆柱5的变量声明区
; G  C1 i' S5 k3 t1 e4 \  |* Y! l- s
        double cyl_orig5[3] = {0,7.5,-85.0};: J+ q0 O7 z' k% }0 l/ |8 H
        char *cyl_height5="95";
& R' V8 ?9 s- Z6 O        char *cyl_diam5="18";8 W* z- b* N! O  b
        double direction5[3]={0,0,-1};
/ }" P. P: u6 t. D- ^/ j8 `0 U        tag_t cyl_obj5;' U% T" w: D6 t$ `/ r1 Q
        //圆柱6的变量声明区
) ?9 Z% x5 q0 A' B- A( k- J
) I7 F8 a% a  q4 M! h% K5 D! ?$ f" G6 Q/ J) I3 g9 c

) U3 w! w$ ]! F' [6 }9 e8 T/ t0 @  U        double cyl_orig6[3] = {0,7.5,-180.0};
8 ]' k3 H* f/ G8 a3 u/ z        char *cyl_height6="18";) F, B$ U, E$ p+ X
        char *cyl_diam6="12";* m7 U$ i/ }: N7 C+ r1 b. C
        double direction6[3]={0,0,-1};4 W( _* ]& g3 a% [
        tag_t cyl_obj6;
# e, V2 q( ~* Z: A( u        //圆柱7的变量声明区0 i: H8 M) r, j

2 Q. g# Y' p& g  x. B- ~        double cyl_orig7[3] = {0,7.5,-198.0};
. s, c5 D+ ~: A8 ~9 a+ J& A        char *cyl_height7="20";
8 w1 E/ }- G! a        char *cyl_diam7="10";# N5 _2 L4 w1 P$ x# E+ v
        double direction7[3]={0,0,-1};
% W# W0 M% G/ U$ a        tag_t cyl_obj7;" F8 t! M- p( A$ u" `
        //圆柱8的变量声明区% i7 W8 N4 W# W

' Q& `- e. u7 Y/ L" W# k( G        double cyl_orig8[3] = {0,2.5,-210.0};
0 k% s4 z) H7 u, i- N1 v' @) M        char *cyl_height8="20";
% t; _8 W% i) s8 A, M9 C        char *cyl_diam8="3";
2 ?6 L& [7 L2 u3 y+ q        double direction8[3]={0,1,0};2 J# c5 p: K/ H% q1 `: U9 e
        tag_t cyl_obj8;
% m  e- M, N5 v# P        //孔的变量声明区* L) W) \* m$ ?9 t
2 N1 q& u2 i; p3 G
    tag_t gasket_cyl_obj,gasket_blk_obj;
5 c1 U$ J7 |# C# Y        //创建圆柱的
/ v& i5 Z1 N' v7 E4 w5 I; R9 M& o$ z- F" `
        UF_MODL_create_cyl1(sign, cyl_orig, cyl_height,cyl_diam,direction, &cyl_obj);
: r% z4 }7 Y6 r  Q) \/ y+ @        UF_MODL_create_block1(sign,block_orig,block_len,&blk_obj);6 W# v" X7 h  y
        UF_MODL_create_cyl1(sign, cyl_orig1, cyl_height1,cyl_diam1,direction1, &cyl_obj1);3 v3 {1 u. z/ z1 c$ t* [3 z. Y
        UF_MODL_create_cyl1(sign, cyl_orig2, cyl_height2,cyl_diam2,direction2, &cyl_obj2);
; l7 Z, {& x0 t        UF_MODL_create_cyl1(sign, cyl_orig3, cyl_height3,cyl_diam3,direction3, &cyl_obj3);& M6 I% |6 `# d1 R
        UF_MODL_create_cyl1(sign, cyl_orig4, cyl_height4,cyl_diam4,direction4, &cyl_obj4);
6 q' j- b* U; X        UF_MODL_create_cyl1(sign, cyl_orig5, cyl_height5,cyl_diam5,direction5, &cyl_obj5);2 J" C% N, C4 T% A" |" X, Q! X
        UF_MODL_create_cyl1(sign, cyl_orig6, cyl_height6,cyl_diam6,direction6, &cyl_obj6);
! @3 f( V. N* q- Y        UF_MODL_create_cyl1(sign, cyl_orig7, cyl_height7,cyl_diam7,direction7, &cyl_obj7);
  O8 ?" a6 H+ b6 i) q        UF_MODL_create_cyl1(sign, cyl_orig8, cyl_height8,cyl_diam8,direction8, &cyl_obj8);
2 V0 S% l& X) k' B' ^* ~0 Z- f# _: l9 a' M6 O1 k" b
        //圆柱和块的建模函数
8 r# k3 g, U* O4 _( t1 [) Y, Q3 M# }5 H
        # x' m2 S5 G$ Z9 @* P/ Y( m
        tag_t cylinder, block,*resulting_bodies = NULL;/ o. v- S8 x( r6 g% N! J
        int num_results;2 K, Y  r  b2 |! R7 Y* D) O
        UF_MODL_ask_feat_body(cyl_obj,&cylinder);//目标体8 [9 g3 b7 o5 s9 I% S
        UF_MODL_ask_feat_body(blk_obj,&block);//工具体- K! v6 A, i% G+ q. t
        UF_MODL_intersect_bodies(block,cylinder,&num_results,&resulting_bodies);
- d) w; p5 |9 _3 l& ?8 C" c9 G2 }        //圆柱和块求交  C7 c3 f4 z  l& Z/ X* F

! q3 m) e" I- \5 A/ O# _        tag_t cylinder7, cylinder8;
: l1 ~) P0 f# h8 d4 G7 S5 [# }        /*int num_results;*/
9 H3 m( I5 \+ d# z        UF_MODL_ask_feat_body(cyl_obj7,&cylinder7);
1 C5 f  U8 |: q9 t' ~* @, g8 g+ ?  e, {        UF_MODL_ask_feat_body(cyl_obj8,&cylinder8);. n0 h8 U! T7 K- J4 m
        UF_MODL_subtract_bodies(cylinder7,cylinder8,&num_results,&resulting_bodies);
2 ?  G# f! V% {6 M7 G        //圆柱求差,打孔
! C, H7 A$ |! t) P! ?7 T+ z9 r& K% Q1 d" y- y5 O  z) X6 T1 V! Z
        tag_t cylinder9, cylinder1;
2 s1 |# S" c" F, W        UF_MODL_ask_feat_body(cyl_obj,&cylinder9);
0 a* [* }- K$ G4 O        UF_MODL_ask_feat_body(cyl_obj1,&cylinder1);
8 V" h5 s8 {8 P( G  K1 s8 b        UF_MODL_unite_bodies(cylinder1,cylinder9);- D) \, ]  t) A7 _7 O- E3 l
        //圆柱求和
4 r% S* ^0 D6 Y" t+ t/ o' E, k3 q" j
4 z" ~0 D4 o+ d. @    tag_t cylinder2, cylinder3;! D' i: j$ W) f& o" c" H
        UF_MODL_ask_feat_body(cyl_obj2,&cylinder3);5 [- b! S9 L% _5 A% W
        UF_MODL_ask_feat_body(cyl_obj1,&cylinder2);, Z- e, y4 ?" O9 d- z, o
        UF_MODL_unite_bodies(cylinder2,cylinder3);6 V, F) t, B; \
/ A' x$ K, l. B$ h5 l, [+ C
    tag_t cylinder4, cylinder5;
2 w+ z. `+ U1 q+ s. r" M        UF_MODL_ask_feat_body(cyl_obj4,&cylinder5);
% w' `+ q3 R* {! B  ]8 G: G  a        UF_MODL_ask_feat_body(cyl_obj3,&cylinder4);: X4 v0 j: q% h! L  L5 H
        UF_MODL_unite_bodies(cylinder4,cylinder5);
" C+ n, V6 R7 n. x1 W) j3 H& _
: e' Z: o0 S! o1 F: Z# T    }
6 t9 ]8 P. o% H9 j. Q: K! o}: t. t- w1 Y) d. m' Z* e% {
已经做出螺杆,螺纹不会,求教大神; w: g5 D7 i" `# s
) e1 h; A0 J# Q- g& ~4 M4 H
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了