Configuration Guide for PartNet Annotation System Deployment

The PartNet annotation system is a web-based tool for 3D part segmentation, consisting of:

  • Backend: Node.js + MySQL
  • Frontend: Browserify-based aplpication

Prerequisites

System Requirements

  • OS: Ubuntu 18.04/20.04 (22.04/24.04 supported with Docker)
  • Software:
    • Node.js v10 (via nvm)
    • MySQL 5.7
    • Python 3
    • Build tools (gcc, make, cmake)

Initial Setup

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git build-essential cmake

Node.js Installation

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
source ~/.bashrc
nvm install 10
nvm use 10

Database Configuration

Option A: Native MySQL

wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb
sudo apt update
sudo apt install -y mysql-server=5.7.*

Option B: Dockerized MySQL

sudo apt install docker-ce
docker run --name partnet-mysql -e MYSQL_ROOT_PASSWORD=securepass -p 3306:3306 -d mysql:5.7

Manifold Tool Installation

git clone https://github.com/hjwdzh/Manifold.git
cd Manifold && mkdir build && cd build
cmake .. && make
sudo cp manifold /usr/local/bin/model_fixer

Backend Configuration

Database Setup

mysql -u root -p -e "CREATE DATABASE partnet_annotation;"
mysql -u root -p partnet_annotation < mysql/create_table.sql

Environment Configuration

cp config/server.js.template config/server.js
# Edit server.js with your database credentials
npm install

Frontned Configuration

cd ../client
npm install --ignore-scripts
./build.sh

Common Issues

Database Connection Problems

  • Verify MySQL service is running
  • Confirm DB_HOST uses 127.0.0.1 instead of localhost

Path Handling

  • Use absolute paths in configuration files
  • Quote paths containing spaces in scripts

Python Compatibility

  • Convert print statements to functions for Python 3
  • Replace os.mkdir with os.makedirs

Texture Handling Modifications

Key improvements made to the system:

  • Preserved textures during remeshing operations
  • Modified camera settings for better visualization
  • Enhanced color differentiation for parts
  • Added texture export functionality
  • Implemented semantic naming for exported parts

Tags: PartNet 3D-annotation Node.js MySQL docker

Posted on Sat, 16 May 2026 06:06:23 +0000 by faizanno1