proe直齿轮的画法

proe直齿轮的画法,第1张

直齿圆柱齿轮画法

1 文件-----新建

2 工具----程序----编辑设计 输入以下程序

INPUT

TOOTH_NUMBER NUMBER

"enter the number of tooth:"

MODULE NUMBER

"enter the module:"

PRESSURE_ANGLE NUMBER

"enter the pressure_angle:"

FACE_WIDTH NUMBER

"enter the tooth width:"

RAD_FILLET NUMBER

"enter the fillet:"

END INPUT

RELATIONS

R=0.5*MODULE*TOOTH_NUMBER

RB=R*COS(PRESSURE_ANGLE)

P=PI*MODULE

S=P/2

RA=R+MODULE

RF=R-1.25*MODULE

INV_A=TAN(PRESSURE_ANGLE)-PRESSURE_ANGLE*PI/180

SB=2*RB*(S/2/R+INV_A)

ANGLE_TOOTH_THICK=SB/RB*180/PI

ANGLE_TOOTH_SPACE=360/TOOTH_NUMBER-ANGLE_TOOTH_THICK

END RELATIONS

文件----保存 文件----退出

3要将所做的修改体现在模型中 是

得到输入----------------当前值

创建齿轮毛胚基础实体特征

1 插入------拉伸

随便画一个圆柱 (从中向两侧拉伸)

2 工具-----关系----特征 输入以下程序

d0=face_width

d1=2*ra

3 编辑-----再生------当前值

创建基准平面 DTM1

1 插入-----模型基准----平面

按住 CTRL 选中中心线和RIGHT面

2 工具------关系-----特征

选中 DTM1

输入 d2=360/tooth_number

3 编辑-------再生------当前值

4 草绘 以下图中的上表面为基准面

画一条 如下图所视的红色弧线(尺寸任意)

5 工具------关系------特征

选中红色弧线

输入以下程序 d12=angle_tooth_space/2

d13=angle_tooth_thick

d14=rb

画一条线 尺寸任意 ,如图所视

不打 钩

9 工具----关系 选中红色 直线

输入 todeg=180/pi

roll_angle=0

solve

roll_angle*todeg-atan(roll_angle)=trajpar*angle_tooth_thick

for roll_angle

sd7=rb*(1+roll_angle^2)^0.5

得到如图所视的一个面

10 镜像 以 DTM1 面为镜像面

创建第一个齿槽

1 插入-------拉伸

以 中心面 TOP 面为基准平面, DTM1 面为参考面

2 草绘--------边------使用

选择刚画的两个面

工具-------关系------特征

输入 d37=rf 拉伸长度为 face_width

4 编辑-------再生------当前值

5 隐藏多余的曲面

选中两曲面和两曲线

视图--------可见性-------隐藏

效果如图

6 插入-----倒圆角

选中四条边

7 工具-------关系--------特征

选中四条边

输入d44=rad_fillet

8 编辑------再生-------当前值

创建阵列特征

1 编辑-----特征 *** 作------组-------创建-------局部组

名称为 gear_tooth

把模型树中的DTM1以下的所有特征都选中

2 编辑-----阵列 选中 DTM1 的角度参数18度

打钩

3 工具----关系-----特征

选中刚生成的 DTM2

输入 d45=360/tooth_number

p46=tooth_number

注意一定要与图中的参数对应

4 编辑----再生-----当前值

下图是最后的效果

如果以后想画齿轮,只需要打开这个齿轮,然后

编辑------再生------输入值

输入不同的参数就可以得到自己想画的效果

这个代码有点错误,可能是你的代码少复制了一句。按我的理解解释了一下,希望对你有所帮助。

function varargout = jkx(varargin) %该界面的主函数,通过此函数调用matlab的gui主函数

gui_Singleton = 1

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @jkx_OpeningFcn, ...

'gui_OutputFcn', @jkx_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', [])

if nargin &isstr(varargin{1})

gui_State.gui_Callback = str2func(varargin{1})

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:})

else

gui_mainfcn(gui_State, varargin{:})

end

function jkx_OpeningFcn(hObject, eventdata, handles, varargin) %界面窗口的设置

handles.output = hObject

guidata(hObject, handles)

set(gcf,'name','标准直齿圆柱齿轮渐开线参数输入窗口')%设置界面窗口的名字。

function varargout = jkx_OutputFcn(hObject, eventdata, handles)%打开界面窗口时的一些初始设置,比如可以加入javaFrame = get(gcf,'JavaFrame') set(javaFrame,'Maximized',1)使界面运行时就最大化。

varargout{1} = handles.output

function edit1_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white')

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'))

end

function edit1_Callback(hObject, eventdata, handles)%添加可编辑文本框,可以通过set(handles.edit1,'属性名','属性值'……)设置其属性,包括显示的东西

function edit2_CreateFcn(hObject, eventdata, handles)%同上

set(hObject,'BackgroundColor','white')%设置edit2的背景色

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'))%获得默认控件的背景色给当前控件

end

function edit2_Callback(hObject, eventdata, handles)

function edit3_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white')

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'))

end

function edit3_Callback(hObject, eventdata, handles)

function edit4_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white')

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'))

end

function edit4_Callback(hObject, eventdata, handles)

function pushbutton1_Callback(hObject, eventdata, handles)%添加按钮,在下面可以给出他的响应函数

figure%点击按钮新建一个figure.

set(gcf,'name','渐开线齿廓')%设置当前界面的名字

m=str2num(get(handles.edit1,'string'))%将用户输入edit1的字符转换成数字型,并赋值给变量m,

z=str2num(get(handles.edit2,'string'))%将用户输入edit1的字符转换成数字型,并赋值给变量z,

a=str2num(get(handles.edit3,'string'))%将用户输入edit1的字符转换成数字型,并赋值给变量a,

ha=str2num(get(handles.edit6,'string'))%将用户输入edit1的字符转换成数字型,并赋值给变量ha,

ra=m*(0.5*z+ha)%计算出ra

%齿顶圆半径

rb=0.5*m*z*cos(a*pi/180)

%基圆半径

rk=rb:0.01:ra

%向径范围

aa=atan(sqrt((ra.^2/rb.^2)-1))

%齿顶圆上的压力角

wk=tan(aa)-aa

%齿顶圆上的展角

w=0:pi/180:pi/3

x=rb*(cos(w)+w.*sin(w))

y=rb*(sin(w)-w.*cos(w))

plot(x,y,rb*cos(0:0.01:2*pi),rb*sin(0:0.01:2*pi),ra*cos(0:0.01:2*pi),ra*sin(0:0.01:2*pi))%画出图像

xlabel('x 轴 单位:mm','fontsize',9)%设置坐标轴属性,名称,字符大小为9

ylabel('y 轴 单位:mm','fontsize',9)%设置坐标轴属性,名称,字符大小为9

axis equal%调节图形的纵横比,和axis('square')功能一样使屏幕上的x和y的比例尺相同。

title('标准直齿轮渐开线轮廓(基圆与齿顶圆之间的部分为该齿轮的渐开线)','fontsize',11)%图形标注,图形名称,字体大小 为11

text(ra*cos(pi/4),ra*sin(pi/4),'\leftarrow齿顶圆','fontsize',10)%添加静态文本框,显示计算结果+‘\leftarrow齿顶圆’,文本框的字体大小为10。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11809469.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存