There is a Remote Application Programming Interface (API) available for the Unisoft software that allows it to be controlled by external applications.
This Remote API effectively turns Unisoft into an automation engine that can be integrated into larger engineering, test, or manufacturing workflows, enabling precise and repeatable control without manual interaction.
In practical terms, it is a programmatic interface for the Unisoft PCB/CAD viewer/editor that allows other software to operate Unisoft directly without user input.
It is designed for automation, system
integration, and batch processing from scripts, test systems, MES/ERP
platforms, or custom-developed applications.
The API is exposed through
header/interface files (such as API.H) that are installed locally, typically
located at:
C:\Program Files
(x86)\Unisoft\RemoteAPI\API
What it lets you do. The API provides command-level control over
Unisoft’s core functions, including:
1. File & Data Control
Open
boards (CAD, F2B, etc.)
Set working directories
Import / clear BOMs
Import / clear annotation overlays
Export boards to multiple formats
2. Display & View Control
Zoom, rotate, flip boards
Switch between
top / bottom / schematic views
Resize and reposition windows
Change or
focus panes
Show or hide layers, nets, components, vias
3. Search
& Navigation
Find components
Find nets
Find pins and vias
Automatically center or highlight results
How it’s typically used
Manufacturing automation (ICT, flying probe, AOI workflows)
MES or
test-system integration
Custom viewers or “one-click” engineering tools
Batch processing (open → zoom → export → close)
Hands-free operation from
another application
Functions available per API.H is located by default in directories c:\program files (x86)\unisoft\remoteapi\api or c:\program files (x86)\unisoft\remoteapi\api.
Some operations are:
Below is a minimal, concrete example of how a typical FindComponents call
would look when using the Unisoft Remote API from a C/C++ style application.
Because the API is exposed via API.H, this is written in the expected
native style.
Example: FindComponents call (C/C++)
#include
"api.h"
/*
Finds and displays one or more components on the
currently open board
*/
int result;
result =
FindComponents(
"R1,R5,U12", // Component reference designators
(comma-separated)
TRUE // Display / highlight the components
);
if (result != 0)
{
// Handle error
}
Typical
Parameters (conceptual)
While exact signatures can vary slightly by
build, FindComponents generally accepts:
Parameter Purpose
Component list One or more refdes values (e.g., R1, U12)
Display flag
Whether to zoom/highlight results
Optional view Target pane (top, bottom,
schematic)
Example: single component
FindComponents("U3", TRUE);
Example: search without changing view
FindComponents("C10,C11,C12",
FALSE);
Expected behavior
Components are located
Display centers
and highlights them (if enabled)
Existing view state remains otherwise
unchanged
Notes
Board must already be opened via OpenBoard()
View
focus may optionally be set first using SetCurView()
Errors are typically
returned as non-zero integers
Please contact Unisoft with any questions.