color CouleurEngrenage; vardef sin(expr t) = sind(c*t) enddef; vardef cos(expr t) = cosd(c*t) enddef; vardef tan(expr t) = sin(t)/cos(t) enddef; vardef Developpante(expr dp)= save $; path $; $=(dp*u)*(1,0) for t=0 step 0.1 until pi: --((dp*u)*(cos(t)+t*sin(t),sin(t)-t*cos(t))) endfor; $ enddef; vardef Entraxe(expr na,nb)= 0.5*(ModuleEng/u)*(na+nb)+0.04 enddef; vardef Engrenage(expr M,Z,Cc)=%M : Module, Z : nb dents,Cc=Centre % Pour des engrenages dont le profil est une développante de cercle save $; picture $; ModuleEng:=M*u; Dp:=ModuleEng*Z;%Module (mm) De:=Dp+2*ModuleEng;%Diamètre extérieur Dpied:=Dp-2.5*ModuleEng;%Diamètre de pied Alpha:=20;%Angle de pression Db:=Dp*cosd(Alpha);%Diamètre de base pair OPfC,APfC,BPfC,CPfC,Obase[]; OPfC=(0,0); path cerclep,cerclee,cercleb,cerclepied; cerclep=cercles(OPfC,0.5*Dp); cerclee=cercles(OPfC,0.5*De); cercleb=cercles(OPfC,0.5*Db); cerclepied=cercles(OPfC,0.5*Dpied); path dd,daction,dsupport[],dperp[],dsymetrie,darret; if Db