Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SKiDL BUG] NotImplementedError when trying to run generate_svg() #215

Open
doctor-yes opened this issue Jun 28, 2024 · 3 comments
Open
Labels

Comments

@doctor-yes
Copy link

Describe the bug
NotImplementedError when trying to run the example code with generate_svg() on https://devbisme.github.io/skidl/.
netlistsvg is also installed per instruction: npm install https://github.com/nturley/netlistsvg

This is the code: (it keeps complaining about footprint is missing, since the goal here is to just generate the schematic in svg, I removed some component to get things going)

# Create part templates.
r = Part("Device", "R", dest=TEMPLATE, footprint='Resistors_SMD:R_0805')

# Create nets.
gnd, vcc = Net("GND"), Net("VCC")
a, b, a_and_b = Net("A"), Net("B"), Net("A_AND_B")

# Instantiate parts.
# gndt = Part("power", "GND")  # Ground terminal.
# vcct = Part("power", "VCC")  # Power terminal.
# q1, q2 = q(2)  # Two transistors.
r1, r2, r3, r4, r5 = r(5, value="10K")  # Five 10K resistors.

# Make connections between parts.
a & r1 & r4 &  a_and_b & r5 & gnd
b & r2
r3 & gnd

Error:

Traceback (most recent call last):
File "D:\test.py", line 396, in
generate_svg()
File "C:\python\site-packages\skidl\circuit.py", line 993, in generate_svg
f.write(self.generate_netlistsvg_skin(net_stubs=net_stubs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\python\site-packages\skidl\circuit.py", line 704, in generate_netlistsvg_skin
part_svg[name] = part.generate_svg_component(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\python\site-packages\skidl\part.py", line 1054, in generate_svg_component
return tool_modules[tool].gen_svg_comp(self, symtx=symtx, net_stubs=net_stubs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\python\site-packages\skidl\tools\kicad\kicad.py", line 367, in gen_svg_comp
return v6.gen_svg_comp(part, symtx, net_stubs=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\python\site-packages\skidl\tools\kicad\v6.py", line 319, in gen_svg_comp
raise NotImplementedError
NotImplementedError

To Reproduce
Steps to reproduce the behavior:
As above

Expected behavior
Generate svg of the circuit

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS Windows 10
  • Python version 3.12.0
  • SKiDL version 1.2.1

Additional context
Add any other context about the problem here.

@doctor-yes doctor-yes added the bug label Jun 28, 2024
@devbisme
Copy link
Owner

Creating SVG schematics isn't supported for KiCad versions 6 and above. This feature is currently being worked on and should be in the development branch in a few weeks.

Thanks for trying SKiDL!

@devbisme
Copy link
Owner

Just wanted to come back and mention that SVG schematics can now be generated. Right now, you'll need to use SKiDL's development branch to do it:

pip install git+https://github.com/devbisme/skidl@development

Before generating SVG (or anything else), you'll have to tell SKiDL what version of KiCad you're using:

from skidl import *
set_default_tool(KICAD8)  # Possible values are KICAD5, KICAD6, KICAD7, KICAD8.

@tapegoji
Copy link

I was able to generate svg successfully. Thank you Dave.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants