Я анимирую ваш путь, хотя я удалил преобразование и изменил viewBox, потому что хотел увидеть путь отверстия. Вы можете использовать то, что у вас есть.
Я использую анимацию SMIL, но вы можете использовать ту же идею для ее анимации, используя css.
В моем коде 79,375 - это общая длина тропинка. Вы можете получить общую длину пути, используя getTotalLength()
.
39,69 - это половина общей длины.
Основная идея такова: я анимирую stroke-dasharray
из штрихов = 0 пробелов = 79,375 до пробелов = 0 штрихов = 79,375
Также я анимирую смещение штрих-тире от = "- 39,69" до = "0"
svg{width:50px; border:1px solid silver;}
<svg
viewBox="40 70 48.136105 95"
>
<g>
<path
style="fill:none;
stroke:#000000;
stroke-width:1px;
stroke-linecap:butt;
stroke-linejoin:miter;
stroke-opacity:1"
d="M 49.924165,76.866652 V 156.24165"
id="path4508"
stroke-dasharray="79.375 0"
stroke-dasharray="-39.69"
>
<animate attributeName="stroke-dasharray"
attributeType="XML"
from="0 79.375" to="79.375 0"
dur="5s"
repeatCount="indefinite" />
<animate attributeName="stroke-dashoffset"
attributeType="XML"
from="-39.69" to="0"
dur="5s"
repeatCount="indefinite" />
</path>
</g>
</svg>