Skip to content

Latest commit

 

History

History
341 lines (250 loc) · 14.2 KB

File metadata and controls

341 lines (250 loc) · 14.2 KB

KNest Desktop User Guide

Table of Contents

  1. Introduction
  2. Key Features and Advantages
  3. Technical Architecture
  4. Installation
  5. Interface Overview
  6. Basic Workflow
  7. Feature Details
  8. Algorithm Description
  9. FAQ
  10. Support

Introduction

KNest Desktop is a professional 2D nesting optimization desktop application based on advanced 2D rectangular optimization nesting algorithms, providing efficient cutting solution optimization services for sheet metal processing and other industries. Through intelligent algorithms and intuitive visual interfaces, it helps users maximize material utilization, reduce waste, and improve production efficiency.

Application Scenarios

  • Furniture Manufacturing: Panel furniture part nesting to improve material utilization
  • Metal Processing: Sheet metal cutting optimization to reduce raw material waste
  • Glass Processing: Glass sheet cutting planning to enhance cutting precision
  • Advertising Production: Irregular billboard material optimization to lower production costs
  • Garment Cutting: Fabric nesting optimization to increase fabric utilization
  • Packaging Industry: Cardboard cutting solutions to optimize packaging design

Key Features and Advantages

🎯 Intelligent Algorithms

  • Multiple Nesting Modes

    • Rectangular Nesting: Fast nesting for regular rectangular parts with high algorithm efficiency
    • Simple Irregular Nesting: Support for any irregular inner contours embedding other rectangles, meeting higher utilization requirements
    • Complex Irregular Nesting: (Not yet implemented) Support for nesting of parts with arbitrary complex contours
  • Advanced Nesting Technologies

    • Inner Nesting: Place smaller parts inside holes of larger parts to further improve material utilization
    • Part Rotation Optimization: Support 0/90/180/270 degree or arbitrary angle rotation to find optimal nesting direction
    • Intelligent Collision Detection: Accurately detect collisions between parts to ensure feasible nesting solutions
    • Spacing Control: Configurable safety spacing between parts to meet different process requirements
    • Multi-threaded Parallel Calculation: Fully utilize multi-core CPU to significantly improve calculation speed
  • Optimization Strategies

    • Maximize Material Utilization: Core algorithm focuses on improving material utilization and reducing waste
    • Priority Sorting: Support priority-based sorting to nest important parts first
    • Multiple Starting Corner Options: Bottom-left/right, Top-left/right to adapt to different nesting habits
    • Configurable Iteration Count: Balance calculation precision and speed according to needs
    • Timeout Control: Prevent excessively long calculation times to ensure user experience

💎 User Experience

  • Intuitive Visual Interface

    • Real-time Preview: Display cutting plans in real-time for intuitive understanding of nesting results
    • Interactive Contour Editor: Support drag, zoom, and pan operations for easy creation and modification of part contours
    • Color Differentiation: Different parts use different colors for clear readability
    • Theme Switching: Support dark/light themes to adapt to different usage environments
  • Flexible Data Management

    • Multi-format Import: Support JSON/CSV/Excel format data import for easy integration with other systems
    • Column Mapping Configuration: Save and reuse column mapping configurations to improve data import efficiency
    • History Management: Save calculation history for easy comparison of different solutions
    • Multi-format Export: One-click export of JSON/HTML format results for easy sharing and archiving
  • Internationalization Support

    • Bilingual Interface: Built-in Chinese and English interfaces to meet international user needs
    • Automatic Language Detection: Automatically detect system language on startup for localized experience
    • One-click Language Switching: Switch languages anytime without restarting the application

⚡ Performance Advantages

  • Efficient Calculation

    • Rust Core Algorithm: Core algorithms written in Rust language for excellent performance and memory safety
    • Parallel Computing: Multi-threaded parallel processing to fully utilize modern CPU multi-core performance
    • Intelligent Caching: Cache calculation results to reduce redundant calculations and improve response speed
  • Cross-platform Support

    • Windows: Support Windows 10/11 (64-bit)
    • macOS: Support macOS 10.15+
    • Linux: Support Linux (Ubuntu 20.04+)
  • Lightweight Architecture

    • Tauri 2 Framework: Based on modern desktop application framework with small installation package size
    • Low Memory Usage: Optimized memory usage for smooth operation without lag
    • No Additional Dependencies: No need to install additional runtime environments, ready to use out of the box

🔒 License Management

  • Multiple License Methods: Support USB dongle authorization and online authorization verification
  • Free Use: Provide free registration mode for users to fully experience software features.
    • Individual users can click "Free Registration" in "License Management", fill in your name and contact information (for statistical purposes), and get free usage rights for 90 days.
    • Enterprise users can also use this software for free. However, enterprise users usually use time-unlimited licenses. If you really need it, you can contact me to get a USB dongle license (only charging the cost of the dongle + shipping fee + programming fee, within 100 yuan), just insert the USB dongle into the computer to use without time limit.
    • If you need other customized features, whether for this software or algorithms, you can contact me for customized services, and the specific cost depends on the requirements.
  • About Open Source License: This project uses MIT License. Users can use, modify, and distribute this software for free without paying any fees. At the same time, users can also use the code of this software in their projects without paying any fees. However, the optimization nesting algorithm used in this software is not open source. If users have customized needs or need to use the source code of the algorithm, they need to contact me (littlex@126.com) to obtain authorization, and the specific cost depends on the requirements.

Technical Architecture

Frontend Technology Stack

  • Framework: Svelte 5 + SvelteKit
  • UI Components: Flowbite-Svelte
  • Styling: Tailwind CSS v4
  • Build Tool: Vite
  • Internationalization: svelte-i18n
  • State Management: Svelte Stores

Backend Technology Stack

  • Desktop Framework: Tauri 2
  • Core Language: Rust
  • Algorithm Libraries:
    • packing.lib (Static link library, core nesting algorithm)
    • packing_around_basic.lib (Basic algorithm library)
    • rsa.lib (Encryption library, statically linked)
  • Data Processing:
    • serde/serde_json (JSON serialization)
    • csv (CSV processing)
    • calamine (Excel reading)

Project Structure

KNestDesktop/
├── src/                    # Frontend source code
│   ├── components/        # Svelte components
│   ├── i18n/              # Internationalization files
│   ├── lib/               # Utility libraries
│   ├── routes/            # SvelteKit routes
│   ├── stores/            # State management
│   ├── types/             # TypeScript type definitions
│   └── app.css            # Global styles
├── src-tauri/             # Rust backend code
│   ├── src/               # Rust source code
│   │   ├── commands/      # Tauri commands
│   │   ├── lib.rs         # Library entry
│   │   └── main.rs        # Main program
│   ├── Cargo.toml         # Rust dependency configuration
│   └── tauri.conf.json    # Tauri configuration
├── docs/                  # User documentation
│   ├── user-guide.md      # Chinese user guide
│   └── user-guide-en.md   # English user guide
├── libs/                  # Algorithm libraries
│   ├── packing/           # Core nesting algorithm
│   ├── packing_around_basic/ # Basic algorithm
│   └── rsa/               # Encryption library
├── static/                # Static resources
├── package.json           # Node.js dependencies
├── vite.config.js         # Vite configuration
└── postcss.config.js      # PostCSS configuration

Installation

System Requirements

  • Windows 10/11 (64-bit)
  • macOS 10.15+
  • Linux (Ubuntu 20.04+)

Installation Steps

  1. Download the installer for your system
  2. Windows: Run .msi or .exe installer
  3. macOS: Open .dmg file, drag to Applications folder
  4. Linux: Use .deb or .AppImage

First Launch

On startup, the app automatically detects system language. You can switch language and theme anytime from the top-right corner.


Interface Overview

Main Layout

┌─────────────────────────────────────────────────────┐
│  Title Bar (Window controls, Theme, Language)       │
├──────────┬──────────────────────────────────────────┤
│          │                                          │
│ Sidebar  │           Main Content Area              │
│  (Nav)   │                                          │
│          │                                          │
├──────────┴──────────────────────────────────────────┤
│  Status Bar (Version, Status)                       │
└─────────────────────────────────────────────────────┘

Navigation Menu

  • Algorithm Settings: Configure nesting algorithm parameters
  • Stock Panels Management: Manage raw material sheets
  • Parts Management: Manage parts to be cut
  • Calculate: Execute nesting calculation
  • Results: View and export results

Basic Workflow

Quick Start

  1. Configure Algorithm - Select nesting type and options
  2. Add Stock Panels - Enter sheet dimensions and quantities
  3. Add Parts - Enter part information
  4. Start Calculation - Click calculate button
  5. View Results - Browse cutting plans and statistics
  6. Export Results - Save as JSON or HTML format

Feature Details

Algorithm Settings

Parameter Description
Nest Type 0-Rectangular nesting, 1-Irregular nesting (not yet supported)
Base Corner Starting position (Bottom-left/right, Top-left/right)
Enable Priority Whether to arrange parts by priority
Timeout Maximum calculation time (seconds)
Threads Parallel calculation threads
Iterations Optimization iteration count

Stock Panels Management

  • Default Config: Set default parameters for all stock panels
  • Individual Config: Set independent parameters for specific panels
  • Supported Fields: Width, height, quantity, margins, spacing, etc.

Parts Management

  • Default Config: Set default parameters for all parts
  • Individual Config: Set independent parameters for specific parts
  • Contour Editor: Define outer and inner contours for irregular parts
  • Supported Fields: Width, height, quantity, rotation, priority, etc.

Contour Editor

For defining irregular part shapes:

  • Outer Contour: External boundary (minimum 3 vertices)
  • Inner Contours: Internal holes (optional)
  • Bulge Value: Defines arc curvature

Operations:

  • Click canvas to add vertices
  • Drag vertices to adjust position
  • Right-click to delete vertices
  • Scroll wheel to zoom
  • Drag empty area to pan

Data Import

Import data from external files:

  • JSON: Direct import of complete configuration
  • CSV: Import tabular data with column mapping
  • Excel: Import .xlsx files with column mapping

Column mapping configurations can be saved and reused.

Results View

After calculation, view:

  • Statistics: Total utilization, material usage, waste rate
  • Cutting Plans: Layout diagram for each stock panel
  • Unplaced Parts: List of parts that couldn't be placed

Result Export

  • JSON: Complete calculation result data
  • HTML: Visual report with charts

Algorithm Description

Core Nesting Algorithms

KNest Desktop employs advanced 2D nesting algorithms to solve various nesting problems:

  1. Rectangular Nesting Algorithm

    • Optimized for rectangular parts
    • Fast calculation speed
    • High nesting efficiency for regular shapes
  2. Inner Nesting Technology

    • Allows placing smaller parts inside holes of larger parts
    • Significantly improves material utilization
    • Supports multiple levels of nesting

Algorithm Parameters

  • Nesting Type: Determines the algorithm to use (rectangular nesting, irregular nesting)
  • Rotation Options: Controls whether parts can be rotated and by how many degrees
  • Spacing: Defines the minimum distance between parts
  • Priority: Determines the order in which parts are nested
  • Iterations: Controls how many times the algorithm will try to improve the solution

FAQ

Q: Calculation takes too long?

A: Try:

  • Reduce iteration count
  • Set calculation timeout

Q: Why can't some parts be placed?

A: Possible reasons:

  • Part size exceeds stock panel size
  • Insufficient stock panels
  • Margins set too large

Q: How to save current configuration?

A: Use the "Save Configuration" option in the bottom-left menu to save as a JSON file.

Q: Which Excel formats are supported?

A: Supports .xlsx format (Excel 2007+).


Support

For issues, please submit an Issue on the project repository, or click "Feedback" on the "About" page of the software to submit your feedback.