326 lines
9.0 KiB
Markdown
326 lines
9.0 KiB
Markdown
# 3D Printing - Shared Orca Slicer Setup
|
|
|
|
This document describes the setup for sharing Orca Slicer profiles across multiple computers in the homelab, while keeping installations local for best performance.
|
|
|
|
## Overview
|
|
|
|
**Goal**: Family members can use Orca Slicer on their own computers with shared profiles for the AD5M printer, with files stored on OMV.
|
|
|
|
**Approach**:
|
|
- Local Orca Slicer installations on each computer (best performance)
|
|
- Shared profiles stored on OMV NFS/SMB share
|
|
- Shared STL library and gcode output folder on OMV
|
|
|
|
## OMV Shared Folder Structure
|
|
|
|
Create the following structure on your OMV storage:
|
|
|
|
```
|
|
/srv/3DPrinting/
|
|
├── profiles/ # Shared Orca Slicer profiles
|
|
│ ├── filament/ # Filament profiles
|
|
│ ├── print/ # Print profiles (layer heights, speeds, etc.)
|
|
│ ├── printer/ # Printer profiles (AD5M config)
|
|
│ └── process/ # Process profiles
|
|
├── models/ # STL files library
|
|
│ ├── functional/
|
|
│ ├── decorative/
|
|
│ └── repairs/
|
|
├── gcode/ # Sliced output ready to print
|
|
│ ├── queue/ # Ready to print
|
|
│ └── archive/ # Completed prints
|
|
└── projects/ # Work-in-progress projects
|
|
```
|
|
|
|
## OMV Setup Steps
|
|
|
|
### 1. Create Shared Folder on OMV
|
|
|
|
SSH into your OMV server (pve-storage or wherever OMV is running):
|
|
|
|
```bash
|
|
# Create the directory structure
|
|
sudo mkdir -p /srv/3DPrinting/{profiles/{filament,print,printer,process},models/{functional,decorative,repairs},gcode/{queue,archive},projects}
|
|
|
|
# Set permissions (adjust user/group as needed)
|
|
sudo chown -R fred:users /srv/3DPrinting
|
|
sudo chmod -R 775 /srv/3DPrinting
|
|
```
|
|
|
|
### 2. Create NFS Share in OMV
|
|
|
|
Via OMV web interface:
|
|
1. Storage → Shared Folders → Create
|
|
- Name: `3DPrinting`
|
|
- Device: Your storage device
|
|
- Path: `/3DPrinting/`
|
|
- Permissions: fred (R/W), users (R/W)
|
|
|
|
2. Services → NFS → Shares → Create
|
|
- Shared folder: `3DPrinting`
|
|
- Client: `10.0.10.0/24` (adjust to your network)
|
|
- Privilege: Read/Write
|
|
- Extra options: `rw,sync,no_subtree_check,no_root_squash`
|
|
|
|
### 3. Mount on Client Computers
|
|
|
|
Add to `/etc/fstab` on each client computer:
|
|
|
|
```bash
|
|
# Replace <OMV-IP> with your OMV server IP
|
|
<OMV-IP>:/export/3DPrinting /mnt/3DPrinting nfs defaults,user,auto,noatime 0 0
|
|
```
|
|
|
|
Mount the share:
|
|
```bash
|
|
sudo mkdir -p /mnt/3DPrinting
|
|
sudo mount /mnt/3DPrinting
|
|
```
|
|
|
|
Or use SMB/CIFS if preferred:
|
|
```bash
|
|
# Add to /etc/fstab
|
|
//<OMV-IP>/3DPrinting /mnt/3DPrinting cifs credentials=/home/fred/.smbcredentials,uid=1000,gid=1000 0 0
|
|
```
|
|
|
|
## Orca Slicer Installation
|
|
|
|
### On Ubuntu/Debian (including this computer)
|
|
|
|
1. Download the latest AppImage from GitHub:
|
|
```bash
|
|
cd ~/Downloads
|
|
wget https://github.com/SoftFever/OrcaSlicer/releases/latest/download/OrcaSlicer_Linux_V2.2.0.AppImage
|
|
chmod +x OrcaSlicer_Linux_*.AppImage
|
|
```
|
|
|
|
2. Move to a permanent location:
|
|
```bash
|
|
sudo mkdir -p /opt/OrcaSlicer
|
|
sudo mv OrcaSlicer_Linux_*.AppImage /opt/OrcaSlicer/orca-slicer.AppImage
|
|
```
|
|
|
|
3. Create desktop entry:
|
|
```bash
|
|
cat > ~/.local/share/applications/orca-slicer.desktop <<EOF
|
|
[Desktop Entry]
|
|
Name=Orca Slicer
|
|
Comment=3D Printer Slicer
|
|
Exec=/opt/OrcaSlicer/orca-slicer.AppImage
|
|
Icon=orca-slicer
|
|
Terminal=false
|
|
Type=Application
|
|
Categories=Graphics;3DGraphics;
|
|
EOF
|
|
```
|
|
|
|
4. Launch Orca Slicer:
|
|
```bash
|
|
/opt/OrcaSlicer/orca-slicer.AppImage
|
|
```
|
|
|
|
### On Windows
|
|
|
|
1. Download installer from: https://github.com/SoftFever/OrcaSlicer/releases/latest
|
|
2. Run the installer
|
|
3. Default install location: `C:\Program Files\OrcaSlicer\`
|
|
|
|
### On macOS
|
|
|
|
1. Download DMG from: https://github.com/SoftFever/OrcaSlicer/releases/latest
|
|
2. Drag OrcaSlicer to Applications folder
|
|
|
|
## Profile Sync Setup
|
|
|
|
### Initial Profile Export (from homelab-command computer)
|
|
|
|
Once you have Orca Slicer installed with your AD5M profiles configured:
|
|
|
|
```bash
|
|
# Export profiles to shared location
|
|
cd ~/.config/OrcaSlicer # or check actual config location
|
|
cp -r user/* /mnt/3DPrinting/profiles/
|
|
```
|
|
|
|
### Profile Sync Script
|
|
|
|
Create `~/.local/bin/sync-orca-profiles.sh`:
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Sync Orca Slicer profiles with shared network storage
|
|
|
|
ORCA_CONFIG="$HOME/.config/OrcaSlicer/user"
|
|
SHARED_PROFILES="/mnt/3DPrinting/profiles"
|
|
|
|
case "$1" in
|
|
push)
|
|
echo "Pushing local profiles to shared storage..."
|
|
rsync -av --delete "$ORCA_CONFIG/" "$SHARED_PROFILES/"
|
|
echo "✓ Profiles pushed"
|
|
;;
|
|
pull)
|
|
echo "Pulling profiles from shared storage..."
|
|
rsync -av --delete "$SHARED_PROFILES/" "$ORCA_CONFIG/"
|
|
echo "✓ Profiles pulled"
|
|
;;
|
|
*)
|
|
echo "Usage: sync-orca-profiles.sh {push|pull}"
|
|
echo " push - Upload your local profiles to shared storage"
|
|
echo " pull - Download shared profiles to your local config"
|
|
exit 1
|
|
;;
|
|
esac
|
|
```
|
|
|
|
Make it executable:
|
|
```bash
|
|
chmod +x ~/.local/bin/sync-orca-profiles.sh
|
|
```
|
|
|
|
### Profile Management Workflow
|
|
|
|
**When you update profiles** (any computer):
|
|
```bash
|
|
sync-orca-profiles.sh push
|
|
```
|
|
|
|
**When starting on a new computer** or to get latest profiles:
|
|
```bash
|
|
sync-orca-profiles.sh pull
|
|
```
|
|
|
|
**Tip**: Add to your shell aliases:
|
|
```bash
|
|
alias orca-push='sync-orca-profiles.sh push'
|
|
alias orca-pull='sync-orca-profiles.sh pull'
|
|
```
|
|
|
|
## Orca Slicer Configuration
|
|
|
|
### First Launch Setup
|
|
|
|
1. Launch Orca Slicer
|
|
2. Skip the configuration wizard (we'll import profiles)
|
|
3. Pull shared profiles: `sync-orca-profiles.sh pull`
|
|
4. Restart Orca Slicer
|
|
|
|
### Configure Default Paths
|
|
|
|
In Orca Slicer preferences:
|
|
- **Default output directory**: `/mnt/3DPrinting/gcode/queue/`
|
|
- **STL search path**: `/mnt/3DPrinting/models/`
|
|
|
|
### Printer Profile - AD5M
|
|
|
|
If starting fresh, configure:
|
|
- Printer: Generic Ender 3 or Custom
|
|
- Bed size: 220 x 220 mm (adjust for your AD5M)
|
|
- Build height: 250 mm (adjust for your AD5M)
|
|
- Nozzle diameter: 0.4 mm (or your actual nozzle)
|
|
|
|
## Workflow for Family Members
|
|
|
|
### Printing a Model
|
|
|
|
1. **Find or add STL file**:
|
|
- Browse `/mnt/3DPrinting/models/`
|
|
- Or add new file to the models folder
|
|
|
|
2. **Slice in Orca Slicer**:
|
|
- Open STL from models folder
|
|
- Select printer profile: "AD5M"
|
|
- Select filament profile (PLA, PETG, etc.)
|
|
- Select print profile (quality level)
|
|
- Slice and export to `/mnt/3DPrinting/gcode/queue/`
|
|
|
|
3. **Send to printer**:
|
|
- Copy gcode to SD card, or
|
|
- Use OctoPrint/Mainsail if you set one up (optional)
|
|
|
|
4. **After printing**:
|
|
- Move gcode from `queue/` to `archive/`
|
|
|
|
### Sharing New Profiles
|
|
|
|
If someone creates a great new profile:
|
|
```bash
|
|
sync-orca-profiles.sh push
|
|
# Then others can: sync-orca-profiles.sh pull
|
|
```
|
|
|
|
## Advantages of This Setup
|
|
|
|
✅ **Performance**: Native app speed, no web lag
|
|
✅ **No Conflicts**: Each user has their own instance
|
|
✅ **Shared Knowledge**: Everyone uses the same tested profiles
|
|
✅ **Centralized Storage**: All files in one place, backed up by OMV
|
|
✅ **Easy Updates**: Sync profiles when they improve
|
|
✅ **Offline Work**: Can slice without network (if files are local)
|
|
|
|
## Optional Enhancements
|
|
|
|
### OctoPrint Integration (Optional)
|
|
|
|
If you want to skip SD cards and print over network:
|
|
|
|
1. Install OctoPrint on a Raspberry Pi or in a container
|
|
2. Connect to AD5M via USB
|
|
3. Configure Orca Slicer to upload directly to OctoPrint
|
|
4. Everyone can queue prints from anywhere
|
|
|
|
### Automatic Profile Sync (Optional)
|
|
|
|
Add to crontab to auto-pull profiles daily:
|
|
```bash
|
|
# Add to crontab -e
|
|
0 9 * * * /home/fred/.local/bin/sync-orca-profiles.sh pull
|
|
```
|
|
|
|
### Version Control for Profiles (Advanced)
|
|
|
|
Initialize git in the profiles folder to track changes:
|
|
```bash
|
|
cd /mnt/3DPrinting/profiles
|
|
git init
|
|
git add .
|
|
git commit -m "Initial profiles"
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Profiles Not Showing Up
|
|
|
|
1. Check if share is mounted: `df -h | grep 3DPrinting`
|
|
2. Check Orca Slicer config location: May be `~/.config/OrcaSlicer` or `~/.local/share/OrcaSlicer`
|
|
3. Run `sync-orca-profiles.sh pull` manually
|
|
|
|
### Permission Issues
|
|
|
|
```bash
|
|
# Fix permissions on shared folder
|
|
sudo chown -R $USER:users /mnt/3DPrinting
|
|
sudo chmod -R 775 /mnt/3DPrinting
|
|
```
|
|
|
|
### Different Orca Slicer Versions
|
|
|
|
If different computers have different Orca Slicer versions, profiles may have compatibility issues. Keep all installations on the same major version.
|
|
|
|
## Next Steps
|
|
|
|
- [ ] Set up OMV 3DPrinting share
|
|
- [ ] Mount share on homelab-command computer
|
|
- [ ] Install Orca Slicer on homelab-command
|
|
- [ ] Configure AD5M printer profile
|
|
- [ ] Test print and tune profiles
|
|
- [ ] Export profiles to shared location
|
|
- [ ] Install Orca Slicer on family computers
|
|
- [ ] Test profile sync workflow
|
|
- [ ] (Optional) Set up OctoPrint for network printing
|
|
|
|
## References
|
|
|
|
- Orca Slicer GitHub: https://github.com/SoftFever/OrcaSlicer
|
|
- Orca Slicer Documentation: https://github.com/SoftFever/OrcaSlicer/wiki
|