62 lines
2.6 KiB
HTML
62 lines
2.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Gerber to Stencil converter</title>
|
|
<link rel="stylesheet" href="/static/style.css">
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<h1>PCB to Stencil Converter by kennycoder</h1>
|
|
<form action="/upload" method="post" enctype="multipart/form-data">
|
|
<div class="form-group">
|
|
<label for="gerber">Solder Paste Gerber File (Required)</label>
|
|
<input type="file" id="gerber" name="gerber" accept=".gbr,.gtp,.gbp" required>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="outline">Board Outline Gerber (Optional)</label>
|
|
<input type="file" id="outline" name="outline" accept=".gbr,.gko,.gm1">
|
|
<div class="hint">Upload this to automatically crop and generate walls.</div>
|
|
</div>
|
|
|
|
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;">
|
|
<div class="form-group">
|
|
<label for="height">Stencil Height (mm)</label>
|
|
<input type="number" id="height" name="height" value="0.16" step="0.01">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="dpi">DPI</label>
|
|
<input type="number" id="dpi" name="dpi" value="1000" step="100">
|
|
</div>
|
|
</div>
|
|
|
|
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;">
|
|
<div class="form-group">
|
|
<label for="wallHeight">Wall Height (mm)</label>
|
|
<input type="number" id="wallHeight" name="wallHeight" value="2.0" step="0.1">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="wallThickness">Wall Thickness (mm)</label>
|
|
<input type="number" id="wallThickness" name="wallThickness" value="1.0" step="0.1">
|
|
</div>
|
|
</div>
|
|
|
|
<button type="submit" id="submit-btn">Convert to STL</button>
|
|
</form>
|
|
|
|
<div id="loading">
|
|
<div class="spinner"></div>
|
|
<div>Processing... This may take 10-20 seconds.</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
document.querySelector('form').addEventListener('submit', function() {
|
|
document.getElementById('loading').style.display = 'block';
|
|
document.getElementById('submit-btn').disabled = true;
|
|
document.getElementById('submit-btn').innerText = 'Converting...';
|
|
});
|
|
</script>
|
|
</body>
|
|
</html> |