Skip to content

linkcad.env

Options and logging utilities for scripts and plugins.

from linkcad.v1.env import (
get_option_boolean, set_option_boolean,
get_option_int, set_option_int,
get_option_real, set_option_real,
get_option_string, set_option_string,
EventLog, Severity,
)

Options

LinkCAD stores persistent format and tool options under string keys (e.g. "GdsiiInFlattenAll"). The functions below let scripts read and override these values without opening the Options dialog.

Functions

FunctionDescription
get_option_boolean(name, default)Read a boolean option; returns default if not set
set_option_boolean(name, value)Write a boolean option
get_option_int(name, default)Read an integer option
set_option_int(name, value)Write an integer option
get_option_real(name, default)Read a float option
set_option_real(name, value)Write a float option
get_option_string(name, default)Read a string option
set_option_string(name, value)Write a string option
from linkcad.v1.env import get_option_boolean, set_option_boolean
# Check whether GDSII import flattens hierarchy
flatten = get_option_boolean("GdsiiInFlattenAll", False)
print(f"GDSII flatten: {flatten}")
# Temporarily override
set_option_boolean("GdsiiInFlattenAll", True)

Logging

EventLog

The application event log. Messages written here appear in the LinkCAD log panel.

from linkcad.v1.env import EventLog, Severity
log = EventLog()
log.log(Severity.Info, "Processing complete")
log.log(Severity.Warning, "Layer 'TEMP' will be deleted")
log.log(Severity.Error, "Could not open file")
MethodDescription
EventLog()Create an event log
log.log(severity, message)Write a message with the given severity
log.log_with_title(severity, title, description)Write a titled message
log.log2(severity, title, description)Rust-compatible alias for titled messages
log.log_at_line(severity, message, line)Write a message with a line number
log.log_at_name(severity, message, name)Write a message with a named location
log.log_success(message)Convenience success message
log.log_info(message) / log.info(message)Convenience informational message
log.log_warning(message) / log.warning(message)Convenience warning message
log.log_error(message) / log.error(message)Convenience error message
log.entry_count()Number of entries in the log
log.highest_severity()Highest severity present in the log
log.set_fatal() / log.is_fatal()Mark and query fatal state
log.clear_log()Remove all entries

Severity

Log message severity levels.

ValueDescription
Severity.SuccessSuccess message
Severity.InfoInformational message
Severity.InformationalInformational message; equal to Severity.Info
Severity.WarningNon-fatal warning
Severity.ErrorRecoverable error