Files
kicad-mcp-server/docs/SVG_IMPORT_GUIDE.md
KiCAD MCP Bot f047a4e4d1 docs: comprehensive documentation overhaul for v2.2.3
Major documentation update bringing all docs current with the 122-tool,
16-category state of the project (previously frozen at v2.1.0-alpha/59 tools).

New documentation (9 files):
- FREEROUTING_GUIDE.md - autorouter setup, Docker/Podman, all 4 tools
- SCHEMATIC_TOOLS_REFERENCE.md - all 27 schematic tools with parameters
- ROUTING_TOOLS_REFERENCE.md - all 13 routing tools with examples
- FOOTPRINT_SYMBOL_CREATOR_GUIDE.md - 8 creator tools with examples
- SVG_IMPORT_GUIDE.md - SVG logo import tool
- DATASHEET_TOOLS_GUIDE.md - datasheet enrichment tools
- PCB_DESIGN_WORKFLOW.md - end-to-end design guide
- ARCHITECTURE.md - system architecture for contributors
- INDEX.md - documentation table of contents

Updated documentation (12 files):
- README.md - tool count 64->122, feature list, contributor credits
- TOOL_INVENTORY.md - complete rebuild with all 122 tools
- STATUS_SUMMARY.md - updated to v2.2.3 feature matrix
- ROADMAP.md - marked completed milestones, added v2.3+ vision
- KNOWN_ISSUES.md - removed resolved issues, added v2.2.x fixes
- CLIENT_CONFIGURATION.md - added KICAD_MCP_DEV, FREEROUTING_JAR env vars
- LIBRARY_INTEGRATION.md - added symbol and project-local library support
- ROUTER_ARCHITECTURE.md, ROUTER_QUICK_START.md - updated tool counts
- IPC_BACKEND_STATUS.md - updated dates
- JLCPCB_USAGE_GUIDE.md - added cross-reference note
- CONTRIBUTING.md - added ARCHITECTURE.md reference, updated tool count

Archived 10 completed planning docs to docs/archive/.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 01:31:44 -04:00

3.7 KiB

SVG Logo Import Guide

Added in: v2.2.3

The import_svg_logo tool converts SVG vector graphics into filled polygons on a KiCAD PCB layer. This is useful for placing company logos, project branding, or custom artwork on your board's silkscreen or copper layers.


Tool Reference

Imports an SVG file as filled graphic polygons onto a PCB layer. Curves are linearized automatically.

Parameters:

Parameter Type Required Default Description
pcbPath string Yes -- Path to the .kicad_pcb file
svgPath string Yes -- Path to the SVG logo file
x number Yes -- X position of the logo top-left corner in mm
y number Yes -- Y position of the logo top-left corner in mm
width number Yes -- Target width of the logo in mm (height scales to preserve aspect ratio)
layer string No F.SilkS PCB layer name (e.g., F.SilkS, B.SilkS, F.Cu, B.Cu)
strokeWidth number No 0 Outline stroke width in mm (0 = no outline)
filled boolean No true Fill polygons with solid color

Returns:

  • Polygon count
  • Final dimensions (width x height in mm)
  • Layer used

SVG Requirements

Supported Features

  • Path elements with M, L, H, V, C, S, Q, T, A, Z commands
  • Filled shapes (polygons, rectangles, circles, ellipses)
  • Nested groups and transforms
  • Cubic and quadratic Bezier curves (linearized automatically)

Recommendations

  • Use simple, solid shapes -- avoid complex gradients or filters
  • Convert text to paths/outlines before importing
  • Ensure shapes are filled (not just stroked) for best results
  • Keep the SVG clean -- remove unnecessary metadata and layers

What Will Not Work

  • Raster images embedded in SVG
  • CSS-based styling (inline style attributes are preferred)
  • Complex SVG filters or effects
  • Transparency (PCB layers are binary -- copper or no copper)

Workflow

1. Prepare Your SVG

If starting from a raster image (PNG, JPG):

  • Use a vector graphics editor (Inkscape, Illustrator, Figma) to trace the image
  • In Inkscape: Path > Trace Bitmap to convert
  • Export as plain SVG

If starting from a vector logo:

  • Open in a vector editor
  • Convert all text to paths (Object to Path / Create Outlines)
  • Remove unnecessary layers and hidden elements
  • Save as plain SVG
Import my company logo from ~/logos/logo.svg onto the board at position x=25 y=40 with width 15mm on the front silkscreen.

3. Verify Placement

Use get_board_2d_view to preview the board with the logo, or open in KiCAD to check placement.

4. Adjust if Needed

Re-run import_svg_logo with different position, width, or layer parameters.


Layer Options

Layer Use Case
F.SilkS Front silkscreen (most common for logos)
B.SilkS Back silkscreen
F.Cu Front copper (logo as exposed copper)
B.Cu Back copper
F.Mask Front solder mask opening (exposes copper underneath)
B.Mask Back solder mask opening

Manufacturing Considerations

  • Silkscreen logos are the safest choice -- no impact on electrical design
  • Copper logos will be part of the copper layer and may affect DRC. Ensure adequate clearance from traces and pads
  • Minimum feature size depends on your PCB fabricator. Most support 0.15mm (6mil) minimum line width for silkscreen
  • Logo size should account for manufacturing tolerances -- very small details may not reproduce well

Source Files

  • TypeScript tool definition: src/tools/board.ts (import_svg_logo)
  • Python implementation: python/commands/svg_import.py