PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

youjixuexi 楼主

2015-7-13 12:28:41

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

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

x
#include <stdlib.h>3 D1 `8 ~. S; f& N; S5 a
#include <uf.h>
& J4 V, [6 A& Y#include <uf_part.h>) D' |% h: ^4 R7 M  s- r
#include <uf_modl.h>
- F2 m/ w( w/ n8 G+ z0 Z) k! h#include <uf_view.h>4 B, H( ^: ^& _
#include <uf_layer.h>
0 G! Y  A, k6 d4 R#include <uf_obj.h>4 r7 D$ O" q) ~$ J$ r0 P3 k$ d
//#include <uf_modl_types>
; e" r# B8 @4 C  J* ~. ^" d/ |4 A/ K6 ~
extern void ufusr( char * param, int * reTCod, int param_len ). ~. T7 Q+ B( l
{
+ P( `6 V7 z1 V2 k8 F& G7 w1 H8 D7 }& y5 x! N
       
' ^* x9 j: M4 C if (!UF_initialize())
! ?( ]8 [) `% F) v1 h7 N+ t/ X; ?{& A$ g" ]6 y1 |' h) Z) R0 F
        UF_FEATURE_SIGN sign = UF_NULLSIGN;1 o7 o" |! L# ^/ z7 Y/ N
        double cyl_orig[3] = {0.0,7.5,0.0};! h. [# w  |, j, K& {# e$ n" S& K4 w6 d
        char *cyl_height="26";
; ^$ n0 A# b- C* ?$ L% U/ Y2 K        char *cyl_diam="18";" j7 W7 }( ]7 v* K8 P3 |0 Z
        double direction[3]={0,0,-1};
; x8 i& l. f" l0 D' ?- n( d! u    tag_t cyl_obj;
+ w- F9 p2 ^6 p" n0 d" U* q! q! d# V7 }+ I, x3 ]8 ]
        //圆柱1的变量声明区# F% l1 w( L  G7 ?# d/ X

+ Q3 h- ~* q0 W7 W; M+ G; J        double block_orig[3] = {-7.5,0.0,-26.0};
  f( u" m# k8 o3 Z7 i, Z& ?. k  w        char *block_len[3] = {"15","15","26"};
+ T$ R' u5 ]# e- U3 V9 k5 `    tag_t blk_obj;
( P' \& T. w, u        //块的变量声明区/ }7 N! k2 z( S3 t% F% B* k

4 l: T3 g8 t+ O3 S  M   double cyl_orig1[3] = {0,7.5,-26.0};! c* W% w2 ~. s9 f' G4 D
        char *cyl_height1="8";
: U7 \) ^! c# x( \9 Q$ @) s$ o        char *cyl_diam1="18";2 ?" L- Y6 @. i' i* u- X
        double direction1[3]={0,0,-1};
/ }# r* L7 d5 T9 U! u" d        tag_t cyl_obj1;
. J5 e1 _! b" l* C! J        //圆柱2的变量声明区% t+ G8 f" f% t( m; u( P* g
0 ]' a' I$ [/ g% i5 k" w+ ~
        double cyl_orig2[3] = {0,7.5,-34.0};
0 S7 x; M" j4 D* o! f' G        char *cyl_height2="12";
3 R5 i: D& n6 _% r- G5 H) Y: Z. i8 b        char *cyl_diam2="22";
/ e( ^' f% o( j; v/ [        double direction2[3]={0,0,-1};
4 g9 J  u1 [  J0 |        tag_t cyl_obj2;
! L0 L' u/ @. d/ h2 r) `: u        //圆柱3的变量声明区9 y7 r) X- m8 V$ W9 ]

$ F: L" [$ A/ A        double cyl_orig3[3] = {0,7.5,-46.0};
. a3 p8 B0 e6 O" P  C8 D; _4 Z        char *cyl_height3="32";
7 `$ y: }2 A( n        char *cyl_diam3="18";
' s1 U$ U/ C* Y$ h& Y& K2 v5 h' g/ K        double direction3[3]={0,0,-1};
7 `+ ?, R  a; h9 d; G        tag_t cyl_obj3;
- C( ]! @7 z8 ?; P+ Z        //圆柱4的变量声明区
( P2 P. _5 n+ e5 t, _* i       
7 m0 {( \! }# G0 s3 {        double cyl_orig4[3] = {0,7.5,-78.0};7 s; `0 M2 d1 p. [
        char *cyl_height4="7";
* k( {/ g1 `! O' n# L        char *cyl_diam4="14";3 A+ n+ D$ M) H$ k. }
        double direction4[3]={0,0,-1};8 a( A: ^/ L& o/ u/ t. Q- \9 L3 @
        tag_t cyl_obj4;% t$ V9 _# }' P: L6 k0 T8 i
        //圆柱5的变量声明区
; |% w8 F1 b6 O) b# C/ [+ ]
2 e' j  S6 T, U2 _6 S! i) O        double cyl_orig5[3] = {0,7.5,-85.0};( r" k- P% S+ R. e  P4 {) v
        char *cyl_height5="95";
( F* N1 t8 f( X& a/ I/ c        char *cyl_diam5="18";
) q5 |/ J( s3 X# j( f/ _) k        double direction5[3]={0,0,-1};, u5 I: O0 d" g
        tag_t cyl_obj5;
3 H; U8 [0 R4 M! v. r4 v        //圆柱6的变量声明区1 m7 Z8 g4 Y( c3 M* Y

6 y& s, I: {8 q( ?7 X* X1 q$ K" C4 r6 S4 _$ K1 {

; _6 w- V% ]) D( _        double cyl_orig6[3] = {0,7.5,-180.0};
  J0 L, P; M5 C+ d; q        char *cyl_height6="18";+ T, O+ @+ ~; e$ j' T
        char *cyl_diam6="12";$ T, h) h# [1 D" L; Y
        double direction6[3]={0,0,-1};
: k% k$ ]& T" ~0 B, n        tag_t cyl_obj6;8 Y, z# I3 z+ d5 n
        //圆柱7的变量声明区
/ L6 e$ h' M" v  T+ C0 h" e& \# n! r3 t+ H* d
        double cyl_orig7[3] = {0,7.5,-198.0};7 e, J& u& i" }! ~4 g
        char *cyl_height7="20";  w4 i, f1 t- ^; w* o" k9 H
        char *cyl_diam7="10";
" g$ E% e5 E/ J2 W% C1 N        double direction7[3]={0,0,-1};
2 {# `8 q8 P/ Z+ M% ?& r+ ?! i1 \        tag_t cyl_obj7;. ]6 t4 s3 ?( V2 A  `5 b$ s! M
        //圆柱8的变量声明区! l2 \" `$ T/ v9 t: y7 @$ O! T+ O
% K- V/ a5 h+ E8 p  ]
        double cyl_orig8[3] = {0,2.5,-210.0};
, p+ O# q) ]+ f* {  }7 k" X        char *cyl_height8="20";
( P4 u8 n! F3 K+ [% d* e  X2 U        char *cyl_diam8="3";# z' ^9 e6 E$ f& C
        double direction8[3]={0,1,0};
" r9 ]4 G% `2 j        tag_t cyl_obj8;
; p7 R# Z& K- K+ z0 E7 l        //孔的变量声明区
2 ?. `( ^: M8 r" K4 l
  }2 z- h1 e: }    tag_t gasket_cyl_obj,gasket_blk_obj;
+ P& L) G3 Q9 q1 N: ?, h7 O        //创建圆柱的0 m8 o4 ?! n+ ]
2 B- x; E; w; t$ G+ U4 d3 ]
        UF_MODL_create_cyl1(sign, cyl_orig, cyl_height,cyl_diam,direction, &cyl_obj);; v! U1 ]8 Q, B# F: |# G
        UF_MODL_create_block1(sign,block_orig,block_len,&blk_obj);# b2 I- P  ?" J7 H: Z
        UF_MODL_create_cyl1(sign, cyl_orig1, cyl_height1,cyl_diam1,direction1, &cyl_obj1);
8 q* Z" R9 ?# d0 _8 I' j1 ^3 X        UF_MODL_create_cyl1(sign, cyl_orig2, cyl_height2,cyl_diam2,direction2, &cyl_obj2);1 |. G$ ?% s( I8 d& b4 K5 f
        UF_MODL_create_cyl1(sign, cyl_orig3, cyl_height3,cyl_diam3,direction3, &cyl_obj3);% N  r, E% |  W, k4 R' F+ a
        UF_MODL_create_cyl1(sign, cyl_orig4, cyl_height4,cyl_diam4,direction4, &cyl_obj4);
" h  N: ~( o, z# f        UF_MODL_create_cyl1(sign, cyl_orig5, cyl_height5,cyl_diam5,direction5, &cyl_obj5);
4 j9 t4 [' c5 |  q) Z        UF_MODL_create_cyl1(sign, cyl_orig6, cyl_height6,cyl_diam6,direction6, &cyl_obj6);
2 f& S6 o- c  c  A" @* R        UF_MODL_create_cyl1(sign, cyl_orig7, cyl_height7,cyl_diam7,direction7, &cyl_obj7);0 L0 u8 }! G3 @1 R) C; q  h1 R, t
        UF_MODL_create_cyl1(sign, cyl_orig8, cyl_height8,cyl_diam8,direction8, &cyl_obj8);8 h- A+ v  b/ }7 q7 _

( r$ O, c& i4 d+ z9 J% C1 a        //圆柱和块的建模函数( X* _1 Q# G8 O8 S8 _' r

8 n, Y( T9 y6 Z1 B        3 x4 e6 C3 k/ U& h# t1 K- |
        tag_t cylinder, block,*resulting_bodies = NULL;
: U' m7 t6 ~2 q        int num_results;; [2 S+ j5 b. m
        UF_MODL_ask_feat_body(cyl_obj,&cylinder);//目标体
0 E& z! J* x; m( e# E4 O' y% Q2 {        UF_MODL_ask_feat_body(blk_obj,&block);//工具体
; C/ O$ F, E  @) K2 c        UF_MODL_intersect_bodies(block,cylinder,&num_results,&resulting_bodies);+ ]" q, K5 S: x/ A1 @
        //圆柱和块求交
0 t. `% E6 X! q9 F6 V. `) C( e$ S3 [, \, P( G6 T( w* W+ }
        tag_t cylinder7, cylinder8;% x" m1 S. K* h2 w3 G9 ?0 X
        /*int num_results;*/* g# ]) A/ ~7 r. ]9 U- b$ V
        UF_MODL_ask_feat_body(cyl_obj7,&cylinder7);0 k# @7 i' Y' q5 q
        UF_MODL_ask_feat_body(cyl_obj8,&cylinder8);+ j: Z9 @) _3 o  ^
        UF_MODL_subtract_bodies(cylinder7,cylinder8,&num_results,&resulting_bodies);
& ~' B! A$ X. [! ~        //圆柱求差,打孔
; e  V: o2 g! Y7 c" m" o, _, r! ~* a: ^) @' }
        tag_t cylinder9, cylinder1;3 j8 f6 v2 P3 a  z# s" P
        UF_MODL_ask_feat_body(cyl_obj,&cylinder9);% q! y' [4 [% W& _% H
        UF_MODL_ask_feat_body(cyl_obj1,&cylinder1);
5 c2 j& b# v  c7 ~5 b; G! r# L$ ^        UF_MODL_unite_bodies(cylinder1,cylinder9);  i3 ^+ m2 f6 f2 j/ Z9 F0 }
        //圆柱求和
( h3 Y! o) p0 u$ ?3 _$ ~" n( K6 N& s' T9 G+ k5 o% k* Z
    tag_t cylinder2, cylinder3;  e! w, @9 Y% k/ ?
        UF_MODL_ask_feat_body(cyl_obj2,&cylinder3);
( A3 ]& X+ j* d* c3 d        UF_MODL_ask_feat_body(cyl_obj1,&cylinder2);
: l' ]3 a$ p8 d! E7 u0 m0 W! l        UF_MODL_unite_bodies(cylinder2,cylinder3);9 e, ^. O" S6 i$ q( ~, H

' e' k' D* A1 c: O% v    tag_t cylinder4, cylinder5;: a' i8 o) W5 o. `9 v, S' k2 L
        UF_MODL_ask_feat_body(cyl_obj4,&cylinder5);! ]7 q- G# C9 `! ]0 d2 t
        UF_MODL_ask_feat_body(cyl_obj3,&cylinder4);
% J% P- i8 N+ @7 P" O        UF_MODL_unite_bodies(cylinder4,cylinder5);- d, ^# U, K3 O' t9 I

+ o# Y0 X( |: f& ^+ N- t' x- m/ \0 O    }; O7 k! t2 n- L8 {$ p& }
}
9 w2 V2 A5 m; w9 i  @$ _4 }5 ?& A已经做出螺杆,螺纹不会,求教大神
" ^$ z6 O$ Z# z0 L
; h9 W& D7 P' J9 m1 ?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了