at-wat / eagle2svg

Eagle cad to SVG converter
4 stars 1 forks source link

eagle v7 support #31

Open darkworks opened 1 year ago

darkworks commented 1 year ago

Hi i have eagle v7 file can you help me in converting it to svg


<eagle version="7.1.0">
<drawing>
<settings>
<setting alwaysvectorfont="no"/>
<setting verticaltext="up"/>
</settings>
<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
<layers>
<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>
<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="yes"/>
<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
<layer number="29" name="tStop" color="7" fill="3" visible="yes" active="yes"/>
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
<layer number="31" name="tCream" color="7" fill="4" visible="yes" active="yes"/>
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
<layer number="51" name="tDocu" color="7" fill="1" visible="yes" active="yes"/>
<layer number="52" name="bDocu" color="7" fill="1" visible="yes" active="yes"/>
<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
<layer number="93" name="Pins" color="2" fill="1" visible="yes" active="yes"/>
<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
</layers>
<library>
<packages>
<package name="SOP65P1420X360-36N">
<circle x="-8.6" y="6.005" radius="0.1" width="0.2" layer="21"/>
<wire x1="-5.5" y1="7.95" x2="5.5" y2="7.95" width="0.127" layer="21"/>
<wire x1="-5.5" y1="-7.95" x2="5.5" y2="-7.95" width="0.127" layer="21"/>
<wire x1="-7.855" y1="8.2" x2="7.855" y2="8.2" width="0.05" layer="39"/>
<wire x1="-7.855" y1="-8.2" x2="7.855" y2="-8.2" width="0.05" layer="39"/>
<wire x1="-7.855" y1="8.2" x2="-7.855" y2="-8.2" width="0.05" layer="39"/>
<wire x1="7.855" y1="8.2" x2="7.855" y2="-8.2" width="0.05" layer="39"/>
<text x="-7.49" y="-8.3" size="1.27" layer="27" align="top-left">&gt;VALUE</text>
<text x="-7.49" y="8.4" size="1.27" layer="25">&gt;NAME</text>
<wire x1="-5.5" y1="7.95" x2="-5.5" y2="6.02" width="0.127" layer="21"/>
<wire x1="5.5" y1="7.95" x2="5.5" y2="6.02" width="0.127" layer="21"/>
<wire x1="-5.5" y1="-7.95" x2="-5.5" y2="-6.02" width="0.127" layer="21"/>
<wire x1="5.5" y1="-7.95" x2="5.5" y2="-6.02" width="0.127" layer="21"/>
<smd name="1" x="-6.61" y="5.525" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="2" x="-6.61" y="4.875" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="3" x="-6.61" y="4.225" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="4" x="-6.61" y="3.575" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="5" x="-6.61" y="2.925" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="6" x="-6.61" y="2.275" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="7" x="-6.61" y="1.625" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="8" x="-6.61" y="0.975" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="9" x="-6.61" y="0.325" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="10" x="-6.61" y="-0.325" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="11" x="-6.61" y="-0.975" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="12" x="-6.61" y="-1.625" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="13" x="-6.61" y="-2.275" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="14" x="-6.61" y="-2.925" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="15" x="-6.61" y="-3.575" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="16" x="-6.61" y="-4.225" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="17" x="-6.61" y="-4.875" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="18" x="-6.61" y="-5.525" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="19" x="6.61" y="-5.525" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="20" x="6.61" y="-4.875" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="21" x="6.61" y="-4.225" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="22" x="6.61" y="-3.575" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="23" x="6.61" y="-2.925" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="24" x="6.61" y="-2.275" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="25" x="6.61" y="-1.625" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="26" x="6.61" y="-0.975" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="27" x="6.61" y="-0.325" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="28" x="6.61" y="0.325" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="29" x="6.61" y="0.975" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="30" x="6.61" y="1.625" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="31" x="6.61" y="2.275" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="32" x="6.61" y="2.925" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="33" x="6.61" y="3.575" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="34" x="6.61" y="4.225" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="35" x="6.61" y="4.875" dx="1.99" dy="0.48" layer="1" roundness="25"/>
<smd name="36" x="6.61" y="5.525" dx="1.99" dy="0.48" layer="1" roundness="25"/>
</package>
</packages>
<symbols>
</symbols>
<devicesets>
</devicesets>
</library>
</drawing>
</eagle>

i tried to convert it like this eagle2svg.exe part.brd > out.svg

and it give error

Traceback (most recent call last):
  File "C:\Python310\Scripts\eagle2svg-script.py", line 33, in <module>
    sys.exit(load_entry_point('eagle2svg==0.1.4', 'console_scripts', 'eagle2svg')())
  File "C:\Python310\site-packages\eagle2svg\render.py", line 35, in render_main
    data.render(sheet, layers)
  File "C:\Python310\site-packages\eagle2svg\eagle_parser.py", line 139, in render
    return self.data.render(sheet=sheet,
AttributeError: 'Eagle' object has no attribute 'data'
at-wat commented 1 year ago

Looks like your brd file only contains embedded library data and no actual board data.

darkworks commented 1 year ago

Looks like your brd file only contains embedded library data and no actual board data.

so can we convert this to svg ? is it just a single part.

like this 402 res RC0402FR-07402RL_402_res

<eagle version="7.1.0">
<drawing>
<settings>
<setting alwaysvectorfont="no"/>
<setting verticaltext="up"/>
</settings>
<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
<layers>
<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>
<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="yes"/>
<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
<layer number="29" name="tStop" color="7" fill="3" visible="yes" active="yes"/>
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
<layer number="31" name="tCream" color="7" fill="4" visible="yes" active="yes"/>
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
<layer number="51" name="tDocu" color="7" fill="1" visible="yes" active="yes"/>
<layer number="52" name="bDocu" color="7" fill="1" visible="yes" active="yes"/>
<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
<layer number="93" name="Pins" color="2" fill="1" visible="yes" active="yes"/>
<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
</layers>
<library>
<packages>
<package name="RESC1005X40N">
<text x="-0.95" y="-0.63" size="0.5" layer="27" align="top-left">&gt;VALUE</text>
<text x="-0.95" y="0.63" size="0.5" layer="25">&gt;NAME</text>
<wire x1="-0.95" y1="-0.55" x2="0.95" y2="-0.55" width="0.05" layer="39"/>
<wire x1="-0.95" y1="0.55" x2="0.95" y2="0.55" width="0.05" layer="39"/>
<wire x1="-0.95" y1="-0.55" x2="-0.95" y2="0.55" width="0.05" layer="39"/>
<wire x1="0.95" y1="-0.55" x2="0.95" y2="0.55" width="0.05" layer="39"/>
<smd name="1" x="-0.432" y="0" dx="0.54" dy="0.6" layer="1"/>
<smd name="2" x="0.432" y="0" dx="0.54" dy="0.6" layer="1"/>
</package>
</packages>
<symbols>
<symbol name="RC0402FR-07402RL">
<wire x1="-5.08" y1="0" x2="-4.445" y2="1.905" width="0.254" layer="94"/>
<wire x1="-4.445" y1="1.905" x2="-3.175" y2="-1.905" width="0.254" layer="94"/>
<wire x1="-3.175" y1="-1.905" x2="-1.905" y2="1.905" width="0.254" layer="94"/>
<wire x1="-1.905" y1="1.905" x2="-0.635" y2="-1.905" width="0.254" layer="94"/>
<wire x1="-0.635" y1="-1.905" x2="0.635" y2="1.905" width="0.254" layer="94"/>
<wire x1="0.635" y1="1.905" x2="1.905" y2="-1.905" width="0.254" layer="94"/>
<wire x1="1.905" y1="-1.905" x2="3.175" y2="1.905" width="0.254" layer="94"/>
<wire x1="3.175" y1="1.905" x2="4.445" y2="-1.905" width="0.254" layer="94"/>
<wire x1="4.445" y1="-1.905" x2="5.08" y2="0" width="0.254" layer="94"/>
<text x="-7.62444" y="2.54148" size="2.54148" layer="95">&gt;NAME</text>
<text x="-7.62997" y="-5.08664" size="2.54332" layer="96">&gt;VALUE</text>
<pin name="1" x="-10.16" y="0" visible="off" length="middle" direction="pas"/>
<pin name="2" x="10.16" y="0" visible="off" length="middle" direction="pas" rot="R180"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="RC0402FR-07402RL" prefix="R">
<description>RC0402 402R 1% 0,063W </description>
<gates>
<gate name="G$1" symbol="RC0402FR-07402RL" x="0" y="0"/>
</gates>
<devices>
<device name="" package="RESC1005X40N">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
</device>
</devices>
</deviceset>
</devicesets>
</library>
</drawing>
</eagle>

thanks

at-wat commented 1 year ago

so can we convert this to svg ? is it just a single part.

I don't think so. Your file posted above seems not having any visible elements, but only library info.

I guess this file is .lbr, not .brd. eagle2svg doesn't support visualizing .lbr.