
NAME====cadog - CAD Web Viewer COMPILATION =========== This project uses org-mode (https://orgmode.org/) literate programming.The source code and documentation are written together in 'cadog.org', which is tangled to generate the actual source code files. DESCRIPTION===========cadog is a web-based tool for creating and viewing implosion animations of CAD models. It supports OBJ, GLB, and STEP formats with a focus on generating implosion animations manually or using schema methods with the help of a Language Model (LLM). NOTE===== The source file is a literate Org-mode document. Use Emacs to tangle and generate the file tree: FEATURES========- Import 3D files (OBJ, GLB, STEP) into a Three.js scene.- Switch between views, select, and group model parts.- Create implosion animation sequences.- Fly-In Parts feature with linear or ease-in-out interpolation.- Choose between group or sequential fly-in for each part.- Specify custom or random direction vectors for animations.- Apply transformations to selected View Groups.- Use LLM to generate implosion animation schemas.- Export and import animation sequences and transformation data as JSON. REQUIREMENTS============Install required software from requirements.txt. PROJECT STRUCTURE================= Key files:1. flask_app.py - Main backend Flask application.2. index.html - Frontend HTML interface.3. style.css - Frontend styling.4. SceneManager.js - Three.js scene management.5. FileLoader.js - Load 3D model files.6. AnimationManager.js - Manage animations.7. animationEffects.js - Animation effects implementation.8. app.js - Main frontend JavaScript logic.9. llm.js - LLM schema methods.10. utils.js - Utility functions. ANIMATION STEPS=============== 1. Upload model (OBJ/GLB/STEP) 2. Select & group parts 3. Choose animation (Implode/Fly-In) 4. Set mode, easing, direction 5. (Opt) Generate schema via LLM 6. Preview → Adjust → Export JSON Run with Docker=============== 1. Make sure to tangle the repo and include - flask_app.py - requirements.txt - index.html, style.css, and JS files 2. Create a file named: Dockerfile-----------------------------------------------------------FROM python:3.11-slim ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 WORKDIR /app COPY requirements.txt /app/RUN pip install --no-cache-dir -r requirements.txt COPY . /app EXPOSE 8000 CMD ["gunicorn", "-b", "0.0.0.0:8000", "flask_app:app", "--workers", "2", "--threads", "4", "--timeout", "120"]----------------------------------------------------------- 3. Build the Docker image: docker build -t cadog:latest . 4. Run the container: docker run --rm -p 8080:8000 -v "$(pwd)/data:/app/data" --name cadog cadog:latest 5. Open your browser: http://localhost:8080 Notes:- The container runs Gunicorn serving Flask on port 8000.- Port 8080 on the host maps to 8000 inside the container.- Mounting ./data is optional for your imported CAD files.- Stop the container with CTRL+C.VIDEO DEMO================== https://youtu.be/6Ch4sPOk_kM ACKNOWLEDGEMENT ================== The project "Fab City – Decentralized Digital Production for Urban Value Creation" is funded by dtec.bw and supported by the European Union – NextGenerationEU.
LLM, CAD
LLM, CAD
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
