Skip to content

Commit 3aaadf5

Browse files
authored
Add files via upload
1 parent b45d0ff commit 3aaadf5

4 files changed

Lines changed: 48 additions & 0 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import * as THREE from "https://cdn.jsdelivr.net/npm/three@0.164.1/build/three.module.js";
2+
import { OrbitControls } from "https://cdn.jsdelivr.net/npm/three@0.164.1/examples/jsm/controls/OrbitControls.js";
3+
import { GLTFLoader } from "https://cdn.jsdelivr.net/npm/three@0.164.1/examples/jsm/loaders/GLTFLoader.js";
4+
5+
const canvas = document.querySelector("#viewer");
6+
const status = document.querySelector("#status");
7+
const renderer = new THREE.WebGLRenderer({canvas, antialias:true});
8+
renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
9+
const scene = new THREE.Scene();
10+
scene.background = new THREE.Color(0x0b1020);
11+
const camera = new THREE.PerspectiveCamera(42, 1, 0.1, 200000);
12+
camera.position.set(48000, 41000, 36000);
13+
const controls = new OrbitControls(camera, canvas);
14+
controls.enableDamping = true;
15+
controls.target.set(0, 0, 0);
16+
scene.add(new THREE.HemisphereLight(0xffffff, 0x29324c, 2.2));
17+
const key = new THREE.DirectionalLight(0xffffff, 2.5); key.position.set(30000,30000,50000); scene.add(key);
18+
const grid = new THREE.GridHelper(80000, 40, 0x334155, 0x1e293b); grid.rotation.z = Math.PI/2; scene.add(grid);
19+
20+
new GLTFLoader().load("models/asterion_v0_8_optimized_structure.glb", gltf => {
21+
scene.add(gltf.scene);
22+
status.textContent = "Drag to orbit · scroll to zoom · right-drag to pan";
23+
}, undefined, err => {
24+
console.error(err); status.textContent = "Model failed to load. Serve this folder through a local web server.";
25+
});
26+
27+
function resize(){
28+
const w=canvas.clientWidth, h=canvas.clientHeight;
29+
if(canvas.width!==w || canvas.height!==h){renderer.setSize(w,h,false);camera.aspect=w/h;camera.updateProjectionMatrix();}
30+
}
31+
function animate(){resize();controls.update();renderer.render(scene,camera);requestAnimationFrame(animate)}
32+
animate();
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<!doctype html>
2+
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>ASTERION FCTA-1 — V0.8 Optimised Structure</title><link rel="stylesheet" href="style.css"></head>
3+
<body><header><p class="eyebrow">OPEN ENGINEERING PORTFOLIO</p><h1>ASTERION FCTA-1</h1><p>Version 0.8 optimised primary structure — Siemens NX redesign and ANSYS screening baseline.</p></header>
4+
<main><section class="viewer-card"><canvas id="viewer"></canvas><div id="status">Loading V0.8 GLB model…</div></section>
5+
<section class="facts"><article><strong>10.42 t</strong><span>idealised structure</span></article><article><strong>22.9 mm</strong><span>misaligned docking</span></article><article><strong>0.196 Hz</strong><span>first supported mode</span></article><article><strong>648</strong><span>beam elements</span></article></section>
6+
<section class="notes"><h2>Version 0.8 scope</h2><p>The model adds a deeper octagonal spine, ring torque braces, docking load spreaders and propulsion longitudinal struts. It is a screening model, not certified flight definition.</p></section></main><script type="module" src="app.js"></script></body></html>

downloads/asterion-fcta-v1.0-public-release/asterion-fcta-v1.0/web-viewer/style.css

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"release": "0.7.0",
3+
"models": [
4+
"AST-RG-3201_ring_bearing_housing.glb",
5+
"AST-SK-4301_skimmer_wing_rib.glb",
6+
"AST-ST-1401_lightweight_bulkhead.glb",
7+
"AST-TP-2101_thruster_gimbal_bracket.glb"
8+
]
9+
}

0 commit comments

Comments
 (0)