%% Ce fichier est un essai de transcription dans le format jps
%% du formidable travail qu'ont accompli Manuel Luque, Denis Girou et
%% Christophe Jorsen pour l'extension pst-labo pour PSTricks. (voir
%% http://members.aol.com/Mluque5130/). Merci à eux
/uselabo {} def
/aspectLiquides [] def
/niveauLiquides [] def
/Solides [] def
/Gazs [] def
/Tubes [] def
/linewidth .5 def
/m@depl@n true def
/mode2D {
/m@depl@n true store
} def
/mode3D {
/m@depl@n false store
} def
/b@uch@n false def
/withbouchon {
/b@uch@n true store
} def
/withoutbouchon {
/b@uch@n false store
} def
%% liste des problemes a resoudre :
%% * les pscustom
%% * les psclip
%% * les linestyle=none
/Beige {0.96 0.96 0.86 setrgbcolor} def
/GrisClair {0.8 0.8 0.8 setrgbcolor} def
/GrisTresClair {0.9 0.9 0.9 setrgbcolor} def
/OrangeTresPale {0 0.1 0.3 0 setcmykcolor} def
/OrangePale {0 0.2 0.4 0 setcmykcolor} def
/BleuClair {0.2 0 0 0 setcmykcolor} def
/LightBlue {.68 .85 .9 setrgbcolor} def
/Copper {0 0.9 0.9 0.2 setcmykcolor} def
/Marron {0 0.3 0.5 .3 setcmykcolor} def
/le_max 2 31 exp 1 sub def
/relax_dim {0 0 0 0} def
/relax {} def
/RobinetTube_dim {
-.3 -.35 jtoppoint
.3 .35 jtoppoint
} def
/RobinetTube {
gsave
currentpoint translate
2 dict begin
/fillstyle {.6 setgray fill} def
/linearc .05 def
[-0.3 0.35 0.3 0.35 0.3 0.2 0.1 0.2
0.1 -0.35 -0.1 -0.35 -0.1 0.2 -0.3 0.2 -0.3 0.3] polygone*
end
grestore
} def
/oeil_dim {
-2 -1 jtoppoint
0 1 jtoppoint
} def
/oeil {
gsave
currentpoint translate
1 dict begin
0 2.5 2.5 215 270 sarc
0 -2.5 2.5 90 140 sarc
-2.5 0 1 -30 30 sarc
0 0 1.75 160 200 sarc
newpath
0 0 smoveto
0 0 1.75 cercle_
/fillstyle {.5 setgray fill} def
clip
-2.5 0 0.9 cercle*
end
grestore
} def
/Boulon_dim {
-.2 -.2 jtoppoint
.2 .2 jtoppoint
} def
/Boulon {
gsave
currentpoint translate
1 dict begin
/fillstyle {.8 setgray fill} def
0 0 .2 cercle*
[0.15 60 0.15 120 0.15 180 0.15 240 0.15 300 0.15 360] {polcar} papply polygone
end
grestore
} def
/Supportboy_dim {
1 dict begin
3 copy
pop pop
7.3 min /h exch def
-2.75 0 jtoppoint
2.75 h jtoppoint
end
} def
%% d'apres une idee et un code original de Manuel Luque
%% http://melusine.eu.org/syracuse/mluque/transformations_geometriques_beta2/
/Supportboy {
gsave
currentpoint translate
18 dict begin
/vis_supportboy_dic 1 dict def
vis_supportboy_dic /pointfixe {-1.5 0} put
/vis_supportboy_dim {
-2.5 -.75 jtoppoint
3 .75 jtoppoint
} def
/vis_supportboy {
gsave
currentpoint translate
1 dict begin
-2.5 -0.1 2.5 0.1 frame
/fillstyle {
/hangle 45 store
/hstep 5 store
hachure
/hangle 135 store
hachure
} def
2.5 -0.75 3 0.75 frame*
/fillstyle {
/hangle 60 store
/hstep 3 store
hachure
} def
-1 -0.1 2 0.1 frame*
end
grestore
} def
/axe_dim {
-.15 -.15 jtoppoint
.15 .15 jtoppoint
} def
/axe {
gsave
currentpoint translate
1 dict begin
/fillstyle {.8 setgray fill} def
0 0 .15 cercle*
end
grestore
} def
/languette_supportboy_dic 2 dict def
languette_supportboy_dic /oeildroit {1.75 .25} put
languette_supportboy_dic /oeilgauche {-1.75 .25} put
/languette_supportboy_dim {
-2 0 jtoppoint
2 .5 jtoppoint
} def
/languette_supportboy {
gsave
currentpoint translate
2 dict begin
/fillstyle {.6 setgray fill} def
/linearc .25 def
-2 0 2 .5 frame*
end
grestore
} def
/basesupportboy_dim {
-2 0 jtoppoint
2 .5 jtoppoint
} def
/basesupportboy_dic 1 dict def
basesupportboy_dic /oeil {-1.75 .25} put
/basesupportboy {
gsave
currentpoint translate
newpath
0 .25 stranslate
%% le tour
-2 -.25 smoveto
-2 .25 slineto
2 .25 slineto
2 -.25 slineto
-2 -.25 slineto
%% la fente ajouree
-0.95 0.15 smoveto
-0.95 0 0.15 90 270 sarc_
[-0.8 -0.15 1.7 -0.15] ligne_
1.7 0 0.15 -90 90 sarc_
closepath
gsave
.6 setgray fill
grestore
stroke
grestore
} def
7.3 min /h exch def
h .5 sub 7 div arcsin /inclinaison exch def
/point1 {-1.75 .25} def
point1 inclinaison cos 3.5 mul 0 addv /point2 defpoint
point2 inclinaison sin 3.5 mul add /point5 defpoint
point1 point5 milieu /point3 defpoint
point1 inclinaison sin 3.5 mul add /point4 defpoint
point4 inclinaison sin 3.5 mul add /point7 defpoint
point5 point7 milieu /point6 defpoint
point4 (vis_supportboy) /pointfixe spict
point1 {inclinaison} (languette_supportboy) /oeilgauche spict
point3 {inclinaison neg} (languette_supportboy) ccpict
point3 {inclinaison neg} (languette_supportboy) ccpict
point5 {inclinaison neg} (languette_supportboy) /oeildroit spict
point6 {inclinaison} (languette_supportboy) ccpict
/oeildroit pictget /point8 defpoint
point7 (basesupportboy) /oeil spict
0 0 (basesupportboy) bbpict
%% on pose les boulons et les axes
point1 (Boulon) ccpict
point2 (axe) ccpict
point3 (Boulon) ccpict
point4 (Boulon) ccpict
point5 (Boulon) ccpict
point6 (Boulon) ccpict
point7 (Boulon) ccpict
point8 (axe) ccpict
end
grestore
} def
/Manometre_dim {
-1 -1 jtoppoint
1 1 jtoppoint
} def
/Manometre_dic 5 dict def
Manometre_dic /Connect {0 -1} put
/Manometre {
gsave
currentpoint translate
3 dict begin
/position exch def
/fillstyle {blanc fill} def
0 0 1 cercle
0 0 .9 cercle*
0 0 0.65 -60 240 sarc
/i -60 def
11 {
[.65 i polcar .45 i polcar] ligne
/i i 30 add store
} repeat
2 dict begin
2 currentlinewidth mul setlinewidth
/arrowscale {1.2 dup} def
[0.5 position 180 sub polcar 0.65 position polcar] (->) ligne
end
O .1 cercle*
end
grestore
} def
%% \newdimen{\FilamentWidth}
%%
%% \newcommand{\Filaments}[2][5]{%
%% \multido{\iFilament=1+1}{#1}{%
%% \setrandim{\FilamentWidth}{0pt}{0.05pt}
%% \rput{\psk@TubeEssais@tubePenche}{%
%% \pscustom[linewidth=\pointless\FilamentWidth,linecolor=#2]{%
%% \code{/MyRand rand 2 31 exp div def} \pscurve(! MyRand 1 sub MyRand 2 mul 1
%% sub) (! MyRand 0.2 add MyRand 2 add)(! MyRand MyRand 1 sub)(! MyRand 0.5 add
%% MyRand 4 add)}}}}
/Clous {
gsave
9 dict begin
/n exch def
/uuy exch def
/uux exch def
/lly exch def
/llx exch def
/L uux llx sub def
%% {\psset{linecolor=blue} \psarc[linewidth=0.1](0,0.5){.4}{190}{260}
%% \psline(-0.28,0.2)(0.5,1)}}
%%
%% \newdimen\ClouX
%% \newdimen\ClouY
%% \newcount\AngleRotation
%% \newcommand{\Clous}[1][60]{%
n {
/ClouX rand 2 31 exp 1 sub div L mul llx add def
/ClouY rand 2 31 exp 1 sub div .6 mul lly add def
/AngleRotation rand 2 31 exp 1 sub div 180 mul 90 sub def
gsave
ClouX ClouY stranslate
AngleRotation rotate
.5 dup scale
1 1 1 1 ClouFer
grestore
} repeat
end
grestore
} def
/Zinc {
gsave
9 dict begin
/n exch def
/uuy exch def
/uux exch def
/lly exch def
/llx exch def
/L uux llx sub def
n {
/GrenailleX rand 2 31 exp 1 sub div L mul llx add def
/GrenailleY rand 2 31 exp 1 sub div .5 mul lly add def
/AngleRotation rand 2 31 exp 1 sub div 369 mul 180 sub def
gsave
GrenailleX GrenailleY stranslate
AngleRotation rotate
.5 dup scale
1 1 1 1 GrenailleZinc
grestore
} repeat
end
grestore
} def
/Cuivre {
gsave
9 dict begin
/n exch def
/uuy exch def
/uux exch def
/lly exch def
/llx exch def
/L uux llx sub def
n {
/TournureX rand 2 31 exp 1 sub div L mul llx add def
/TournureY rand 2 31 exp 1 sub div .5 mul lly add def
/AngleRotation rand 2 31 exp 1 sub div 360 mul 180 sub def
gsave
TournureX TournureY stranslate
AngleRotation rotate
.5 dup scale
1 1 1 1 TournureCuivre
grestore
} repeat
end
grestore
} def
/Filaments {
gsave
9 dict begin
/n exch def
/uuy exch def
/uux exch def
/lly exch def
/llx exch def
/H uuy lly sub def
/L uux llx sub def
/arg {argc} def
/MyRand {rand le_max div} def
0 -1.5 stranslate
llx lly uux uuy milieu stranslate
L 6 div H 7 div scale
n {
/FilamentWidth rand le_max div 5 mul def
FilamentWidth setlinewidth
[MyRand 1 sub MyRand 2 mul 1 sub .. MyRand 0.2 add MyRand 2 add
.. MyRand MyRand 1 sub .. MyRand 0.5 add MyRand 4 add] draw
} repeat
grestore
} def
%-2 -2 3 3 10 Filaments
/TournureCuivre {
1 dict begin
gsave
pop pop pop pop
% Copper
1 setlinewidth
[.25 0.25 0 0 -0.25 .25 0.25 0.75 0 .5 -0.25 0.75 0.25 1.25 0 1
-0.25 1.25 0.25 1.75] bezier_curve
grestore
end
} def
%TournureCuivre
/ClouFer {
%% \rput{\psk@TubeEssais@tubePenche}{{\psset{linecolor=blue}
1 dict begin
gsave
% bleu
pop pop pop pop
0 0.5 .4 190 260 sarc
1 setlinewidth
[-0.28 0.2 0.5 1] ligne
grestore
end
} def
%ClouFer
/GrenailleZinc {
pop pop pop pop
1 dict begin
gsave
GrisClair
%% [0 0 .. -0.25 0.25 .. 0 .5 .. 0.25 0.75 .. 0.5 0.5 .. 0.15 0.4 .. 0 0] draw
/fillstyle {GrisClair fill} def
[0 0 -0.151479 -0.0395512 -0.289551 0.0985209 -0.25 0.25
-0.218889 0.369153 -0.0871553 0.416129 0 0.5 0.0864664
0.583208 0.134834 0.710268 0.25 0.75 0.428504 0.811584
0.580305 0.638883 0.5 0.5 0.433004 0.384134 0.272038
0.436138 0.15 0.4 -0.0204054 0.34954 -0.0952084 0.150065 0
0] bezier_curve*
grestore
end
} def
%GrenailleZinc
/FioleJauge_ {
1 dict begin
[-0.21 3.5 -0.1 3.5 -0.1 1.5 -0.75 0 0.75 0 0.1 1.5 0.1 3.5 0.21 3.5 ] ligne_
end
} def
/FioleJauge_dim {
-.75 0 jtoppoint
.75 3.5 jtoppoint
} def
/FioleJauge_dic 5 dict def
FioleJauge_dic /bb {0 0} put
/FioleJauge {
gsave
currentpoint translate
1 dict begin
newpath
-.21 3.5 smoveto
FioleJauge_
gsave
clip
-.75 0 .75 3.5 afficheLiquides
-.75 0 .75 3.5 afficheSolides
-.75 0 .75 3.5 afficheGazs
grestore
stroke
gsave
currentlinewidth .3 mul setlinewidth
[-0.1 2.5 0.1 2.5] ligne
grestore
% 0 3.5 stranslate
3.5 afficheBouchage
3.5 afficheTubes
end
grestore
} def
/Bicol_ {
1 dict begin
[-0.7 2.7 -0.5 2.5 -0.5 1.5] ligne_
0 0 1.58114 108.435 71.565 sarc_
[0.5 1.5 0.5 2.5 0.7 2.7 ] ligne_
end
} def
/Bicol_dim {
-1.58 0 jtoppoint
1.58 4.28 jtoppoint
} def
/Bicol_dic 5 dict def
Bicol_dic /bb {0 0} put
Bicol_dic /col {0 3.8} put
Bicol_dic /trou {0 4.28} put
Bicol_dic /trou1 {-.2 4.28} put
Bicol_dic /trou2 {.2 4.28} put
Bicol_dic /trou1g {-1.55563 2.85279} put
Bicol_dic /troug {-1.41421 2.99421} put
Bicol_dic /trou2g {-1.27279 3.13563} put
%%
%% /Bicol {
%% gsave
%% currentpoint translate
%% 0 1.58 stranslate
%% 1 dict begin
%% gsave
%% newpath
%% -.7 2.7 smoveto
%% Bicol_
%% gsave
%% clip
%% -1.58 -1.58 1.58 2.6 afficheLiquides
%% -1.58 -1.58 1.58 2 afficheSolides
%% -1.58 -1.58 1.58 2.6 afficheGazs
%% grestore
%% stroke
%% grestore
%% gsave
%% 45 rotate
%% newpath
%% -0.7 2.2 smoveto
%% [-0.7 2.2 -0.5 1.8 -0.5 1.5 0.5 1.5 0.5 1.8 0.7 2.2] ligne_
%% blanc fill
%% grestore
%% gsave
%% 45 rotate
%% [-0.7 2.2 -0.5 2 -0.5 1.5] ligne
%% [0.7 2.2 0.5 2 0.5 1.5] ligne
%% grestore
%% .8 setlinewidth
%% m@depl@n
%% {}
%% {0 2.7 0.7 0.1 ellipse}
%% ifelse
%% 0 -.9 stranslate
%% 3.5 afficheTubes
%% % afficheBouchage
%% end
%% grestore
%% } def
/Bicol {
gsave
currentpoint translate
0 1.58 stranslate
1 dict begin
gsave
newpath
-.7 2.7 smoveto
Bicol_
gsave
clip
-1.58 -1.58 1.58 2.6 afficheLiquides
-1.58 -1.58 1.58 2 afficheSolides
-1.58 -1.58 1.58 2.6 afficheGazs
grestore
stroke
grestore
gsave
45 rotate
newpath
-0.7 2.2 smoveto
[-0.7 2.2 -0.5 1.8 -0.5 1.5 0.5 1.5 0.5 1.8 0.7 2.2] ligne_
blanc fill
grestore
gsave
45 rotate
[-0.7 2.2 -0.5 2 -0.5 1.5] ligne
[0.7 2.2 0.5 2 0.5 1.5] ligne
grestore
.8 setlinewidth
m@depl@n
{}
{0 2.7 0.7 0.1 ellipse}
ifelse
%% on annule la translation en cours
0 -1.58 stranslate
4.18 afficheBouchage
4.18 afficheTubes
gsave
-1.41421 2.99421 stranslate
45 rotate
0 afficheBouchage
grestore
end
grestore
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ù
/Tricol_ {
1 dict begin
[-0.7 2.7 -0.5 2.5 -0.5 1.5] ligne_
0 0 1.58114 108.435 71.565 sarc_
[0.5 1.5 0.5 2.5 0.7 2.7 ] ligne_
end
} def
/Tricol_dim {
-1.58 0 jtoppoint
1.58 4.28 jtoppoint
} def
/Tricol_dic 6 dict def
Tricol_dic /bb {0 0} put
Tricol_dic /col {0 3.8} put
Tricol_dic /trou {0 4.28} put
Tricol_dic /trou1 {-.2 4.28} put
Tricol_dic /trou2 {.2 4.28} put
Tricol_dic /trou1g {-1.55563 2.85279} put
Tricol_dic /troug {-1.41421 2.99421} put
Tricol_dic /trou2g {-1.27279 3.13563} put
Tricol_dic /trou1d {1.27279 3.13563} put
Tricol_dic /troud {1.41421 2.99421} put
Tricol_dic /trou2d{1.55563 2.85279} put
/Tricol {
gsave
currentpoint translate
0 1.58 stranslate
1 dict begin
currentlinewidth setlinewidth
newpath
-.7 2.7 smoveto
Tricol_
gsave
clip
-1.58 -1.58 1.58 2.6 afficheLiquides
-1.58 -1.58 1.58 2 afficheSolides
-1.58 -1.58 1.58 2.6 afficheGazs
grestore
stroke
gsave
45 rotate
newpath
-0.7 2.2 smoveto
[-0.7 2.2 -0.5 1.8 -0.5 1.5 0.5 1.5 0.5 1.8 0.7 2.2] ligne_
blanc fill
grestore
gsave
45 rotate
[-0.7 2.2 -0.5 2 -0.5 1.5] ligne
[0.7 2.2 0.5 2 0.5 1.5] ligne
grestore
gsave
-45 rotate
newpath
-0.7 2.2 smoveto
[-0.7 2.2 -0.5 1.8 -0.5 1.5 0.5 1.5 0.5 1.8 0.7 2.2] ligne_
blanc fill
grestore
gsave
-45 rotate
[-0.7 2.2 -0.5 2 -0.5 1.5] ligne
[0.7 2.2 0.5 2 0.5 1.5] ligne
grestore
.8 setlinewidth
m@depl@n
{}
{0 2.7 0.7 0.1 ellipse}
ifelse
%% on annule la translation en cours
0 -1.58 stranslate
4.18 afficheBouchage
4.18 afficheTubes
end
grestore
} def
/Ampoule_ {
[0.1 0 0.1 1.5 0.5 1.8
0.5 3.5 0.6 3.6 -0.6 3.6
-0.5 3.5 -0.5 1.8 -0.1 1.5
-0.1 0] ligne_
} def
/Ampoule_dim {
-.6 0 jtoppoint
.6 3.6 jtoppoint
} def
/Ampoule_dic 5 dict def
Ampoule_dic /bb {0 0} put
Ampoule_dic /In {0 0} put
Ampoule_dic /ConnectIn {0 .5} put
Ampoule_dic /Out {0 3.6} put
/Ampoule {
gsave
currentpoint translate
1 dict begin
newpath
.1 0 smoveto
Ampoule_
gsave
clip
-.6 0 .6 3.6 afficheLiquides
-.6 0 .6 3.6 afficheSolides
-.6 0 .6 3.6 afficheGazs
grestore
currentlinewidth setlinewidth
stroke
% 0 3.5 stranslate
3.5 afficheTubes
3.5 afficheBouchage
end
grestore
} def
/RebordBecher {
1 dict begin
.53 setlinewidth
0 2.55 1.1 .1 ellipse
.3 setlinewidth
/nDiv .5 def
4 {
[-.75 nDiv -.4 nDiv] ligne
/nDiv .5 nDiv add store
} repeat
.2 setlinewidth
/nSubDiv .5 def
16 {
[-0.75 nSubDiv -.5 nSubDiv] ligne
/nSubDiv .1 nSubDiv add store
} repeat
end
} def
/Becher_ {
[-1 2.5 -1 0 1 0 1 2.5] ligne_
} def
/Becher_dic 5 dict def
Becher_dic /bb {0 0} put
/Becher_dim {
-1 0 jtoppoint
1 2.5 jtoppoint
} def
/Becher {
gsave
currentpoint translate
2 dict begin
/linearc .5 def
newpath
-1 2.5 smoveto
Becher_
gsave
clip
-1 0 1 2.5 afficheLiquides
-1 0 1 2.5 afficheSolides
-1 0 1 2.5 afficheGazs
grestore
stroke
m@depl@n not
{RebordBecher}
if
3 afficheTubes
% 3 afficheBouchage
end
grestore
} def
/Erlen_ {
[-0.5 3.5 -0.5 2.5 -1.5 0 1.5 0 0.5 2.5 0.5 3.5] ligne_
} def
/Erlen_dim {
-1.5 0 jtoppoint
1.5 3.5 jtoppoint
} def
/Erlen_dic 6 dict def
Erlen_dic /bb {0 0} put
Erlen_dic /col {0 2.8} put
Erlen_dic /trou {0 3.6} put
Erlen_dic /trou1 {-.2 3.6} put
Erlen_dic /trou2 {.2 3.6} put
/Erlen {
gsave
currentpoint translate
2 dict begin
currentlinewidth setlinewidth
/linearc .5 def
newpath
-.5 3.5 smoveto
Erlen_
gsave
clip
-1.5 0 1.5 3.5 afficheLiquides
-1.5 0 1.5 3.5 afficheSolides
-1.5 0 1.5 3.5 afficheGazs
grestore
stroke
/linearc 0 store
% 0 3.5 stranslate
3.5 afficheBouchage
3.5 afficheTubes
end
grestore
} def
/TrompeEau_ {
[-0.5 3.5 -0.5 2.5 -1.5 0 1.5 0 0.5 2.5] ligne_
/linearc .05 def
[.5 2.9 1.5 2.9] ligne_
[1.5 3 .5 3 0.5 3.5] ligne_
} def
/TrompeEau_dim {
-1.5 0 jtoppoint
1.5 3.5 jtoppoint
} def
/TrompeEau_dic 6 dict def
TrompeEau_dic /bb {0 0} put
TrompeEau_dic /trou {0 3.6} put
TrompeEau_dic /trou1 {-.2 3.6} put
TrompeEau_dic /trou2 {.2 3.6} put
TrompeEau_dic /Sortie {1.5 2.95} put
/TrompeEau {
gsave
currentpoint translate
2 dict begin
currentlinewidth setlinewidth
/linearc .25 def
newpath
-.5 3.5 smoveto
TrompeEau_
gsave
clip
-1.5 0 1.5 3.5 afficheLiquides
-1.5 0 1.5 3.5 afficheSolides
-1.5 0 1.5 3.5 afficheGazs
grestore
stroke
/linearc 0 store
% 0 3.5 stranslate
3.5 afficheBouchage
3.5 afficheTubes
end
grestore
} def
%% \def\pst@TubeEssais@Corps{{%
%% \psset{linewidth=0.053}
%% \psline(-0.5,3.5)(-0.5,0.5)
%% \psarc(0,0.5){0.5}{180}{0}
%% \psline(0.5,0.5)(0.5,3.5)
%% \psellipse[linewidth=0.08](0,3.5)(0.5,0.1)}}
/Flacon_ {
-0.6 3.4 0.1 90 0 sarcn_
[-0.5 3.4 -0.5 3.1] ligne_
-0.6 3.1 0.1 0 -90 sarcn_
-0.6 2.6 0.4 90 180 sarc_
[-1 2.6 -1 0.2] ligne_
-.8 0.2 0.2 180 270 sarc_
[-.8 0 .8 0] ligne_
.8 0.2 0.2 -90 0 sarc_
[1 0.2 1 2.6] ligne_
0.6 2.6 0.4 0 90 sarc_
0.6 3.1 0.1 -90 180 sarcn_
[0.5 3.1 0.5 3.4] ligne_
0.6 3.4 0.1 180 90 sarcn_
} def
/Flacon_dim {
-1 0 jtoppoint
1 3.5 jtoppoint
} def
/Flacon_dic 5 dict def
Flacon_dic /bb {0 0} put
Flacon_dic /trou {0 3.6} put
Flacon_dic /trou1 {-.2 3.6} put
Flacon_dic /trou2 {.2 3.6} put
/Flacon {
gsave
currentpoint translate
1 dict begin
currentlinewidth setlinewidth
newpath
-.6 3.5 smoveto
Flacon_
gsave
clip
-1 0 1 3.5 afficheLiquides
-1 0 1 3.5 afficheSolides
-1 0 1 3.5 afficheGazs
grestore
stroke
% 0 3.5 stranslate
3.5 afficheBouchage
3.5 afficheTubes
end
grestore
} def
%Interieur@TubeEssais@Corps
/afficheBouchage {
1 dict begin
/y exch def
dsave1
b@uch@n {0 y (Bouchon) bbpict} if
drestore1
end
} def
/afficheTubes {
7 dict begin
/y exch def
dsave1
/n Tubes length def
%% il y a 1 seul tube
n 1 eq
{
0 y
Tubes 0 get
dup xcheck
{exec}
if
bbpict
}
if
%% il y a 2 tubes
n 2 eq
{
-.2 y
Tubes 0 get
dup xcheck
{exec}
if
bbpict
dsave2
.2 y
Tubes 1 get
dup xcheck
{exec}
if
bbpict
drestore2
}
if
drestore1
end
} def
%% syntaxe : llx lly uux uuy afficheGazss
/afficheGazs {
16 dict begin
niveauLiquides length 0 ne {
/angle_rot where
{pop}
{/angle_rot 0 def}
ifelse
/uuy exch def
/uux exch def
/lly exch def
/llx exch def
/les_points
[llx lly llx uuy uux lly uux uuy]
{0 0 angle_rot rotatepoint} papply
def
/H les_points 3 get les_points 1 get sub def
/nlx
les_points 0 get les_points 2 get min
les_points 4 get les_points 6 get min
min
def
/nly
les_points 1 get les_points 3 get min
les_points 5 get les_points 7 get min
min
def
/nux
les_points 0 get les_points 2 get max
les_points 4 get les_points 6 get max
max
def
/nuy
les_points 1 get les_points 3 get max
les_points 5 get les_points 7 get max
max
def
gsave
angle_rot neg rotate
/i 0 def
Gazs length {
newpath
nlx nly smoveto
nlx nly
nux niveauLiquides dup length 1 sub 0 max get H mul 100 div nly add frame_
clip
gsave
angle_rot 2 div rotate
% llx lly uux uuy Gazs i get exec
nlx nly nux nuy Gazs i get exec
grestore
/i i 1 add store
} repeat
grestore
}
{pop pop pop pop}
ifelse
end
} def
%% syntaxe : llx lly uux uuy afficheSolides
/afficheSolides {
6 dict begin
/uuy exch def
/uux exch def
/lly exch def
/llx exch def
/n Solides length def
/i 0 def
n {
gsave
llx lly uux uuy Solides i get exec
grestore
/i i 1 add store
} repeat
end
} def
%% syntaxe : llx lly uux uuy afficheLiquides
/afficheLiquides {
16 dict begin
niveauLiquides length 0 ne {
/angle_rot where
{pop}
{/angle_rot 0 def}
ifelse
/uuy exch def
/uux exch def
/lly exch def
/llx exch def
/les_points
[llx lly llx uuy uux lly uux uuy]
{0 0 angle_rot rotatepoint} papply
def
/H les_points 3 get les_points 1 get sub def
/nlx
les_points 0 get les_points 2 get min
les_points 4 get les_points 6 get min
min
def
/nly
les_points 1 get les_points 3 get min
les_points 5 get les_points 7 get min
min
def
/nux
les_points 0 get les_points 2 get max
les_points 4 get les_points 6 get max
max
def
/nuy
les_points 1 get les_points 3 get max
les_points 5 get les_points 7 get max
max
def
gsave
angle_rot neg rotate
/i niveauLiquides length 1 sub def
niveauLiquides length {
newpath
nlx nly smoveto
nlx nly
nux niveauLiquides i get H mul 100 div nly add frame_
% clip
[
aspectLiquides i get exec
counttomark 0 eq {
fill pop
} {
gradientfill pop
} ifelse
/i i 1 sub store
} repeat
%% affichage du niveau
currentlinewidth .5 mul setlinewidth
noir
/j niveauLiquides length 1 sub def
m@depl@n
{
newpath
[nlx niveauLiquides j get H mul 100 div nly add
dup nux exch] ligne
stroke
}
{}
ifelse
grestore
}
{pop pop pop pop}
ifelse
end
} def
/dosage@support {
1 dict begin
gsave
-1.5 0 1.5 1.5 frame
-1.30 0.25 -0.70 1.25 frame
-1.20 0.35 -0.80 1.15 frame
1 0.75 0.20 cercle
1 0.75 0.30 cercle
/fillstyle {rouge fill} def
0 0.75 0.2 cercle*
grestore
end
} def
/dosage@aimant {
2 dict begin
/linearc .05 def
/fillstyle {blanc fill} def
-0.5 0.1 0.5 0.4 frame*
-0.05 0 0.05 0.5 frame*
end
} def
/AgitateurMagnetique_dim {
-1.5 0 jtoppoint
1.5 2 jtoppoint
} def
/AgitateurMagnetique {
gsave
currentpoint translate
gsave
0 1.5 stranslate
dosage@aimant
grestore
dosage@support
grestore
} def
/pHmetre_dim {
-1 0 jtoppoint
2.75 5 jtoppoint
} def
/pHmetre {
2 dict begin
gsave
currentpoint translate
% boitier
1 dict begin
/linearc .25 def
-1 0 1 3 frame
end
/fillstyle {GrisClair fill} def
-0.75 2 0.75 2.75 frame*
gsave
blanc
setTimes
(PH) 0 2.375 cctext
grestore
0 1.25 0.3 cercle
[0 1.25 0 1.5] (->) ligne
%% \rput(0.65,1.5){$^\circ$C}%
-0.5 0.5 0.2 cercle
0.5 0.5 0.2 cercle
% électrode
1 dict begin
/linearc .25 def
2.25 2.5 2.75 4.5 frame
end
2.25 4 2.75 4.5 frame*
2.5 2.25 0.25 cercle
% fil
/linearc .4 def
1 setlinewidth
LightBlue
[2.5 4.5 2.5 5 1.25 4.75 0 5 0 3] ligne
grestore
end
} def
/vumetre {
gsave
6 dict begin
/fillstyle {blanc fill} def
-2 0 2 2.2 frame*
/fillstyle {rouge fill} def
[-.1 .1 .1 .1 0 1.8] polygone*
/angled 45 def
/anglef 135 def
angled anglef 0 0 2 Cercle
/n 10 def
/step anglef angled sub n 1 sub div def
/i step def
angled 0 0 2 cpoint
angled 0 0 1.8 cpoint 1 trait
anglef 0 0 2 cpoint
anglef 0 0 1.8 cpoint 1 trait
n 2 sub {
angled i add 0 0 2 cpoint
angled i add 0 0 1.9 cpoint
1 trait
/i step i add store
} repeat
newpath
.4 0 smoveto
0 0 .4 0 180 sarc_
.4 setgray
fill
grestore
end
} def
/bouton {
gsave
1 dict begin
-1.25 -.25 stranslate
/fillstyle {gris fill} def
1 0 1.5 0.5 frame
1.1 0.1 1.4 0.4 frame*
end
grestore
} def
/electrodeConductimetre {
gsave
3 dict begin
/fillstyle {bleu fill} def
/borderline false def
-.15 0 .15 .5 frame*
currentlinewidth .5 mul setlinewidth
[-.05 .5 -.1 3] ligne
[.05 .5 .1 3] ligne
.4 dup jtoppoint pop setlinewidth
/linearc .5 def
.4 setgray
[-1.5 4 0 4 0 3] ligne
end
grestore
} def
/Conductimetre_dim {
-2 0 jtoppoint
5.2 7.2 jtoppoint
} def
/Conductimetre_dic 2 dict def
Conductimetre_dic /Cellule {4 2.25} put
Conductimetre_dic /bb {0 0} put
/Conductimetre {
3 dict begin
gsave
currentpoint translate
/fillstyle {blanc fill} def
-1.5 0 1.5 2 frame*
gsave
-1 1.25 stranslate
.8 dup scale
potentiometre
grestore
gsave
-1 .5 stranslate
bouton
grestore
gsave
.5 .8 stranslate
.4 dup scale
vumetre
grestore
gsave
4 2 stranslate
electrodeConductimetre
grestore
/linearc .4 def
1 setlinewidth
.4 setgray
[2.5 6.1 -0.661274 6.1 4.66127 0.6 1.5 0.6] bezier_curve
[2.5 5.9 -0.661274 5.9 4.66127 0.4 1.5 0.4] bezier_curve
grestore
end
} def
/electrodeConductimetreDigital {
gsave
3 dict begin
currentlinewidth .5 mul setlinewidth
-.1 .6 .1 3 frame
[-.1 .6 -.15 .5] ligne
[.1 .6 .15 .5] ligne
0 3 .1 0 180 sarc
/fillstyle {bleu fill} def
/borderline false def
-.15 0 .15 .5 frame*
end
grestore
} def
/ConductimetreDigital_dim {
-1 0 jtoppoint
3.65 6 jtoppoint
} def
/ConductimetreDigital_dic 2 dict def
ConductimetreDigital_dic /Cellule {3.5 2.25} put
ConductimetreDigital_dic /bb {0 0} put
/ConductimetreDigital {
1 dict begin
gsave
dsave2
currentpoint translate
/fillstyle {blanc fill} def
-1 0 1 3 frame*
0 2 1.5 .75 cframe
-.75 .25 .75 1.5 frame
-.75 2.6 .75 2.8 frame
2 -.2 2 [.1 dup] (digit) ccpict
0 .1 2 [.1 dup] (digit) ccpict
1 .3 /bb pictget exch pop [.1 dup] (digital_point) ccpict
9 .5 2 [.1 dup] (digit) ccpict
setCourrierBold
(CONDUCTIMETRE) 0 .5 [.25 dup] cctext
gsave
3.5 2 stranslate
electrodeConductimetreDigital
grestore
1 setlinewidth
.4 setgray
%% [3.45 5.1 {up} .. {left} 2.5 6 .. {left} 1 .6] draw
[3.45 5.1 3.45 5.60641 3.01582 6.0 2.5 6
-0.447443 6.0 3.94744 0.6 1 0.6] bezier_curve
%% [3.55 5.1 {up} .. {left} 2.5 6 .. {left} 1 .4] draw
[3.55 5.1 3.55 5.62671 3.05454 6.0 2.5 6 -0.570494
6.0 4.07049 0.4 1 0.4] bezier_curve
drestore2
grestore
end
} def
/goutte_dim {
-0.083 -0.25 jtoppoint
0.083 0 jtoppoint
} def
/goutte {
gsave
1 dict begin
currentpoint translate
.5 setlinewidth
[0 0 -0.04 -0.083 -0.083 -0.22 0 -0.25 0.083 -0.22 0.04 -0.083 0 0] bezier_curve*
end
grestore
} def
/goutte2_dim {
-.25 -.4 jtoppoint
.25 0 jtoppoint
} def
/goutte2 {
gsave
currentpoint translate
[0 0 0.25 -.4 -.25 -.4 0 0] bezier_curve*
grestore
} def
/Pipette_ {
1 dict begin
/linearc .05 def
[-0.05 0 -0.15 0.2 -0.15 6 0.15 6 0.15 0.2 0.05 0] polygone_
end
} def
/Pipette_dim {
-.15 0 jtoppoint
.15 6.1 jtoppoint
} def
/Pipette {
3 dict begin
gsave
currentpoint translate
% .53 setlinewidth
newpath
-0.05 0 smoveto
Pipette_
gsave
clip
-.15 0 .15 6 afficheLiquides
-.15 0 .15 6 afficheSolides
-.15 0 .15 6 afficheGazs
grestore
closepath
/linearc .05 def
[0.15 6 0.15 0.2 0.05 0 -0.05 0 -0.15 0.2 -0.15 6 ] ligne
/fillstyle {blanc fill} def
m@depl@n not
{0 6 0.15 0.05 ellipse*}
if
.5 setlinewidth
/Niveau .5 def
10 {
[0 Niveau .1 Niveau] ligne
/Niveau .5 Niveau add store
} repeat
grestore
end
} def
/eprouvette@corps_ {
[-0.5 5 -0.5 0 0.5 0 0.5 4.9 0.6 4.93] ligne_
} def
/eprouvette@rebord {
1 dict begin
/arg {argc} def
[0.498 0.008 .. 0.483 0.026 .. 0.433 0.05 .. 0.353 0.0707 .. 0.25
0.0866 .. 0.13 0.0966 .. 0 0.1 .. -0.13 0.0966 .. -0.25 0.0866
.. -0.353 0.0707 .. -0.433 0.05 .. -0.483 0.026 .. -0.5 0
.. -0.483 -0.026 .. -0.353 -0.0707 .. -0.25 -0.0866 .. -0.13 -0.096
.. 0 -0.1 .. 0.13 -0.096 .. 0.25 -0.0866 .. 0.353 -0.0707 .. 0.433
-0.05 .. 0.498 -0.026 .. 0.6 -0.07
] draw
end
} def
/eprouvette@pied_ {
newpath
-0.95 0.5 0.45 0 -90 sarcn_
-0.95 0.025 0.025 90 270 sarc_
[-0.95 0 0.95 0] ligne_
0.95 0.025 0.025 -90 90 sarc_
0.95 0.5 0.45 -90 180 sarcn_
% [-0.5 0.4 .. 0 0.25 .. 0.5 0.4] draw
[-0.5 0.5 -0.3516 0.302154 -0.177753 0.25 0 0.25 0.177753 0.25 0.3516 0.302154 0.5 0.4] reversep bezier_curve_
} def
/eprouvette@pied {
newpath
-.5 .5 smoveto
eprouvette@pied_
gsave
blanc fill
grestore
stroke
} def
/eprouvette@graduation {
3 dict begin
%% \multido{\nyD=0.5+0.5}{9}{%
currentlinewidth .5 mul setlinewidth
/nyD .5 def
9 {
[-0.4 nyD -0.1 nyD] ligne
/nyD .5 nyD add store
} repeat
/nyd .5 def
40 {
[-0.4 nyd -0.25 nyd] ligne
/nyd .1 nyd add store
} repeat
end
} def
/Eprouvette_dim {
-1 0 jtoppoint
1 5.1 jtoppoint
} def
/Eprouvette_dic 5 dict def
Eprouvette_dic /bb {0 0} put
/Eprouvette {
gsave
currentpoint translate
currentlinewidth setlinewidth
newpath
-.5 5 smoveto
eprouvette@corps_
gsave
clip
-1 .25 1 5 afficheLiquides
-.5 .25 .5 5 afficheSolides
-.5 .25 .5 5 afficheGazs
grestore
stroke
eprouvette@pied
m@depl@n not
{
gsave
0 5 stranslate
eprouvette@rebord
grestore
}
if
eprouvette@graduation
grestore
} def
/ChauffeBallon_dim {
-2 0 jtoppoint
2 2 jtoppoint
} def
/potentiometre {
3 dict begin
0 0 0.4 cercle
gsave
/iA 0 def
7 {
[0.45 iA 0.6 iA] {polcar} papply ligne
/iA iA 30 add store
} repeat
/ahlength 3 def
/arrowscale {.5 .7} def
[0 0 0.3 60 polcar] (->) ligne
grestore
end
} def
/ChauffeBallon {
3 dict begin
gsave
currentpoint translate
0 1 stranslate
/fillstyle {blanc fill} def
-2 -1 2 1 frame*
0 -.2 stranslate
gsave
-1.25 0 stranslate
potentiometre
grestore
/fillstyle {gris fill} def
1 -.5 1.5 0.5 frame
1.1 -.4 1.4 0.4 frame*
rouge
/fillstyle {rouge fill} def
1.25 0.7 0.1 cercle*
grestore
end
} def
/ThermometreLong_dim {
-.5 -1.25 jtoppoint
.5 3.75 jtoppoint
} def
/ThermometreLong {
gsave
currentpoint translate
0 -1 stranslate
3 dict begin
/linearc .05 def
[-.05 .25 -.05 4.75 0.05 4.75 0.05 0.25] ligne
/linearc .08 store
/fillstyle {rouge fill} def
-.15 -.25 0.15 0.25 frame*
.1 dup jtoppoint pop setlinewidth
rouge
[0 .25 0 4] ligne
end
grestore
} def
/Thermometre_dim {
-.5 -.25 jtoppoint
.5 2.75 jtoppoint
} def
/Thermometre {
gsave
currentpoint translate
3 dict begin
/linearc .05 def
[-.05 .25 -.05 2.75 0.05 2.75 0.05 0.25] ligne
/linearc .08 store
/fillstyle {rouge fill} def
-.15 -.25 0.15 0.25 frame*
.1 dup jtoppoint pop setlinewidth
rouge
[0 .25 0 2] ligne
end
grestore
} def
/TubeRenverse_ {
[-0.5 0 -0.5 6] ligne_
0 6 0.5 180 0 sarcn_
[0.5 6 0.5 0] ligne_
} def
/TubeRenverse_dim {
-.5 0 jtoppoint
.5 6.5 jtoppoint
} def
/TubeRenverse {
gsave
currentpoint translate
1 dict begin
currentlinewidth setlinewidth
newpath
-.5 0 smoveto
TubeRenverse_
gsave
clip
-.5 0 .5 6.5 afficheLiquides
-.5 0 .5 6.5 afficheSolides
-.5 0 .5 6.5 afficheGazs
grestore
stroke
end
grestore
} def
/TubeEssais_ {
1 dict begin
% .53 setlinewidth
[-0.5 3.5 -0.5 0.5] ligne_
0 0.5 0.5 -180 0 sarc_
[0.5 0.5 0.5 3.5] ligne_
end
} def
/TubeEssais_dim {
-.5 0 jtoppoint
.5 3.6 jtoppoint
} def
/TubeEssais_dic 5 dict def
TubeEssais_dic /bb {0 0} put
TubeEssais_dic /trou {0 3.6} put
TubeEssais_dic /trou1 {-.2 3.6} put
TubeEssais_dic /trou2 {.2 3.6} put
TubeEssais_dic /col {0 2.9} put
/TubeEssais {
gsave
currentpoint translate
%linewidth setlinewidth
1 dict begin
newpath
-.5 3.5 smoveto
TubeEssais_
gsave
clip
-.5 0 .5 3.5 afficheLiquides
-.5 0 .5 3.5 afficheSolides
-.5 0 .5 3.5 afficheGazs
grestore
stroke
m@depl@n
{}
{[0 3.5 0.5 0.1 0] ellipse}
ifelse
% 0 3.5 stranslate
3.5 afficheTubes
3.5 afficheBouchage
end
grestore
} def
/ReposeTube_dim {
-1 .15 jtoppoint
1 1 jtoppoint
} def
/ReposeTube {
gsave
currentpoint translate
1 dict begin
gsave
aspectLiquides length 0 eq
{blanc}
{aspectLiquides 0 get exec}
ifelse
newpath
1 .15 smoveto
0 .15 .85 0 180 sarc_
fill
grestore
1 setlinewidth
GrisClair %lightgray
0 0.15 .85 100 140 sarc
0 0.15 .85 150 180 sarc
0 0.15 .85 0 80 sarc
end
grestore
} def
/TubeRenverse_dim {
-.5 0 jtoppoint
-.5 6.5 jtoppoint
} def
/TubeRenverse_ {
[-0.5 .15 -0.5 6] ligne_
0 6 0.5 180 0 sarcn_
[0.5 6 0.5 .15] ligne_
} def
/TubeRenverse {
gsave
currentpoint translate
linewidth setlinewidth
1 dict begin
newpath
-.5 .15 smoveto
TubeRenverse_
gsave
clip
-.5 0 .5 6.5 afficheLiquides
-.5 0 .5 6.5 afficheSolides
-.5 0 .5 6.5 afficheGazs
grestore
stroke
m@depl@n
{}
{[0 3.5 0.5 0.1 0] ellipse}
ifelse
end
grestore
} def
/Burette_ {
[-0.5 11 -0.25 10.5 -0.25 3 0 2.75 0 0.5] ligne_
[0.2 0.7 0.2 2.75 0.5 3 0.5 10.5 0.75 11] ligne_
} def
/Burette@graduation {
%% \multido{\n=3.0+0.32}{25}{\psline(-0.25,\n)(0,\n)}}
2 dict begin
linewidth .5 mul setlinewidth
/n 3 def
25 {
[-.25 n 0 n] ligne
/n .3 n add store
} repeat
end
} def
/Burette@robinet {
2 dict begin
/linearc 0 def
/fillstyle {blanc fill} def
-.1 1.6 .3 2.1 frame*
-.1 1.5 -.2 2.2 frame
.3 1.5 .4 2.2 frame
[.4 1.7 .5 1.7 .6 1.4 .8 1.4 .8 2.3 .6 2.3 .5 2 .4 2] polygone
%% {\psset{fillstyle=solid fillcolor=LightBlue}
/fillstyle {LightBlue fill} def
[-.5 1.5 -.75 1.7 -.75 2 -.5 2.2 -.3 2.2 -.3 1.5] polygone*
-.5 1.5 -.2 2.2 frame
end
} def
/Burette_dim {
-.75 -2.5 jtoppoint
.75 9 jtoppoint
} def
/Burette {
gsave
currentpoint translate
0 -3 stranslate
2 dict begin
currentlinewidth setlinewidth
newpath
-.5 11 smoveto
Burette_
gsave
clip
-.75 2.1 .75 10.2 afficheLiquides
-.75 2.1 .75 10.2 afficheSolides
-.75 2.1 .75 10.2 afficheGazs
grestore
stroke
Burette@robinet
Burette@graduation
end
grestore
} def
/Cristallisoir@corps {
[ -1.9 2 -2 2 ] ligne
-2 1.95 0.05 90 270 sarc
[ -2 1.9 -2 1 ] ligne
-1 1 1 180 270 sarc
[ -1 0 1 0 ] ligne
1 1 1 -90 0 sarc
[ 2 1 2 1.9 ] ligne
2 1.95 0.05 -90 90 sarc
[ 2 2 1.9 2 ] ligne
[ 1.9 2 1.9 1 ] ligne
1 1 0.9 0 -90 sarcn
[1 0.1 -1 0.1 ] ligne
-1 1 0.9 270 180 sarcn
[ -1.9 1 -1.9 2 ] ligne
} def
/InterieurCristallisoir {
[1.9 2 1.9 1] ligne_
1 1 0.9 0 -90 sarcn_
[1 0.1 -1 0.1] ligne_
-1 1 0.9 270 180 sarcn_
[-1.9 1 -1.9 2] ligne_
} def
/Cristallisoir_dim {
-2 0 jtoppoint
2 2 jtoppoint
} def
/Cristallisoir {
gsave
currentpoint translate
newpath
1.9 2 smoveto
InterieurCristallisoir
gsave
clip
-2 0 2 2 afficheLiquides
-2 0 2 2 afficheSolides
-2 0 2 2 afficheGazs
grestore
Cristallisoir@corps
grestore
} def
/Entonnoir_ {
[-0.07 0 -0.07 1 -1 2.5] ligne_
[1 2.5 0.07 1 0.07 0.1] ligne_
} def
/Entonnoir_dim {
-1 0 jtoppoint
1 2.6 jtoppoint
} def
/Entonnoir {
2 dict begin
gsave
currentpoint translate
newpath
-0.07 0 smoveto
Entonnoir_
gsave
clip
-1 0 1 2.5 afficheLiquides
-1 0 1 2.5 afficheSolides
-1 0 1 2.5 afficheGazs
grestore
/linearc .25 def
[-0.07 0 -0.07 1 -1 2.5] ligne
[1 2.5 0.07 1 0.07 0.1] ligne
%% newpath
%% -0.07 0 smoveto
%% Entonnoir_
%% stroke
m@depl@n not
{0 2.5 1 0.1 ellipse*}
if
grestore
end
} def
/Ballon_ {
1 dict begin
-0.7 3.4 0.2 90 0 sarcn_
[-0.5 3.4 -0.5 2.4] ligne_
0 1.25 1.25 113 67 sarc_
[0.5 2.4 0.5 3.4] ligne_
0.7 3.4 0.2 180 90 sarcn_
end
} def
/Ballon_dim {
-1.25 0 jtoppoint
1.25 3.6 jtoppoint
} def
/Ballon_dic 5 dict def
Ballon_dic /bb {0 0} put
Ballon_dic /col {0 2.8} put
Ballon_dic /trou {0 3.6} put
Ballon_dic /trou1 {-.2 3.6} put
Ballon_dic /trou2 {.2 3.6} put
/Ballon {
gsave
currentpoint translate
1 dict begin
newpath
-.7 3.6 smoveto
Ballon_
gsave
clip
-1.25 0 1.25 3.5 afficheLiquides
-1.25 0 1.25 3 afficheSolides
-1.25 0 1.25 3.5 afficheGazs
grestore
stroke
.8 setlinewidth
m@depl@n
{}
{0 3.6 0.7 0.1 ellipse}
ifelse
% 0 3.5 stranslate
3.5 afficheBouchage
3.5 afficheTubes
end
grestore
} def
%% \newpsstyle{Champagne}{linestyle=none,fillstyle=solid,fillcolor=Beige}
%%
%% \newcommand{\BullesChampagne}[1][25]{%
%% \begingroup
%% \multido{\iBulle=1+1}{#1}{%
%% \setrandim{\BulleX}{-1pt}{1pt} \setrandim{\BulleY}{0pt}{3pt} \pst@dimh=\BulleY
%% \ifdim\BulleY<1pt \multiply\pst@dimh by 3
%% \else\ifdim\BulleY<2pt \multiply\pst@dimh by 2
%% \else \multiply\pst@dimh by 1
%% \fi\fi
%% \rput{\psk@TubeEssais@tubePenche}{%
%% \psdot[dotscale=\pointless\pst@dimh,dotstyle=o](! \pointless\BulleX\space
%% \pointless\BulleY\space \@nameuse{psk@TubeEssais@niveauLiquide1} mul 100
%% div)}}\endgroup}
/BullesChampagne {
gsave
vect_scale 1 exch div exch 1 exch div exch scale
12 dict begin
/n exch def
/uuy exch def
/uux exch def
/lly exch def
/llx exch def
/L uux llx sub def
/H uuy lly sub def
n {
/BulleX rand 2 31 exp 1 sub div L mul llx add def
/BulleY rand 2 31 exp 1 sub div H mul def
/dimh BulleY def
BulleY H 3 div lt
{
/dimh dimh 3 mul store
}
{
BulleY H 3 div 2 mul lt
{/dimh dimh 2 mul store}
if
}
ifelse
/BulleY BulleY lly add store
/fillstyle {blanc fill} def
/linewidth .5 store
BulleX BulleY dimh 10 div cercle*
} repeat
end
grestore
} def
/Bulles {
gsave
vect_scale 1 exch div exch 1 exch div exch scale
12 dict begin
/n exch def
/uuy exch def
/uux exch def
/lly exch def
/llx exch def
/L uux llx sub def
/H uuy lly sub def
n {
/BulleX rand 2 31 exp 1 sub div L mul llx add def
/BulleY rand 2 31 exp 1 sub div H mul def
/dimh BulleY def
BulleY H 3 div lt
{
/dimh dimh 3 mul store
}
{
BulleY H 3 div 2 mul lt
{/dimh dimh 2 mul store}
if
}
ifelse
/BulleY BulleY lly add store
/fillstyle {blanc fill} def
/linewidth .5 store
BulleX BulleY dimh 100 div cercle*
} repeat
end
grestore
} def
%-2 -1 2 4 50 Bulles
%% \def\pst@TubeEssais@Bouchon{%
%% \begingroup
%% \psset{fillstyle=solid,fillcolor=GrisClair}
%% \psellipse(0,-0.3)(0.4,0.1)
%% \pspolygon(-0.4,-0.3)(-0.6,0.5)(0.6,0.5)(0.4,-0.3)%
%% \psellipse[linestyle=none,dimen=outer,linewidth=0.07](0,-0.3)(0.4,0.1)%
%% \psellipse(0,0.5)(0.6,0.1)
%% \endgroup
%% \pscurve[linewidth=0.07](-0.5,0)(0,-0.07)(0.5,0)}
/BouchonSimple {
1 dict begin
/fillstyle {GrisClair fill} def
m@depl@n not
{/borderline false def}
def
[-0.4 -0.3 -0.6 0.5 0.6 0.5 0.4 -0.3] polygone*
/borderline true def
[-0.4 -0.3 -0.6 0.5] ligne
[0.6 0.5 0.4 -0.3] ligne
m@depl@n not
{
-180 0 [0 -0.3 0.4 0.1 0] Ellipse*
[0 0.5 0.6 0.1 0] ellipse*
.7 setlinewidth
[-0.5 0 .. 0 -0.07 .. 0.5 0] draw
}
if
end
} def
%Bouchon
/BouchonUnTrou {
1 dict begin
BouchonSimple
% currentlinewidth .5 mul setlinewidth
/fillstyle {1 setgray fill} def
m@depl@n
{
-.05 -.5 .05 .7 (lr) frame*
}
{
-.05 .5 .05 .7 (blr) frame*
}
ifelse
end
} def
/BouchonDeuxTrou {
1 dict begin
BouchonSimple
% currentlinewidth .5 mul setlinewidth
/fillstyle {1 setgray fill} def
m@depl@n
{
.15 -.5 .25 .7 (lr) frame*
-.15 -.5 -.25 .7 (lr) frame*
}
{
.25 .5 .35 .7 (blr) frame*
-.25 .5 -.35 .7 (blr) frame*
}
ifelse
end
} def
/Bouchon_dic 3 dict def
/Bouchon_dim {
-.6 -.4 jtoppoint
.6 .6 jtoppoint
} def
/Bouchon {
gsave
currentpoint translate
Tubes length
dup 0 eq
{BouchonSimple}
if
dup 1 eq
{BouchonUnTrou}
if
2 eq
{BouchonDeuxTrou}
if
grestore
} def
%% 14/03/03 %% %% \def\pst@TubeEssais@Droit{%
%% 14/03/03 %% %% \psline[linewidth=0.5\pslinewidth](0.05,-1)(0.05,5)%
%% 14/03/03 %% %% \psline[linewidth=0.5\pslinewidth](-0.05,-1)(-0.05,5)%
%% 14/03/03 %% %% \pst@TubeEssais@Bouchon
%% 14/03/03 %% %% \psframe[framearc=0.5,fillstyle=solid,dimen=middle,linewidth=0.5\pslinewidth](-0.05,5)(0.05,0.5)%
%% 14/03/03 %% %% \psline[linecolor=white,linewidth=0.14](-0.1,5)(0.1,5)}
%% 14/03/03 %%
%% 14/03/03 %% /TubeDroit {
%% 14/03/03 %% 1 dict begin
%% 14/03/03 %% [0.05 -1 0.05 5] ligne
%% 14/03/03 %% [-0.05 -1 -0.05 5] ligne
%% 14/03/03 %% Bouchon
%% 14/03/03 %% -0.05 5 0.05 0.5 frame
%% 14/03/03 %% gsave
%% 14/03/03 %% blanc
%% 14/03/03 %% 1.4 setlinewidth
%% 14/03/03 %% [-0.1 5 0.1 5] ligne
%% 14/03/03 %% grestore
%% 14/03/03 %% end
%% 14/03/03 %% } def
%% 14/03/03 %%
%% 14/03/03 %% %pst@TubeEssais@Droit
%% 14/03/03 %%
%% 14/03/03 %% %% \def\pst@TubeEssais@Coude{%
%% 14/03/03 %% %% \psline[linewidth=0.5\pslinewidth](0.05,-1)(0.05,0)%
%% 14/03/03 %% %% \psline[linewidth=0.5\pslinewidth](-0.05,-1)(-0.05,0)%
%% 14/03/03 %% %% \pst@TubeEssais@Bouchon
%% 14/03/03 %% %% \pspolygon[fillstyle=solid,linearc=0.05,linewidth=0.5\pslinewidth](-0.05,0.5)(-0.05,2)(8,2)(8,1.9)
%% 14/03/03 %% %% (0.05,1.9)(0.05,0.5)%
%% 14/03/03 %% %% \psline[linecolor=white,linewidth=0.14](7.95,1.9)(8.05,2)}
%% 14/03/03 %%
%% 14/03/03 %% /TubeCoude {
%% 14/03/03 %% 1 dict begin
%% 14/03/03 %% [0.05 -1 0.05 0] ligne
%% 14/03/03 %% [-0.05 -1 -0.05 0] ligne
%% 14/03/03 %% Bouchon
%% 14/03/03 %% [-0.05 0.5 -0.05 2 8 2 8 1.9 0.05 1.9 0.05 0.5] polygone
%% 14/03/03 %% gsave
%% 14/03/03 %% blanc
%% 14/03/03 %% 1.4 setlinewidth
%% 14/03/03 %% [7.95 1.9 8.05 2] ligne
%% 14/03/03 %% grestore
%% 14/03/03 %% end
%% 14/03/03 %% } def
%% 14/03/03 %%
%% 14/03/03 %% %pst@TubeEssais@Coude
%% 14/03/03 %%
%% 14/03/03 %% %% \def\pst@TubeEssais@CoudeU{%
%% 14/03/03 %% %% \psline[linewidth=0.5\pslinewidth](0.05,-1)(0.05,0)%
%% 14/03/03 %% %% \psline[linewidth=0.5\pslinewidth](-0.05,-1)(-0.05,0)%
%% 14/03/03 %% %% \pst@TubeEssais@Bouchon
%% 14/03/03 %% %% \pspolygon[fillstyle=solid,linearc=0.05,linewidth=0.5\pslinewidth](-0.05,0.5)(-0.05,2)(4.5,2)(4.5,-3)
%% 14/03/03 %% %% (4.4,-3)(4.4,1.9)(0.05,1.9)(0.05,0.5)%
%% 14/03/03 %% %% \psline[linecolor=white,linewidth=0.14](4.3,-3)(4.6,-3)}
%% 14/03/03 %%
%% 14/03/03 %% /TubeCoudeU {
%% 14/03/03 %% 1 dict begin
%% 14/03/03 %% [0.05 -1 0.05 0] ligne
%% 14/03/03 %% [-0.05 -1 -0.05 0] ligne
%% 14/03/03 %% Bouchon
%% 14/03/03 %% [-0.05 0.5 -0.05 2 4.5 2 4.5 -3 4.4 -3 4.4 1.9 0.05 1.9 0.05 0.5] ligne
%% 14/03/03 %% gsave
%% 14/03/03 %% blanc
%% 14/03/03 %% 1.4 setlinewidth
%% 14/03/03 %% [4.3 -3 4.6 -3] ligne
%% 14/03/03 %% grestore
%% 14/03/03 %% end
%% 14/03/03 %% } def
%% 14/03/03 %%
%% 14/03/03 %% %pst@TubeEssais@CoudeU
%% 14/03/03 %%
%% 14/03/03 %% %% \def\pst@TubeEssais@CoudeUB{%
%% 14/03/03 %% %% \psline[linewidth=0.5\pslinewidth](0.05,-1)(0.05,0)%
%% 14/03/03 %% %% \psline[linewidth=0.5\pslinewidth](-0.05,-1)(-0.05,0)%
%% 14/03/03 %% %% \pst@TubeEssais@Bouchon
%% 14/03/03 %% %% \pspolygon[fillstyle=solid,linearc=0.05,linewidth=0.5\pslinewidth](-0.05,0.5)(-0.05,2)(4.5,2)(4.5,-9)
%% 14/03/03 %% %% (4.4,-9)(4.4,1.9)(0.05,1.9)(0.05,0.5)%
%% 14/03/03 %% %% \psline[linecolor=white,linewidth=0.14](4.3,-9)(4.6,-9)}
%% 14/03/03 %%
%% 14/03/03 %% /TubeCoudeUB {
%% 14/03/03 %% gsave
%% 14/03/03 %% 1 dict begin
%% 14/03/03 %% currentlinewidth .5 mul setlinewidth
%% 14/03/03 %% [0.05 -1 0.05 0] ligne
%% 14/03/03 %% [-0.05 -1 -0.05 0] ligne
%% 14/03/03 %% end
%% 14/03/03 %% Bouchon
%% 14/03/03 %% 3 dict begin
%% 14/03/03 %% currentlinewidth .5 mul setlinewidth
%% 14/03/03 %% /fillstyle {blanc fill} def
%% 14/03/03 %% /linearc .05 def
%% 14/03/03 %% [-0.05 0.5 -0.05 2 4.5 2 4.5 -9
%% 14/03/03 %% 4.4 -9 4.4 1.9 0.05 1.9 0.05 0.5] polygone*
%% 14/03/03 %% 1.4 setlinewidth
%% 14/03/03 %% blanc
%% 14/03/03 %% [4.3 -9 4.6 -9] ligne
%% 14/03/03 %% end
%% 14/03/03 %% grestore
%% 14/03/03 %% } def
%% 14/03/03 %%
%% 14/03/03 %% %pst@TubeEssais@CoudeUB
%% 14/03/03 %%
%% 14/03/03 %% %% \def\pst@TubeRecourbe{%
%% 14/03/03 %% %% \psline[linewidth=0.5\pslinewidth](0.05,-1)(0.05,0)%
%% 14/03/03 %% %% \psline[linewidth=0.5\pslinewidth](-0.05,-1)(-0.05,0)%
%% 14/03/03 %% %% \pst@TubeEssais@Bouchon
%% 14/03/03 %% %% \begingroup
%% 14/03/03 %% %% \psset{linewidth=0.5\pslinewidth}
%% 14/03/03 %% %% \psline(-0.05,0.5)(-0.05,1)
%% 14/03/03 %% %% \psarcn(0.5,1){0.55}{180}{90}
%% 14/03/03 %% %% \psline(0.5,1.55)(5.5,1.55)
%% 14/03/03 %% %% \psarcn(5.5,1){0.55}{90}{0}
%% 14/03/03 %% %% \psline(6.05,1)(6.05,-8.8)
%% 14/03/03 %% %% \psarc(6.5,-8.8){0.45}{180}{0}
%% 14/03/03 %% %% \psline(6.95,-8.8)(6.95,-8.3)
%% 14/03/03 %% %% \psline(7.05,-8.3)(7.05,-8.8)
%% 14/03/03 %% %% \psarcn(6.5,-8.8){0.55}{0}{180}
%% 14/03/03 %% %% \psline(5.95,-8.8)(5.95,1)
%% 14/03/03 %% %% \psarc(5.5,1){0.45}{0}{90}
%% 14/03/03 %% %% \psline(5.5,1.45)(0.5,1.45)
%% 14/03/03 %% %% \psarc(0.5,1){.45}{90}{180}
%% 14/03/03 %% %% \psline(0.05,1)(0.05,0.5)
%% 14/03/03 %% %% \psline(-0.05,.5)(0.05,0.5)\endgroup
%% 14/03/03 %% %% \psframe*[linecolor=white](-0.025,0.52)(0.020,0.6)
%% 14/03/03 %% %% }
%% 14/03/03 %%
%% 14/03/03 %% /TubeRecourbe {
%% 14/03/03 %% gsave
%% 14/03/03 %% 1 dict begin
%% 14/03/03 %% currentlinewidth .5 mul setlinewidth
%% 14/03/03 %% [0.05 -1 0.05 0] ligne
%% 14/03/03 %% [-0.05 -1 -0.05 0] ligne
%% 14/03/03 %% end
%% 14/03/03 %% Bouchon
%% 14/03/03 %% 1 dict begin
%% 14/03/03 %% currentlinewidth .5 mul setlinewidth
%% 14/03/03 %% [-0.05 0.5 -0.05 1] ligne
%% 14/03/03 %% 0.5 1 0.55 180 90 sarcn
%% 14/03/03 %% [0.5 1.55 5.5 1.55] ligne
%% 14/03/03 %% 5.5 1 0.55 90 0 sarcn
%% 14/03/03 %% [6.05 1 6.05 -8.8] ligne
%% 14/03/03 %% 6.5 -8.8 0.45 180 0 sarc
%% 14/03/03 %% [6.95 -8.8 6.95 -8.3] ligne
%% 14/03/03 %% [7.05 -8.3 7.05 -8.8] ligne
%% 14/03/03 %% 6.5 -8.8 0.55 0 180 sarcn
%% 14/03/03 %% [5.95 -8.8 5.95 1] ligne
%% 14/03/03 %% 5.5 1 0.45 0 90 sarc
%% 14/03/03 %% [5.5 1.45 0.5 1.45] ligne
%% 14/03/03 %% 0.5 1 .45 90 180 sarc
%% 14/03/03 %% [0.05 1 0.05 0.5] ligne
%% 14/03/03 %% [-0.05 .5 0.05 0.5] ligne
%% 14/03/03 %% end
%% 14/03/03 %% %% \psframe*[linecolor=white](-0.025,0.52)(0.020,0.6)
%% 14/03/03 %% blanc
%% 14/03/03 %% /fillstyle {} def
%% 14/03/03 %% -0.025 0.52 0.020 0.6 frame*
%% 14/03/03 %% grestore
%% 14/03/03 %% } def
%% 14/03/03 %%
%% 14/03/03 %% %% 0 10 stranslate
%% 14/03/03 %% %% pst@TubeRecourbe
%% 14/03/03 %% %% 0 -10 stranslate
%% 14/03/03 %%
%% 14/03/03 %% %% \def\pst@TubeRecourbe@Court{
%% 14/03/03 %% %% \psline[linewidth=0.5\pslinewidth](0.05,-1)(0.05,0)%
%% 14/03/03 %% %% \psline[linewidth=0.5\pslinewidth](-0.05,-1)(-0.05,0)%
%% 14/03/03 %% %% \pst@TubeEssais@Bouchon \psline(-0.05,0.5)(-0.05,1)
%% 14/03/03 %% %% \begingroup
%% 14/03/03 %% %% \psset{linewidth=0.5\pslinewidth}
%% 14/03/03 %% %% \psarcn(0.5,1){0.55}{180}{90}
%% 14/03/03 %% %% \psline(0.5,1.55)(3.5,1.55)
%% 14/03/03 %% %% \psarcn(3.5,1){0.55}{90}{0}
%% 14/03/03 %% %% \psline(4.05,1)(4.05,-2.8)
%% 14/03/03 %% %% \psarc(4.5,-2.8){0.45}{180}{0}
%% 14/03/03 %% %% \psline(4.95,-2.8)(4.95,-2.3)
%% 14/03/03 %% %% \psline(5.05,-2.3)(5.05,-2.8)
%% 14/03/03 %% %% \psarcn(4.5,-2.8){0.55}{0}{180}
%% 14/03/03 %% %% \psline(3.95,-2.8)(3.95,1)
%% 14/03/03 %% %% \psarc(3.5,1){0.45}{0}{90}
%% 14/03/03 %% %% \psline(3.5,1.45)(0.5,1.45)
%% 14/03/03 %% %% \psarc(0.5,1){.45}{90}{180}
%% 14/03/03 %% %% \psline(0.05,1)(0.05,0.5)
%% 14/03/03 %% %% \psline(-0.05,.5)(0.05,0.5)
%% 14/03/03 %% %% \endgroup
%% 14/03/03 %% %% \psframe*[linecolor=white](-0.025,0.52)(0.020,0.6)}
%% 14/03/03 %%
%% 14/03/03 %% /TubeRecourbeCourt {
%% 14/03/03 %% gsave
%% 14/03/03 %% 1 dict begin
%% 14/03/03 %% currentlinewidth .5 mul setlinewidth
%% 14/03/03 %% [0.05 -1 0.05 0] ligne
%% 14/03/03 %% [-0.05 -1 -0.05 0] ligne
%% 14/03/03 %% end
%% 14/03/03 %% Bouchon
%% 14/03/03 %% [-0.05 0.5 -0.05 1] ligne
%% 14/03/03 %% 1 dict begin
%% 14/03/03 %% currentlinewidth .5 mul setlinewidth
%% 14/03/03 %% 0.5 1 0.55 180 90 sarcn
%% 14/03/03 %% [0.5 1.55 3.5 1.55] ligne
%% 14/03/03 %% 3.5 1 0.55 90 0 sarcn
%% 14/03/03 %% [4.05 1 4.05 -2.8] ligne
%% 14/03/03 %% 4.5 -2.8 0.45 180 0 sarc
%% 14/03/03 %% [4.95 -2.8 4.95 -2.3] ligne
%% 14/03/03 %% [5.05 -2.3 5.05 -2.8] ligne
%% 14/03/03 %% 4.5 -2.8 0.55 0 180 sarcn
%% 14/03/03 %% [3.95 -2.8 3.95 1] ligne
%% 14/03/03 %% 3.5 1 0.45 0 90 sarc
%% 14/03/03 %% [3.5 1.45 0.5 1.45] ligne
%% 14/03/03 %% 0.5 1 .45 90 180 sarc
%% 14/03/03 %% [0.05 1 0.05 0.5] ligne
%% 14/03/03 %% [-0.05 .5 0.05 0.5] ligne
%% 14/03/03 %% end
%% 14/03/03 %% blanc
%% 14/03/03 %% /fillstyle {} def
%% 14/03/03 %% -0.025 0.52 0.020 0.6 frame*
%% 14/03/03 %% grestore
%% 14/03/03 %% } def
%% 14/03/03 %%
%% 14/03/03 %% %0 10 stranslate
%% 14/03/03 %% %pst@TubeRecourbe@Court
%%%%%%%%%%%%%%%% nouvelles defs pour les tubes %%%%%%%%%%%%%%%%
/ConstruitTube {
gsave
1 dict begin
/le_tube exch def
1 dict begin
.1 dup jtoppoint pop currentlinewidth add setlinewidth
le_tube ligne
end
1 dict begin
blanc
.1 dup jtoppoint pop currentlinewidth sub setlinewidth
le_tube ligne
end
end
grestore
} def
/TubeU_dim {
-1 0 jtoppoint
5 1.5 jtoppoint
} def
/TubeU_dic 5 dict def
TubeU_dic /uc {2.5 1.5} put
TubeU_dic /In {0 -1} put
TubeU_dic /Out {5 -1} put
TubeU_dic /ConnectIn {0 .1} put
TubeU_dic /ConnectOut {5 .1} put
/TubeU {
gsave
currentpoint translate
1 dict begin
/linearc .5 def
[0 -1 0 1.5 5 1.5 5 -1] ConstruitTube
end
grestore
} def
/TubeCoin_dim {
-1 -1 jtoppoint
2.5 1.5 jtoppoint
} def
/TubeCoin_dic 3 dict def
TubeCoin_dic /In {0 -1} put
TubeCoin_dic /ConnectIn {0 0} put
TubeCoin_dic /Out {2.5 1.5} put
/TubeCoin {
gsave
currentpoint translate
1 dict begin
/linearc .5 def
[0 -1 0 1.5 2.5 1.5] ConstruitTube
end
grestore
} def
/TubeDroit_dic 2 dict def
TubeDroit_dic /In {0 -1} put
TubeDroit_dic /Out {0 5} put
/TubeDroit_dim {
-.05 -1 jtoppoint
.05 5 jtoppoint
} def
/TubeDroit {
gsave
1 dict begin
currentpoint translate
% currentlinewidth .5 mul setlinewidth
[0.05 -1 0.05 5] ligne
[-0.05 -1 -0.05 5] ligne
% [0 -1 0 5] ConstruitTube
end
grestore
} def
/TubeCoude_dim {
-.05 -1 jtoppoint
8 2 jtoppoint
} def
/TubeCoude_dic 2 dict def
TubeCoude_dic /In {0 -1} put
TubeCoude_dic /Out {8 1.95} put
/TubeCoude {
gsave
2 dict begin
currentpoint translate
% currentlinewidth .5 mul setlinewidth
/linearc .05 def
[-0.05 -1 -0.05 2 8 2] ligne
[8 1.9 0.05 1.9 0.05 -1] ligne
% [8 2 0 2 0 -1] ConstruitTube
end
grestore
} def
/TubeCoudeU_dim {
-.05 -3 jtoppoint
4.5 2 jtoppoint
} def
/TubeCoudeU_dic 2 dict def
TubeCoudeU_dic /In {0 -1} put
TubeCoudeU_dic /Out {4.45 -3} put
/TubeCoudeU {
gsave
2 dict begin
currentpoint translate
% currentlinewidth .5 mul setlinewidth
/linearc .05 def
[-0.05 -1 -0.05 2 4.5 2 4.5 -3] ligne
[4.4 -3 4.4 1.9 0.05 1.9 0.05 -1] ligne
% [0 -1 0 2 4.5 2 4.5 -3] ConstruitTube
end
grestore
} def
/TubeCoudeUB_dim {
-.05 -9 jtoppoint
4.5 2 jtoppoint
} def
/TubeCoudeUB_dic 2 dict def
TubeCoudeUB_dic /In {0 -1} put
TubeCoudeUB_dic /Out {4.45 -9} put
/TubeCoudeUB {
gsave
2 dict begin
currentpoint translate
% currentlinewidth .5 mul setlinewidth
/linearc .05 def
[-0.05 -1 -0.05 2 4.5 2 4.5 -9] ligne
[4.4 -9 4.4 1.9 0.05 1.9 0.05 -1] ligne
% [0 -1 0 2 4.5 2 4.5 -9] ConstruitTube
end
grestore
} def
/TubeRecourbe_dic 2 dict def
TubeRecourbe_dic /In {0 -1} put
TubeRecourbe_dic /Out {7 -8.3} put
/TubeRecourbe_dim {
-.05 -9.35 jtoppoint
7.05 1.55 jtoppoint
} def
/TubeRecourbe {
gsave
1 dict begin
currentpoint translate
% currentlinewidth .5 mul setlinewidth
/linearc .5 def
%% [0 -1 0 1.5 6 1.5 6 -8 6 -9.25 7 -9.25 7 -8.3] ConstruitTube
[-0.05 -1 -0.05 1] ligne
0.5 1 0.55 180 90 sarcn
[0.5 1.55 5.5 1.55] ligne
5.5 1 0.55 90 0 sarcn
[6.05 1 6.05 -8.8] ligne
6.5 -8.8 0.45 180 0 sarc
[6.95 -8.8 6.95 -8.3] ligne
[7.05 -8.3 7.05 -8.8] ligne
6.5 -8.8 0.55 0 180 sarcn
[5.95 -8.8 5.95 1] ligne
5.5 1 0.45 0 90 sarc
[5.5 1.45 0.5 1.45] ligne
0.5 1 .45 90 180 sarc
[0.05 1 0.05 -1] ligne
end
grestore
} def
/TubeRecourbeCourt_dim {
-.05 -3.35 jtoppoint
5.05 1.55 jtoppoint
} def
/TubeRecourbeCourt_dic 2 dict def
TubeRecourbeCourt_dic /In {0 -1} put
TubeRecourbeCourt_dic /Out {5 -2.3} put
/TubeRecourbeCourt {
gsave
1 dict begin
currentpoint translate
/linearc .5 def
%% [0 -1 0 1.5 4 1.5 4 -2 4 -3.25 5 -3.25 5 -2.5] ConstruitTube
% currentlinewidth .5 mul setlinewidth
[0.05 -1 0.05 1] ligne
[-0.05 -1 -0.05 1] ligne
0.5 1 0.55 180 90 sarcn
[0.5 1.55 3.5 1.55] ligne
3.5 1 0.55 90 0 sarcn
[4.05 1 4.05 -2.8] ligne
4.5 -2.8 0.45 180 0 sarc
[4.95 -2.8 4.95 -2.3] ligne
[5.05 -2.3 5.05 -2.8] ligne
4.5 -2.8 0.55 0 180 sarcn
[3.95 -2.8 3.95 1] ligne
3.5 1 0.45 0 90 sarc
[3.5 1.45 0.5 1.45] ligne
0.5 1 .45 90 180 sarc
[0.05 1 0.05 0.5] ligne
end
grestore
} def
/TigeBoules {
gsave
newpath
-.35 7.6 smoveto
-0.35 7.5 .1 90 0 sarcn_
[-.25 7.5 -.25 6.6] ligne_
-.15 6.6 0.1 180 270 sarc_
-.15 6.4 0.1 90 0 sarcn_
[-.05 6.4 -0.05 -1.5] ligne_
[.05 -1.5 0.05 6 0.05 6.4] ligne_
0.15 6.4 0.1 180 90 sarcn_
0.15 6.6 0.1 -90 0 sarc_
[0.25 6.6 0.25 7.5] ligne_
0.35 7.5 0.1 180 90 sarcn_
closepath
blanc fill
newpath
/nB 5.75 def
/Nt 5.5 def
/nt 5.25 def
7 {
-.05 .25 add nB smoveto
-0.05 nB 0.25 cercle_
0.05 nB 0.25 cercle_
/nB nB .75 sub store
/Nt Nt .75 sub store
/nt nt .75 sub store
} repeat
blanc fill
grestore
-0.35 7.5 .1 90 0 sarcn
[-.25 7.5 -.25 6.6] ligne
-.15 6.6 0.1 180 270 sarc
-.15 6.4 0.1 90 0 sarcn
[-.05 6.4 -0.05 6] ligne
/nB 5.75 def
/Nt 5.5 def
/nt 5.25 def
7 {
-0.05 nB 0.25 90 270 sarc
[-0.05 Nt -0.05 nt] ligne
/nB nB -.75 add store
/Nt Nt -.75 add store
/nt nt -.75 add store
} repeat
[-0.05 0.75 -0.05 -1.5] ligne
[0.05 -1.5 0.05 1] ligne
/nB 1.25 def
/nt 1.5 def
/Nt 1.75 def
7 {
0.05 nB 0.25 270 90 sarc
[0.05 nt 0.05 Nt] ligne
/nB nB .75 add store
/nt nt .75 add store
/Nt Nt .75 add store
} repeat
[0.05 6 0.05 6.4] ligne
0.15 6.4 0.1 180 90 sarcn
0.15 6.6 0.1 -90 0 sarc
[0.25 6.6 0.25 7.5] ligne
0.35 7.5 0.1 180 90 sarcn
%% \fill[fillstyle=solid]}
-0.35 7.5 .1 90 0 sarcn
[-.25 7.5 -.25 6.6] ligne
-.15 6.6 0.1 180 270 sarc
-.15 6.4 0.1 90 0 sarcn
[-.05 6.4 -0.05 6] ligne
/nB 5.75 def
/Nt 5.5 def
/nt 5.25 def
7 {
-0.05 nB 0.25 90 270 sarc
[-0.05 Nt -0.05 nt] ligne
/nB nB .75 sub store
/Nt Nt .75 sub store
/nt nt .75 sub store
} repeat
[-0.05 0.75 -0.05 -1.5] ligne
[0.05 -1.5 0.05 1] ligne
/nB 1.25 def
/nt 1.5 def
/Nt 1.75 def
7 {
0.05 nB 0.25 270 90 sarc
[0.05 nt 0.05 Nt] ligne
/nB nB .75 add store
/nt nt .75 add store
/Nt Nt .75 add store
} repeat
[0.05 6 0.05 6.4] ligne
0.15 6.4 0.1 180 90 sarcn
0.15 6.6 0.1 -90 0 sarc
[0.25 6.6 0.25 7.5] ligne
0.35 7.5 0.1 180 90 sarcn
} def
/CorpsRefri_ {
0 5.75 0.5 0 180 sarc_
[-0.5 5.75 -0.5 5.5 -1.5 5.5
-1.5 5.3 -.5 5.3 -.5 1.7 -1.5 1.7
-1.5 1.5 -.5 1.5 -0.5 1] ligne_
0 1 0.5 180 0 sarc_
} def
/CorpsRefri {
gsave
gsave
newpath
.5 5.75 smoveto
CorpsRefri_
cyan fill
grestore
1 dict begin
%% \pscustom[linestyle=none]{
0 5.75 0.5 0 180 sarc
[-0.5 5.75 -0.5 5.5 -1.5 5.5] ligne
[-1.5 5.3 -.5 5.3 -.5 1.7 -1.5 1.7] ligne
[-1.5 1.5 -.5 1.5 -0.5 1] ligne
0 1 0.5 180 0 sarc
[0.5 1 0.5 5.75] ligne
currentlinewidth 1.1 mul setlinewidth
[-0.5 5.75 -0.5 5.5 -1.5 5.5] ligne
[-0.5 5.75 -0.5 5.5 -1.5 5.5] ligne
[-1.5 5.3 -.5 5.3 -.5 1.7 -1.5 1.7] ligne
[-1.5 1.5 -.5 1.5 -0.5 1] ligne
0 1 0.5 180 0 sarc
[0.5 1 0.5 5.75] ligne
fleches_Refrigerant {
% cyan
[-2.5 1.6 -1.6 1.6] (->) ligne
% OrangePale
[-2.5 5.4 -1.6 5.4] (<-) ligne
} if
end
grestore
} def
/RefrigerantBoules_dic 6 dict def
RefrigerantBoules_dic /In {0 -1} put
RefrigerantBoules_dic /Out {0 8.1} put
RefrigerantBoules_dic /Entree {-1.5 2.1} put
RefrigerantBoules_dic /Sortie {-1.5 5.9} put
RefrigerantBoules_dic /FlecheEntree {-2.5 2.1} put
RefrigerantBoules_dic /FlecheSortie {-2.5 5.9} put
/RefrigerantBoules_dim {
-1.5 -1 jtoppoint
.5 8.1 jtoppoint
} def
/RefrigerantBoules {
1 dict begin
gsave
currentpoint translate
0 .5 stranslate
% currentlinewidth .5 mul setlinewidth
CorpsRefri
TigeBoules
grestore
end
} def
/EntonnoirRobinet_dim {
-.3 -3 jtoppoint
.35 3.1 jtoppoint
} def
/EntonnoirRobinet_dic 2 dict def
EntonnoirRobinet_dic /In {0 -3} put
EntonnoirRobinet_dic /Out {0 3} put
/EntonnoirRobinet {
gsave
3 dict begin
currentpoint translate
.25 0 stranslate
[0.1 1.55 -.5 1.55 -0.5 1.7 -.55 1.7 -.55 1.3 -0.5 1.3
-0.5 1.55 -.5 1.45 .1 1.45 ] polygone
/linearc .05 def
% currentlinewidth .5 mul setlinewidth
[-.3 -3 -0.3 2 -0.5 2.2 -0.5 3] ligne
[0 3 0 2.2 -0.2 2 -0.2 -3] ligne
currentlinewidth 2 mul setlinewidth
/linearc .2 def
/fillstyle {blanc fill} def
-0.4 1.3 -0.1 1.7 frame*
m@depl@n
{}
{-0.25 3 0.3 0.1 ellipse*}
ifelse
end
grestore
} def
/EntonnoirRobinetCourt_dim {
-.3 -1 jtoppoint
.35 3.1 jtoppoint
} def
/EntonnoirRobinetCourt_dic 2 dict def
EntonnoirRobinetCourt_dic /In {0 -1} put
EntonnoirRobinetCourt_dic /ConnectIn {0 .1} put
EntonnoirRobinetCourt_dic /ConnectOut {0 1.9} put
EntonnoirRobinetCourt_dic /Out {0 3} put
/EntonnoirRobinetCourt {
gsave
3 dict begin
currentpoint translate
.25 0 stranslate
[0.1 1.55 -.5 1.55 -0.5 1.7 -.55 1.7 -.55 1.3 -0.5 1.3
-0.5 1.55 -.5 1.45 .1 1.45 ] polygone
/linearc .05 def
% currentlinewidth .5 mul setlinewidth
[-.3 -1 -0.3 2 -0.5 2.2 -0.5 3] ligne
[0 3 0 2.2 -0.2 2 -0.2 -1] ligne
currentlinewidth 2 mul setlinewidth
/linearc .2 def
/fillstyle {blanc fill} def
-0.4 1.3 -0.1 1.7 frame*
m@depl@n
{}
{-0.25 3 0.3 0.1 ellipse*}
ifelse
end
grestore
} def
/Refrigerant_dim {
-1.5 -1 jtoppoint
1.5 7 jtoppoint
} def
/Refrigerant_dic 4 dict def
Refrigerant_dic /In {0 -1} put
Refrigerant_dic /Out {0 7} put
Refrigerant_dic /Sortie {1.5 4.5} put
Refrigerant_dic /Entree {-1.5 1.5} put
/fleches_Refrigerant true def
/Refrigerant {
gsave
currentpoint translate
-90 rotate
2 dict begin
gsave
newpath
-5 -.5 smoveto
-5 0 0.5 270 90 sarcn_
-1 0 0.5 90 270 sarcn_
cyan fill
1 dict begin
.1 dup jtoppoint pop setlinewidth
[-4.45 .5 -4.45 1.5] ligne
[-1.45 -.5 -1.45 -1.5] ligne
end
grestore
-5 0 0.5 90 270 sarc
-1 0 0.5 270 90 sarc
[-4.5 0.5 -4.5 1.5] ligne
[-4.4 0.5 -4.4 1.5] ligne
[-1.4 -.5 -1.4 -1.5] ligne
[-1.5 -.5 -1.5 -1.5] ligne
[-5 0.5 -4.5 0.5] ligne
[-5 -.5 -1.5 -.5] ligne
[-4.4 0.5 -1 0.5] ligne
[-1.4 -.5 -1 -.5] ligne
/fillstyle {blanc fill} def
/borderline false def
%% le tube central
-7 -.05 1 0.05 frame*
[-7 .05 1 0.05] ligne
[-7 -.05 1 -.05] ligne
fleches_Refrigerant {
[-1.45 -2.5 -1.45 -1.5] (->) ligne
[-4.45 1.5 -4.45 2.5] (->) ligne
} if
end
grestore
} def
/bouchon_Vigreux false def
/ColonneVigreux_dic 3 dict def
ColonneVigreux_dic /In {0 -1} put
ColonneVigreux_dic /Out {0 9.5} put
ColonneVigreux_dic /SortieVigreux {1 8} put
/ColonneVigreux_dim {
-.5 -1 jtoppoint
1 9.5 jtoppoint
} def
/ColonneVigreux {
gsave
currentpoint translate
0 -1 stranslate
11 dict begin
/goutte2 {
1 dict begin
.17 setlinewidth
[0 0 0.25 -.4 -.25 -.4 0 0] bezier_curve
end
} def
/linearc .3 def
[-.25 10.5 -.25 8.5 -.5 8 -.5 2.5 -.05 1.75 -.05 0] ligne
[0.05 0 .05 1.75 0.5 2.5 .5 8 0.25 8.5 0.25 9.336] ligne
/linearc 0 def
[0.25 9.442 0.25 10.5] ligne
%% angle =~ -25.641
[.25 9.336 1 8.952] ligne
[.25 9.442 1.1 9.] ligne
/pointeG {
[0 0 0.5 -.5 0 -.1] ligne
} def
/pointeD {
[0 0 -.5 -.5 0 -.1] ligne
} def
/i 2.8 def
.4 setlinewidth
6 {
gsave
-.5 i stranslate
pointeG
1 .2 stranslate
pointeD
/i i 1 add store
grestore
} repeat
bouchon_Vigreux {
%% le bouchon
/hstep .03 dup jtoppoint pop def
/hwidth .1 def
/fillstyle {hachure} def
/borderline false def
-.25 10 -0.05 10.5 frame*
.25 10 0.05 10.5 frame*
dsave2
0 9.2 (Thermometre) bbpict
drestore2
} if
%% %% les gouttes
%% /n 2.5 def
%% 6 {
%% gsave
%% -.25 n stranslate
%% goutte2
%% .5 0 stranslate
%% goutte2
%% grestore
%% /n n 1 add store
%% } repeat
%% -.25 -.1 stranslate
%% goutte2
%% .5 0 stranslate goutte2
end
grestore
} def
/ColonneVigreux_old {
gsave
%0 -1 stranslate
11 dict begin
/goutte2 {
1 dict begin
.17 setlinewidth
[0 0 0.25 -.4 -.25 -.4 0 0] bezier_curve
end
} def
/linearc .3 def
[-.25 10.5 -.25 8.5 -.75 8 -.75 2.5 -.25 2 -.25 0] ligne
[0.25 0 0.25 2 0.75 2.5 .75 8 0.25 8.5 0.25 9.36] ligne
/linearc 0 def
[0.25 9.5 0.25 10.5] ligne
/pointeG {
[0 0 0.5 -.5 0 -.1] ligne
} def
/pointeD {
[0 0 -.5 -.5 0 -.1] ligne
} def
/i 3 def
.4 setlinewidth
6 {
gsave
-.75 i stranslate
pointeG
1.5 0 stranslate
pointeD
/i i 1 add store
grestore
} repeat
%% le bouchon
/hstep .03 dup jtoppoint pop def
/hwidth .1 def
/fillstyle {hachure} def
/borderline false def
-.25 10 -0.05 10.5 frame*
.25 10 0.05 10.5 frame*
%% les gouttes
/n 2.5 def
6 {
gsave
-.25 n stranslate
goutte2
.5 0 stranslate
goutte2
grestore
/n n 1 add store
} repeat
-.25 -.1 stranslate
goutte2
.5 0 stranslate goutte2
end
grestore
} def
/RefrigerantLiebig_dim {
-1.2 -1 jtoppoint
.5 8.5 jtoppoint
} def
/RefrigerantLiebig_dic 4 dict def
RefrigerantLiebig_dic /In {0 -1} put
RefrigerantLiebig_dic /Out {0 6.5} put
RefrigerantLiebig_dic /Entree {-1.2 1.55} put
RefrigerantLiebig_dic /Sortie {-1.2 4.05} put
/RefrigerantLiebig {
gsave
currentpoint translate
0 -2 stranslate
%% le corps
2 dict begin
/linearc .5 def
/fillstyle {cyan fill} def
-.5 3 0.5 7 frame*
[-.5 8.5 -.3 8.4 -.3 8 -.3 7.5 -.3 7.2 -.05 7] ligne
[.5 8.5 .3 8.4 .3 8 .3 7.5 .3 7.2 .05 7] ligne
end
%% tube central
gsave
1 dict begin
blanc
.1 dup jtoppoint pop setlinewidth
[0 1 0 7.1] ligne
end
grestore
%% re tube central
[-0.05 1 -0.05 7] ligne
[0.05 1 0.05 7] ligne
%% les sorties
2 dict begin
/borderline false def
/fillstyle {cyan fill} def
-1.2 3.5 -0.4 3.6 frame*
-1.2 6 -0.4 6.1 frame*
[-1.2 3.5 -0.5 3.5] ligne
[-1.2 3.6 -0.5 3.6] ligne
[-1.2 6 -0.5 6] ligne
[-1.2 6.1 -0.5 6.1] ligne
end
fleches_Refrigerant {
[-2.3 3.55 -1.3 3.55] (->) ligne
[-2.3 6.05 -1.3 6.05] (<-) ligne
} if
grestore
} def
%%%%%%%%%%%%%% le reste n'est pas finalise %%%%%%%%%%%%%%
%% ok %% %% \def\pst@TubeRecourbe@Court@DoubleTube{
%% ok %% %% \begingroup
%% ok %% %% \psset{linewidth=0.5\pslinewidth}
%% ok %% %% \psline(-0.05,0.5)(-0.05,1)
%% ok %% %% \psarcn(0.5,1){0.55}{180}{90}
%% ok %% %% \psline(0.5,1.55)(3.5,1.55)
%% ok %% %% \psarcn(3.5,1){0.55}{90}{0}
%% ok %% %% \psline(4.05,1)(4.05,-2.8)
%% ok %% %% \psarc(4.5,-2.8){0.45}{180}{0}
%% ok %% %% \psline(4.95,-2.8)(4.95,-2.3)
%% ok %% %% \psline(5.05,-2.3)(5.05,-2.8)
%% ok %% %% \psarcn(4.5,-2.8){0.55}{0}{180}
%% ok %% %% \psline(3.95,-2.8)(3.95,1)
%% ok %% %% \psarc(3.5,1){0.45}{0}{90}
%% ok %% %% \psline(3.5,1.45)(0.5,1.45)
%% ok %% %% \psarc(0.5,1){.45}{90}{180}
%% ok %% %% \psline(0.05,1)(0.05,0.5)
%% ok %% %% \psline(-0.05,.5)(0.05,0.5)
%% ok %% %% \endgroup
%% ok %% %% \psframe*[linecolor=white](-0.025,0.52)(0.018,0.8)}
%% ok %%
%% ok %% /TubeRecourbeCourtDoubleTube {
%% ok %% gsave
%% ok %% 1 dict begin
%% ok %% currentlinewidth .5 mul setlinewidth
%% ok %% [-0.05 0.5 -0.05 1] ligne
%% ok %% 0.5 1 0.55 180 90 sarcn
%% ok %% [0.5 1.55 3.5 1.55] ligne
%% ok %% 3.5 1 0.55 90 0 sarcn
%% ok %% [4.05 1 4.05 -2.8] ligne
%% ok %% 4.5 -2.8 0.45 180 0 sarc
%% ok %% [4.95 -2.8 4.95 -2.3] ligne
%% ok %% [5.05 -2.3 5.05 -2.8] ligne
%% ok %% 4.5 -2.8 0.55 0 180 sarcn
%% ok %% [3.95 -2.8 3.95 1] ligne
%% ok %% 3.5 1 0.45 0 90 sarc
%% ok %% [3.5 1.45 0.5 1.45] ligne
%% ok %% 0.5 1 .45 90 180 sarc
%% ok %% [0.05 1 0.05 0.5] ligne
%% ok %% [-0.05 .5 0.05 0.5] ligne
%% ok %% blanc
%% ok %% /fillstyle {} def
%% ok %% -0.025 0.52 0.018 0.8 frame*
%% ok %% end
%% ok %% grestore
%% ok %% } def
%% ok %%
%% ok %% %% 0 6 stranslate
%% ok %% %% pst@TubeRecourbe@Court@DoubleTube
%% ok %%
%% ok %% %% \def\pst@TubeEssais@DoubleTube{%
%% ok %% %% \begingroup
%% ok %% %% \psset{linewidth=0.5\pslinewidth}
%% ok %% %% \psline(-0.3,-3)(-0.3,0)
%% ok %% %% \psline(-.2,-3)(-0.2,0)
%% ok %% %% \psline(0.25,-1)(0.25,0)%
%% ok %% %% \psline(.15,-1)(.15,0)%
%% ok %% %% \endgroup
%% ok %% %% \pst@TubeEssais@Bouchon
%% ok %% %% \rput(0.2,0){\pst@TubeRecourbe@Court@DoubleTube}
%% ok %% %% \rput(0,0.5){%
%% ok %% %% \begingroup
%% ok %% %% \psset{linewidth=0.5\pslinewidth}
%% ok %% %% \pspolygon[fillstyle=solid,linearc=0.05]%
%% ok %% %% (-.3,0)(-0.3,2)(-0.5,2.2)(-0.5,3)(0,3)%
%% ok %% %% (0,2.2)(-0.2,2)(-0.2,0)
%% ok %% %% \pspolygon(0.1,1.55)(-.5,1.55)(-0.5,1.7)(-.55,1.7)%
%% ok %% %% (-.55,1.3)(-0.5,1.3)(-0.5,1.55)(-.5,1.45)(.1,1.45)
%% ok %% %% \psframe[fillstyle=solid,framearc=0.2](-0.4,1.3)(-0.1,1.7)
%% ok %% %% \endgroup\psellipse[fillstyle=solid](-0.25,3)(0.3,0.1)}}
%% \def\pst@TubeEssais@Pince{
%% \pscustom{%
%% \pscurve(0.5,0)(0,-0.1)(-0.5,0)
%% \psline(-0.5,0)(-0.8,0)
%% \psarc(-0.5,0){0.3}{180}{270}
%% \psline(-.5,-.3)(2.5,-.3)(2.4,-.2)(1,0)(0.5,0)
%% \fill[fillstyle=solid,fillcolor=OrangePale]}
%% \pscustom{%
%% \psline(-0.8,0)(-0.8,-0.3)
%% \psarc(-0.5,-0.3){0.3}{180}{270}
%% \psline(-0.5,-0.6)(2.5,-.6)(2.5,-.3)(-.5,-.3)
%% \psarcn(-.5,0){0.3}{-90}{180}
%% \fill[fillstyle=solid,fillcolor=OrangePale]}
%% \pscustom{%
%% \psline(-.5,0.05)(-.8,0.05)
%% \psarcn(-0.5,0.05){0.25}{180}{90}
%% \psline(-.5,0.3)(-0.5,0.05)
%% \fill[fillstyle=solid,fillcolor=OrangePale]}
%% \pscustom{%
%% \psline(0.5,0.3)(4.9,0.3)(5,0.2)(1,0)(0.5,0)(0.5,0.3)
%% \fill[fillstyle=solid,fillcolor=OrangePale]}
%% \pscustom{%
%% \psline(0.5,0)(5,0.2)(5,0)(2,-0.2)(1,0)
%% \fill[fillstyle=solid,fillcolor=Marron]}
%% \psellipse[linewidth=1.5\pslinewidth](1,0)(0.3,0.1)
%% \psline[linewidth=1.5\pslinewidth](0.7,0)(0.4,-.3)(0.4,-.6)}
/pst@TubeEssais@Pince {
%% \pscustom{%
1 dict begin
/arg {argc} def
[0.5 0 .. 0 -0.1 .. -0.5 0] draw
[-0.5 0 -0.8 0] ligne
-0.5 0 0.3 180 270 sarc
[-.5 -.3 2.5 -.3 2.4 -.2 1 0 0.5 0] ligne
%% \fill[fillstyle=solid,fillcolor=OrangePale]}
%% \pscustom{%
[-0.8 0 -0.8 -0.3] ligne
-0.5 -0.3 0.3 180 270 sarc
[-0.5 -0.6 2.5 -.6 2.5 -.3 -.5 -.3] ligne
-.5 0 0.3 -90 180 sarcn
%% \fill[fillstyle=solid,fillcolor=OrangePale]}
%% \pscustom{%
[-.5 0.05 -.8 0.05] ligne
-0.5 0.05 0.25 180 90 sarcn
[-.5 0.3 -0.5 0.05] ligne
%% \fill[fillstyle=solid,fillcolor=OrangePale]}
%% \pscustom{%
[0.5 0.3 4.9 0.3 5 0.2 1 0 0.5 0 0.5 0.3] ligne
%% \fill[fillstyle=solid,fillcolor=OrangePale]}
%% \pscustom{%
[0.5 0 5 0.2 5 0 2 -0.2 1 0] ligne
%% \fill[fillstyle=solid,fillcolor=Marron]}
/fillstyle {Marron fill} def
currentlinewidth 1.5 mul setlinewidth
1 0 0.3 0.1 ellipse*
[0.7 0 0.4 -.3 0.4 -.6] ligne
end
} def
%pst@TubeEssais@Pince
/vision_menisque_dim {
-2.5 dup jtoppoint
2.5 dup jtoppoint
} def
/vision_menisque {
2 dict begin
gsave
currentpoint translate
/hauteur .3 niveauLiquides dup length 1 sub get 4 div 2 sub mul def
/epaisseur 2 def
-1 hauteur neg stranslate
/fillstyle {blanc fill} def
1 hauteur 2.5 cercle*
gsave
newpath
1 hauteur 2.5 0 cpoint smoveto
1 hauteur 2.5 cercle_
clip
O (Burette) bcpict
3 hauteur (oeil) bbpict
/arg {argc} def
epaisseur setlinewidth
[-.25 hauteur .2 add .. {right} .125 hauteur .. .5 hauteur .2 add] draw
grestore
gsave
2 dict begin
/bas epaisseur 2 div dup ptojpoint pop def
.3 setlinewidth
[2 1] 0 setdash
[.125 hauteur bas sub 1.3 hauteur bas sub] ligne
end
grestore
1 hauteur 2.5 cercle
grestore
end
} def
/BunsenCorps_dic 1 dict def
BunsenCorps_dic /Connect {-2.25 0.865} put
/BunsenCorps_dim {
-2.25 0 jtoppoint
1.25 6.26 jtoppoint
} def
/BunsenCorps {
gsave
currentpoint translate
1 dict begin
-.5 1.25 0.5 2.25 frame
-1.25 0 1.25 0.25 frame
/i -.3 def
3 {
i 1.75 .1 cercle
/i .3 i add store
} repeat
-.25 2.25 0.25 4.25 frame
[0.25 1.25 0.25 0.5 1.25 0.25] ligne
[-1.25 0.25 -.25 0.5 -0.25 0.75] ligne
[-2.25 0.75 -.25 0.75] ligne
[-2.25 1 -.25 1] ligne
-90 90 -.25 0.875 0.1 0.125 Ellipse
-2.25 0.75 -0.25 0.75 (-) line
-2.25 1 -0.25 1 -.25 1.25 (-) line
[-0.25 0.5 .. 0 0.4 .. 0.25 0.5] draw
grestore
end
} def
/Flamme_dim {
-0.25 0 jtoppoint
.55 2 jtoppoint
} def
/Flamme {
5 dict begin
gsave
currentpoint translate
0 setlinewidth
/fillstyle {{orange} {jaune} 0 gradientfill} def
[0 0 -0.25 0 -0.35 0.5 -0.4 0.75
-0.35 1 -0.25 1.5 0.5 2
0.25 1.5 0.35 1 0.4 0.75
0.35 0.5 0.25 0 0 0]
bezier_curve*
gsave
newpath
0 0 smoveto
[0 0 -0.25 0 -0.35 0.5 -0.4 0.75
-0.35 1 -0.25 1.5 0.5 2
0.25 1.5 0.35 1 0.4 0.75
0.35 0.5 0.25 0 0 0]
bezier_curve_
gsave
clip
/fillstyle {{cyan} {blanc} 0 gradientfill} def
[-0.25 0 0.25 0 0 1] polygone*
grestore
grestore
grestore
end
} def
/FlammeLarge_dim {
-1.5 0 jtoppoint
1.5 1.55 jtoppoint
} def
/FlammeLarge {
1 dict begin
gsave
currentpoint translate
0 setlinewidth
/fillstyle {{orange} {jaune} 0 gradientfill} def
gsave
newpath
0 0.75 0.75 270 0 sarc_
1.5 0.75 0.75 180 90 sarcn_
[1.5 1.5 -1.5 1.5] ligne_
-1.5 0.75 0.75 90 0 sarcn_
0 0.75 0.75 180 270 sarc_
closepath
fillstyle
/fillstyle {{cyan} {blanc} 0 gradientfill} def
grestore
[-0.25 0 0.25 0 0 1] polygone*
grestore
end
} def
/Bunsen_dic 1 dict def
Bunsen_dic /Connect {-2.25 0.865} put
Bunsen_dic /bb {0 0} put
Bunsen_dic /uc {0 6.26} put
/Bunsen_dim {
-2.25 0 jtoppoint
1.25 6.26 jtoppoint
} def
/Bunsen {
gsave
currentpoint translate
BunsenCorps
0 4.26 smoveto
Flamme
grestore
} def
/BunsenGrille_dic 1 dict def
BunsenGrille_dic /Connect {-2.25 0.865} put
BunsenGrille_dic /bb {0 0} put
BunsenGrille_dic /uc {0 5.76} put
/BunsenGrille_dim {
-2.5 0 jtoppoint
2.5 5.76 jtoppoint
} def
/BunsenGrille {
gsave
currentpoint translate
BunsenCorps
0 4.26 smoveto
FlammeLarge
pointilles
1 setlinewidth
[-2 5.75 2 5.75] ligne
grestore
} def
/Seringue_dim {
-7.1 -1 jtoppoint
3 1 jtoppoint
} def
/Seringue_dic 5 dict def
Seringue_dic /Out {3 0} put
Seringue_dic /Anneau {-6.5 0} put
Seringue_dic /Piston {-2 0} put
/Seringue {
gsave
currentpoint translate
1 dict begin
gsave
newpath
-2 -1 smoveto
-2 -1 .8 1 frame_
clip
-2 -1 .8 1 afficheLiquides
-2 -1 .8 1 afficheSolides
-2 -1 .8 1 afficheGazs
grestore
gsave
2 setlinewidth
-6.5 0 0.6 cercle
blanc
.7 setlinewidth
-6.5 0 0.6 cercle
grestore
/fillstyle {blanc fill} def
-6 -0.5 -2 0.5 frame*
1 .1 3.1 -.1 (bu) frame*
-4 1 0.8 -1 frame
[0.8 1 1 0.1 1 -0.1 0.8 -1] ligne
-4.1 -1.2 -4 1.2 frame*
gsave
currentlinewidth 5 mul setlinewidth
[-2 -1 -2 1] ligne
grestore
-3.5 .5 .5 {
/i exch def
[i 1 i .6] ligne
} for
end
grestore
} def
/AmpouleCoulee_dic 5 dict def
AmpouleCoulee_dic /In {0 -1} put
AmpouleCoulee_dic /ConnectIn {0 0} put
AmpouleCoulee_dic /trou {0 6} put
AmpouleCoulee_dic /trou1 {-.2 6} put
AmpouleCoulee_dic /trou2 {.2 6} put
/AmpouleCoulee_dim {
-.5 -1 jtoppoint
.5 5.5 jtoppoint
} def
/AmpouleCoulee_ {
1 dict begin
/linearc .1 def
[-.3 -1 -0.3 2 -0.75 2.2 -0.75 6
.25 6 .25 2.2 -0.2 2 -0.2 -1] polygone_
end
} def
/AmpouleCoulee {
gsave
currentpoint translate
.25 -.5 stranslate
gsave
newpath
-.3 -1 smoveto
AmpouleCoulee_
clip
-.75 1.8 .25 5.5 afficheLiquides
-.75 1.8 .25 5.5 afficheSolides
-.75 1.8 .25 5.5 afficheGazs
closepath
grestore
%% robinet
[0.1 1.55 -.5 1.55 -0.5 1.7 -.55 1.7 -.55 1.3 -0.5 1.3
-0.5 1.55 -.5 1.45 .1 1.45 ] polygone
%% corps
/linearc .1 def
[-.3 -.5 -0.3 2 -0.75 2.2 -0.75 6] ligne
[.25 6 .25 2.2 -0.2 2 -0.2 -.5] ligne
%% axe robinet
2 dict begin
gsave
currentlinewidth 2 mul setlinewidth
/linearc .2 def
/fillstyle {blanc fill} def
-0.4 1.3 -0.1 1.7 frame*
grestore
end
-.25 2 stranslate
% 3.5 afficheBouchage
% 3.5 afficheTubes
grestore
} def
/AmpouleDecantation_dic 5 dict def
AmpouleDecantation_dic /Out {0 .5} put
AmpouleDecantation_dic /col {0 4} put
AmpouleDecantation_dic /trou {0 11} put
AmpouleDecantation_dic /trou1 {-.2 11} put
AmpouleDecantation_dic /trou2 {.2 11} put
/AmpouleDecantation_dim {
-1.5 .5 jtoppoint
1.5 11 jtoppoint
} def
/AmpouleDecantation {
1 dict begin
gsave
currentpoint translate
/fillstyle {blanc fill} def
-.5 11 .5 10 (lr) frame
gsave
newpath
-.1 .5 smoveto
[-.1 0.5 -- -.1 2.75 -- -1.5 9 {up} ..
0 10.5 {right} .. 1.5 9 {down} --
.1 2.75 -- 0.1 .7] draw_
clip
gsave
fillstyle
-1.5 2 1.5 10 afficheLiquides
-1.5 2 1.5 10 afficheSolides
-1.5 2 1.5 10 afficheGazs
grestore
stroke
grestore
gsave
0 setlinewidth
-.45 11 .45 10.2 frame*
grestore
0 7 stranslate
3.5 afficheBouchage
3.5 afficheTubes
-.1 -7 stranslate
Burette@robinet
grestore
end
} def
%% 24/08/2007 %% /pince {
%% 24/08/2007 %% 4 dict begin
%% 24/08/2007 %% /yA exch def
%% 24/08/2007 %% /xA exch def
%% 24/08/2007 %% /x0 exch def
%% 24/08/2007 %% %% fixation potence
%% 24/08/2007 %% /fillstyle {blanc fill} def
%% 24/08/2007 %% gsave
%% 24/08/2007 %% x0 .95 sub yA 1 sub stranslate
%% 24/08/2007 %% [0 1 -- 0 1.15 .. .25 1.25 {right} .. .5 1.15 -- .5 1 .. .25 .9 {left}
%% 24/08/2007 %% .. {up} 0 1] draw*
%% 24/08/2007 %% grestore
%% 24/08/2007 %% %% tube pince
%% 24/08/2007 %% x0 .45 sub yA
%% 24/08/2007 %% xA 1.5 sub yA .15 add frame
%% 24/08/2007 %% %% fixation pince
%% 24/08/2007 %% xA 1.5 sub yA .1 sub
%% 24/08/2007 %% xA .9 sub yA .25 add frame
%% 24/08/2007 %% %% la pince
%% 24/08/2007 %% [
%% 24/08/2007 %% xA .6 sub yA .2 sub
%% 24/08/2007 %% xA .7 add yA .2 sub
%% 24/08/2007 %% xA .7 add yA .45 sub
%% 24/08/2007 %% xA .9 sub yA .45 sub
%% 24/08/2007 %% xA .9 sub yA .5 add
%% 24/08/2007 %% xA .7 add yA .5 add
%% 24/08/2007 %% xA .7 add yA .25 add
%% 24/08/2007 %% xA .6 sub yA .25 add
%% 24/08/2007 %% ] polygone*
%% 24/08/2007 %% end
%% 24/08/2007 %% } def
/Potence_dim {
-1 .7225 add 0 jtoppoint
1.7225 10 jtoppoint
} def
/Potence {
gsave
currentpoint translate
.7225 0 stranslate
-1 0 1 .2 frame
-.9 .2 .9 .5 frame
-.8 .5 -.65 10 frame
grestore
} def
%% 24/08/2007 %% %% syntaxe : A alpha B beta raccordsouple
%% 24/08/2007 %% /raccordsouple {
%% 24/08/2007 %% 4 dict begin
%% 24/08/2007 %% gsave
%% 24/08/2007 %% /beta exch def
%% 24/08/2007 %% /B defpoint
%% 24/08/2007 %% /alpha exch def
%% 24/08/2007 %% /A defpoint
%% 24/08/2007 %% /A' {A alpha dir -.4 mulv addv} def
%% 24/08/2007 %% /B' {B beta dir .4 mulv addv} def
%% 24/08/2007 %% /demilargeur .05 currentlinewidth dup ptojpoint pop add def
%% 24/08/2007 %% [A' alpha 90 add dir demilargeur mulv addv -- A alpha 90 add dir
%% 24/08/2007 %% demilargeur mulv addv {alpha dir} .. {beta dir} B beta
%% 24/08/2007 %% 90 add dir demilargeur mulv addv -- B' beta 90 add dir demilargeur
%% 24/08/2007 %% mulv addv] draw
%% 24/08/2007 %% [A' alpha -90 add dir demilargeur mulv addv -- A alpha -90 add dir
%% 24/08/2007 %% demilargeur mulv addv {alpha dir} .. {beta dir} B beta -90 add dir
%% 24/08/2007 %% demilargeur mulv addv -- B' beta -90 add dir demilargeur mulv addv]
%% 24/08/2007 %% draw
%% 24/08/2007 %% grestore
%% 24/08/2007 %% end
%% 24/08/2007 %% } def
%% syntaxe : A alpha B beta raccordsouple
/raccordsouple {
gsave
7 dict begin
/beta exch def
/B defpoint
/alpha exch def
/A defpoint
/A' {A alpha dir -.4 mulv addv} def
/B' {B beta dir .4 mulv addv} def
/demilargeur .05 currentlinewidth dup ptojpoint pop add def
[
A' alpha 90 add dir demilargeur mulv addv
A alpha 90 add dir demilargeur mulv addv
] ligne
[
B beta 90 add dir demilargeur mulv addv
B' beta 90 add dir demilargeur mulv addv
] ligne
[
A' alpha -90 add dir demilargeur mulv addv
A alpha -90 add dir demilargeur mulv addv
] ligne
[
B beta -90 add dir demilargeur mulv addv
B' beta -90 add dir demilargeur mulv addv
] ligne
5 setlinewidth
[A {alpha dir} .. {beta dir} B] draw
1.75 setlinewidth
blanc
[A {alpha dir} .. {beta dir} B] draw
end
grestore
} def
%% 24/08/2007 %% /pincefine {
%% 24/08/2007 %% 4 dict begin
%% 24/08/2007 %% /yA exch def
%% 24/08/2007 %% /xA exch def
%% 24/08/2007 %% /x0 exch def
%% 24/08/2007 %% %% fixation potence
%% 24/08/2007 %% /fillstyle {blanc fill} def
%% 24/08/2007 %% gsave
%% 24/08/2007 %% x0 .95 sub yA 1 sub stranslate
%% 24/08/2007 %% [0 1 -- 0 1.15 .. .25 1.25 {right} .. .5 1.15 -- .5 1 .. .25 .9 {left}
%% 24/08/2007 %% .. {up} 0 1] draw*
%% 24/08/2007 %% grestore
%% 24/08/2007 %% %% tube pince
%% 24/08/2007 %% x0 .45 sub yA
%% 24/08/2007 %% xA .9 add yA .15 add frame*
%% 24/08/2007 %% end
%% 24/08/2007 %% } def
/pincefine {
4 dict begin
gsave
0 -.0725 stranslate
/yA exch def
/xA exch def
/x0 exch def
%% fixation potence
/fillstyle {blanc fill} def
gsave
x0 .2275 sub yA 1 sub stranslate
[0 1 -- 0 1.15 .. .25 1.25 {right} .. .5 1.15 -- .5 1 .. .25 .9 {left}
.. {up} 0 1] draw*
grestore
%% tube pince
xA x0 gt {
x0 .3225 add yA
xA .9 add yA .15 add frame*
} {
x0 .25 sub yA
xA .9 sub yA .15 add frame*
} ifelse
grestore
end
} def
/pince {
4 dict begin
gsave
0 -.0725 stranslate
/yA exch def
/xA exch def
/x0 exch def
%% fixation potence
/fillstyle {blanc fill} def
gsave
x0 .2275 sub yA 1 sub stranslate
[0 1 -- 0 1.15 .. .25 1.25 {right} .. .5 1.15 -- .5 1 .. .25 .9 {left}
.. {up} 0 1] draw*
grestore
xA x0 gt {
%% tube pince
x0 .3225 add yA
xA 1.5 sub yA .15 add frame
%% fixation pince
xA 1.5 sub yA .1 sub
xA .9 sub yA .25 add frame
%% la pince
[
xA .6 sub yA .2 sub
xA .7 add yA .2 sub
xA .7 add yA .45 sub
xA .9 sub yA .45 sub
xA .9 sub yA .5 add
xA .7 add yA .5 add
xA .7 add yA .25 add
xA .6 sub yA .25 add
] polygone*
} {
%% tube pince
x0 .25 sub yA
xA 1.5 add yA .15 add frame
%% fixation pince
xA 1.5 add yA .1 sub
xA .9 add yA .25 add frame
%% la pince
[
xA .6 add yA .2 sub
xA .7 sub yA .2 sub
xA .7 sub yA .45 sub
xA .9 add yA .45 sub
xA .9 add yA .5 add
xA .7 sub yA .5 add
xA .7 sub yA .25 add
xA .6 add yA .25 add
] polygone*
} ifelse
grestore
end
} def
|