Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Alice
Submodule Alice updated from fe6137 to ac4cc9
Binary file added Docs/screenshots/home_workbench.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
154 changes: 107 additions & 47 deletions README.ja.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
<p align="center">
<img src="Designer/UIResource/TitleBar/brand/light/png/200x56/app_wordmark.png" width="360" alt="SolidDesigner" />
</p>


<p align="center">
<a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/License-GPLv3-blue.svg" /></a>
<img alt="C++" src="https://img.shields.io/badge/C%2B%2B-17%2F20-00599C.svg" />
<img alt="Kernel" src="https://img.shields.io/badge/Kernel-OpenCascade%20(OCCT)-orange" />
<img alt="UI" src="https://img.shields.io/badge/UI-Qt%20Widgets-41CD52" />
<img alt="Platform" src="https://img.shields.io/badge/Platform-Windows%20%7C%20Linux-lightgrey" />
</p>

# SolidDesigner

**パラメトリック CAD、高忠実度 CAE、トポロジー最適化のためのオープンソース・プラットフォーム — シミュレーション駆動設計と AI アシストを統合。**
Expand All @@ -17,6 +30,7 @@
## Table of Contents

- [ビジョンとスコープ](#vision--scope)
- [製品概要](#product-overview)
- [同梱内容](#whats-in-the-box)
- [プロジェクト構成とアーキテクチャ](#project-layout--architecture)
- [コア概念](#core-concepts)
Expand Down Expand Up @@ -49,6 +63,25 @@ SolidDesigner は、**フルスタックかつエンジニアリング品質**

---

## Product Overview

SolidDesigner(ブランド:**Breptera**)は、再利用可能な **Alice** プラットフォーム上に構築された、**デスクトップ/ワークベンチ指向**の CAD アプリケーションです。

<p align="center">
<img src="docs/screenshots/home_workbench.png" width="900" alt="SolidDesigner Home Workbench" />
</p>

**ユーザー向けの目標**

- **Creo/NX 風ワークフロー**:ワークベンチ、リボンコマンド、ドッキングパネル、MDI ビューポート。
- **パラメトリック基盤**:フィーチャ履歴ツリー、スケッチ/拘束、リビルド&再生成パイプライン(WIP)。
- **エンジニアリング優先**:材料、荷重/境界条件、メッシュ制御、解析結果を運べる **CAD データモデル**(計画)。
- **カーネルに裏付けられたジオメトリ**:既定の B‑Rep と可視化は **OpenCascade (OCCT)**。プラットフォーム層ではマルチバックエンド描画をサポートします。

> 上のスクリーンショットは現在の UI 方向性(Home Workbench + 学習/探索パネル)を示します。プレアルファ段階のためレイアウトは短いサイクルで変化します。

---

## What’s in the Box

- **基盤サブモジュール(“Alice”)**を含む、モダンな C++17/20 コードベース。
Expand Down Expand Up @@ -156,77 +189,107 @@ https://hananiah.atlassian.net/jira/software/c/projects/AL/boards/3

## Build & Run

### Prerequisites (indicative)
このリポジトリには、`../SolidDesigner_Build/` にビルドツリーを生成する **ワンクリックのビルドスクリプト**が同梱されています。

### Prerequisites (current)

- **CMake ≥ 3.22**
- **C++17/20** ツールチェーン(MSVC v143、Clang 15+、または GCC 11+)
- **Qt 5**(UI 用。計画中/ヘッドレスツールをビルドする場合は任意
- **Eigen**(数学)、**fmt**、**spdlog**
- **OpenCascade(OCC)**(B-Rep の主ジオメトリバックエンド。将来的に差し替え可能にする想定
- **(任意)** VTK/OCCT 表示、CGAL/Gmsh/TetGen メッシング、OpenMP/TBB 並列化、CUDA GPU パス
- **CMake ≥ 3.31**
- Windows:リポジトリに `ToolChain/cmake` として同梱(`AutoGenerateVsProject.bat` が利用)
- Linux:新しめの CMake をシステムにインストール(または独自ツールチェーンを使用
- **C++17 ツールチェーン**:MSVC v143 / GCC 11+ / Clang 15+
- **Qt 5.15.x**(Core, Gui, Widgets, Network, Quick, Qml
- **OpenCascade (OCCT) SDK**:OCCT Viewer バックエンド用(下記 SDK レイアウト参照)

> 正確なバージョンやオプションは変わる可能性があります。最新のビルドノートは JIRA/Wiki を参照してください。
### Windows (Visual Studio 2022, x64)

### Get the source
1. サブモジュール込みでクローン:

```bash
git clone --recurse-submodules https://github.com/hananiahhsu/SolidDesigner.git
cd SolidDesigner
# --recurse-submodules を忘れた場合
git submodule update --init --recursive
```

### Windows (MSVC, x64)
2. 実行:

```bash
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 ^
-DCMAKE_INSTALL_PREFIX=%CD%/install ^
-DSD_WITH_QT=ON ^
-DSD_WITH_OCC=ON
- `AutoGenerateVsProject.bat`(`../SolidDesigner_Build/SolidDesigner.sln` を生成して Visual Studio を起動)

cmake --build build --config Release --parallel
cmake --install build --config Release
```
3. Visual Studio で `Release|x64` 構成をビルドし、`SolidDesigner` を実行します。

### Linux (Makefiles)

### Linux (GCC/Clang + Ninja)
実行:

```bash
cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$PWD/install \
-DSD_WITH_QT=ON \
-DSD_WITH_OCC=ON

cmake --build build --parallel
cmake --install build
./SolidDesignerForLinux.sh
```

アプリの実行(パスは環境により異なる場合があります):
このスクリプトは `Unix Makefiles` で構成・ビルドし、`../SolidDesigner_Build/` に出力します。

> 注意:現状スクリプトは `-DCMAKE_GENERATOR_PLATFORM=x64` を渡していますが、これは Visual Studio 向けのオプションであり Linux では無視される場合があります。問題が出る場合は次の「Manual CMake」で構成してください。

### Manual CMake (recommended when customizing toolchains)

```bash
# Windows
install/bin/SolidDesigner.exe
cmake -S . -B ../SolidDesigner_Build -G "Ninja" -DCMAKE_BUILD_TYPE=Release
cmake --build ../SolidDesigner_Build --parallel
```

# Linux
./install/bin/SolidDesigner
### Third‑party SDK layout (OCCT)

OCCT Viewer バックエンドは、OpenCascade SDK が次の場所にエクスポートされていることを前提とします:

```
Externals/3rdParty/sdk/<platform>/<Debug|Release>/occt
```

既定の `<platform>` 値(上書き可能):

- Windows:`msvc2022-x64-md`
- Linux:`linux-x64`

CMake から上書きできます:

- `-DSD_3P_PLATFORM=...`
- `-DSD_3P_CFG=Debug|Release`
- または、`OpenCASCADEConfig.cmake` を含むフォルダへ `-DOpenCASCADE_DIR=...` を直接指定します。

### Qt

UI ターゲットは現在 **Qt 5** を使用しています(CMake 内で `Qt5::Core`、`Qt5::Widgets`、`Qt5::Quick/Qml` 等)。
Windows では一部モジュールが `Qt5.15.x` 向け `CMAKE_PREFIX_PATH` を既定設定している場合があります。必要に応じてローカルの Qt インストールに合わせて調整してください。

# --recurse-submodules を忘れた場合

すでにクローン済みのリポジトリで、次を実行してください:

```bash
git submodule update --init --recursive
```

---

## Dependencies

本プロジェクトは **モジュラー設計**で、多くのサードパーティ依存は任意(プラグイン化/差し替え)です。
本プロジェクトはモジュラー構成です。いくつかのライブラリは **リポジトリ内に同梱(vendored)**され、いくつかは **外部 SDK** として導入します。

### Open-source Stack & Licenses

| ライブラリ | 用途 | 位置 | ライセンス(上流) |
|---|---|---|---|
| **OpenCascade (OCCT)** | B‑Rep カーネル + OCCT Viewer バックエンド | `Alice/Core/Runtime/AliceRenderBackendOCCViewer` | LGPL‑2.1 with OCCT exception(上流) |
| **Qt 5 (Widgets/Quick/Qml)** | デスクトップ UI(リボン、パネル、ダイアログ) | `Designer/UI/*`, `Alice/UI/QFrameWork/*` | GPL/LGPL/Commercial(Qt) |
| **spdlog** | ロギングバックエンド | `Alice/Core/Foundation/AliceBasicTool/*SpdLog*` | MIT |
| **fmt** | 文字列フォーマット | `Alice/Core/Foundation/AliceBasicTool/*Fmt*` | MIT |
| **Open Sans** | リボン用フォントアセット | `Alice/UI/QFrameWork/AliceRibbon/OpenSans` | Apache‑2.0 |
| | | | |
| | | | |

- **Geometry**:OpenCascade(デフォルト)。将来のカーネル差し替えに備えた抽象化。
- **Math**:Eigen
- **I/O**:fmt
- **Logging**:spdlog(バックエンド)、“Alice” 内の統一診断ファサード
- **UI**:Qt 6(widgets/QtQuick — TBD)
- **Meshing**:OCCT メッシャ、Gmsh、TetGen(アダプタ計画)
- **Solvers**:内製 FEA/CFD、外部ソルバへのアダプタ(将来)
- **Visualization**:OCCT/VTK(計画)
> **ライセンス注意**:SolidDesigner は **GPLv3** ですが、組み込み/必須の依存には LGPL/MIT/Apache が含まれます。バイナリ配布時は各上流ライセンスの条件(動的リンク義務、告知、ソース提供など)に従ってください。

`-DSD_WITH_<LIB>=ON/OFF` の CMake オプション(`CMakeLists.txt` 参照)でモジュールを切り替えます。
### Optional / planned adapters (not required for a minimal build)

- **OGRE / OSG / VTK / Skylark** の描画バックエンドはプラットフォームモジュールとして存在します(`Alice/Core/Runtime/AliceRenderBackend*`)。ただし追加 SDK が必要な場合があり、まだ進化中です。
- **メッシング/ソルバ**(FEA/CFD/最適化)は設計・実装が進行中で、アダプタは段階的に導入されます。

---

Expand Down Expand Up @@ -321,9 +384,6 @@ CAD/CAE/CFD/最適化の分野に貢献している開発者・研究者の皆

## FAQ

**商用ツール(Creo など)にどれくらい近いですか?**
コアワークフローでの同等性を目指しつつ、モダンでオープンなアーキテクチャを採用します。現時点では pre-alpha で、機能の多くは WIP です。

**スクリプト API はありますか?**
Python API は計画中です。内部の足場はありますが、公開 API は今後整備します。

Expand Down
Loading