File:S-UTP-cable.svg

Uploaded by Svgalbertian
Upload date 2010-01-28T05:26:18Z
MIME type image/svg+xml
Dimensions 487 × 363 px
File size 20.6 KB
This file has been superseded by Twisted pair sutp.svg. It is recommended to use the other file. Please note that deleting superseded images requires consensus.
new file
This file has been superseded by Twisted pair futp.svg. It is recommended to use the other file. Please note that deleting superseded images requires consensus.
new file

Summary

Description
English: Shielded UTP cable
Date
Source de:Datei:SUTP-Kabel.png
Author
Permission
(Reusing this file)
Released under the GNU Free Documentation License.
Other versions
LEGEND i: internal S: Screened (low frequency radio noise shielding) [edit]
e: external F: Foiled (high frequency radio noise shielding)
Se Fe Fi Type Multilingual unified
+ + FFTP SVG SVG
+ FUTP SVG PNG (Romanian) SVG
+ + + SFFTP SVG SVG
+ + SFTP SVG (German English Italian) PNG (Italian Romanian) SVG
+ + SFUTP SVG PNG (Romanian) SVG
+ SUTP SVG (German English Italian) PNG (English Hebrew Italian Romanian) SVG
+ UFTP SVG (German English Italian) PNG (Afrikaans English Hebrew Italian Romanian) SVG
UUTP SVG (German English Russian Ukrainian) PNG (Afrikaans English Italian Portuguese Romanian) SVG

Internationalisation data

lang
ID
en da de it fr es af id ms pl uk ru sh sr nl mk hu gl fa eu bn be be-tarask ro he ja ko zh ar
s Sheath Kappe Kabelmantel Guaina Gaine Cubierta Kabelmantel Selubung Sarung Powłoka Оболонка Оболочка Plašt Плашт Mantel Обвивка Köpeny Cuberta روکش Estalkia খাপ Абалонка Абалонка Cămaşă מעטפת 外被 시스 外护套 غلاف
c Conductor Leder Leiter Conduttore Conducteur Conductor Geleier Konduktor Pengalir Żyła Провідник Проводник Vodič Проводник Geleider Проводник Vezető Condutor سیم Haria তার Праваднік Праваднік Conductor מוליך 導体 도체 导体 موصل
i Insulation Isolering Isolierung Isolante Isolant Aislamiento Isolasie Isolator Penebat Izolacja Ізоляція Изоляция Izolacija Изолација Isolatie Изолација Szigetelés Isolamento عایق Isolamendua অন্তরণ Ізаляцыя Ізаляцыя Izolație בידוד 絶縁 절연 绝缘 عزل
p Pair Par Paar Coppia Paire Par Paar Pasangan Pasangan Para Пара Пара Par Пар Paar Пар Érpár Par زوج Bikotea জোড়া Пара Пара Pereche זוג 対 페어 线对 زوج
fi Pair foil Parfolie Paarfolie Nastro coppia Feuillard paire Cinta par Paarfolie Kerajang pasangan Kerajang pasangan Folia pary Фольга пари Фольга пары Folija parova Фолија парова Paarfolie Фолија на пар Pár-fólia Lámina por par فویل زوجها Lámina bikoteko প্রতি জোড়া ফয়েল Фальга пары Фальга пары Folie pereche סרט זוג 対箔 개별 차폐 对箔 رقاقة الزوج
fe Cable foil Fællesfolie Kabelfolie Nastro cavo Feuillard câble Cinta cable Kabelfolie Kerajang kabel Kerajang kabel Folia kabla Фольга кабелю Фольга кабеля Opća folija Општа фолија Totale folie Општа фолија Közös fólia Lámina global فویل کلی Lámina globala সামগ্রিক ফয়েল Фальга агульная Фальга агульная Folie globală סרט כבל 外箔 일괄 차폐 缆箔 رقاقة الكابل
se Cable screen Fællesflet Kabelschirm Treccia cavo Tresse du câble Malla exterior Kabelvlegsel Layar kabel Skrin kabel Oplot kabla Обплетення кабелю Оплётка кабеля Opći oplet Општи оплет Totaal vlechtwerk Општа плетенка Közös fonat Malla global شیلد بافت Sare globala সামগ্রিক বেণি Аплётка агульная Аплётка агульная Tresă globală צמת כבל 編組 일괄 편조 线编织 جديلة الكابل
% scale 100 100 90 80 80 80 90 70 70 100 60 80 80 80 70 80 100 80 100 80 70 70 70 90 100 100 100 100 100

Note: Editors may update language strings and add additional languages, but please keep English as the leftmost language and do not change the ID column or the formatting of the cells.

Python script to generate SVG

#!/usr/bin/env python
import re, math, urllib2, numbers, xml.etree.ElementTree
## http://stackoverflow.com/a/7088472
try:                from html import escape ## Python 3.x
except ImportError: from cgi  import escape ## Python 2.x
def extract_text(html, tag): ## http://stackoverflow.com/a/7315891
 return [escape(element.text.strip()).encode('ascii', 'xmlcharrefreplace')
         if element.text is not None else None
         for element in xml.etree.ElementTree.XML(html).findall('.//' + tag)]
def tabbify(cellss, delimiter='|'):
 cellpadss = [list(rows) + [''] * (len(max(cellss, key=len)) - len(rows)) for rows in cellss]
 fmts = ['%%%ds' % (max([len(str(cell)) for cell in cols])) for cols in zip(*cellpadss)]
 return '\n'.join([delimiter.join([('%' if isinstance(rows[i], numbers.Number) else
  '%-') + fmt[1:] for (i,fmt) in enumerate(fmts)]) % tuple(rows) for rows in cellpadss])
def roundm(x, multiple=1):
 if   (isinstance(x, tuple)): return tuple(roundm(list(x), multiple))
 elif (isinstance(x, list )): return [roundm(x_i, multiple) for x_i in x]
 else: return int(math.floor(float(x) / multiple + 0.5)) * multiple
def swap_braces(text):
 return (text.replace('{{','\b').replace('{','{{').replace('\b','{')
             .replace('}}','\b').replace('}','}}').replace('\b','}'))

diagramss = [
 {'name':'sfftp','se':1,'fe':1,'fi':1},
 {'name':'sfutp','se':1,'fe':1,'fi':0},
 {'name': 'sutp','se':1,'fe':0,'fi':0},
 {'name': 'sftp','se':1,'fe':0,'fi':1},
 {'name': 'uftp','se':0,'fe':0,'fi':1},
 {'name': 'uutp','se':0,'fe':0,'fi':0},
 {'name': 'fftp','se':0,'fe':1,'fi':1},
 {'name': 'futp','se':0,'fe':1,'fi':0},
]

## Read translations
# """ ## read live page using code from http://stackoverflow.com/a/3336735
url  = 'http://commons.wikimedia.org/wiki/template:i18n_twisted_pair'
html = urllib2.urlopen(urllib2.Request(url, headers={'User-Agent':'Magic Browser'})).read()
""" ## read from cache to not bombard Commons during development
with open('twisted_pair_diagram.htm') as f: html = f.read();
# """
table = re.search(r'<table.*?/table>', html, flags=re.DOTALL|re.IGNORECASE).group(0)
print(table)
ths = extract_text(table, 'th')
i_scale = [i for (i, th) in enumerate(ths) if th and '%' in th][0] ## find %
scales  = ths[i_scale + 1:]
langs   = ths[1:i_scale]
## http://stackoverflow.com/a/10124783
stringss = [['ID\\lang'] + langs] + zip(*[iter(extract_text(table, 'td'))] *
                                        (len(langs) + 1))
print(tabbify(stringss))

## Create font scale per language
out_scales = []
for (lang, scale) in zip(langs, scales):
 if (scale != '100'): out_scales.append('''
text[systemLanguage="%s" i] { font-size:%s%%; }''' % (lang, scale))

## Create switch tags
out_switchs = {}
for strings in stringss[1:]:
 id        = strings[0]
 out_langs = []
 for (i_lang, lang) in enumerate(langs + [None]):
  out_langs.append('''<text y="0.6ex"%s>%s</text>''' %
   (''        if lang is None else ' systemLanguage="%s"' % (lang),
    strings[1 if lang is None else i_lang + 1]))
 out_switchs[id] = '''<switch>%s</switch>''' % (''.join(out_langs))
print(tabbify(out_switchs.items()))

## Output SVG files
for diagrams in diagramss:
 n_text = 3
 ys     = {}
 if diagrams['fi']: ys['fi'] = n_text; n_text += 1
 if diagrams['fe']: ys['fe'] = n_text; n_text += 1
 if diagrams['se']: ys['se'] = n_text; n_text += 1
 n_text  += 1
 out_ys   = [roundm(21 * (i * 2.0 / (n_text - 1) - 1)) for i in range(n_text)]
 basename = 'twisted_pair_%s' % (diagrams['name'])
 filename = '%s.svg'          % (basename)
 print('%s\t%d\t%s' % (filename, n_text, out_ys))
 with open(filename, 'w') as f:
  f.write(swap_braces('''\
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" viewBox="-5 -27 162 54">
 <title>{{basename}}</title>
 <desc>Twisted pair cable diagram by CMG Lee.</desc>
 <style type="text/css">
svg   { font-family:'Liberation Sans',Helvetica,Arial,sans-serif; font-size:6px; text-anchor:middle; stroke:none; stroke-width:0.2; }
text  { fill-opacity:1; stroke:none; filter:url(#filter_stroke); }
.lead { fill:none; stroke:#666; marker-start:url(#marker_leader); marker-end:url(#marker_leader); }
<!-- Resize text for individual languages as per
http://commons.wikimedia.org/w/index.php?title=Commons:Graphic_Lab/Illustration_workshop&diff=prev&oldid=1077344410
-->{{out_scale}}
 </style>
 <defs>
  <filter id="filter_stroke">
   <feMorphology operator="dilate" radius="1"/>
   <feColorMatrix type="matrix" values="0,0,0,0,1 0,0,0,0,1 0,0,0,0,1 0,0,0,1,0"/>
   <feBlend in="SourceGraphic"/>
   <feBlend in="SourceGraphic"/>
  </filter>
  <filter id="filter_shade" y="-50%" height="200%">
   <feGaussianBlur stdDeviation="1"/>
   <feOffset dx="0" dy="2"/>
   <feColorMatrix type="matrix" values="1,0,0,0,0 0,1,0,0,0 0,0,1,0,0 0,0,0,0.3,0"/>
   <feComposite operator="in" in="SourceAlpha"/>
   <feBlend in2="SourceGraphic" mode="multiply"/>
  </filter>
  <marker id="marker_leader" refX="1.5" refY="1.5">
   <circle r="1.8" cx="1.5" cy="1.5" fill="#333"/>
  </marker>
  <marker id="marker_tip" refY="1.5">
   <path d="M 0.5,0.75   a 0.3,0.75 0 1 0 0.01,0"  fill="#666"/>
   <path d="M 2.5,1 h -2 a 0.2,0.5  0 0 0 0,1 h 2" fill="url(#grad_tip)"/>
   <path d="M 2.5,1      a 0.2,0.5  0 1 0 0.01,0"  fill="#f90"/>
  </marker>
  <linearGradient id="grad_tip" x1="0" y1="0" x2="0" y2="1">
   <stop offset="0.0" stop-color="#c60"/>
   <stop offset="0.3" stop-color="#f90"/>
   <stop offset="1.0" stop-color="#c60"/>
  </linearGradient>
  <linearGradient id="grad_s" x1="0" y1="0" x2="0" y2="1">
   <stop offset="0.0" stop-color="#c93"/>
   <stop offset="0.3" stop-color="#fd9"/>
   <stop offset="1.0" stop-color="#c93"/>
  </linearGradient>
  <linearGradient id="grad_fe" x1="0" y1="0" x2="0" y2="1">
   <stop offset="0.0" stop-color="#9cf"/>
   <stop offset="0.1" stop-color="#cef"/>
   <stop offset="0.5" stop-color="#9cf"/>
   <stop offset="0.6" stop-color="#cef"/>
   <stop offset="1.0" stop-color="#9cf"/>
  </linearGradient>
  <linearGradient id="grad_fi" x1="0" y1="0" x2="0" y2="1">
   <stop offset="0.0" stop-color="#9ef"/>
   <stop offset="0.1" stop-color="#cff"/>
   <stop offset="0.5" stop-color="#9ef"/>
   <stop offset="0.6" stop-color="#cff"/>
   <stop offset="1.0" stop-color="#9de"/>
  </linearGradient>
  <pattern id="pattern_se" patternUnits="userSpaceOnUse" width="2" height="4">
   <path d="M 1,0 L 2,2 L 1,4 L 0,2 Z" fill="none" stroke="#bbb" stroke-width="0.5"/>
  </pattern>
  <pattern id="pattern_pair" patternUnits="userSpaceOnUse" width="20" height="40">
   <g stroke="#09f">
    <g id="pair" fill="none" stroke-width="3" transform="translate(0,5)" filter="url(#filter_shade)">
     <use xlink:href="#color" transform="scale(1,-1)"/>
     <g id="white">
      <path id="color" d="M 0,2 c 4,0 6,-4 10,-4"/>
      <use xlink:href="#color" stroke="#fff" stroke-width="2"/>
     </g>
     <use xlink:href="#white" transform="translate(10,0) scale(1,-1)"/>
     <use xlink:href="#color" transform="translate(10,0)"/>
    </g>
   </g>
   <use xlink:href="#pair" stroke="#930" transform="translate(0,10)"/>
   <use xlink:href="#pair" stroke="#f60" transform="translate(0,20)"/>
   <use xlink:href="#pair" stroke="#090" transform="translate(0,30)"/>
  </pattern>
  <g id="underlay">
   <path d="M 20,-25 a 4,25 0 1 0 0.01,0 M 105,0 a 25,25 0 1 1 0,0.01 h 2 a 23,23 0 1 0 0,-0.01" fill="#fc0"/>
   <path d="M 20,-22 a 3,22 0 1 0 0.01,0" fill="#c90"/>
   <path d="M 0,-20 H 60 V 20 H 0" fill="url(#pattern_pair)"/>
   <path d="M 59,-17 Z v 4 v 6 v 4 v 6 v 4 v 6 v 4 Z" stroke-width="2" marker-mid="url(#marker_tip)"/>
   <g transform="translate(130,0)" fill="#09f">
    <g id="pair_section">
     <g id="wire_section">
      <circle cx="3" cy="10" r="3" stroke="none"/>
      <path d="M 3,8 a 2,2 0 0 0 0,4" fill="none" stroke-width="1.3"/>
      <circle cx="3" cy="10" r="1.5" fill="#f90" stroke="#000"/>
     </g>
     <use xlink:href="#wire_section" stroke="#fff" transform="scale(-1,1)"/>
    </g>
    <use xlink:href="#pair_section" fill="#930" transform="rotate(270)"/>
    <use xlink:href="#pair_section" fill="#f60" transform="rotate(180)"/>
    <use xlink:href="#pair_section" fill="#090" transform="rotate(90)"/>
   </g>
  </g>
  <g id="overlay">
   <path d="M 20,-25 H 0 a 4,25 0 0 0 0,50 H 20 a 4,25 0 0 1 0,-50" fill="url(#grad_s)"/>
   <path d="M 20,-25 a 4,25 0 0 0 0,50 V 22 a 3,22 0 0 1 0,-44" fill="#fc0"/>
   <path class="lead" d="M 62,-17 L 80,{{y_c}} m 10,0 L 127,-10"/>
   <path class="lead" d="M 56,-15 L 80,{{y_i}} m 10,0 L 126, -8"/>
   <path class="lead" d="M 59, -7 L 80,{{y_p}} m 10,0 L 117, -3"/>
   <path class="lead" d="M 59, -3 L 80,{{y_p}} m 10,0 L 117,  3"/>
   <path class="lead" d="M 15, 24 L 80,{{y_s}} m 10,0 L 130, 24"/>
   <g transform="translate(85,{{y_c}})">{{text_c}}</g>
   <g transform="translate(85,{{y_i}})">{{text_i}}</g>
   <g transform="translate(85,{{y_p}})">{{text_p}}</g>
   <g transform="translate(85,{{y_s}})">{{text_s}}</g>
  </g>
  <g id="fi">
   <path id="fi_side" d="M 0,-19 H 50 a 0.5,4 0 0 0 0,8 H 0" fill="url(#grad_fi)"/>
   <use xlink:href="#fi_side" transform="translate(0,10)"/>
   <use xlink:href="#fi_side" transform="translate(0,20)"/>
   <use xlink:href="#fi_side" transform="translate(0,30)"/>
   <g transform="translate(130,0)">
    <path id="fi_section" d="M 0,4 a 8,6 0 1 0 0.01,0 v 2 a 6,4 0 1 1 -0.01,0" fill="#6ef"/>
    <use xlink:href="#fi_section" transform="rotate(90)"/>
    <use xlink:href="#fi_section" transform="rotate(180)"/>
    <use xlink:href="#fi_section" transform="rotate(270)"/>
   </g>
   <path class="lead" d="M 45,  5 L 80,{{y_fi}} m 10,0 L 117,  6"/>
   <g transform="translate(85,{{y_fi}})">{{text_fi}}</g>
  </g>
  <g id="fe">
   <path d="M 0,-20 H 41   a 1,20 0 0 0 0,40 H 0" fill="url(#grad_fe)"/>
   <path d="M 111,0 a 19,19 0 1 1 0,0.01 h 2 a 17,17 0 1 0 0,-0.01" fill="#69f" fill-opacity="0.5"/>
   <path class="lead" d="M 35, 11 L 80,{{y_fe}} m 10,0 L 115, 10"/>
   <g transform="translate(85,{{y_fe}})">{{text_fe}}</g>
  </g>
  <g id="se">
   <path d="M 0,-22 H 31.7 a 2,22 0 0 0 0,44 H 0 M 108,0 a 22,22 0 1 1 0,0.01 h 2 a 20,20 0 1 0 0,-0.01" fill="url(#pattern_se)"/>
   <path class="lead" d="M 25, 16 L 80,{{y_se}} m 10,0 L 117, 16"/>
   <g transform="translate(85,{{y_se}})">{{text_se}}</g>
  </g>
 </defs>
 <circle cx="0" cy="0" r="99999" fill="#fff"/>
 <use xlink:href="#underlay"/>
 {{flag_fi}}{{flag_fe}}{{flag_se}}
 <use xlink:href="#overlay"/>
</svg>''').format(
 flag_fi ='<use xlink:href="#fi"/>' if diagrams['fi'] else '',
 flag_fe ='<use xlink:href="#fe"/>' if diagrams['fe'] else '',
 flag_se ='<use xlink:href="#se"/>' if diagrams['se'] else '',
 text_s  =out_switchs['s' ], y_s =out_ys[  n_text - 1  ],
 text_c  =out_switchs['c' ], y_c =out_ys[       0      ],
 text_i  =out_switchs['i' ], y_i =out_ys[       1      ],
 text_p  =out_switchs['p' ], y_p =out_ys[       2      ],
 text_fi =out_switchs['fi'], y_fi=out_ys[ys.get('fi',0)],
 text_fe =out_switchs['fe'], y_fe=out_ys[ys.get('fe',0)],
 text_se =out_switchs['se'], y_se=out_ys[ys.get('se',0)],
 basename=basename         , out_scale=''.join(out_scales)))
Translate this file This SVG file contains embedded text that can be translated into your language, using any capable SVG editor, text editor or the SVG Translate tool. For more information see: About translating SVG files.
          written by Abhimanyu saxena 
                      B.COM 1 YR

Licensing

GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.

All translations

Translations added to this section should be free of copyright claims (either CC0 or public domain).

(?) ≅ unshielded twisted pair (Q3741962)
unshielded twisted pair (Q3741962)
conductor ≅ electrical conductor (Q124291)
conductor
insulation ≅ electric insulation (Q3155522)
insulation
pair ≅ pair (Q2570803)
pair
cable shield
cable shield
jacket ≅ sleeve (Q99955064)
jacket

Original upload log

The original description page was here. All following user names refer to en.wikipedia.
  • 2010-01-28 03:34 Svgalbertian 487×363× (14093 bytes) Redraw.
  • 2010-01-26 23:55 Koman90 487×363× (330152 bytes) {{Information |Description = |Source = I (~~~) created this work entirely by myself. |Date = ~~~~~ |Author = ~~~ |other_versions = }}

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

27 January 2010

21,076 byte

image/svg+xml

56adb6afe80cd678101968328ce913315128e867