diff options
Diffstat (limited to 'graphics/pstricks/contrib/pst-labo/tex/pst-laboObj.tex')
-rw-r--r-- | graphics/pstricks/contrib/pst-labo/tex/pst-laboObj.tex | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/graphics/pstricks/contrib/pst-labo/tex/pst-laboObj.tex b/graphics/pstricks/contrib/pst-labo/tex/pst-laboObj.tex index 040286b662..e82017c832 100644 --- a/graphics/pstricks/contrib/pst-labo/tex/pst-laboObj.tex +++ b/graphics/pstricks/contrib/pst-labo/tex/pst-laboObj.tex @@ -689,3 +689,130 @@ gradbegin=OrangePale,gradend=yellow]% \endpsclip \pst@ballon } + +\newpsstyle{AqueoPhase}{linestyle=none,fillstyle=solid,fillcolor={[cmyk]{0.215686,0.062745,0,0}}} +\newpsstyle{OrganicPhase}{linestyle=none,fillstyle=solid,fillcolor={[cmyk]{0.223529,0.094118,0.501961,0}}} + +% robinet ouvert +\newif\ifPst@OpenTap +\define@key[psset]{pst-labo}{OpenTap}[true]{\@nameuse{Pst@OpenTap#1}}% +% +\def\pst@corpsAmpoule{% +% corps de l'ampoule + \psline(-0.65,15)(-0.55,13.75) + \psbezier(-0.55,13.75)(-1.55,13.54)( -1.92,12.7)(-1.92,11.65) + \psbezier(-1.92,11.65)(-1.92,10.6)(-0.3,9.55)(-0.3,8.5) + \psline(-0.3,8.5)(-0.3,2) + \psbezier(-0.3,2)(-0.3,1.5)(-0.14,1.5)(-0.14,1) + \psline(-0.14,1)(-0.14,-1) + \psline(0.14,-1)(0.14,1) + \psbezier(0.14,1)(0.14,1.5)(0.3,1.5)(0.3,2) + \psline(0.3,2)(0.3,8.5) + \psbezier(0.3,8.5)(0.3,9.55)(1.92,10.6)(1.92,11.65)% + \psbezier(1.92,11.65)( 1.92,12.7)(1.55,13.54)(0.55,13.75) + \psline(0.55,13.75)(0.65,15) +}% +% +% le contour pour contenir les liquides +\def\pst@contourAmpouleClip{% +% corps de l'ampoule pour clip + \moveto(-0.65,15) + \lineto(-0.55,13.75) + \curveto(-1.55,13.54)( -1.92,12.7)(-1.92,11.65) + \curveto(-1.92,10.6)(-0.3,9.55)(-0.3,8.5) + \lineto(-0.3,2) + \curveto(-0.3,1.5)(-0.14,1.5)(-0.14,1)% + \lineto(-0.14,-1) + \lineto(0.14,-1) + \lineto(0.14,1) + \curveto(0.14,1.5)(0.3,1.5)(0.3,2) + \lineto(0.3,8.5) + \curveto(0.3,9.55)(1.92,10.6)(1.92,11.65) + \curveto(1.92,12.7)(1.55,13.54)(0.55,13.75) + \lineto(0.65,15) +}% +% +% bouchon de l'ampoule à décanter +\def\pst@Bouchon{% + \pspolygon[linecap=1,linejoin=1,fillstyle=solid,fillcolor=gray!10,linecolor=gray](-0.67,15.25)(0.67,15.25)(0.57,14)(-0.57,14) + % oreille bouchon + \pscustom[linecap=1,linejoin=1,fillstyle=solid,fillcolor=gray!05,linecolor=gray]{% + \psarcn(0.555,15.365){0.1145}{-90}{180} + \psarc(0,15.92){0.67}{-45}{225} + \psarcn(-0.555,15.365){0.1145}{0}{-90} + \closepath + }}% +% robinet ouvert +% tap open +\def\pst@TapOpen{% + \psframe[fillstyle=solid](-.2,0.5)(.2,1) + \psframe(-.2,0.4)(-.3,1.1) + \psframe(.2,0.4)(.3,1.1) + \pspolygon[linejoin=1](.3,0.6)(.4,0.6)(.5,0.3)(.9,0.3)(.9,1.2)(.5,1.2)(.4,0.9)(.3,0.9) + \pspolygon[fillstyle=solid,fillcolor=cyan!50](-.6,0.4)(-.85,0.6)(-.85,0.9)(-.6,1.1)(-.3,1.1)(-.3,0.4) + \psline(-0.6,0.4)(-0.6,1.1) + \psline(0.5,0.3)(0.5,1.2) +}% + % robinet fermé + % tap open +\def\pst@TapClosed{% + \psframe[fillstyle=solid](-.2,0.5)(.2,1) + \psframe(-.2,0.4)(-.3,1.1) + \psframe(.2,0.4)(.3,1.1) + \pscustom[linejoin=1]{% + \psarcn(0.35,0.6){0.05}{180}{90} + \psline(0.4,0.65)(0.9,0.65)(0.9,0.85)(0.35,0.85) + \psarcn(0.35,0.9){0.05}{-90}{180} + \closepath + }% + \psline(0.5,0.65)(0.5,0.85) + \pspolygon[fillstyle=solid,fillcolor=cyan!50](-.6,0.4)(-.85,0.6)(-.85,0.9)(-.6,1.1)(-.3,1.1)(-.3,0.4) + \psline(-0.6,0.4)(-0.6,1.1) +}% +% la macro ampoule à decanter = pstSeparateFunnel +\def\pstSeparateFunnel{\pst@object{pst@SeparateFunnel}} +\def\pst@SeparateFunnel@i{% + \addbefore@par{dimen=middle,niveauLiquide1=11,niveauLiquide2=12,linewidth=0.04}% + \begin@SpecialObj +% les deux liquides + \psclip{\pscustom[linestyle=none]{\pst@contourAmpouleClip}}% + \psframe[style=AqueoPhase](-2,1)(2,\@nameuse{psk@TubeEssais@niveauLiquide1})% + \endpsclip% + \psclip{\pscustom[linestyle=none]{\pst@contourAmpouleClip}}% + \psframe[style=OrganicPhase](-2,\@nameuse{psk@TubeEssais@niveauLiquide1})(2,\@nameuse{psk@TubeEssais@niveauLiquide2})% + \endpsclip% + \ifPst@TubeEssais@bouchon\pst@Bouchon\fi + \pst@corpsAmpoule + \ifPst@OpenTap\pst@TapOpen\else\pst@TapClosed\fi +% ouverture tube de coulée + \psellipse[fillstyle=solid,fillcolor=white](0,-1)(0.15,0.25) +% rebord ampoule + \pscircle*[linecolor=darkgray](-0.675,15){0.03} + \pscircle*[linecolor=darkgray](0.675,15){0.03} + \psline[linecolor=darkgray](-0.65,15)(0.65,15) +% join entre le col et l'ampule + \psline[linecolor=gray](-0.55,13.75)(0.55,13.75) + \end@SpecialObj% + }% +% +\def\pstSupport{% + \psset{dimen=m,linewidth=0.04} + \definecolor{woodcolor}{rgb}{0.957 0.84 0.69} + \definecolor{darkcolorwood}{rgb}{0.5 0.25 0} + \newpsstyle{woodcolor}{fillstyle=solid,fillcolor=woodcolor,linejoin=1} + \psframe[style=woodcolor](-2,-6)(5,-5) + %\psline(-2.,-5.5)(5,-5.5) + \psframe[style=woodcolor](2.75,2)(3.25,16) + \pscustom[style=woodcolor]{\psarc(2.75,1.5){0.5}{90}{180} + \psline(2.25,1.5)(2.25,-5)(3.75,-5)(3.75,1.5) + \psarc(3.25,1.5){0.5}{0}{90}}% + %\psline(-2,11.5)(-1.55,10.5) + \psline(2,11.5)(1.55,10.5) + \pspolygon[style=woodcolor](-2.5,11.5)(-2,11.5)(-1.55,10.5)(-2.5,10.5) + \pspolygon[style=woodcolor](4,11.5)(2,11.5)(1.55,10.5)(4,10.5) + \psframe(-2.5,10.5)(4,11.5) + \pscustom[style=woodcolor]{ + \psline(4,11.2)(4.5,11.2)\psarcn(5,11){0.5385}{158.2}{-158.2} + \psline(4.5,10.8)(4,10.8)} + \psline(4.5,10.8)(4.5,11.2) +}% |