Import external views (File → Import)

June 25, 2026 · View on GitHub

LibMan can convert schematics and layouts from other EDA formats into CORE view files and register them in the current project.

MenuDescription
File → Import...Open the import dialog
File → Export...Export selected CORE views to GDS, Xschem, or Qucs

Import requires a CORE-enabled build (CONFIG+=no_core disables this menu).


Dialog fields

FieldDescription
Source formatGDS, Xschem, Qucs, or OAS
Target libraryLibrary from the open .projects file (same names as in Project Editor)
Single file / FolderImport one file or every matching file in a directory
PathSource file or folder (Browse...)
LogPer-file success or failure after Import (updates progressively)
Overwrite existing cell viewsReplace *.core files that already exist for the same cell/view

The target library defaults to the library currently selected in the main window.


What happens on import

For each source file:

  1. LibMan creates \<library-root>/\<cell>/\<cell>.\<view>.core (or copies a native .oas file when no converter is available).
  2. A CORE converter is run as an external process.
  3. The new view is registered in LibMan (LIBRARY_<lib>/<cell>/<view>).
  4. If a project file is open, File → Save runs automatically — a new define("library", "path"); line is appended to .projects.

Cell name is taken from the source file base name (OTA1336.sch → cell OTA1336).

FormatSource extensionsConverterResult view
GDS.gds, .gds2gds_to_core --all-cellslayout
Xschem.sch, .symxschem_to_coreschematic or symbol
Qucs.schqucs_to_coreschematic
OAS.oas, .oas.gzoas_to_core if present, else native copylayout or oas

GDS import uses --all-cells so multi-cell libraries are preserved in one .layout.core file per source GDS.


Converter tools (next to libman.exe)

LibMan does not embed converters in-process. On build, these tools from CommonDB are copied next to the executable:

  • gds_to_core, core_to_gds
  • xschem_to_core, core_to_xschem
  • qucs_to_core, core_to_qucs
  • oas_to_core (when CORE is built with ZLIB)

Search order (core/converter_paths.cpp):

  1. LIBMAN_CONVERTER_DIR environment variable (if set)
  2. Directory containing libman.exe
  3. tools/ and converters/ subdirectories next to the executable

Override example:

$env:LIBMAN_CONVERTER_DIR = "C:\path\to\converters"
.\build\libman.exe

Build integration

Build systemBehaviour
CMakeCORE_BUILD_EXAMPLES=ON in cmake/FetchCore.cmake; POST_BUILD copies converters to $<TARGET_FILE_DIR:libman>
qmakescripts/fetch_core.cmd / fetch_core_linux.sh build converter targets; core_converter_deploy.pri copies them after link

After changing CORE or fetch scripts, delete .deps/core-build/libman_core_built.stamp (qmake) or reconfigure CMake so converters are rebuilt.


Export (File → Export...)

Export CORE views from the current project to external formats:

FormatResult extensionsConverter
GDS.gdscore_to_gds
Xschem.sch / .symcore_to_xschem
Qucs.schcore_to_qucs

Pick a destination folder and one or more *.core view files (or use the project tree selection). Converters are resolved the same way as import (LIBMAN_CONVERTER_DIR, directory next to libman.exe).


Project file format

Imported views appear like any other view in .projects:

define("my_lib", "my_lib/inv/inv.schematic.core");
define("my_lib", "my_lib/ota/ota.layout.core");

Use Project Editor (Ctrl+E) to review or edit entries. See also CORE integration for view naming (*.schematic.core, *.layout.core, …).


Typical workflow

  1. File → Open... — load mydesign.projects.
  2. File → Import... — choose format, target library, folder of .sch files.
  3. Check the log; failed rows stay in the log with a reason (converter missing, cell already exists, etc.).
  4. Open schematic views (double-click) — on Windows use Xschem + WSL.

Troubleshooting

SymptomWhat to check
Converter 'gds_to_core' was not foundRebuild with CORE; confirm gds_to_core.exe is next to libman.exe or set LIBMAN_CONVERTER_DIR
Cell view already existsDelete the existing cell folder or pick another library
Import menu disabled / error about no_coreRebuild without CONFIG+=no_core; CI stub builds omit Import
OAS imports as .oas not .layout.coreoas_to_core was not built (ZLIB missing in CORE build); native OAS copy still works
Project file unchangedOpen a .projects file first; otherwise use File → Save after import

More: Troubleshooting.