Eriksson Beam API
Search Results for

    Show / Hide Table of Contents

    Frequently Asked Questions

    Getting Started

    How do I get an API license key?

    Contact Eriksson Software to obtain an API license key:

    • Email: support@erikssonsoftware.com
    • Website: Contact form on the Eriksson Software website

    What .NET versions are supported?

    • .NET Framework 4.7.2 or later
    • .NET 6.0 or later (with Windows)

    What platform is required?

    The API requires Windows and x86 platform target due to dependencies.

    <PlatformTarget>x86</PlatformTarget>
    

    Connection

    Why can't I connect to Eriksson Beam?

    Most common causes:

    1. Eriksson Beam not running - Start the desktop application first
    2. 10-minute timeout exceeded - Restart Eriksson Beam and connect within 10 minutes
    3. Invalid API license key - Verify your API license key is correct

    What is the 10-minute timeout?

    Eriksson Beam only listens for API connections for 10 minutes after launch. This timeout:

    • Starts when Eriksson Beam opens
    • Is NOT reset by UI interactions
    • Requires restarting Eriksson Beam to reset

    Can I connect to Eriksson Beam that's already open?

    Yes, use ErikssonBeamFinder:

    var client = await ErikssonBeamFinder.GetFirstSupportedBeamClient(args);
    

    Can I launch Eriksson Beam programmatically?

    Yes, use ErikssonBeamLauncher:

    var launcher = await ErikssonBeamLauncher.LaunchErikssonBeam(args);
    var client = launcher.Client;
    

    Data Operations

    Why did my data disappear after pushing?

    You likely created a BeamDesign directly instead of pulling first:

    // WRONG - causes data loss
    var design = new BeamDesign();
    
    // CORRECT - preserves existing data
    var design = await client.PullBeamDesignerAsync();
    

    Can I update just one field without pulling everything?

    No. The API always pushes the complete BeamDesign. Always pull first to preserve existing data.

    What units does the API use?

    • Length: Inches
    • Force: Pounds
    • Unless otherwise documented for specific properties

    Are polygonal sections supported?

    No, polygonal sections are not currently supported by the API.

    Performance

    Why are pushes slow?

    Push operations serialize the entire design and update Eriksson Beam's UI. To optimize:

    1. Batch changes - Make all modifications before pushing once
    2. Avoid repeated pushes - Don't push after each small change
    // FAST: Single push
    design.Prop1 = val1;
    design.Prop2 = val2;
    await client.PushBeamDesignerAsync("", design);
    
    // SLOW: Multiple pushes
    design.Prop1 = val1;
    await client.PushBeamDesignerAsync("", design);
    design.Prop2 = val2;
    await client.PushBeamDesignerAsync("", design);
    

    How many files can I process at once?

    Eriksson Beam can have multiple files open. For large batches, consider:

    • Processing in batches of 5-10 files
    • Using ErikssonBeamFileManager for automatic handling

    Files

    Can I create new project files?

    Yes, use CreateProjects:

    await client.CreateProjects(new[] { @"C:\Projects\new.ebf" });
    

    Note: Created files are not automatically opened.

    How do I save a project?

    await client.SaveProject("projectName", @"C:\path\file.ebf", overwriteExistingFile: true);
    

    How do I know which files are open?

    var openProjects = await client.GetOpenBeamProjects();
    

    Errors

    What does "LicenseError" mean?

    Your API license key is invalid, expired, or not authorized. Check:

    • API license key is correctly set (no typos)
    • Key hasn't expired
    • Network connectivity for first-time validation

    What does "InvalidRequest" mean?

    The server rejected your request, usually due to:

    • Invalid property values
    • Project not found
    • Data validation failure

    Check ex.Response.ErrorMessage for details.

    Why do I get "ErikssonBeamNotRunningException"?

    • Eriksson Beam isn't running
    • The 10-minute API window has expired
    • The specified process ID is wrong

    Multiple Instances

    Can I connect to multiple Eriksson Beam instances?

    Yes, use different clients for different process IDs:

    var client1 = await ErikssonBeamClient.AttemptConnection(args1);
    var client2 = await ErikssonBeamClient.AttemptConnection(args2);
    

    How do I find a specific instance?

    Find by open file:

    var client = await ErikssonBeamFinder.GetFirstClientWithFile("MyProject", args);
    

    List all instances:

    var processIds = await ErikssonBeamFinder.GetSupportedErikssonBeamInstances();
    

    Security

    How should I store my API license key?

    Use environment variables (recommended):

    var licenseKey = Environment.GetEnvironmentVariable("ERIKSSON_LICENSE_KEY");
    

    Never hardcode API license keys in source code.

    Is the API license key cached?

    Yes, valid API license keys are cached for 7 days. The API works offline after initial validation.

    Troubleshooting

    How do I enable debug logging?

    using Microsoft.Extensions.Logging;
    
    var loggerFactory = LoggerFactory.Create(builder =>
    {
        builder.AddConsole().SetMinimumLevel(LogLevel.Debug);
    });
    var logger = loggerFactory.CreateLogger<Program>();
    
    var client = await ErikssonBeamClient.AttemptConnection(args, logger);
    

    Where can I get help?

    1. Check this documentation
    2. Review Error Handling
    3. Contact Eriksson Software support

    See Also

    • Getting Started - Setup guide
    • Connection Issues - Connection troubleshooting
    • Data Issues - Data operation problems
    • Edit this page
    In this article
    Back to top Generated by DocFX