nettoyage repo : réorganisation fichiers en vrac, ajout body solidworks + studio mic ref
- Body SolidWorks v1 → 02_PRODUITS_PHYSIQUES/Microphone/Conception/ - Studio Mic KiCAD (DIYPerks) → 02_PRODUITS_PHYSIQUES/R&D_References/DIY/ - cleanup_ports.sh → 04_INFRA_DEPLOIEMENT/ - mockup_jeu_ux → 11_RECHERCHE_&_LAB/ - Printables → 12_DOCUMENTATION/Imprimables/ - Screenshots, ideas, one.html → _BROUILLON/ - all-talas (23Go) → 13_ARCHIVES/ - Supprimé all-talas.zip (20Go doublon), lock files LibreOffice - Nettoyé .gitignore - Remote → Forgejo (10.0.20.105:3000) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
39
.gitignore
vendored
|
|
@ -1,42 +1,33 @@
|
||||||
# Ignore generated files and printables
|
# Brouillons et archives
|
||||||
FICHIERS_A_IMPRIMER/
|
_BROUILLON/
|
||||||
generate_printables.py
|
13_ARCHIVES/
|
||||||
|
|
||||||
# Ignore screenshots and specific image files (unless they are part of the project assets)
|
# Fichiers temporaires et IDE
|
||||||
Screenshot*.png
|
|
||||||
disks_inventory.jpg
|
|
||||||
Gemini_Generated_Image_*.png
|
|
||||||
|
|
||||||
# Ignore temporary and IDE files
|
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.vscode/
|
.vscode/
|
||||||
.idea/
|
.idea/
|
||||||
*.swp
|
*.swp
|
||||||
*~
|
*~
|
||||||
_BROUILLON/
|
Thumbs.db
|
||||||
|
|
||||||
# Logseq temp files (assuming you want to keep data, not temp)
|
# Lock files LibreOffice
|
||||||
|
.~lock.*
|
||||||
|
|
||||||
|
# Logseq temp
|
||||||
logseq/.recycle/
|
logseq/.recycle/
|
||||||
|
|
||||||
# Ignore python cache
|
# Python cache
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.pyc
|
*.pyc
|
||||||
|
|
||||||
# Ignore node_modules if you have any Node.js sub-projects later
|
# Node
|
||||||
node_modules/
|
node_modules/
|
||||||
|
|
||||||
# OS generated files
|
# Claude config
|
||||||
Thumbs.db
|
|
||||||
|
|
||||||
# Any random HTML files generated
|
|
||||||
preview_sumi_v3.html
|
|
||||||
one.html
|
|
||||||
|
|
||||||
# Ignore Claude config if needed
|
|
||||||
.claude/
|
.claude/
|
||||||
|
|
||||||
# Archives (snapshots volumineux)
|
|
||||||
13_ARCHIVES/
|
|
||||||
|
|
||||||
# Binaire compilé talas-wiki
|
# Binaire compilé talas-wiki
|
||||||
talas-wiki/talas-wiki
|
talas-wiki/talas-wiki
|
||||||
|
|
||||||
|
# Backups wiki
|
||||||
|
.wiki-data/backups/
|
||||||
|
|
|
||||||
324
01_PILOTAGE/Dépendances_Modulaires/MATRICE_DEPENDANCES.md
Normal file
|
|
@ -0,0 +1,324 @@
|
||||||
|
# Matrice de dependances — Modules Veza
|
||||||
|
|
||||||
|
> Qui depend de quoi. Quel module peut etre developpe en parallele, lequel bloque les autres.
|
||||||
|
> A consulter AVANT de commencer le dev d'un module.
|
||||||
|
> Derniere mise a jour : avril 2026.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Vue graphe (haut → bas = ordre de dev)
|
||||||
|
|
||||||
|
```
|
||||||
|
┌──────────────┐
|
||||||
|
│ INFRA │
|
||||||
|
│ PG Redis S3 │
|
||||||
|
│ RMQ ClamAV │
|
||||||
|
└──────┬───────┘
|
||||||
|
│
|
||||||
|
┌──────┴───────┐
|
||||||
|
│ AUTH & CORE │
|
||||||
|
│ JWT RBAC 2FA │
|
||||||
|
└──────┬───────┘
|
||||||
|
│
|
||||||
|
┌────────────────┼────────────────┐
|
||||||
|
│ │ │
|
||||||
|
┌─────┴─────┐ ┌─────┴─────┐ ┌─────┴──────┐
|
||||||
|
│ USERS │ │ CHAT │ │ NOTIFS │
|
||||||
|
│ Profiles │ │ DMs Groups│ │ Email Push │
|
||||||
|
└─────┬─────┘ └─────┬─────┘ └─────┬──────┘
|
||||||
|
│ │ │
|
||||||
|
┌─────┼────────────────┼────────────────┤
|
||||||
|
│ │ │ │
|
||||||
|
┌───┴───┐ │ ┌─────┴─────┐ │
|
||||||
|
│TRACKS │ │ │ TROC │ │
|
||||||
|
│Upload │ │ │ Annonces │ │
|
||||||
|
│Stream │ │ └───────────┘ │
|
||||||
|
└───┬───┘ │ │
|
||||||
|
│ │ ┌───────────┐ │
|
||||||
|
│ │ │ SAMPLES │ │
|
||||||
|
│ │ │ Depot │ │
|
||||||
|
│ │ └───────────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ │ ┌───────────┐ │
|
||||||
|
│ │ │ FORMATION │ │
|
||||||
|
│ │ │ Cours HLS │ │
|
||||||
|
│ │ └───────────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ │ ┌───────────┐ │
|
||||||
|
│ │ │EVENEMENTS │ │
|
||||||
|
│ │ │Challenges │ │
|
||||||
|
│ │ └───────────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ │ ┌───────────────────┐ │
|
||||||
|
│ │ │ SHOP │ │
|
||||||
|
│ │ │ Catalogue→Paiement│ │
|
||||||
|
│ │ └────────┬──────────┘ │
|
||||||
|
│ │ │ │
|
||||||
|
│ │ ┌────────┴──────────┐ │
|
||||||
|
│ │ │ PRODUITS PERSO │ │
|
||||||
|
│ │ │ Garantie SAV │ │
|
||||||
|
│ │ └───────────────────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ │ ┌───────────────────┐ │
|
||||||
|
│ │ │ CLOUD PERSO │ │
|
||||||
|
│ │ │ Stockage privé │ │
|
||||||
|
│ │ └───────────────────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ │ │
|
||||||
|
│ │ ┌────────────────┐ │
|
||||||
|
│ │ │ RECHERCHE │ │
|
||||||
|
│ │ │ Elasticsearch │ │
|
||||||
|
│ │ └────────────────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ │ ┌────────────────┐ │
|
||||||
|
│ │ │ AUDIO ANALYZER │ │
|
||||||
|
│ │ │ BPM, key (V1.5)│ │
|
||||||
|
│ │ └────────────────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ │ │
|
||||||
|
┌───┴─────┴──────────────────────────────────┴───┐
|
||||||
|
│ FRONTEND REACT │
|
||||||
|
│ SUMI V3 · Zustand · TanStack │
|
||||||
|
└─────────────────────────────────────────────────┘
|
||||||
|
│
|
||||||
|
│ (prerequis non-tech)
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────┐
|
||||||
|
│ IDENTITE VISUELLE │
|
||||||
|
│ Logo · Palette · Typo · Icones │
|
||||||
|
└─────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Matrice de dependances detaillee
|
||||||
|
|
||||||
|
### Legende
|
||||||
|
|
||||||
|
- **Bloquant** = ne peut PAS commencer sans cette dependance
|
||||||
|
- **Necessaire** = peut commencer mais ne peut pas finir/deployer sans
|
||||||
|
- **Optionnel** = fonctionne sans, mais mieux avec
|
||||||
|
|
||||||
|
### 2.1 Infrastructure (couche 0)
|
||||||
|
|
||||||
|
| Module | Depend de | Type |
|
||||||
|
|--------|-----------|:----:|
|
||||||
|
| PostgreSQL 16 | OS, Docker | Bloquant |
|
||||||
|
| Redis 7 | OS, Docker | Bloquant |
|
||||||
|
| MinIO S3 | OS, Docker | Bloquant |
|
||||||
|
| RabbitMQ 3 | OS, Docker | Bloquant |
|
||||||
|
| ClamAV | OS, Docker | Necessaire |
|
||||||
|
| Elasticsearch | OS, Docker | Optionnel (fallback PG) |
|
||||||
|
| HAProxy | OS | Bloquant (prod) |
|
||||||
|
| Coraza WAF | HAProxy | Necessaire (prod) |
|
||||||
|
| WireGuard | OS | Necessaire (prod) |
|
||||||
|
|
||||||
|
**Statut actuel** : tout est deployable, Docker Compose existe.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2.2 Auth & Core (couche 1)
|
||||||
|
|
||||||
|
| Module | Depend de | Type | Spec |
|
||||||
|
|--------|-----------|:----:|------|
|
||||||
|
| Auth & Core | PostgreSQL, Redis | Bloquant | [[Auth_&_Core/SPEC_AUTH_CORE]] |
|
||||||
|
|
||||||
|
**Bloque** : TOUT le reste (chaque module a besoin d'auth).
|
||||||
|
**Ordre dev** : **PREMIER** module a implementer.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2.3 Modules communautaires (couche 2-3)
|
||||||
|
|
||||||
|
| Module | Depend de | Type | Spec | Phase |
|
||||||
|
|--------|-----------|:----:|------|:-----:|
|
||||||
|
| Users / Profiles | Auth | Bloquant | (existant) | Beta |
|
||||||
|
| Chat / DMs | Auth, Redis (pub/sub) | Bloquant | [[Community/Groupes_Chat/README]] | Beta |
|
||||||
|
| Notifications | Auth, RabbitMQ, Listmonk | Necessaire | — | Beta |
|
||||||
|
| Tracks | Auth, MinIO, RabbitMQ, Stream Server, ClamAV | Bloquant | (existant) | Beta |
|
||||||
|
| Samples | Auth, MinIO, RabbitMQ, ClamAV | Bloquant | [[Community/Partage/SPEC_TECHNIQUE_PARTAGE]] | Beta |
|
||||||
|
| Troc | Auth, **Chat** | Bloquant | [[Community/Troc/SPEC_TECHNIQUE_TROC]] | Beta |
|
||||||
|
| Evenements | Auth, Tracks (soumissions) | Necessaire | [[Événements_Participatifs/SPEC_EVENEMENTS]] | Beta |
|
||||||
|
| Formation | Auth, MinIO, **Stream Server** (video HLS) | Bloquant | [[Community/Formation/SPEC_TECHNIQUE_FORMATION]] | Post-beta |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2.4 Shop (couche 2-3)
|
||||||
|
|
||||||
|
| Module | Depend de | Type | Spec | Phase |
|
||||||
|
|--------|-----------|:----:|------|:-----:|
|
||||||
|
| Shop Backend | Auth, PostgreSQL | Bloquant | [[Shop/Backend/SPEC_BACKEND_SHOP]] | Shop (aout) |
|
||||||
|
| Paiement | Shop Backend, **Mollie** (externe) | Bloquant | [[Shop/Paiement/SPEC_PAIEMENT]] | Shop (aout) |
|
||||||
|
| Shop Frontend | Frontend, Shop Backend, Paiement | Bloquant | [[Shop/Frontend/SPEC_FRONTEND_SHOP]] | Shop (aout) |
|
||||||
|
| Produits Perso | Shop Backend (orders), Auth | Necessaire | [[Personal/Produits_Personnels/SPEC_ESPACE_PRODUITS]] | Shop (aout) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2.5 Personal (couche 3-4)
|
||||||
|
|
||||||
|
| Module | Depend de | Type | Spec | Phase |
|
||||||
|
|--------|-----------|:----:|------|:-----:|
|
||||||
|
| Cloud Perso | Auth, MinIO | Bloquant | [[Personal/Cloud_Perso/SPEC_CLOUD_PERSO]] | Post-public |
|
||||||
|
| AudioGridder | Auth, Docker, WireGuard | Bloquant | [[Personal/AudioGridder_Client/SPEC_AUDIOGRIDDER]] | **V2 (2027)** |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2.6 Enrichissement (couche 4+)
|
||||||
|
|
||||||
|
| Module | Depend de | Type | Spec | Phase |
|
||||||
|
|--------|-----------|:----:|------|:-----:|
|
||||||
|
| Recherche ES | Elasticsearch, Tracks/Samples (contenu) | Optionnel | — | Post-public |
|
||||||
|
| Audio Analyzer | RabbitMQ, Tracks (trigger) | Optionnel | [[Rust_Engines/OVERVIEW_RUST_MODULES]] | V1.5 |
|
||||||
|
| DSP Engine | Stream Server | Optionnel | [[Rust_Engines/OVERVIEW_RUST_MODULES]] | V2 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2.7 Frontend & Identite (transversal)
|
||||||
|
|
||||||
|
| Module | Depend de | Type | Spec | Phase |
|
||||||
|
|--------|-----------|:----:|------|:-----:|
|
||||||
|
| Identite visuelle | Workbook (a la main) | **Bloquant tout le frontend** | [[IDENTITE_VISUELLE]] | **MAINTENANT** |
|
||||||
|
| Design System SUMI V3 | Identite visuelle | Bloquant frontend | [[SUMI_V3_SPECIFICATION]] | Avant beta |
|
||||||
|
| Frontend React | SUMI V3, Auth, toutes les APIs | Bloquant | [[FRONTEND_REACT]] | Continu |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Chemin critique
|
||||||
|
|
||||||
|
Le chemin critique = la chaine de dependances la plus longue qui retarde le lancement.
|
||||||
|
|
||||||
|
```
|
||||||
|
Identite visuelle ──→ SUMI V3 ──→ Frontend
|
||||||
|
\ ↑
|
||||||
|
\ │
|
||||||
|
──→ Auth ──→ Chat ──→ Troc ──→ Beta (juin)
|
||||||
|
│
|
||||||
|
└──→ Shop Backend ──→ Paiement ──→ Shop Frontend ──→ Lancement shop (aout)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3.1 Goulots d'etranglement identifies
|
||||||
|
|
||||||
|
| Goulot | Impact | Mitigation |
|
||||||
|
|--------|--------|------------|
|
||||||
|
| **Identite visuelle** (logo, palette) | Bloque tout le frontend, toute la communication | Workbook en cours — accelerer |
|
||||||
|
| **Auth & Core** | Bloque tous les modules | Deja bien avance dans le code |
|
||||||
|
| **Chat / DMs** | Bloque le Troc (feature cle de la beta) | Prioritiser chat avant samples |
|
||||||
|
| **Stream Server** | Bloque tracks + formation | Deja en place |
|
||||||
|
| **Mollie integration** | Bloque le shop | Commencer l'integration en juin |
|
||||||
|
|
||||||
|
### 3.2 Ordre de dev recommande
|
||||||
|
|
||||||
|
```
|
||||||
|
PHASE 0 — Maintenant (avril 2026)
|
||||||
|
│
|
||||||
|
├── [MAIN] Identite visuelle (workbook, logo, palette)
|
||||||
|
├── [DEV] Finaliser Auth (si pas complet)
|
||||||
|
└── [DEV] Chat / DMs (base pour troc + groupes)
|
||||||
|
|
||||||
|
PHASE 1 — Preparation beta (mai 2026)
|
||||||
|
│
|
||||||
|
├── [DEV] Profiles artistes
|
||||||
|
├── [DEV] Tracks (upload + streaming)
|
||||||
|
├── [DEV] Samples (depot communautaire)
|
||||||
|
├── [DEV] Troc (dependance : Chat OK)
|
||||||
|
├── [DEV] Evenements (challenges)
|
||||||
|
├── [UX] SUMI V3 (implementation frontend)
|
||||||
|
└── [PREP] 5 Talas Starter Packs (samples)
|
||||||
|
|
||||||
|
PHASE 2 — Beta fondateurs (juin 2026)
|
||||||
|
│
|
||||||
|
├── [LIVE] Onboarding 50 fondateurs
|
||||||
|
├── [DEV] Notifications (email + in-app)
|
||||||
|
├── [DEV] Recherche (PG full-text d'abord, ES plus tard)
|
||||||
|
├── [FIX] Bugs beta
|
||||||
|
└── [PREP] Integration Mollie (commencer)
|
||||||
|
|
||||||
|
PHASE 3 — Ouverture publique (juillet 2026)
|
||||||
|
│
|
||||||
|
├── [LIVE] Inscriptions ouvertes
|
||||||
|
├── [DEV] Shop backend (catalogue, stock)
|
||||||
|
├── [DEV] Paiement (Mollie, factures)
|
||||||
|
└── [DEV] Shop frontend (checkout)
|
||||||
|
|
||||||
|
PHASE 4 — Lancement shop (aout 2026)
|
||||||
|
│
|
||||||
|
├── [LIVE] Premier micro en vente
|
||||||
|
├── [DEV] Produits personnels (garantie, SAV)
|
||||||
|
├── [DEV] Cloud perso (V1 basique)
|
||||||
|
└── [QA] Audit securite pre-shop
|
||||||
|
|
||||||
|
PHASE 5+ — Post-lancement (sept 2026+)
|
||||||
|
│
|
||||||
|
├── [DEV] Formation (cours + video)
|
||||||
|
├── [DEV] Audio Analyzer (BPM, key)
|
||||||
|
├── [DEV] Recherche Elasticsearch
|
||||||
|
└── [DEV] AudioGridder (V2, 2027)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Modules paralleles (peuvent etre developpes en meme temps)
|
||||||
|
|
||||||
|
Une fois Auth + Chat en place, ces modules sont **independants** entre eux :
|
||||||
|
|
||||||
|
```
|
||||||
|
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
|
||||||
|
│ Tracks │ │ Samples │ │ Troc │ │ Events │
|
||||||
|
│ (upload) │ │ (depot) │ │(annonces)│ │(challenges)│
|
||||||
|
└──────────┘ └──────────┘ └──────────┘ └──────────┘
|
||||||
|
│ │ │ │
|
||||||
|
└──────────────┴──────────────┴──────────────┘
|
||||||
|
Parallelisable
|
||||||
|
```
|
||||||
|
|
||||||
|
De meme, une fois Shop Backend en place :
|
||||||
|
|
||||||
|
```
|
||||||
|
┌──────────┐ ┌──────────┐ ┌──────────┐
|
||||||
|
│ Paiement │ │ Produits │ │ Cloud │
|
||||||
|
│ (Mollie) │ │ Perso │ │ Perso │
|
||||||
|
└──────────┘ └──────────┘ └──────────┘
|
||||||
|
│ │ │
|
||||||
|
└──────────────┴──────────────┘
|
||||||
|
Parallelisable
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Dependances externes (hors Veza)
|
||||||
|
|
||||||
|
| Dependance | Module concerne | Risque | Mitigation |
|
||||||
|
|-----------|----------------|--------|------------|
|
||||||
|
| **Mollie API** | Paiement | API down → pas d'achat | SEPA direct en fallback |
|
||||||
|
| **Discord OAuth** | Auth | Discord down → login OAuth KO | Login email toujours dispo |
|
||||||
|
| **FFmpeg** | Stream Server | Regression version | Pin version dans Docker |
|
||||||
|
| **Let's Encrypt** | TLS | Rate limits sur renewal | Renouveler 30j avant expiration |
|
||||||
|
| **HaveIBeenPwned API** | Auth (V1.5) | API down → skip check | Vérification optionnelle |
|
||||||
|
| **Capsule CY002 (fournisseur)** | Hardware | Rupture stock | 2e fournisseur identifié |
|
||||||
|
| **AliExpress corps metal** | Hardware | Délai 3-6 semaines | Commander en avance |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Dependances non-techniques (bloquantes)
|
||||||
|
|
||||||
|
| Dependance | Bloque | Statut |
|
||||||
|
|-----------|--------|:------:|
|
||||||
|
| **Identite visuelle terminee** | Frontend, communication, packaging | En cours (workbook) |
|
||||||
|
| **Micro-entreprise creee** | Vente, factures | A faire 2-3 sem. avant 1re vente |
|
||||||
|
| **Depot marque INPI** | Nom public, packaging | A lancer |
|
||||||
|
| **Marquage CE / declaration conformite** | Vente de micros | Guide existe, a executer |
|
||||||
|
| **CGV / Mentions legales finalisees** | Site en ligne | Brouillons existent |
|
||||||
|
| **50 artistes fondateurs recrutes** | Beta | Reperage en cours |
|
||||||
|
| **Talas Starter Packs enregistres** | Contenu initial beta | A faire (5 packs) |
|
||||||
|
| **Customer validation** (survey + interviews) | Validation prix | **BLOQUANT** — pas encore fait |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Voir aussi
|
||||||
|
|
||||||
|
- [[01_PILOTAGE/CALENDRIER_GENERAL]] — phases 0-4 et milestones
|
||||||
|
- [[01_PILOTAGE/PLAN_ACTION_LANCEMENT]] — checklist de lancement
|
||||||
|
- [[01_PILOTAGE/REVUE_ROADMAP_2026-03]] — chemin critique et risques
|
||||||
|
- [[01_PILOTAGE/ROADMAP_SOFTWARE_BUSINESS]] — taches dev detaillees
|
||||||
|
- [[03_APPS_&_SERVICES/ARCHITECTURE_VEZA]] — architecture technique
|
||||||
|
- [[05_EXPERIENCE_UTILISATEUR/Flux_Utilisateurs/PARCOURS_UTILISATEURS_VEZA]] — user flows
|
||||||
BIN
02_PRODUITS_PHYSIQUES/Microphone/Conception/Body_Solidworks_v1/anneau_bas.SLDPRT
Executable file
|
|
@ -0,0 +1,666 @@
|
||||||
|
ISO-10303-21;
|
||||||
|
HEADER;
|
||||||
|
FILE_DESCRIPTION (( 'STEP AP214' ),
|
||||||
|
'1' );
|
||||||
|
FILE_NAME ('bodymicro_cylindre.STEP',
|
||||||
|
'2025-02-16T11:50:26',
|
||||||
|
( '' ),
|
||||||
|
( '' ),
|
||||||
|
'SwSTEP 2.0',
|
||||||
|
'SolidWorks 2025',
|
||||||
|
'' );
|
||||||
|
FILE_SCHEMA (( 'AUTOMOTIVE_DESIGN' ));
|
||||||
|
ENDSEC;
|
||||||
|
|
||||||
|
DATA;
|
||||||
|
#1 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -7.689069556631129565, 0.000000000000000000 ) ) ;
|
||||||
|
#2 = CARTESIAN_POINT ( 'NONE', ( -0.9999999999999952260, -8.689069556631126900, 0.000000000000000000 ) ) ;
|
||||||
|
#3 = ORIENTED_EDGE ( 'NONE', *, *, #531, .T. ) ;
|
||||||
|
#4 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) );
|
||||||
|
#5 = VECTOR ( 'NONE', #199, 1000.000000000000227 ) ;
|
||||||
|
#6 = CYLINDRICAL_SURFACE ( 'NONE', #598, 23.15000000000002345 ) ;
|
||||||
|
#7 = CARTESIAN_POINT ( 'NONE', ( 4.689819602289335310E-15, -6.689069556631126012, 0.000000000000000000 ) ) ;
|
||||||
|
#8 = CIRCLE ( 'NONE', #229, 20.15000000000002700 ) ;
|
||||||
|
#9 = CARTESIAN_POINT ( 'NONE', ( 4.000000000000000000, 85.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#10 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, -6.689069556631128677, 20.15000000000002700 ) ) ;
|
||||||
|
#11 = ORIENTED_EDGE ( 'NONE', *, *, #321, .T. ) ;
|
||||||
|
#12 = APPLICATION_CONTEXT ( 'automotive_design' ) ;
|
||||||
|
#13 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, -8.689069556631123348, 20.15000000000002700 ) ) ;
|
||||||
|
#14 = EDGE_LOOP ( 'NONE', ( #557, #460, #536, #412 ) ) ;
|
||||||
|
#15 = ORIENTED_EDGE ( 'NONE', *, *, #625, .F. ) ;
|
||||||
|
#16 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 91.31093044336887488, -24.15000000000001990 ) ) ;
|
||||||
|
#17 = AXIS2_PLACEMENT_3D ( 'NONE', #273, #29, #473 ) ;
|
||||||
|
#18 = ORIENTED_EDGE ( 'NONE', *, *, #604, .F. ) ;
|
||||||
|
#19 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, -7.689069556631129565, 23.15000000000002345 ) ) ;
|
||||||
|
#20 = ORIENTED_EDGE ( 'NONE', *, *, #388, .T. ) ;
|
||||||
|
#21 = LINE ( 'NONE', #424, #248 ) ;
|
||||||
|
#22 = ORIENTED_EDGE ( 'NONE', *, *, #60, .T. ) ;
|
||||||
|
#23 = EDGE_LOOP ( 'NONE', ( #568, #575 ) ) ;
|
||||||
|
#24 = FACE_OUTER_BOUND ( 'NONE', #444, .T. ) ;
|
||||||
|
#25 = AXIS2_PLACEMENT_3D ( 'NONE', #426, #176, #547 ) ;
|
||||||
|
#26 = CIRCLE ( 'NONE', #293, 23.15000000000002345 ) ;
|
||||||
|
#27 = VECTOR ( 'NONE', #381, 1000.000000000000000 ) ;
|
||||||
|
#28 = VERTEX_POINT ( 'NONE', #416 ) ;
|
||||||
|
#29 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ;
|
||||||
|
#30 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -7.689069556631129565, 0.000000000000000000 ) ) ;
|
||||||
|
#31 = CIRCLE ( 'NONE', #562, 24.15000000000001990 ) ;
|
||||||
|
#32 = ORIENTED_EDGE ( 'NONE', *, *, #59, .F. ) ;
|
||||||
|
#33 = CARTESIAN_POINT ( 'NONE', ( 3.000000000000000444, 91.31093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#34 = AXIS2_PLACEMENT_3D ( 'NONE', #1, #53, #628 ) ;
|
||||||
|
#35 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#36 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#37 = ORIENTED_EDGE ( 'NONE', *, *, #474, .T. ) ;
|
||||||
|
#38 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 88.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#39 = PLANE ( 'NONE', #202 ) ;
|
||||||
|
#40 = EDGE_CURVE ( 'NONE', #419, #607, #221, .T. ) ;
|
||||||
|
#41 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 1.000000000000000000 ) ) ;
|
||||||
|
#42 = VERTEX_POINT ( 'NONE', #268 ) ;
|
||||||
|
#43 = ADVANCED_FACE ( 'NONE', ( #624 ), #71, .F. ) ;
|
||||||
|
#44 = SURFACE_SIDE_STYLE ('',( #46 ) ) ;
|
||||||
|
#45 = ORIENTED_EDGE ( 'NONE', *, *, #641, .T. ) ;
|
||||||
|
#46 = SURFACE_STYLE_FILL_AREA ( #246 ) ;
|
||||||
|
#47 = EDGE_CURVE ( 'NONE', #434, #267, #525, .T. ) ;
|
||||||
|
#48 = CYLINDRICAL_SURFACE ( 'NONE', #402, 24.15000000000001990 ) ;
|
||||||
|
#49 = FACE_BOUND ( 'NONE', #301, .T. ) ;
|
||||||
|
#50 = ORIENTED_EDGE ( 'NONE', *, *, #619, .T. ) ;
|
||||||
|
#51 = AXIS2_PLACEMENT_3D ( 'NONE', #509, #262, #354 ) ;
|
||||||
|
#52 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#53 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#54 = AXIS2_PLACEMENT_3D ( 'NONE', #239, #349, #638 ) ;
|
||||||
|
#55 = AXIS2_PLACEMENT_3D ( 'NONE', #329, #595, #284 ) ;
|
||||||
|
#56 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 85.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#57 = AXIS2_PLACEMENT_3D ( 'NONE', #79, #136, #390 ) ;
|
||||||
|
#58 = FACE_OUTER_BOUND ( 'NONE', #217, .T. ) ;
|
||||||
|
#59 = EDGE_CURVE ( 'NONE', #263, #618, #456, .T. ) ;
|
||||||
|
#60 = EDGE_CURVE ( 'NONE', #65, #178, #78, .T. ) ;
|
||||||
|
#61 = FACE_OUTER_BOUND ( 'NONE', #14, .T. ) ;
|
||||||
|
#62 = ORIENTED_EDGE ( 'NONE', *, *, #550, .F. ) ;
|
||||||
|
#63 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ;
|
||||||
|
#64 = ORIENTED_EDGE ( 'NONE', *, *, #461, .T. ) ;
|
||||||
|
#65 = VERTEX_POINT ( 'NONE', #300 ) ;
|
||||||
|
#66 = PRODUCT_RELATED_PRODUCT_CATEGORY ( 'part', '', ( #398 ) ) ;
|
||||||
|
#67 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#68 = ORIENTED_EDGE ( 'NONE', *, *, #206, .F. ) ;
|
||||||
|
#69 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#70 = VERTEX_POINT ( 'NONE', #238 ) ;
|
||||||
|
#71 = CYLINDRICAL_SURFACE ( 'NONE', #222, 22.65000000000000568 ) ;
|
||||||
|
#72 = CYLINDRICAL_SURFACE ( 'NONE', #397, 20.15000000000002700 ) ;
|
||||||
|
#73 = ORIENTED_EDGE ( 'NONE', *, *, #216, .F. ) ;
|
||||||
|
#74 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#75 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#76 = VERTEX_POINT ( 'NONE', #600 ) ;
|
||||||
|
#77 = LINE ( 'NONE', #280, #119 ) ;
|
||||||
|
#78 = CIRCLE ( 'NONE', #475, 24.15000000000001990 ) ;
|
||||||
|
#79 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#80 = CIRCLE ( 'NONE', #359, 25.15000000000001990 ) ;
|
||||||
|
#81 = EDGE_LOOP ( 'NONE', ( #371, #128, #425, #303 ) ) ;
|
||||||
|
#82 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#83 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -6.689069556631128677, -21.15000000000002345 ) ) ;
|
||||||
|
#84 = CARTESIAN_POINT ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ;
|
||||||
|
#85 = AXIS2_PLACEMENT_3D ( 'NONE', #347, #548, #642 ) ;
|
||||||
|
#86 = ORIENTED_EDGE ( 'NONE', *, *, #393, .T. ) ;
|
||||||
|
#87 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#88 = CIRCLE ( 'NONE', #232, 24.15000000000001990 ) ;
|
||||||
|
#89 = EDGE_CURVE ( 'NONE', #326, #237, #173, .T. ) ;
|
||||||
|
#90 = FACE_OUTER_BOUND ( 'NONE', #391, .T. ) ;
|
||||||
|
#91 = ORIENTED_EDGE ( 'NONE', *, *, #152, .F. ) ;
|
||||||
|
#92 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 85.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#93 = VERTEX_POINT ( 'NONE', #380 ) ;
|
||||||
|
#94 = CIRCLE ( 'NONE', #458, 24.15000000000002700 ) ;
|
||||||
|
#95 = ORIENTED_EDGE ( 'NONE', *, *, #166, .F. ) ;
|
||||||
|
#96 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#97 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#98 = AXIS2_PLACEMENT_3D ( 'NONE', #433, #278, #631 ) ;
|
||||||
|
#99 = FACE_BOUND ( 'NONE', #362, .T. ) ;
|
||||||
|
#100 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#101 = FACE_OUTER_BOUND ( 'NONE', #116, .T. ) ;
|
||||||
|
#102 = ADVANCED_FACE ( 'NONE', ( #49, #101 ), #250, .T. ) ;
|
||||||
|
#103 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -8.689069556631123348, 0.000000000000000000 ) ) ;
|
||||||
|
#104 = PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE ( 'ANY', '', #398, .NOT_KNOWN. ) ;
|
||||||
|
#105 = EDGE_CURVE ( 'NONE', #147, #70, #645, .T. ) ;
|
||||||
|
#106 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#107 = CLOSED_SHELL ( 'NONE', ( #454, #569, #523, #356, #373, #613, #647, #455, #172, #553, #200, #593, #472, #296, #413, #361, #43, #102, #578, #317, #345, #511, #366 ) ) ;
|
||||||
|
#108 = CIRCLE ( 'NONE', #408, 25.15000000000001990 ) ;
|
||||||
|
#109 = AXIS2_PLACEMENT_3D ( 'NONE', #7, #110, #462 ) ;
|
||||||
|
#110 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ;
|
||||||
|
#111 = EDGE_CURVE ( 'NONE', #42, #419, #123, .T. ) ;
|
||||||
|
#112 = ORIENTED_EDGE ( 'NONE', *, *, #393, .F. ) ;
|
||||||
|
#113 = VECTOR ( 'NONE', #492, 1000.000000000000000 ) ;
|
||||||
|
#114 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#115 = AXIS2_PLACEMENT_3D ( 'NONE', #151, #350, #552 ) ;
|
||||||
|
#116 = EDGE_LOOP ( 'NONE', ( #274, #279 ) ) ;
|
||||||
|
#117 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#118 = ORIENTED_EDGE ( 'NONE', *, *, #340, .T. ) ;
|
||||||
|
#119 = VECTOR ( 'NONE', #479, 1000.000000000000000 ) ;
|
||||||
|
#120 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 88.81093044336887488, 22.64999999999999858 ) ) ;
|
||||||
|
#121 = EDGE_LOOP ( 'NONE', ( #286, #560 ) ) ;
|
||||||
|
#122 = EDGE_LOOP ( 'NONE', ( #189, #517 ) ) ;
|
||||||
|
#123 = CIRCLE ( 'NONE', #495, 24.15000000000002700 ) ;
|
||||||
|
#124 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#125 = EDGE_CURVE ( 'NONE', #382, #419, #333, .T. ) ;
|
||||||
|
#126 = ORIENTED_EDGE ( 'NONE', *, *, #156, .F. ) ;
|
||||||
|
#127 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#128 = ORIENTED_EDGE ( 'NONE', *, *, #292, .T. ) ;
|
||||||
|
#129 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 85.81093044336887488, 25.15000000000001990 ) ) ;
|
||||||
|
#130 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#131 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#132 = AXIS2_PLACEMENT_3D ( 'NONE', #69, #201, #106 ) ;
|
||||||
|
#133 = EDGE_LOOP ( 'NONE', ( #142, #378 ) ) ;
|
||||||
|
#134 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#135 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#136 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#137 = EDGE_LOOP ( 'NONE', ( #32, #45, #86, #18 ) ) ;
|
||||||
|
#138 = CIRCLE ( 'NONE', #215, 22.65000000000001279 ) ;
|
||||||
|
#139 = CIRCLE ( 'NONE', #452, 25.15000000000002700 ) ;
|
||||||
|
#140 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#141 = CYLINDRICAL_SURFACE ( 'NONE', #334, 24.15000000000001990 ) ;
|
||||||
|
#142 = ORIENTED_EDGE ( 'NONE', *, *, #521, .T. ) ;
|
||||||
|
#143 = AXIS2_PLACEMENT_3D ( 'NONE', #635, #170, #135 ) ;
|
||||||
|
#144 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#145 = FACE_OUTER_BOUND ( 'NONE', #316, .T. ) ;
|
||||||
|
#146 = AXIS2_PLACEMENT_3D ( 'NONE', #2, #438, #541 ) ;
|
||||||
|
#147 = VERTEX_POINT ( 'NONE', #129 ) ;
|
||||||
|
#148 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#149 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -8.689069556631123348, 0.000000000000000000 ) ) ;
|
||||||
|
#150 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -6.689069556631128677, 0.000000000000000000 ) ) ;
|
||||||
|
#151 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -6.689069556631128677, 0.000000000000000000 ) ) ;
|
||||||
|
#152 = EDGE_CURVE ( 'NONE', #423, #415, #265, .T. ) ;
|
||||||
|
#153 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#154 = EDGE_CURVE ( 'NONE', #28, #481, #616, .T. ) ;
|
||||||
|
#155 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#156 = EDGE_CURVE ( 'NONE', #178, #65, #88, .T. ) ;
|
||||||
|
#157 = FACE_OUTER_BOUND ( 'NONE', #186, .T. ) ;
|
||||||
|
#158 = ORIENTED_EDGE ( 'NONE', *, *, #590, .F. ) ;
|
||||||
|
#159 = LINE ( 'NONE', #313, #431 ) ;
|
||||||
|
#160 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#161 = EDGE_LOOP ( 'NONE', ( #581, #220 ) ) ;
|
||||||
|
#162 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, -7.689069556631129565, 25.15000000000002700 ) ) ;
|
||||||
|
#163 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION ( '', ( #483 ), #612 ) ;
|
||||||
|
#164 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#165 = VECTOR ( 'NONE', #234, 1000.000000000000000 ) ;
|
||||||
|
#166 = EDGE_CURVE ( 'NONE', #607, #261, #197, .T. ) ;
|
||||||
|
#167 = VERTEX_POINT ( 'NONE', #582 ) ;
|
||||||
|
#168 = AXIS2_PLACEMENT_3D ( 'NONE', #30, #131, #182 ) ;
|
||||||
|
#169 = ORIENTED_EDGE ( 'NONE', *, *, #40, .T. ) ;
|
||||||
|
#170 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#171 = ORIENTED_EDGE ( 'NONE', *, *, #505, .F. ) ;
|
||||||
|
#172 = ADVANCED_FACE ( 'NONE', ( #145 ), #364, .T. ) ;
|
||||||
|
#173 = CIRCLE ( 'NONE', #256, 20.15000000000002700 ) ;
|
||||||
|
#174 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#175 = ORIENTED_EDGE ( 'NONE', *, *, #474, .F. ) ;
|
||||||
|
#176 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#177 = CYLINDRICAL_SURFACE ( 'NONE', #583, 24.15000000000002700 ) ;
|
||||||
|
#178 = VERTEX_POINT ( 'NONE', #306 ) ;
|
||||||
|
#179 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#180 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 88.81093044336887488, -22.64999999999999858 ) ) ;
|
||||||
|
#181 = EDGE_CURVE ( 'NONE', #487, #429, #484, .T. ) ;
|
||||||
|
#182 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#183 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#184 = CYLINDRICAL_SURFACE ( 'NONE', #223, 21.15000000000001279 ) ;
|
||||||
|
#185 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 47.14430681599709771, 20.15000000000002700 ) ) ;
|
||||||
|
#186 = EDGE_LOOP ( 'NONE', ( #73, #91 ) ) ;
|
||||||
|
#187 = ORIENTED_EDGE ( 'NONE', *, *, #340, .F. ) ;
|
||||||
|
#188 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 84.81093044336887488, -25.15000000000001990 ) ) ;
|
||||||
|
#189 = ORIENTED_EDGE ( 'NONE', *, *, #625, .T. ) ;
|
||||||
|
#190 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#191 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#192 = CIRCLE ( 'NONE', #399, 21.15000000000000213 ) ;
|
||||||
|
#193 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#194 = LINE ( 'NONE', #447, #5 ) ;
|
||||||
|
#195 = PRESENTATION_LAYER_ASSIGNMENT ( '', '', ( #483 ) ) ;
|
||||||
|
#196 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000082E-05 ), #498, 'distance_accuracy_value', 'NONE');
|
||||||
|
#197 = CIRCLE ( 'NONE', #564, 25.15000000000002700 ) ;
|
||||||
|
#198 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#199 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.8944271909999158554, -0.4472135954999579277 ) ) ;
|
||||||
|
#200 = ADVANCED_FACE ( 'NONE', ( #287 ), #6, .T. ) ;
|
||||||
|
#201 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#202 = AXIS2_PLACEMENT_3D ( 'NONE', #546, #342, #96 ) ;
|
||||||
|
#203 = PRODUCT_DEFINITION_CONTEXT ( 'detailed design', #12, 'design' ) ;
|
||||||
|
#204 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -7.689069556631129565, 0.000000000000000000 ) ) ;
|
||||||
|
#205 = VECTOR ( 'NONE', #100, 1000.000000000000000 ) ;
|
||||||
|
#206 = EDGE_CURVE ( 'NONE', #42, #261, #194, .T. ) ;
|
||||||
|
#207 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 85.81093044336887488, -25.15000000000001990 ) ) ;
|
||||||
|
#208 = ORIENTED_EDGE ( 'NONE', *, *, #111, .T. ) ;
|
||||||
|
#209 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -8.689069556631123348, -20.15000000000002700 ) ) ;
|
||||||
|
#210 = VERTEX_POINT ( 'NONE', #602 ) ;
|
||||||
|
#211 = CIRCLE ( 'NONE', #281, 24.15000000000002700 ) ;
|
||||||
|
#212 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#213 = ORIENTED_EDGE ( 'NONE', *, *, #47, .T. ) ;
|
||||||
|
#214 = CYLINDRICAL_SURFACE ( 'NONE', #543, 24.15000000000002700 ) ;
|
||||||
|
#215 = AXIS2_PLACEMENT_3D ( 'NONE', #351, #254, #606 ) ;
|
||||||
|
#216 = EDGE_CURVE ( 'NONE', #415, #423, #451, .T. ) ;
|
||||||
|
#217 = EDGE_LOOP ( 'NONE', ( #596, #319 ) ) ;
|
||||||
|
#218 = VECTOR ( 'NONE', #386, 1000.000000000000000 ) ;
|
||||||
|
#219 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#220 = ORIENTED_EDGE ( 'NONE', *, *, #353, .T. ) ;
|
||||||
|
#221 = LINE ( 'NONE', #162, #309 ) ;
|
||||||
|
#222 = AXIS2_PLACEMENT_3D ( 'NONE', #368, #468, #323 ) ;
|
||||||
|
#223 = AXIS2_PLACEMENT_3D ( 'NONE', #527, #570, #35 ) ;
|
||||||
|
#224 = CYLINDRICAL_SURFACE ( 'NONE', #417, 21.15000000000001279 ) ;
|
||||||
|
#225 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -6.689069556631128677, -20.15000000000002700 ) ) ;
|
||||||
|
#226 = VERTEX_POINT ( 'NONE', #507 ) ;
|
||||||
|
#227 = EDGE_LOOP ( 'NONE', ( #233, #112 ) ) ;
|
||||||
|
#228 = EDGE_CURVE ( 'NONE', #167, #210, #252, .T. ) ;
|
||||||
|
#229 = AXIS2_PLACEMENT_3D ( 'NONE', #150, #405, #148 ) ;
|
||||||
|
#230 = FACE_OUTER_BOUND ( 'NONE', #328, .T. ) ;
|
||||||
|
#231 = LINE ( 'NONE', #377, #514 ) ;
|
||||||
|
#232 = AXIS2_PLACEMENT_3D ( 'NONE', #482, #633, #488 ) ;
|
||||||
|
#233 = ORIENTED_EDGE ( 'NONE', *, *, #89, .F. ) ;
|
||||||
|
#234 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#235 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#236 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( .MILLI., .METRE. ) );
|
||||||
|
#237 = VERTEX_POINT ( 'NONE', #13 ) ;
|
||||||
|
#238 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 84.81093044336887488, 25.15000000000001990 ) ) ;
|
||||||
|
#239 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#240 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, -7.689069556631129565, 25.15000000000002700 ) ) ;
|
||||||
|
#241 = VERTEX_POINT ( 'NONE', #207 ) ;
|
||||||
|
#242 = VECTOR ( 'NONE', #82, 1000.000000000000000 ) ;
|
||||||
|
#243 = VERTEX_POINT ( 'NONE', #16 ) ;
|
||||||
|
#244 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#245 = EDGE_CURVE ( 'NONE', #226, #93, #538, .T. ) ;
|
||||||
|
#246 = FILL_AREA_STYLE ('',( #544 ) ) ;
|
||||||
|
#247 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -6.689069556631128677, 0.000000000000000000 ) ) ;
|
||||||
|
#248 = VECTOR ( 'NONE', #384, 1000.000000000000000 ) ;
|
||||||
|
#249 = LINE ( 'NONE', #291, #363 ) ;
|
||||||
|
#250 = PLANE ( 'NONE', #621 ) ;
|
||||||
|
#251 = AXIS2_PLACEMENT_3D ( 'NONE', #603, #153, #212 ) ;
|
||||||
|
#252 = LINE ( 'NONE', #533, #165 ) ;
|
||||||
|
#253 = ADVANCED_BREP_SHAPE_REPRESENTATION ( 'bodymicro_cylindre', ( #565, #275 ), #392 ) ;
|
||||||
|
#254 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#255 = EDGE_CURVE ( 'NONE', #567, #70, #404, .T. ) ;
|
||||||
|
#256 = AXIS2_PLACEMENT_3D ( 'NONE', #149, #403, #179 ) ;
|
||||||
|
#257 = AXIS2_PLACEMENT_3D ( 'NONE', #534, #320, #630 ) ;
|
||||||
|
#258 = EDGE_CURVE ( 'NONE', #70, #567, #615, .T. ) ;
|
||||||
|
#259 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 84.81093044336887488, -24.15000000000002700 ) ) ;
|
||||||
|
#260 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 47.14430681599709771, 24.15000000000001990 ) ) ;
|
||||||
|
#261 = VERTEX_POINT ( 'NONE', #315 ) ;
|
||||||
|
#262 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#263 = VERTEX_POINT ( 'NONE', #10 ) ;
|
||||||
|
#264 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#265 = CIRCLE ( 'NONE', #634, 21.15000000000002345 ) ;
|
||||||
|
#266 = LINE ( 'NONE', #260, #587 ) ;
|
||||||
|
#267 = VERTEX_POINT ( 'NONE', #407 ) ;
|
||||||
|
#268 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -5.689069556631127789, -24.15000000000002700 ) ) ;
|
||||||
|
#269 = EDGE_CURVE ( 'NONE', #481, #28, #138, .T. ) ;
|
||||||
|
#270 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 88.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#271 = ORIENTED_EDGE ( 'NONE', *, *, #353, .F. ) ;
|
||||||
|
#272 = ORIENTED_EDGE ( 'NONE', *, *, #258, .F. ) ;
|
||||||
|
#273 = CARTESIAN_POINT ( 'NONE', ( 1.499999999999981570, 88.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#274 = ORIENTED_EDGE ( 'NONE', *, *, #409, .F. ) ;
|
||||||
|
#275 = AXIS2_PLACEMENT_3D ( 'NONE', #84, #41, #530 ) ;
|
||||||
|
#276 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#277 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#278 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#279 = ORIENTED_EDGE ( 'NONE', *, *, #531, .F. ) ;
|
||||||
|
#280 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, -24.15000000000002700 ) ) ;
|
||||||
|
#281 = AXIS2_PLACEMENT_3D ( 'NONE', #561, #554, #611 ) ;
|
||||||
|
#282 = CYLINDRICAL_SURFACE ( 'NONE', #98, 23.15000000000002345 ) ;
|
||||||
|
#283 = EDGE_LOOP ( 'NONE', ( #439, #11, #37, #187 ) ) ;
|
||||||
|
#284 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#285 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#286 = ORIENTED_EDGE ( 'NONE', *, *, #506, .F. ) ;
|
||||||
|
#287 = FACE_OUTER_BOUND ( 'NONE', #551, .T. ) ;
|
||||||
|
#288 = SURFACE_STYLE_USAGE ( .BOTH. , #44 ) ;
|
||||||
|
#289 = APPLICATION_PROTOCOL_DEFINITION ( 'draft international standard', 'automotive_design', 1998, #12 ) ;
|
||||||
|
#290 = ORIENTED_EDGE ( 'NONE', *, *, #255, .F. ) ;
|
||||||
|
#291 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, -21.15000000000001279 ) ) ;
|
||||||
|
#292 = EDGE_CURVE ( 'NONE', #76, #178, #266, .T. ) ;
|
||||||
|
#293 = AXIS2_PLACEMENT_3D ( 'NONE', #597, #489, #52 ) ;
|
||||||
|
#294 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#295 = ORIENTED_EDGE ( 'NONE', *, *, #206, .T. ) ;
|
||||||
|
#296 = ADVANCED_FACE ( 'NONE', ( #508, #157 ), #558, .T. ) ;
|
||||||
|
#297 = ORIENTED_EDGE ( 'NONE', *, *, #156, .T. ) ;
|
||||||
|
#298 = PRODUCT_DEFINITION_SHAPE ( 'NONE', 'NONE', #599 ) ;
|
||||||
|
#299 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#300 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 85.81093044336887488, -24.15000000000001990 ) ) ;
|
||||||
|
#301 = EDGE_LOOP ( 'NONE', ( #337, #332 ) ) ;
|
||||||
|
#302 = EDGE_CURVE ( 'NONE', #434, #167, #559, .T. ) ;
|
||||||
|
#303 = ORIENTED_EDGE ( 'NONE', *, *, #461, .F. ) ;
|
||||||
|
#304 = PLANE ( 'NONE', #85 ) ;
|
||||||
|
#305 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 47.14430681599709771, 24.15000000000002700 ) ) ;
|
||||||
|
#306 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 85.81093044336887488, 24.15000000000001990 ) ) ;
|
||||||
|
#307 = FACE_BOUND ( 'NONE', #614, .T. ) ;
|
||||||
|
#308 = PLANE ( 'NONE', #17 ) ;
|
||||||
|
#309 = VECTOR ( 'NONE', #477, 1000.000000000000227 ) ;
|
||||||
|
#310 = AXIS2_PLACEMENT_3D ( 'NONE', #270, #130, #577 ) ;
|
||||||
|
#311 = FACE_BOUND ( 'NONE', #325, .T. ) ;
|
||||||
|
#312 = EDGE_LOOP ( 'NONE', ( #637, #3, #64, #126 ) ) ;
|
||||||
|
#313 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 47.14430681599709771, 21.15000000000001279 ) ) ;
|
||||||
|
#314 = AXIS2_PLACEMENT_3D ( 'NONE', #38, #537, #87 ) ;
|
||||||
|
#315 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -7.689069556631129565, -25.15000000000002700 ) ) ;
|
||||||
|
#316 = EDGE_LOOP ( 'NONE', ( #476, #118, #295, #95 ) ) ;
|
||||||
|
#317 = ADVANCED_FACE ( 'NONE', ( #311, #457 ), #453, .T. ) ;
|
||||||
|
#318 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#319 = ORIENTED_EDGE ( 'NONE', *, *, #395, .F. ) ;
|
||||||
|
#320 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#321 = EDGE_CURVE ( 'NONE', #382, #588, #331, .T. ) ;
|
||||||
|
#322 = EDGE_LOOP ( 'NONE', ( #470, #532, #632, #490 ) ) ;
|
||||||
|
#323 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#324 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#325 = EDGE_LOOP ( 'NONE', ( #22, #297 ) ) ;
|
||||||
|
#326 = VERTEX_POINT ( 'NONE', #209 ) ;
|
||||||
|
#327 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#328 = EDGE_LOOP ( 'NONE', ( #158, #640, #540, #512 ) ) ;
|
||||||
|
#329 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 91.31093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#330 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#331 = CIRCLE ( 'NONE', #51, 24.15000000000002700 ) ;
|
||||||
|
#332 = ORIENTED_EDGE ( 'NONE', *, *, #154, .T. ) ;
|
||||||
|
#333 = LINE ( 'NONE', #305, #205 ) ;
|
||||||
|
#334 = AXIS2_PLACEMENT_3D ( 'NONE', #594, #144, #344 ) ;
|
||||||
|
#335 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#336 = AXIS2_PLACEMENT_3D ( 'NONE', #430, #411, #513 ) ;
|
||||||
|
#337 = ORIENTED_EDGE ( 'NONE', *, *, #269, .T. ) ;
|
||||||
|
#338 = EDGE_CURVE ( 'NONE', #93, #226, #192, .T. ) ;
|
||||||
|
#339 = LINE ( 'NONE', #448, #113 ) ;
|
||||||
|
#340 = EDGE_CURVE ( 'NONE', #419, #42, #211, .T. ) ;
|
||||||
|
#341 = ORIENTED_EDGE ( 'NONE', *, *, #369, .T. ) ;
|
||||||
|
#342 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#343 = ORIENTED_EDGE ( 'NONE', *, *, #152, .T. ) ;
|
||||||
|
#344 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#345 = ADVANCED_FACE ( 'NONE', ( #605 ), #516, .T. ) ;
|
||||||
|
#346 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#347 = CARTESIAN_POINT ( 'NONE', ( 2.000000000000005329, -7.689069556631126900, 0.000000000000000000 ) ) ;
|
||||||
|
#348 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ;
|
||||||
|
#349 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#350 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#351 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 91.31093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#352 = FACE_BOUND ( 'NONE', #227, .T. ) ;
|
||||||
|
#353 = EDGE_CURVE ( 'NONE', #267, #210, #385, .T. ) ;
|
||||||
|
#354 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#355 = EDGE_CURVE ( 'NONE', #147, #241, #80, .T. ) ;
|
||||||
|
#356 = ADVANCED_FACE ( 'NONE', ( #61 ), #519, .F. ) ;
|
||||||
|
#357 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 84.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#358 = ORIENTED_EDGE ( 'NONE', *, *, #355, .T. ) ;
|
||||||
|
#359 = AXIS2_PLACEMENT_3D ( 'NONE', #566, #555, #117 ) ;
|
||||||
|
#360 = DIRECTION ( 'NONE', ( 0.000000000000000000, 1.000000000000000000, 0.000000000000000000 ) ) ;
|
||||||
|
#361 = ADVANCED_FACE ( 'NONE', ( #307, #58 ), #308, .T. ) ;
|
||||||
|
#362 = EDGE_LOOP ( 'NONE', ( #573, #610 ) ) ;
|
||||||
|
#363 = VECTOR ( 'NONE', #190, 1000.000000000000000 ) ;
|
||||||
|
#364 = CONICAL_SURFACE ( 'NONE', #34, 25.15000000000002700, 0.4636476090008060935 ) ;
|
||||||
|
#365 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#366 = ADVANCED_FACE ( 'NONE', ( #617 ), #177, .T. ) ;
|
||||||
|
#367 = ORIENTED_EDGE ( 'NONE', *, *, #526, .F. ) ;
|
||||||
|
#368 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#369 = EDGE_CURVE ( 'NONE', #241, #567, #584, .T. ) ;
|
||||||
|
#370 = LINE ( 'NONE', #466, #427 ) ;
|
||||||
|
#371 = ORIENTED_EDGE ( 'NONE', *, *, #409, .T. ) ;
|
||||||
|
#372 = CIRCLE ( 'NONE', #491, 24.15000000000001990 ) ;
|
||||||
|
#373 = ADVANCED_FACE ( 'NONE', ( #24 ), #224, .F. ) ;
|
||||||
|
#374 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 84.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#375 = ORIENTED_EDGE ( 'NONE', *, *, #105, .F. ) ;
|
||||||
|
#376 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#377 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, -20.15000000000002700 ) ) ;
|
||||||
|
#378 = ORIENTED_EDGE ( 'NONE', *, *, #59, .T. ) ;
|
||||||
|
#379 = CIRCLE ( 'NONE', #168, 23.15000000000002345 ) ;
|
||||||
|
#380 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 88.81093044336887488, 21.15000000000000213 ) ) ;
|
||||||
|
#381 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#382 = VERTEX_POINT ( 'NONE', #428 ) ;
|
||||||
|
#383 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#384 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#385 = CIRCLE ( 'NONE', #648, 23.15000000000002345 ) ;
|
||||||
|
#386 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#387 = ORIENTED_EDGE ( 'NONE', *, *, #258, .T. ) ;
|
||||||
|
#388 = EDGE_CURVE ( 'NONE', #481, #487, #21, .T. ) ;
|
||||||
|
#389 = FACE_OUTER_BOUND ( 'NONE', #81, .T. ) ;
|
||||||
|
#390 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#391 = EDGE_LOOP ( 'NONE', ( #623, #387 ) ) ;
|
||||||
|
#392 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #504 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #236, #585, #493 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) );
|
||||||
|
#393 = EDGE_CURVE ( 'NONE', #237, #326, #571, .T. ) ;
|
||||||
|
#394 = FACE_OUTER_BOUND ( 'NONE', #643, .T. ) ;
|
||||||
|
#395 = EDGE_CURVE ( 'NONE', #429, #487, #510, .T. ) ;
|
||||||
|
#396 = FACE_OUTER_BOUND ( 'NONE', #122, .T. ) ;
|
||||||
|
#397 = AXIS2_PLACEMENT_3D ( 'NONE', #324, #277, #529 ) ;
|
||||||
|
#398 = PRODUCT ( 'bodymicro_cylindre', 'bodymicro_cylindre', '', ( #627 ) ) ;
|
||||||
|
#399 = AXIS2_PLACEMENT_3D ( 'NONE', #459, #608, #410 ) ;
|
||||||
|
#400 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#401 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#402 = AXIS2_PLACEMENT_3D ( 'NONE', #193, #299, #140 ) ;
|
||||||
|
#403 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#404 = CIRCLE ( 'NONE', #336, 25.15000000000001990 ) ;
|
||||||
|
#405 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#406 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#407 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, -8.689069556631123348, 23.15000000000002345 ) ) ;
|
||||||
|
#408 = AXIS2_PLACEMENT_3D ( 'NONE', #92, #198, #401 ) ;
|
||||||
|
#409 = EDGE_CURVE ( 'NONE', #243, #76, #372, .T. ) ;
|
||||||
|
#410 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#411 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#412 = ORIENTED_EDGE ( 'NONE', *, *, #388, .F. ) ;
|
||||||
|
#413 = ADVANCED_FACE ( 'NONE', ( #230 ), #184, .F. ) ;
|
||||||
|
#414 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#415 = VERTEX_POINT ( 'NONE', #83 ) ;
|
||||||
|
#416 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 91.31093044336887488, 22.65000000000000924 ) ) ;
|
||||||
|
#417 = AXIS2_PLACEMENT_3D ( 'NONE', #485, #174, #330 ) ;
|
||||||
|
#418 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#419 = VERTEX_POINT ( 'NONE', #620 ) ;
|
||||||
|
#420 = ORIENTED_EDGE ( 'NONE', *, *, #228, .F. ) ;
|
||||||
|
#421 = AXIS2_PLACEMENT_3D ( 'NONE', #357, #155, #414 ) ;
|
||||||
|
#422 = FACE_OUTER_BOUND ( 'NONE', #322, .T. ) ;
|
||||||
|
#423 = VERTEX_POINT ( 'NONE', #626 ) ;
|
||||||
|
#424 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, -22.65000000000000568 ) ) ;
|
||||||
|
#425 = ORIENTED_EDGE ( 'NONE', *, *, #60, .F. ) ;
|
||||||
|
#426 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -6.689069556631128677, 0.000000000000000000 ) ) ;
|
||||||
|
#427 = VECTOR ( 'NONE', #522, 1000.000000000000000 ) ;
|
||||||
|
#428 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 84.81093044336887488, 24.15000000000002700 ) ) ;
|
||||||
|
#429 = VERTEX_POINT ( 'NONE', #120 ) ;
|
||||||
|
#430 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 84.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#431 = VECTOR ( 'NONE', #264, 1000.000000000000000 ) ;
|
||||||
|
#432 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 91.31093044336887488, -22.65000000000001279 ) ) ;
|
||||||
|
#433 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#434 = VERTEX_POINT ( 'NONE', #19 ) ;
|
||||||
|
#435 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#436 = FACE_OUTER_BOUND ( 'NONE', #463, .T. ) ;
|
||||||
|
#437 = EDGE_CURVE ( 'NONE', #588, #382, #94, .T. ) ;
|
||||||
|
#438 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#439 = ORIENTED_EDGE ( 'NONE', *, *, #125, .F. ) ;
|
||||||
|
#440 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ;
|
||||||
|
#441 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 91.31093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#442 = CYLINDRICAL_SURFACE ( 'NONE', #57, 20.15000000000002700 ) ;
|
||||||
|
#443 = ORIENTED_EDGE ( 'NONE', *, *, #302, .T. ) ;
|
||||||
|
#444 = EDGE_LOOP ( 'NONE', ( #542, #572, #343, #367 ) ) ;
|
||||||
|
#445 = ORIENTED_EDGE ( 'NONE', *, *, #245, .T. ) ;
|
||||||
|
#446 = VECTOR ( 'NONE', #276, 1000.000000000000000 ) ;
|
||||||
|
#447 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -7.689069556631129565, -25.15000000000002700 ) ) ;
|
||||||
|
#448 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 47.14430681599709771, 22.65000000000000568 ) ) ;
|
||||||
|
#449 = COLOUR_RGB ( '',0.7921568627450980005, 0.8196078431372548767, 0.9333333333333333481 ) ;
|
||||||
|
#450 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#451 = CIRCLE ( 'NONE', #115, 21.15000000000002345 ) ;
|
||||||
|
#452 = AXIS2_PLACEMENT_3D ( 'NONE', #636, #294, #36 ) ;
|
||||||
|
#453 = PLANE ( 'NONE', #478 ) ;
|
||||||
|
#454 = ADVANCED_FACE ( 'NONE', ( #580 ), #214, .T. ) ;
|
||||||
|
#455 = ADVANCED_FACE ( 'NONE', ( #436 ), #622, .T. ) ;
|
||||||
|
#456 = CIRCLE ( 'NONE', #25, 20.15000000000002700 ) ;
|
||||||
|
#457 = FACE_OUTER_BOUND ( 'NONE', #121, .T. ) ;
|
||||||
|
#458 = AXIS2_PLACEMENT_3D ( 'NONE', #374, #127, #235 ) ;
|
||||||
|
#459 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 88.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#460 = ORIENTED_EDGE ( 'NONE', *, *, #550, .T. ) ;
|
||||||
|
#461 = EDGE_CURVE ( 'NONE', #243, #65, #370, .T. ) ;
|
||||||
|
#462 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ;
|
||||||
|
#463 = EDGE_LOOP ( 'NONE', ( #208, #169, #15, #68 ) ) ;
|
||||||
|
#464 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#465 = ORIENTED_EDGE ( 'NONE', *, *, #181, .T. ) ;
|
||||||
|
#466 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, -24.15000000000001990 ) ) ;
|
||||||
|
#467 = ORIENTED_EDGE ( 'NONE', *, *, #111, .F. ) ;
|
||||||
|
#468 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#469 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 91.31093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#470 = ORIENTED_EDGE ( 'NONE', *, *, #641, .F. ) ;
|
||||||
|
#471 = ORIENTED_EDGE ( 'NONE', *, *, #47, .F. ) ;
|
||||||
|
#472 = ADVANCED_FACE ( 'NONE', ( #422 ), #72, .F. ) ;
|
||||||
|
#473 = DIRECTION ( 'NONE', ( 0.000000000000000000, -0.000000000000000000, 1.000000000000000000 ) ) ;
|
||||||
|
#474 = EDGE_CURVE ( 'NONE', #588, #42, #77, .T. ) ;
|
||||||
|
#475 = AXIS2_PLACEMENT_3D ( 'NONE', #56, #134, #499 ) ;
|
||||||
|
#476 = ORIENTED_EDGE ( 'NONE', *, *, #40, .F. ) ;
|
||||||
|
#477 = DIRECTION ( 'NONE', ( 5.476786982642026244E-17, -0.8944271909999158554, 0.4472135954999579277 ) ) ;
|
||||||
|
#478 = AXIS2_PLACEMENT_3D ( 'NONE', #9, #360, #63 ) ;
|
||||||
|
#479 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#480 = FACE_OUTER_BOUND ( 'NONE', #528, .T. ) ;
|
||||||
|
#481 = VERTEX_POINT ( 'NONE', #432 ) ;
|
||||||
|
#482 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 85.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#483 = STYLED_ITEM ( 'NONE', ( #500 ), #565 ) ;
|
||||||
|
#484 = CIRCLE ( 'NONE', #314, 22.64999999999999858 ) ;
|
||||||
|
#485 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#486 = FACE_OUTER_BOUND ( 'NONE', #137, .T. ) ;
|
||||||
|
#487 = VERTEX_POINT ( 'NONE', #180 ) ;
|
||||||
|
#488 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#489 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#490 = ORIENTED_EDGE ( 'NONE', *, *, #89, .T. ) ;
|
||||||
|
#491 = AXIS2_PLACEMENT_3D ( 'NONE', #469, #574, #219 ) ;
|
||||||
|
#492 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#493 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) );
|
||||||
|
#494 = ORIENTED_EDGE ( 'NONE', *, *, #338, .T. ) ;
|
||||||
|
#495 = AXIS2_PLACEMENT_3D ( 'NONE', #579, #383, #400 ) ;
|
||||||
|
#496 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#497 = ORIENTED_EDGE ( 'NONE', *, *, #437, .T. ) ;
|
||||||
|
#498 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( .MILLI., .METRE. ) );
|
||||||
|
#499 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#500 = PRESENTATION_STYLE_ASSIGNMENT (( #288 ) ) ;
|
||||||
|
#501 = AXIS2_PLACEMENT_3D ( 'NONE', #204, #318, #114 ) ;
|
||||||
|
#502 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -7.689069556631129565, 0.000000000000000000 ) ) ;
|
||||||
|
#503 = FACE_OUTER_BOUND ( 'NONE', #161, .T. ) ;
|
||||||
|
#504 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000082E-05 ), #236, 'distance_accuracy_value', 'NONE');
|
||||||
|
#505 = EDGE_CURVE ( 'NONE', #210, #267, #26, .T. ) ;
|
||||||
|
#506 = EDGE_CURVE ( 'NONE', #241, #147, #108, .T. ) ;
|
||||||
|
#507 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 88.81093044336887488, -21.15000000000000213 ) ) ;
|
||||||
|
#508 = FACE_BOUND ( 'NONE', #133, .T. ) ;
|
||||||
|
#509 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 84.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#510 = CIRCLE ( 'NONE', #310, 22.64999999999999858 ) ;
|
||||||
|
#511 = ADVANCED_FACE ( 'NONE', ( #90, #649 ), #39, .T. ) ;
|
||||||
|
#512 = ORIENTED_EDGE ( 'NONE', *, *, #216, .T. ) ;
|
||||||
|
#513 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#514 = VECTOR ( 'NONE', #75, 1000.000000000000000 ) ;
|
||||||
|
#515 = ORIENTED_EDGE ( 'NONE', *, *, #228, .T. ) ;
|
||||||
|
#516 = CYLINDRICAL_SURFACE ( 'NONE', #609, 25.15000000000001990 ) ;
|
||||||
|
#517 = ORIENTED_EDGE ( 'NONE', *, *, #166, .T. ) ;
|
||||||
|
#518 = ORIENTED_EDGE ( 'NONE', *, *, #506, .T. ) ;
|
||||||
|
#519 = CYLINDRICAL_SURFACE ( 'NONE', #132, 22.65000000000000568 ) ;
|
||||||
|
#520 = ORIENTED_EDGE ( 'NONE', *, *, #125, .T. ) ;
|
||||||
|
#521 = EDGE_CURVE ( 'NONE', #618, #263, #8, .T. ) ;
|
||||||
|
#522 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#523 = ADVANCED_FACE ( 'NONE', ( #389 ), #48, .T. ) ;
|
||||||
|
#524 = EDGE_LOOP ( 'NONE', ( #497, #520, #467, #175 ) ) ;
|
||||||
|
#525 = LINE ( 'NONE', #576, #446 ) ;
|
||||||
|
#526 = EDGE_CURVE ( 'NONE', #226, #415, #249, .T. ) ;
|
||||||
|
#527 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#528 = EDGE_LOOP ( 'NONE', ( #50, #213, #171, #420 ) ) ;
|
||||||
|
#529 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#530 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.000000000000000000, 0.000000000000000000 ) ) ;
|
||||||
|
#531 = EDGE_CURVE ( 'NONE', #76, #243, #31, .T. ) ;
|
||||||
|
#532 = ORIENTED_EDGE ( 'NONE', *, *, #521, .F. ) ;
|
||||||
|
#533 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, -23.15000000000002345 ) ) ;
|
||||||
|
#534 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -8.689069556631123348, 0.000000000000000000 ) ) ;
|
||||||
|
#535 = SHAPE_DEFINITION_REPRESENTATION ( #298, #253 ) ;
|
||||||
|
#536 = ORIENTED_EDGE ( 'NONE', *, *, #395, .T. ) ;
|
||||||
|
#537 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#538 = CIRCLE ( 'NONE', #251, 21.15000000000000213 ) ;
|
||||||
|
#539 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, -25.15000000000001990 ) ) ;
|
||||||
|
#540 = ORIENTED_EDGE ( 'NONE', *, *, #526, .T. ) ;
|
||||||
|
#541 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#542 = ORIENTED_EDGE ( 'NONE', *, *, #338, .F. ) ;
|
||||||
|
#543 = AXIS2_PLACEMENT_3D ( 'NONE', #124, #327, #335 ) ;
|
||||||
|
#544 = FILL_AREA_STYLE_COLOUR ( '', #449 ) ;
|
||||||
|
#545 = ORIENTED_EDGE ( 'NONE', *, *, #269, .F. ) ;
|
||||||
|
#546 = CARTESIAN_POINT ( 'NONE', ( 3.000000000000004885, 84.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#547 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#548 = DIRECTION ( 'NONE', ( 0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#549 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 47.14430681599709771, 25.15000000000001990 ) ) ;
|
||||||
|
#550 = EDGE_CURVE ( 'NONE', #28, #429, #339, .T. ) ;
|
||||||
|
#551 = EDGE_LOOP ( 'NONE', ( #471, #443, #515, #271 ) ) ;
|
||||||
|
#552 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#553 = ADVANCED_FACE ( 'NONE', ( #396, #99 ), #304, .T. ) ;
|
||||||
|
#554 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#555 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#556 = PLANE ( 'NONE', #146 ) ;
|
||||||
|
#557 = ORIENTED_EDGE ( 'NONE', *, *, #154, .F. ) ;
|
||||||
|
#558 = PLANE ( 'NONE', #109 ) ;
|
||||||
|
#559 = CIRCLE ( 'NONE', #501, 23.15000000000002345 ) ;
|
||||||
|
#560 = ORIENTED_EDGE ( 'NONE', *, *, #355, .F. ) ;
|
||||||
|
#561 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -5.689069556631127789, 0.000000000000000000 ) ) ;
|
||||||
|
#562 = AXIS2_PLACEMENT_3D ( 'NONE', #441, #244, #496 ) ;
|
||||||
|
#563 = EDGE_LOOP ( 'NONE', ( #62, #545, #20, #465 ) ) ;
|
||||||
|
#564 = AXIS2_PLACEMENT_3D ( 'NONE', #502, #191, #183 ) ;
|
||||||
|
#565 = MANIFOLD_SOLID_BREP ( 'R\X2\00e9\X0\volution1', #107 ) ;
|
||||||
|
#566 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 85.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#567 = VERTEX_POINT ( 'NONE', #188 ) ;
|
||||||
|
#568 = ORIENTED_EDGE ( 'NONE', *, *, #437, .F. ) ;
|
||||||
|
#569 = ADVANCED_FACE ( 'NONE', ( #394 ), #589, .T. ) ;
|
||||||
|
#570 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#571 = CIRCLE ( 'NONE', #257, 20.15000000000002700 ) ;
|
||||||
|
#572 = ORIENTED_EDGE ( 'NONE', *, *, #590, .T. ) ;
|
||||||
|
#573 = ORIENTED_EDGE ( 'NONE', *, *, #619, .F. ) ;
|
||||||
|
#574 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#575 = ORIENTED_EDGE ( 'NONE', *, *, #321, .F. ) ;
|
||||||
|
#576 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 47.14430681599709771, 23.15000000000002345 ) ) ;
|
||||||
|
#577 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#578 = ADVANCED_FACE ( 'NONE', ( #644 ), #141, .T. ) ;
|
||||||
|
#579 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -5.689069556631127789, 0.000000000000000000 ) ) ;
|
||||||
|
#580 = FACE_OUTER_BOUND ( 'NONE', #524, .T. ) ;
|
||||||
|
#581 = ORIENTED_EDGE ( 'NONE', *, *, #505, .T. ) ;
|
||||||
|
#582 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -7.689069556631129565, -23.15000000000002345 ) ) ;
|
||||||
|
#583 = AXIS2_PLACEMENT_3D ( 'NONE', #285, #74, #376 ) ;
|
||||||
|
#584 = LINE ( 'NONE', #539, #27 ) ;
|
||||||
|
#585 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) );
|
||||||
|
#586 = EDGE_LOOP ( 'NONE', ( #375, #358, #341, #272 ) ) ;
|
||||||
|
#587 = VECTOR ( 'NONE', #160, 1000.000000000000000 ) ;
|
||||||
|
#588 = VERTEX_POINT ( 'NONE', #259 ) ;
|
||||||
|
#589 = CYLINDRICAL_SURFACE ( 'NONE', #54, 25.15000000000001990 ) ;
|
||||||
|
#590 = EDGE_CURVE ( 'NONE', #93, #423, #159, .T. ) ;
|
||||||
|
#591 = LINE ( 'NONE', #185, #218 ) ;
|
||||||
|
#592 = ORIENTED_EDGE ( 'NONE', *, *, #105, .T. ) ;
|
||||||
|
#593 = ADVANCED_FACE ( 'NONE', ( #503, #352 ), #556, .T. ) ;
|
||||||
|
#594 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 47.14430681599709771, 0.000000000000000000 ) ) ;
|
||||||
|
#595 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#596 = ORIENTED_EDGE ( 'NONE', *, *, #181, .F. ) ;
|
||||||
|
#597 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -8.689069556631123348, 0.000000000000000000 ) ) ;
|
||||||
|
#598 = AXIS2_PLACEMENT_3D ( 'NONE', #346, #97, #406 ) ;
|
||||||
|
#599 = PRODUCT_DEFINITION ( 'UNKNOWN', '', #104, #203 ) ;
|
||||||
|
#600 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, 91.31093044336887488, 24.15000000000001990 ) ) ;
|
||||||
|
#601 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) );
|
||||||
|
#602 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -8.689069556631123348, -23.15000000000002345 ) ) ;
|
||||||
|
#603 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, 88.81093044336887488, 0.000000000000000000 ) ) ;
|
||||||
|
#604 = EDGE_CURVE ( 'NONE', #618, #326, #231, .T. ) ;
|
||||||
|
#605 = FACE_OUTER_BOUND ( 'NONE', #586, .T. ) ;
|
||||||
|
#606 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#607 = VERTEX_POINT ( 'NONE', #240 ) ;
|
||||||
|
#608 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#609 = AXIS2_PLACEMENT_3D ( 'NONE', #67, #464, #418 ) ;
|
||||||
|
#610 = ORIENTED_EDGE ( 'NONE', *, *, #302, .F. ) ;
|
||||||
|
#611 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#612 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #196 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #498, #4, #601 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) );
|
||||||
|
#613 = ADVANCED_FACE ( 'NONE', ( #486 ), #442, .F. ) ;
|
||||||
|
#614 = EDGE_LOOP ( 'NONE', ( #445, #494 ) ) ;
|
||||||
|
#615 = CIRCLE ( 'NONE', #421, 25.15000000000001990 ) ;
|
||||||
|
#616 = CIRCLE ( 'NONE', #55, 22.65000000000001279 ) ;
|
||||||
|
#617 = FACE_OUTER_BOUND ( 'NONE', #283, .T. ) ;
|
||||||
|
#618 = VERTEX_POINT ( 'NONE', #225 ) ;
|
||||||
|
#619 = EDGE_CURVE ( 'NONE', #167, #434, #379, .T. ) ;
|
||||||
|
#620 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, -5.689069556631127789, 24.15000000000002700 ) ) ;
|
||||||
|
#621 = AXIS2_PLACEMENT_3D ( 'NONE', #33, #348, #440 ) ;
|
||||||
|
#622 = CONICAL_SURFACE ( 'NONE', #143, 25.15000000000002700, 0.4636476090008060935 ) ;
|
||||||
|
#623 = ORIENTED_EDGE ( 'NONE', *, *, #255, .T. ) ;
|
||||||
|
#624 = FACE_OUTER_BOUND ( 'NONE', #563, .T. ) ;
|
||||||
|
#625 = EDGE_CURVE ( 'NONE', #261, #607, #139, .T. ) ;
|
||||||
|
#626 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001634, -6.689069556631128677, 21.15000000000002345 ) ) ;
|
||||||
|
#627 = PRODUCT_CONTEXT ( 'NONE', #629, 'mechanical' ) ;
|
||||||
|
#628 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#629 = APPLICATION_CONTEXT ( 'automotive_design' ) ;
|
||||||
|
#630 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#631 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#632 = ORIENTED_EDGE ( 'NONE', *, *, #604, .T. ) ;
|
||||||
|
#633 = DIRECTION ( 'NONE', ( -0.000000000000000000, -1.000000000000000000, -0.000000000000000000 ) ) ;
|
||||||
|
#634 = AXIS2_PLACEMENT_3D ( 'NONE', #247, #435, #450 ) ;
|
||||||
|
#635 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -7.689069556631129565, 0.000000000000000000 ) ) ;
|
||||||
|
#636 = CARTESIAN_POINT ( 'NONE', ( -21.15000000000001990, -7.689069556631129565, 0.000000000000000000 ) ) ;
|
||||||
|
#637 = ORIENTED_EDGE ( 'NONE', *, *, #292, .F. ) ;
|
||||||
|
#638 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#639 = APPLICATION_PROTOCOL_DEFINITION ( 'draft international standard', 'automotive_design', 1998, #629 ) ;
|
||||||
|
#640 = ORIENTED_EDGE ( 'NONE', *, *, #245, .F. ) ;
|
||||||
|
#641 = EDGE_CURVE ( 'NONE', #263, #237, #591, .T. ) ;
|
||||||
|
#642 = DIRECTION ( 'NONE', ( 0.000000000000000000, 0.000000000000000000, -1.000000000000000000 ) ) ;
|
||||||
|
#643 = EDGE_LOOP ( 'NONE', ( #518, #592, #290, #646 ) ) ;
|
||||||
|
#644 = FACE_OUTER_BOUND ( 'NONE', #312, .T. ) ;
|
||||||
|
#645 = LINE ( 'NONE', #549, #242 ) ;
|
||||||
|
#646 = ORIENTED_EDGE ( 'NONE', *, *, #369, .F. ) ;
|
||||||
|
#647 = ADVANCED_FACE ( 'NONE', ( #480 ), #282, .T. ) ;
|
||||||
|
#648 = AXIS2_PLACEMENT_3D ( 'NONE', #103, #164, #365 ) ;
|
||||||
|
#649 = FACE_BOUND ( 'NONE', #23, .T. ) ;
|
||||||
|
ENDSEC;
|
||||||
|
END-ISO-10303-21;
|
||||||
BIN
02_PRODUITS_PHYSIQUES/Microphone/Conception/Body_Solidworks_v1/full_v1.SLDASM
Executable file
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 50 KiB |
4414
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/Assembly.html
Executable file
9214
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/DXF/StudioMic-B_Cu.dxf
Executable file
2416
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/DXF/StudioMic-B_Paste.dxf
Executable file
59558
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/DXF/StudioMic-F_Cu.dxf
Executable file
39600
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/DXF/StudioMic-F_Mask.dxf
Executable file
158684
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/DXF/StudioMic-F_Silkscreen.dxf
Executable file
|
|
@ -0,0 +1,26 @@
|
||||||
|
M48
|
||||||
|
; DRILL file {KiCad (7.0.0)} date Sat Mar 18 07:42:43 2023
|
||||||
|
; FORMAT={-:-/ absolute / metric / decimal}
|
||||||
|
; #@! TF.CreationDate,2023-03-18T07:42:43+03:00
|
||||||
|
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(7.0.0)
|
||||||
|
; #@! TF.FileFunction,NonPlated,1,2,NPTH
|
||||||
|
FMAT,2
|
||||||
|
METRIC
|
||||||
|
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
|
||||||
|
T1C2.700
|
||||||
|
%
|
||||||
|
G90
|
||||||
|
G05
|
||||||
|
T1
|
||||||
|
G00X137.744Y-51.397
|
||||||
|
M15
|
||||||
|
G01X138.544Y-51.397
|
||||||
|
M16
|
||||||
|
G05
|
||||||
|
G00X166.744Y-51.397
|
||||||
|
M15
|
||||||
|
G01X167.544Y-51.397
|
||||||
|
M16
|
||||||
|
G05
|
||||||
|
T0
|
||||||
|
M30
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
M48
|
||||||
|
; DRILL file {KiCad (7.0.0)} date Sat Mar 18 07:42:43 2023
|
||||||
|
; FORMAT={-:-/ absolute / metric / decimal}
|
||||||
|
; #@! TF.CreationDate,2023-03-18T07:42:43+03:00
|
||||||
|
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(7.0.0)
|
||||||
|
; #@! TF.FileFunction,Plated,1,2,PTH
|
||||||
|
FMAT,2
|
||||||
|
METRIC
|
||||||
|
; #@! TA.AperFunction,Plated,PTH,ViaDrill
|
||||||
|
T1C1.000
|
||||||
|
%
|
||||||
|
G90
|
||||||
|
G05
|
||||||
|
T1
|
||||||
|
X143.764Y-108.331
|
||||||
|
X145.034Y-59.563
|
||||||
|
X147.955Y-78.232
|
||||||
|
X150.391Y-71.755
|
||||||
|
X151.638Y-106.934
|
||||||
|
X153.416Y-59.817
|
||||||
|
X153.67Y-77.724
|
||||||
|
X154.822Y-67.828
|
||||||
|
X158.242Y-56.388
|
||||||
|
X162.687Y-58.039
|
||||||
|
X163.322Y-104.013
|
||||||
|
X163.322Y-109.093
|
||||||
|
T0
|
||||||
|
M30
|
||||||
|
|
@ -0,0 +1,88 @@
|
||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,(7.0.0)*%
|
||||||
|
%TF.CreationDate,2023-03-18T07:41:40+03:00*%
|
||||||
|
%TF.ProjectId,StudioMic,53747564-696f-44d6-9963-2e6b69636164,1*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Copper,L2,Bot*%
|
||||||
|
%TF.FilePolarity,Positive*%
|
||||||
|
%FSLAX46Y46*%
|
||||||
|
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW (7.0.0)) date 2023-03-18 07:41:40*
|
||||||
|
%MOMM*%
|
||||||
|
%LPD*%
|
||||||
|
G01*
|
||||||
|
G04 APERTURE LIST*
|
||||||
|
%TA.AperFunction,ViaPad*%
|
||||||
|
%ADD10C,2.000000*%
|
||||||
|
%TD*%
|
||||||
|
%TA.AperFunction,Conductor*%
|
||||||
|
%ADD11C,0.400000*%
|
||||||
|
%TD*%
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
D10*
|
||||||
|
%TO.N,HT*%
|
||||||
|
X158242000Y-56388000D03*
|
||||||
|
X162687000Y-58039000D03*
|
||||||
|
%TO.N,Net-(C1-Pad2)*%
|
||||||
|
X150391500Y-71755000D03*
|
||||||
|
X151638000Y-106934000D03*
|
||||||
|
%TO.N,Net-(U1A--)*%
|
||||||
|
X143764000Y-108331000D03*
|
||||||
|
X153416000Y-59817000D03*
|
||||||
|
%TO.N,+12V*%
|
||||||
|
X154822500Y-67827500D03*
|
||||||
|
X163322000Y-109093000D03*
|
||||||
|
X153670000Y-77724000D03*
|
||||||
|
X163322000Y-104013000D03*
|
||||||
|
%TO.N,GNDREF*%
|
||||||
|
X147955000Y-78232000D03*
|
||||||
|
X145034000Y-59563000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.N,+12V*%
|
||||||
|
X153670000Y-68980000D02*
|
||||||
|
X154822500Y-67827500D01*
|
||||||
|
X153670000Y-77724000D02*
|
||||||
|
X153670000Y-68980000D01*
|
||||||
|
%TO.N,Net-(U1A--)*%
|
||||||
|
X140081000Y-104648000D02*
|
||||||
|
X143764000Y-108331000D01*
|
||||||
|
X140081000Y-58293000D02*
|
||||||
|
X140081000Y-104648000D01*
|
||||||
|
X150495000Y-56896000D02*
|
||||||
|
X141478000Y-56896000D01*
|
||||||
|
X153416000Y-59817000D02*
|
||||||
|
X150495000Y-56896000D01*
|
||||||
|
X141478000Y-56896000D02*
|
||||||
|
X140081000Y-58293000D01*
|
||||||
|
%TO.N,Net-(C1-Pad2)*%
|
||||||
|
X150391500Y-81811500D02*
|
||||||
|
X150391500Y-71755000D01*
|
||||||
|
X152518990Y-83938990D02*
|
||||||
|
X150391500Y-81811500D01*
|
||||||
|
X152518990Y-106053010D02*
|
||||||
|
X152518990Y-83938990D01*
|
||||||
|
X151638000Y-106934000D02*
|
||||||
|
X152518990Y-106053010D01*
|
||||||
|
%TO.N,+12V*%
|
||||||
|
X163322000Y-104013000D02*
|
||||||
|
X163322000Y-109093000D01*
|
||||||
|
%TO.N,GNDREF*%
|
||||||
|
X145542000Y-78232000D02*
|
||||||
|
X147955000Y-78232000D01*
|
||||||
|
X142240000Y-74930000D02*
|
||||||
|
X145542000Y-78232000D01*
|
||||||
|
X143764000Y-59563000D02*
|
||||||
|
X142240000Y-61087000D01*
|
||||||
|
X145034000Y-59563000D02*
|
||||||
|
X143764000Y-59563000D01*
|
||||||
|
X142240000Y-61087000D02*
|
||||||
|
X142240000Y-74930000D01*
|
||||||
|
%TO.N,HT*%
|
||||||
|
X162687000Y-57721500D02*
|
||||||
|
X162687000Y-58039000D01*
|
||||||
|
X161353500Y-56388000D02*
|
||||||
|
X162687000Y-57721500D01*
|
||||||
|
X158242000Y-56388000D02*
|
||||||
|
X161353500Y-56388000D01*
|
||||||
|
%TD*%
|
||||||
|
M02*
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,(7.0.0)*%
|
||||||
|
%TF.CreationDate,2023-03-18T07:41:40+03:00*%
|
||||||
|
%TF.ProjectId,StudioMic,53747564-696f-44d6-9963-2e6b69636164,1*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Soldermask,Bot*%
|
||||||
|
%TF.FilePolarity,Negative*%
|
||||||
|
%FSLAX46Y46*%
|
||||||
|
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW (7.0.0)) date 2023-03-18 07:41:40*
|
||||||
|
%MOMM*%
|
||||||
|
%LPD*%
|
||||||
|
G01*
|
||||||
|
G04 APERTURE LIST*
|
||||||
|
%ADD10O,3.500000X2.700000*%
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
D10*
|
||||||
|
%TO.C,H1*%
|
||||||
|
X138143614Y-51396883D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,H2*%
|
||||||
|
X167143614Y-51396883D03*
|
||||||
|
%TD*%
|
||||||
|
M02*
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,(7.0.0)*%
|
||||||
|
%TF.CreationDate,2023-03-18T07:41:40+03:00*%
|
||||||
|
%TF.ProjectId,StudioMic,53747564-696f-44d6-9963-2e6b69636164,1*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Paste,Bot*%
|
||||||
|
%TF.FilePolarity,Positive*%
|
||||||
|
%FSLAX46Y46*%
|
||||||
|
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW (7.0.0)) date 2023-03-18 07:41:40*
|
||||||
|
%MOMM*%
|
||||||
|
%LPD*%
|
||||||
|
G01*
|
||||||
|
G04 APERTURE LIST*
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
M02*
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,(7.0.0)*%
|
||||||
|
%TF.CreationDate,2023-03-18T07:41:40+03:00*%
|
||||||
|
%TF.ProjectId,StudioMic,53747564-696f-44d6-9963-2e6b69636164,1*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Legend,Bot*%
|
||||||
|
%TF.FilePolarity,Positive*%
|
||||||
|
%FSLAX46Y46*%
|
||||||
|
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW (7.0.0)) date 2023-03-18 07:41:40*
|
||||||
|
%MOMM*%
|
||||||
|
%LPD*%
|
||||||
|
G01*
|
||||||
|
G04 APERTURE LIST*
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
M02*
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,(7.0.0)*%
|
||||||
|
%TF.CreationDate,2023-03-18T07:41:40+03:00*%
|
||||||
|
%TF.ProjectId,StudioMic,53747564-696f-44d6-9963-2e6b69636164,1*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Profile,NP*%
|
||||||
|
%FSLAX46Y46*%
|
||||||
|
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW (7.0.0)) date 2023-03-18 07:41:40*
|
||||||
|
%MOMM*%
|
||||||
|
%LPD*%
|
||||||
|
G01*
|
||||||
|
G04 APERTURE LIST*
|
||||||
|
%TA.AperFunction,Profile*%
|
||||||
|
%ADD10C,0.100000*%
|
||||||
|
%TD*%
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
D10*
|
||||||
|
X169643615Y-130140653D02*
|
||||||
|
X169735615Y-130140653D01*
|
||||||
|
X138620616Y-133095115D02*
|
||||||
|
G75*
|
||||||
|
G03*
|
||||||
|
X135664384Y-130138884I-2956216J15D01*
|
||||||
|
G01*
|
||||||
|
X135664384Y-130138884D02*
|
||||||
|
X135572384Y-130138884D01*
|
||||||
|
X173092835Y-49373211D02*
|
||||||
|
G75*
|
||||||
|
G03*
|
||||||
|
X171816501Y-48096877I-1276334J0D01*
|
||||||
|
G01*
|
||||||
|
X133470225Y-48096877D02*
|
||||||
|
G75*
|
||||||
|
G03*
|
||||||
|
X132193891Y-49373211I0J-1276334D01*
|
||||||
|
G01*
|
||||||
|
X132193891Y-49373211D02*
|
||||||
|
X135572384Y-130138884D01*
|
||||||
|
X133470225Y-48096877D02*
|
||||||
|
X171816501Y-48096877D01*
|
||||||
|
X173092835Y-49373211D02*
|
||||||
|
X169735615Y-130140653D01*
|
||||||
|
X169643615Y-130140684D02*
|
||||||
|
G75*
|
||||||
|
G03*
|
||||||
|
X166687384Y-133096884I-15J-2956216D01*
|
||||||
|
G01*
|
||||||
|
X138620615Y-133095115D02*
|
||||||
|
X166687384Y-133096884D01*
|
||||||
|
M02*
|
||||||
1209
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/Gerbers/StudioMic-F_Cu.gbr
Executable file
|
|
@ -0,0 +1,344 @@
|
||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,(7.0.0)*%
|
||||||
|
%TF.CreationDate,2023-03-18T07:41:40+03:00*%
|
||||||
|
%TF.ProjectId,StudioMic,53747564-696f-44d6-9963-2e6b69636164,1*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Soldermask,Top*%
|
||||||
|
%TF.FilePolarity,Negative*%
|
||||||
|
%FSLAX46Y46*%
|
||||||
|
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW (7.0.0)) date 2023-03-18 07:41:40*
|
||||||
|
%MOMM*%
|
||||||
|
%LPD*%
|
||||||
|
G01*
|
||||||
|
G04 APERTURE LIST*
|
||||||
|
G04 Aperture macros list*
|
||||||
|
%AMRoundRect*
|
||||||
|
0 Rectangle with rounded corners*
|
||||||
|
0 $1 Rounding radius*
|
||||||
|
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
|
||||||
|
0 Add a 4 corners polygon primitive as box body*
|
||||||
|
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
|
||||||
|
0 Add four circle primitives for the rounded corners*
|
||||||
|
1,1,$1+$1,$2,$3*
|
||||||
|
1,1,$1+$1,$4,$5*
|
||||||
|
1,1,$1+$1,$6,$7*
|
||||||
|
1,1,$1+$1,$8,$9*
|
||||||
|
0 Add four rect primitives between the rounded corners*
|
||||||
|
20,1,$1+$1,$2,$3,$4,$5,0*
|
||||||
|
20,1,$1+$1,$4,$5,$6,$7,0*
|
||||||
|
20,1,$1+$1,$6,$7,$8,$9,0*
|
||||||
|
20,1,$1+$1,$8,$9,$2,$3,0*%
|
||||||
|
G04 Aperture macros list end*
|
||||||
|
%ADD10RoundRect,0.250000X-0.475000X0.250000X-0.475000X-0.250000X0.475000X-0.250000X0.475000X0.250000X0*%
|
||||||
|
%ADD11RoundRect,0.250000X0.475000X-0.250000X0.475000X0.250000X-0.475000X0.250000X-0.475000X-0.250000X0*%
|
||||||
|
%ADD12RoundRect,0.150000X0.150000X-0.825000X0.150000X0.825000X-0.150000X0.825000X-0.150000X-0.825000X0*%
|
||||||
|
%ADD13RoundRect,0.250000X-0.600000X1.400000X-0.600000X-1.400000X0.600000X-1.400000X0.600000X1.400000X0*%
|
||||||
|
%ADD14RoundRect,0.250000X0.450000X-0.262500X0.450000X0.262500X-0.450000X0.262500X-0.450000X-0.262500X0*%
|
||||||
|
%ADD15RoundRect,0.250000X0.262500X0.450000X-0.262500X0.450000X-0.262500X-0.450000X0.262500X-0.450000X0*%
|
||||||
|
%ADD16RoundRect,0.250000X-0.250000X0.250000X-0.250000X-0.250000X0.250000X-0.250000X0.250000X0.250000X0*%
|
||||||
|
%ADD17RoundRect,0.250000X1.950000X1.000000X-1.950000X1.000000X-1.950000X-1.000000X1.950000X-1.000000X0*%
|
||||||
|
%ADD18RoundRect,0.250000X-0.450000X0.262500X-0.450000X-0.262500X0.450000X-0.262500X0.450000X0.262500X0*%
|
||||||
|
%ADD19RoundRect,0.250000X-0.262500X-0.450000X0.262500X-0.450000X0.262500X0.450000X-0.262500X0.450000X0*%
|
||||||
|
%ADD20RoundRect,0.250000X-0.250000X-0.475000X0.250000X-0.475000X0.250000X0.475000X-0.250000X0.475000X0*%
|
||||||
|
%ADD21RoundRect,0.250000X0.250000X0.475000X-0.250000X0.475000X-0.250000X-0.475000X0.250000X-0.475000X0*%
|
||||||
|
%ADD22O,3.500000X2.700000*%
|
||||||
|
%ADD23RoundRect,0.250000X0.250000X0.250000X-0.250000X0.250000X-0.250000X-0.250000X0.250000X-0.250000X0*%
|
||||||
|
%ADD24RoundRect,0.250000X1.000000X-1.950000X1.000000X1.950000X-1.000000X1.950000X-1.000000X-1.950000X0*%
|
||||||
|
%ADD25RoundRect,0.500000X-0.500000X-0.500000X0.500000X-0.500000X0.500000X0.500000X-0.500000X0.500000X0*%
|
||||||
|
%ADD26RoundRect,0.250000X-1.950000X-1.000000X1.950000X-1.000000X1.950000X1.000000X-1.950000X1.000000X0*%
|
||||||
|
%ADD27RoundRect,0.250000X-0.250000X-0.250000X0.250000X-0.250000X0.250000X0.250000X-0.250000X0.250000X0*%
|
||||||
|
%ADD28RoundRect,0.250000X-1.000000X1.950000X-1.000000X-1.950000X1.000000X-1.950000X1.000000X1.950000X0*%
|
||||||
|
%ADD29RoundRect,0.150000X-0.150000X0.825000X-0.150000X-0.825000X0.150000X-0.825000X0.150000X0.825000X0*%
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
D10*
|
||||||
|
%TO.C,C12*%
|
||||||
|
X162282500Y-79353400D03*
|
||||||
|
X162282500Y-77453400D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,C8*%
|
||||||
|
X145087000Y-63688000D03*
|
||||||
|
X145087000Y-61788000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,C16*%
|
||||||
|
X159385000Y-65871000D03*
|
||||||
|
X159385000Y-67771000D03*
|
||||||
|
%TD*%
|
||||||
|
D12*
|
||||||
|
%TO.C,U2*%
|
||||||
|
X157126300Y-69944200D03*
|
||||||
|
X158396300Y-69944200D03*
|
||||||
|
X159666300Y-69944200D03*
|
||||||
|
X160936300Y-69944200D03*
|
||||||
|
X162206300Y-69944200D03*
|
||||||
|
X163476300Y-69944200D03*
|
||||||
|
X164746300Y-69944200D03*
|
||||||
|
X164746300Y-74894200D03*
|
||||||
|
X163476300Y-74894200D03*
|
||||||
|
X162206300Y-74894200D03*
|
||||||
|
X160936300Y-74894200D03*
|
||||||
|
X159666300Y-74894200D03*
|
||||||
|
X158396300Y-74894200D03*
|
||||||
|
X157126300Y-74894200D03*
|
||||||
|
%TD*%
|
||||||
|
D13*
|
||||||
|
%TO.C,D1*%
|
||||||
|
X161671000Y-92666000D03*
|
||||||
|
X161671000Y-87166000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,R12*%
|
||||||
|
X153138500Y-62333500D03*
|
||||||
|
X153138500Y-64158500D03*
|
||||||
|
%TD*%
|
||||||
|
D15*
|
||||||
|
%TO.C,R5*%
|
||||||
|
X151821500Y-80156000D03*
|
||||||
|
X153646500Y-80156000D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,R10*%
|
||||||
|
X161522400Y-60598000D03*
|
||||||
|
X163347400Y-60598000D03*
|
||||||
|
%TD*%
|
||||||
|
D16*
|
||||||
|
%TO.C,D8*%
|
||||||
|
X157353000Y-65896800D03*
|
||||||
|
X157353000Y-63396800D03*
|
||||||
|
%TD*%
|
||||||
|
D17*
|
||||||
|
%TO.C,C3*%
|
||||||
|
X155771500Y-101600000D03*
|
||||||
|
X163171500Y-101600000D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R2*%
|
||||||
|
X152630500Y-121285000D03*
|
||||||
|
X152630500Y-119460000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R6*%
|
||||||
|
X151384000Y-76346000D03*
|
||||||
|
X149559000Y-76346000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C15*%
|
||||||
|
X164399000Y-67456000D03*
|
||||||
|
X162499000Y-67456000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,C11*%
|
||||||
|
X160250500Y-79353400D03*
|
||||||
|
X160250500Y-77453400D03*
|
||||||
|
%TD*%
|
||||||
|
D21*
|
||||||
|
%TO.C,C17*%
|
||||||
|
X161510300Y-62630000D03*
|
||||||
|
X163410300Y-62630000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,H1*%
|
||||||
|
X138143614Y-51396883D03*
|
||||||
|
%TD*%
|
||||||
|
D23*
|
||||||
|
%TO.C,D3*%
|
||||||
|
X161819900Y-81146600D03*
|
||||||
|
X164319900Y-81146600D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R9*%
|
||||||
|
X159666300Y-63908300D03*
|
||||||
|
X159666300Y-62083300D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R3*%
|
||||||
|
X163322000Y-118110000D03*
|
||||||
|
X161497000Y-118110000D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,R11*%
|
||||||
|
X150391500Y-69361000D03*
|
||||||
|
X148566500Y-69361000D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R101*%
|
||||||
|
X136144000Y-58189500D03*
|
||||||
|
X136144000Y-56364500D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,R102*%
|
||||||
|
X136144000Y-61642000D03*
|
||||||
|
X136144000Y-59817000D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,R105*%
|
||||||
|
X136144000Y-71905500D03*
|
||||||
|
X136144000Y-70080500D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R7*%
|
||||||
|
X149582500Y-74314000D03*
|
||||||
|
X147757500Y-74314000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,C10*%
|
||||||
|
X155348300Y-69919800D03*
|
||||||
|
X155348300Y-71819800D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R4*%
|
||||||
|
X163322000Y-120396000D03*
|
||||||
|
X161497000Y-120396000D03*
|
||||||
|
%TD*%
|
||||||
|
D24*
|
||||||
|
%TO.C,C1*%
|
||||||
|
X157099000Y-108568000D03*
|
||||||
|
X157099000Y-115968000D03*
|
||||||
|
%TD*%
|
||||||
|
D25*
|
||||||
|
%TO.C,J1*%
|
||||||
|
X157630500Y-123444000D03*
|
||||||
|
X152630500Y-123444000D03*
|
||||||
|
X147630500Y-123444000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,C13*%
|
||||||
|
X164289100Y-79363600D03*
|
||||||
|
X164289100Y-77463600D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C19*%
|
||||||
|
X150683000Y-58928000D03*
|
||||||
|
X148783000Y-58928000D03*
|
||||||
|
%TD*%
|
||||||
|
D26*
|
||||||
|
%TO.C,C7*%
|
||||||
|
X155465000Y-88646000D03*
|
||||||
|
X148065000Y-88646000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R107*%
|
||||||
|
X141247500Y-73660000D03*
|
||||||
|
X139422500Y-73660000D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R1*%
|
||||||
|
X157964500Y-121285000D03*
|
||||||
|
X157964500Y-119460000D03*
|
||||||
|
%TD*%
|
||||||
|
D27*
|
||||||
|
%TO.C,D7*%
|
||||||
|
X164318000Y-64916000D03*
|
||||||
|
X161818000Y-64916000D03*
|
||||||
|
%TD*%
|
||||||
|
D21*
|
||||||
|
%TO.C,C9*%
|
||||||
|
X156481100Y-79048600D03*
|
||||||
|
X158381100Y-79048600D03*
|
||||||
|
%TD*%
|
||||||
|
D23*
|
||||||
|
%TO.C,D2*%
|
||||||
|
X157349500Y-81934000D03*
|
||||||
|
X159849500Y-81934000D03*
|
||||||
|
%TD*%
|
||||||
|
D15*
|
||||||
|
%TO.C,R13*%
|
||||||
|
X155471500Y-56388000D03*
|
||||||
|
X153646500Y-56388000D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,R8*%
|
||||||
|
X156544000Y-77092800D03*
|
||||||
|
X158369000Y-77092800D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R103*%
|
||||||
|
X136144000Y-65047500D03*
|
||||||
|
X136144000Y-63222500D03*
|
||||||
|
%TD*%
|
||||||
|
D16*
|
||||||
|
%TO.C,D4*%
|
||||||
|
X166295700Y-81162200D03*
|
||||||
|
X166295700Y-78662200D03*
|
||||||
|
%TD*%
|
||||||
|
D25*
|
||||||
|
%TO.C,MK1*%
|
||||||
|
X151304000Y-56388000D03*
|
||||||
|
X141304000Y-56388000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,C18*%
|
||||||
|
X165608000Y-60537000D03*
|
||||||
|
X165608000Y-62437000D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R104*%
|
||||||
|
X136144000Y-68476500D03*
|
||||||
|
X136144000Y-66651500D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R108*%
|
||||||
|
X144676500Y-73660000D03*
|
||||||
|
X142851500Y-73660000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,H2*%
|
||||||
|
X167143614Y-51396883D03*
|
||||||
|
%TD*%
|
||||||
|
D16*
|
||||||
|
%TO.C,D6*%
|
||||||
|
X167005000Y-68325000D03*
|
||||||
|
X167005000Y-65825000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,R109*%
|
||||||
|
X144526000Y-70080500D03*
|
||||||
|
X144526000Y-71905500D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,C4*%
|
||||||
|
X164084000Y-88839000D03*
|
||||||
|
X164084000Y-90739000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R106*%
|
||||||
|
X137795000Y-73660000D03*
|
||||||
|
X135970000Y-73660000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,C14*%
|
||||||
|
X166549700Y-71896000D03*
|
||||||
|
X166549700Y-69996000D03*
|
||||||
|
%TD*%
|
||||||
|
D16*
|
||||||
|
%TO.C,D5*%
|
||||||
|
X166676700Y-76234600D03*
|
||||||
|
X166676700Y-73734600D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,C6*%
|
||||||
|
X149813000Y-79968000D03*
|
||||||
|
X149813000Y-81868000D03*
|
||||||
|
%TD*%
|
||||||
|
D24*
|
||||||
|
%TO.C,C2*%
|
||||||
|
X147447000Y-110981000D03*
|
||||||
|
X147447000Y-118381000D03*
|
||||||
|
%TD*%
|
||||||
|
D28*
|
||||||
|
%TO.C,C5*%
|
||||||
|
X147447000Y-103903000D03*
|
||||||
|
X147447000Y-96503000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,R110*%
|
||||||
|
X144526000Y-66651500D03*
|
||||||
|
X144526000Y-68476500D03*
|
||||||
|
%TD*%
|
||||||
|
D29*
|
||||||
|
%TO.C,U1*%
|
||||||
|
X151233500Y-67010000D03*
|
||||||
|
X149963500Y-67010000D03*
|
||||||
|
X148693500Y-67010000D03*
|
||||||
|
X147423500Y-67010000D03*
|
||||||
|
X147423500Y-62060000D03*
|
||||||
|
X148693500Y-62060000D03*
|
||||||
|
X149963500Y-62060000D03*
|
||||||
|
X151233500Y-62060000D03*
|
||||||
|
%TD*%
|
||||||
|
M02*
|
||||||
|
|
@ -0,0 +1,335 @@
|
||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,(7.0.0)*%
|
||||||
|
%TF.CreationDate,2023-03-18T07:41:40+03:00*%
|
||||||
|
%TF.ProjectId,StudioMic,53747564-696f-44d6-9963-2e6b69636164,1*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Paste,Top*%
|
||||||
|
%TF.FilePolarity,Positive*%
|
||||||
|
%FSLAX46Y46*%
|
||||||
|
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW (7.0.0)) date 2023-03-18 07:41:40*
|
||||||
|
%MOMM*%
|
||||||
|
%LPD*%
|
||||||
|
G01*
|
||||||
|
G04 APERTURE LIST*
|
||||||
|
G04 Aperture macros list*
|
||||||
|
%AMRoundRect*
|
||||||
|
0 Rectangle with rounded corners*
|
||||||
|
0 $1 Rounding radius*
|
||||||
|
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
|
||||||
|
0 Add a 4 corners polygon primitive as box body*
|
||||||
|
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
|
||||||
|
0 Add four circle primitives for the rounded corners*
|
||||||
|
1,1,$1+$1,$2,$3*
|
||||||
|
1,1,$1+$1,$4,$5*
|
||||||
|
1,1,$1+$1,$6,$7*
|
||||||
|
1,1,$1+$1,$8,$9*
|
||||||
|
0 Add four rect primitives between the rounded corners*
|
||||||
|
20,1,$1+$1,$2,$3,$4,$5,0*
|
||||||
|
20,1,$1+$1,$4,$5,$6,$7,0*
|
||||||
|
20,1,$1+$1,$6,$7,$8,$9,0*
|
||||||
|
20,1,$1+$1,$8,$9,$2,$3,0*%
|
||||||
|
G04 Aperture macros list end*
|
||||||
|
%ADD10RoundRect,0.250000X-0.475000X0.250000X-0.475000X-0.250000X0.475000X-0.250000X0.475000X0.250000X0*%
|
||||||
|
%ADD11RoundRect,0.250000X0.475000X-0.250000X0.475000X0.250000X-0.475000X0.250000X-0.475000X-0.250000X0*%
|
||||||
|
%ADD12RoundRect,0.150000X0.150000X-0.825000X0.150000X0.825000X-0.150000X0.825000X-0.150000X-0.825000X0*%
|
||||||
|
%ADD13RoundRect,0.250000X-0.600000X1.400000X-0.600000X-1.400000X0.600000X-1.400000X0.600000X1.400000X0*%
|
||||||
|
%ADD14RoundRect,0.250000X0.450000X-0.262500X0.450000X0.262500X-0.450000X0.262500X-0.450000X-0.262500X0*%
|
||||||
|
%ADD15RoundRect,0.250000X0.262500X0.450000X-0.262500X0.450000X-0.262500X-0.450000X0.262500X-0.450000X0*%
|
||||||
|
%ADD16RoundRect,0.250000X-0.250000X0.250000X-0.250000X-0.250000X0.250000X-0.250000X0.250000X0.250000X0*%
|
||||||
|
%ADD17RoundRect,0.250000X1.950000X1.000000X-1.950000X1.000000X-1.950000X-1.000000X1.950000X-1.000000X0*%
|
||||||
|
%ADD18RoundRect,0.250000X-0.450000X0.262500X-0.450000X-0.262500X0.450000X-0.262500X0.450000X0.262500X0*%
|
||||||
|
%ADD19RoundRect,0.250000X-0.262500X-0.450000X0.262500X-0.450000X0.262500X0.450000X-0.262500X0.450000X0*%
|
||||||
|
%ADD20RoundRect,0.250000X-0.250000X-0.475000X0.250000X-0.475000X0.250000X0.475000X-0.250000X0.475000X0*%
|
||||||
|
%ADD21RoundRect,0.250000X0.250000X0.475000X-0.250000X0.475000X-0.250000X-0.475000X0.250000X-0.475000X0*%
|
||||||
|
%ADD22RoundRect,0.250000X0.250000X0.250000X-0.250000X0.250000X-0.250000X-0.250000X0.250000X-0.250000X0*%
|
||||||
|
%ADD23RoundRect,0.250000X1.000000X-1.950000X1.000000X1.950000X-1.000000X1.950000X-1.000000X-1.950000X0*%
|
||||||
|
%ADD24RoundRect,0.500000X-0.500000X-0.500000X0.500000X-0.500000X0.500000X0.500000X-0.500000X0.500000X0*%
|
||||||
|
%ADD25RoundRect,0.250000X-1.950000X-1.000000X1.950000X-1.000000X1.950000X1.000000X-1.950000X1.000000X0*%
|
||||||
|
%ADD26RoundRect,0.250000X-0.250000X-0.250000X0.250000X-0.250000X0.250000X0.250000X-0.250000X0.250000X0*%
|
||||||
|
%ADD27RoundRect,0.250000X-1.000000X1.950000X-1.000000X-1.950000X1.000000X-1.950000X1.000000X1.950000X0*%
|
||||||
|
%ADD28RoundRect,0.150000X-0.150000X0.825000X-0.150000X-0.825000X0.150000X-0.825000X0.150000X0.825000X0*%
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
D10*
|
||||||
|
%TO.C,C12*%
|
||||||
|
X162282500Y-79353400D03*
|
||||||
|
X162282500Y-77453400D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,C8*%
|
||||||
|
X145087000Y-63688000D03*
|
||||||
|
X145087000Y-61788000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,C16*%
|
||||||
|
X159385000Y-65871000D03*
|
||||||
|
X159385000Y-67771000D03*
|
||||||
|
%TD*%
|
||||||
|
D12*
|
||||||
|
%TO.C,U2*%
|
||||||
|
X157126300Y-69944200D03*
|
||||||
|
X158396300Y-69944200D03*
|
||||||
|
X159666300Y-69944200D03*
|
||||||
|
X160936300Y-69944200D03*
|
||||||
|
X162206300Y-69944200D03*
|
||||||
|
X163476300Y-69944200D03*
|
||||||
|
X164746300Y-69944200D03*
|
||||||
|
X164746300Y-74894200D03*
|
||||||
|
X163476300Y-74894200D03*
|
||||||
|
X162206300Y-74894200D03*
|
||||||
|
X160936300Y-74894200D03*
|
||||||
|
X159666300Y-74894200D03*
|
||||||
|
X158396300Y-74894200D03*
|
||||||
|
X157126300Y-74894200D03*
|
||||||
|
%TD*%
|
||||||
|
D13*
|
||||||
|
%TO.C,D1*%
|
||||||
|
X161671000Y-92666000D03*
|
||||||
|
X161671000Y-87166000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,R12*%
|
||||||
|
X153138500Y-62333500D03*
|
||||||
|
X153138500Y-64158500D03*
|
||||||
|
%TD*%
|
||||||
|
D15*
|
||||||
|
%TO.C,R5*%
|
||||||
|
X151821500Y-80156000D03*
|
||||||
|
X153646500Y-80156000D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,R10*%
|
||||||
|
X161522400Y-60598000D03*
|
||||||
|
X163347400Y-60598000D03*
|
||||||
|
%TD*%
|
||||||
|
D16*
|
||||||
|
%TO.C,D8*%
|
||||||
|
X157353000Y-65896800D03*
|
||||||
|
X157353000Y-63396800D03*
|
||||||
|
%TD*%
|
||||||
|
D17*
|
||||||
|
%TO.C,C3*%
|
||||||
|
X155771500Y-101600000D03*
|
||||||
|
X163171500Y-101600000D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R2*%
|
||||||
|
X152630500Y-121285000D03*
|
||||||
|
X152630500Y-119460000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R6*%
|
||||||
|
X151384000Y-76346000D03*
|
||||||
|
X149559000Y-76346000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C15*%
|
||||||
|
X164399000Y-67456000D03*
|
||||||
|
X162499000Y-67456000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,C11*%
|
||||||
|
X160250500Y-79353400D03*
|
||||||
|
X160250500Y-77453400D03*
|
||||||
|
%TD*%
|
||||||
|
D21*
|
||||||
|
%TO.C,C17*%
|
||||||
|
X161510300Y-62630000D03*
|
||||||
|
X163410300Y-62630000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,D3*%
|
||||||
|
X161819900Y-81146600D03*
|
||||||
|
X164319900Y-81146600D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R9*%
|
||||||
|
X159666300Y-63908300D03*
|
||||||
|
X159666300Y-62083300D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R3*%
|
||||||
|
X163322000Y-118110000D03*
|
||||||
|
X161497000Y-118110000D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,R11*%
|
||||||
|
X150391500Y-69361000D03*
|
||||||
|
X148566500Y-69361000D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R101*%
|
||||||
|
X136144000Y-58189500D03*
|
||||||
|
X136144000Y-56364500D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,R102*%
|
||||||
|
X136144000Y-61642000D03*
|
||||||
|
X136144000Y-59817000D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,R105*%
|
||||||
|
X136144000Y-71905500D03*
|
||||||
|
X136144000Y-70080500D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R7*%
|
||||||
|
X149582500Y-74314000D03*
|
||||||
|
X147757500Y-74314000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,C10*%
|
||||||
|
X155348300Y-69919800D03*
|
||||||
|
X155348300Y-71819800D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R4*%
|
||||||
|
X163322000Y-120396000D03*
|
||||||
|
X161497000Y-120396000D03*
|
||||||
|
%TD*%
|
||||||
|
D23*
|
||||||
|
%TO.C,C1*%
|
||||||
|
X157099000Y-108568000D03*
|
||||||
|
X157099000Y-115968000D03*
|
||||||
|
%TD*%
|
||||||
|
D24*
|
||||||
|
%TO.C,J1*%
|
||||||
|
X157630500Y-123444000D03*
|
||||||
|
X152630500Y-123444000D03*
|
||||||
|
X147630500Y-123444000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,C13*%
|
||||||
|
X164289100Y-79363600D03*
|
||||||
|
X164289100Y-77463600D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C19*%
|
||||||
|
X150683000Y-58928000D03*
|
||||||
|
X148783000Y-58928000D03*
|
||||||
|
%TD*%
|
||||||
|
D25*
|
||||||
|
%TO.C,C7*%
|
||||||
|
X155465000Y-88646000D03*
|
||||||
|
X148065000Y-88646000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R107*%
|
||||||
|
X141247500Y-73660000D03*
|
||||||
|
X139422500Y-73660000D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R1*%
|
||||||
|
X157964500Y-121285000D03*
|
||||||
|
X157964500Y-119460000D03*
|
||||||
|
%TD*%
|
||||||
|
D26*
|
||||||
|
%TO.C,D7*%
|
||||||
|
X164318000Y-64916000D03*
|
||||||
|
X161818000Y-64916000D03*
|
||||||
|
%TD*%
|
||||||
|
D21*
|
||||||
|
%TO.C,C9*%
|
||||||
|
X156481100Y-79048600D03*
|
||||||
|
X158381100Y-79048600D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,D2*%
|
||||||
|
X157349500Y-81934000D03*
|
||||||
|
X159849500Y-81934000D03*
|
||||||
|
%TD*%
|
||||||
|
D15*
|
||||||
|
%TO.C,R13*%
|
||||||
|
X155471500Y-56388000D03*
|
||||||
|
X153646500Y-56388000D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,R8*%
|
||||||
|
X156544000Y-77092800D03*
|
||||||
|
X158369000Y-77092800D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R103*%
|
||||||
|
X136144000Y-65047500D03*
|
||||||
|
X136144000Y-63222500D03*
|
||||||
|
%TD*%
|
||||||
|
D16*
|
||||||
|
%TO.C,D4*%
|
||||||
|
X166295700Y-81162200D03*
|
||||||
|
X166295700Y-78662200D03*
|
||||||
|
%TD*%
|
||||||
|
D24*
|
||||||
|
%TO.C,MK1*%
|
||||||
|
X151304000Y-56388000D03*
|
||||||
|
X141304000Y-56388000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,C18*%
|
||||||
|
X165608000Y-60537000D03*
|
||||||
|
X165608000Y-62437000D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R104*%
|
||||||
|
X136144000Y-68476500D03*
|
||||||
|
X136144000Y-66651500D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R108*%
|
||||||
|
X144676500Y-73660000D03*
|
||||||
|
X142851500Y-73660000D03*
|
||||||
|
%TD*%
|
||||||
|
D16*
|
||||||
|
%TO.C,D6*%
|
||||||
|
X167005000Y-68325000D03*
|
||||||
|
X167005000Y-65825000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,R109*%
|
||||||
|
X144526000Y-70080500D03*
|
||||||
|
X144526000Y-71905500D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,C4*%
|
||||||
|
X164084000Y-88839000D03*
|
||||||
|
X164084000Y-90739000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R106*%
|
||||||
|
X137795000Y-73660000D03*
|
||||||
|
X135970000Y-73660000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,C14*%
|
||||||
|
X166549700Y-71896000D03*
|
||||||
|
X166549700Y-69996000D03*
|
||||||
|
%TD*%
|
||||||
|
D16*
|
||||||
|
%TO.C,D5*%
|
||||||
|
X166676700Y-76234600D03*
|
||||||
|
X166676700Y-73734600D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,C6*%
|
||||||
|
X149813000Y-79968000D03*
|
||||||
|
X149813000Y-81868000D03*
|
||||||
|
%TD*%
|
||||||
|
D23*
|
||||||
|
%TO.C,C2*%
|
||||||
|
X147447000Y-110981000D03*
|
||||||
|
X147447000Y-118381000D03*
|
||||||
|
%TD*%
|
||||||
|
D27*
|
||||||
|
%TO.C,C5*%
|
||||||
|
X147447000Y-103903000D03*
|
||||||
|
X147447000Y-96503000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,R110*%
|
||||||
|
X144526000Y-66651500D03*
|
||||||
|
X144526000Y-68476500D03*
|
||||||
|
%TD*%
|
||||||
|
D28*
|
||||||
|
%TO.C,U1*%
|
||||||
|
X151233500Y-67010000D03*
|
||||||
|
X149963500Y-67010000D03*
|
||||||
|
X148693500Y-67010000D03*
|
||||||
|
X147423500Y-67010000D03*
|
||||||
|
X147423500Y-62060000D03*
|
||||||
|
X148693500Y-62060000D03*
|
||||||
|
X149963500Y-62060000D03*
|
||||||
|
X151233500Y-62060000D03*
|
||||||
|
%TD*%
|
||||||
|
M02*
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
M48
|
||||||
|
; DRILL file {KiCad (7.0.0)} date Sat Mar 18 07:41:42 2023
|
||||||
|
; FORMAT={-:-/ absolute / metric / decimal}
|
||||||
|
; #@! TF.CreationDate,2023-03-18T07:41:42+03:00
|
||||||
|
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(7.0.0)
|
||||||
|
; #@! TF.FileFunction,NonPlated,1,2,NPTH
|
||||||
|
FMAT,2
|
||||||
|
METRIC
|
||||||
|
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
|
||||||
|
T1C2.700
|
||||||
|
%
|
||||||
|
G90
|
||||||
|
G05
|
||||||
|
T1
|
||||||
|
G00X137.744Y-51.397
|
||||||
|
M15
|
||||||
|
G01X138.544Y-51.397
|
||||||
|
M16
|
||||||
|
G05
|
||||||
|
G00X166.744Y-51.397
|
||||||
|
M15
|
||||||
|
G01X167.544Y-51.397
|
||||||
|
M16
|
||||||
|
G05
|
||||||
|
T0
|
||||||
|
M30
|
||||||
|
|
@ -0,0 +1,787 @@
|
||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,(7.0.0)*%
|
||||||
|
%TF.CreationDate,2023-03-18T07:41:42+03:00*%
|
||||||
|
%TF.ProjectId,StudioMic,53747564-696f-44d6-9963-2e6b69636164,1*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Drillmap*%
|
||||||
|
%TF.FilePolarity,Positive*%
|
||||||
|
%FSLAX45Y45*%
|
||||||
|
G04 Gerber Fmt 4.5, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW (7.0.0)) date 2023-03-18 07:41:42*
|
||||||
|
%MOMM*%
|
||||||
|
%LPD*%
|
||||||
|
G01*
|
||||||
|
G04 APERTURE LIST*
|
||||||
|
%ADD10C,0.100000*%
|
||||||
|
%ADD11C,0.200000*%
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
D10*
|
||||||
|
X16964362Y-13014065D02*
|
||||||
|
X16973562Y-13014065D01*
|
||||||
|
X13862062Y-13309511D02*
|
||||||
|
G75*
|
||||||
|
G03*
|
||||||
|
X13566438Y-13013888I-295622J2D01*
|
||||||
|
G01*
|
||||||
|
X13566438Y-13013888D02*
|
||||||
|
X13557238Y-13013888D01*
|
||||||
|
X17309284Y-4937321D02*
|
||||||
|
G75*
|
||||||
|
G03*
|
||||||
|
X17181650Y-4809688I-127633J0D01*
|
||||||
|
G01*
|
||||||
|
X13347022Y-4809688D02*
|
||||||
|
G75*
|
||||||
|
G03*
|
||||||
|
X13219389Y-4937321I0J-127633D01*
|
||||||
|
G01*
|
||||||
|
X13219389Y-4937321D02*
|
||||||
|
X13557238Y-13013888D01*
|
||||||
|
X13347022Y-4809688D02*
|
||||||
|
X17181650Y-4809688D01*
|
||||||
|
X17309284Y-4937321D02*
|
||||||
|
X16973562Y-13014065D01*
|
||||||
|
X16964362Y-13014068D02*
|
||||||
|
G75*
|
||||||
|
G03*
|
||||||
|
X16668738Y-13309688I-2J-295622D01*
|
||||||
|
G01*
|
||||||
|
X13862061Y-13309511D02*
|
||||||
|
X16668738Y-13309688D01*
|
||||||
|
D11*
|
||||||
|
D10*
|
||||||
|
X14326400Y-10783100D02*
|
||||||
|
X14426400Y-10883100D01*
|
||||||
|
X14426400Y-10783100D02*
|
||||||
|
X14326400Y-10883100D01*
|
||||||
|
X14453400Y-5906300D02*
|
||||||
|
X14553400Y-6006300D01*
|
||||||
|
X14553400Y-5906300D02*
|
||||||
|
X14453400Y-6006300D01*
|
||||||
|
X14745500Y-7773200D02*
|
||||||
|
X14845500Y-7873200D01*
|
||||||
|
X14845500Y-7773200D02*
|
||||||
|
X14745500Y-7873200D01*
|
||||||
|
X14989150Y-7125500D02*
|
||||||
|
X15089150Y-7225500D01*
|
||||||
|
X15089150Y-7125500D02*
|
||||||
|
X14989150Y-7225500D01*
|
||||||
|
X15113800Y-10643400D02*
|
||||||
|
X15213800Y-10743400D01*
|
||||||
|
X15213800Y-10643400D02*
|
||||||
|
X15113800Y-10743400D01*
|
||||||
|
X15291600Y-5931700D02*
|
||||||
|
X15391600Y-6031700D01*
|
||||||
|
X15391600Y-5931700D02*
|
||||||
|
X15291600Y-6031700D01*
|
||||||
|
X15317000Y-7722400D02*
|
||||||
|
X15417000Y-7822400D01*
|
||||||
|
X15417000Y-7722400D02*
|
||||||
|
X15317000Y-7822400D01*
|
||||||
|
X15432250Y-6732750D02*
|
||||||
|
X15532250Y-6832750D01*
|
||||||
|
X15532250Y-6732750D02*
|
||||||
|
X15432250Y-6832750D01*
|
||||||
|
X15774200Y-5588800D02*
|
||||||
|
X15874200Y-5688800D01*
|
||||||
|
X15874200Y-5588800D02*
|
||||||
|
X15774200Y-5688800D01*
|
||||||
|
X16218700Y-5753900D02*
|
||||||
|
X16318700Y-5853900D01*
|
||||||
|
X16318700Y-5753900D02*
|
||||||
|
X16218700Y-5853900D01*
|
||||||
|
X16282200Y-10351300D02*
|
||||||
|
X16382200Y-10451300D01*
|
||||||
|
X16382200Y-10351300D02*
|
||||||
|
X16282200Y-10451300D01*
|
||||||
|
X16282200Y-10859300D02*
|
||||||
|
X16382200Y-10959300D01*
|
||||||
|
X16382200Y-10859300D02*
|
||||||
|
X16282200Y-10959300D01*
|
||||||
|
D11*
|
||||||
|
X13462008Y-13608164D02*
|
||||||
|
X13462008Y-13408164D01*
|
||||||
|
X13462008Y-13408164D02*
|
||||||
|
X13509627Y-13408164D01*
|
||||||
|
X13509627Y-13408164D02*
|
||||||
|
X13538199Y-13417688D01*
|
||||||
|
X13538199Y-13417688D02*
|
||||||
|
X13557246Y-13436736D01*
|
||||||
|
X13557246Y-13436736D02*
|
||||||
|
X13566770Y-13455784D01*
|
||||||
|
X13566770Y-13455784D02*
|
||||||
|
X13576294Y-13493879D01*
|
||||||
|
X13576294Y-13493879D02*
|
||||||
|
X13576294Y-13522450D01*
|
||||||
|
X13576294Y-13522450D02*
|
||||||
|
X13566770Y-13560545D01*
|
||||||
|
X13566770Y-13560545D02*
|
||||||
|
X13557246Y-13579593D01*
|
||||||
|
X13557246Y-13579593D02*
|
||||||
|
X13538199Y-13598641D01*
|
||||||
|
X13538199Y-13598641D02*
|
||||||
|
X13509627Y-13608164D01*
|
||||||
|
X13509627Y-13608164D02*
|
||||||
|
X13462008Y-13608164D01*
|
||||||
|
X13662008Y-13608164D02*
|
||||||
|
X13662008Y-13474831D01*
|
||||||
|
X13662008Y-13512926D02*
|
||||||
|
X13671532Y-13493879D01*
|
||||||
|
X13671532Y-13493879D02*
|
||||||
|
X13681056Y-13484355D01*
|
||||||
|
X13681056Y-13484355D02*
|
||||||
|
X13700103Y-13474831D01*
|
||||||
|
X13700103Y-13474831D02*
|
||||||
|
X13719151Y-13474831D01*
|
||||||
|
X13785818Y-13608164D02*
|
||||||
|
X13785818Y-13474831D01*
|
||||||
|
X13785818Y-13408164D02*
|
||||||
|
X13776294Y-13417688D01*
|
||||||
|
X13776294Y-13417688D02*
|
||||||
|
X13785818Y-13427212D01*
|
||||||
|
X13785818Y-13427212D02*
|
||||||
|
X13795341Y-13417688D01*
|
||||||
|
X13795341Y-13417688D02*
|
||||||
|
X13785818Y-13408164D01*
|
||||||
|
X13785818Y-13408164D02*
|
||||||
|
X13785818Y-13427212D01*
|
||||||
|
X13909627Y-13608164D02*
|
||||||
|
X13890579Y-13598641D01*
|
||||||
|
X13890579Y-13598641D02*
|
||||||
|
X13881056Y-13579593D01*
|
||||||
|
X13881056Y-13579593D02*
|
||||||
|
X13881056Y-13408164D01*
|
||||||
|
X14014389Y-13608164D02*
|
||||||
|
X13995341Y-13598641D01*
|
||||||
|
X13995341Y-13598641D02*
|
||||||
|
X13985818Y-13579593D01*
|
||||||
|
X13985818Y-13579593D02*
|
||||||
|
X13985818Y-13408164D01*
|
||||||
|
X14210579Y-13608164D02*
|
||||||
|
X14210579Y-13408164D01*
|
||||||
|
X14210579Y-13408164D02*
|
||||||
|
X14277246Y-13551022D01*
|
||||||
|
X14277246Y-13551022D02*
|
||||||
|
X14343913Y-13408164D01*
|
||||||
|
X14343913Y-13408164D02*
|
||||||
|
X14343913Y-13608164D01*
|
||||||
|
X14524865Y-13608164D02*
|
||||||
|
X14524865Y-13503403D01*
|
||||||
|
X14524865Y-13503403D02*
|
||||||
|
X14515341Y-13484355D01*
|
||||||
|
X14515341Y-13484355D02*
|
||||||
|
X14496294Y-13474831D01*
|
||||||
|
X14496294Y-13474831D02*
|
||||||
|
X14458198Y-13474831D01*
|
||||||
|
X14458198Y-13474831D02*
|
||||||
|
X14439151Y-13484355D01*
|
||||||
|
X14524865Y-13598641D02*
|
||||||
|
X14505818Y-13608164D01*
|
||||||
|
X14505818Y-13608164D02*
|
||||||
|
X14458198Y-13608164D01*
|
||||||
|
X14458198Y-13608164D02*
|
||||||
|
X14439151Y-13598641D01*
|
||||||
|
X14439151Y-13598641D02*
|
||||||
|
X14429627Y-13579593D01*
|
||||||
|
X14429627Y-13579593D02*
|
||||||
|
X14429627Y-13560545D01*
|
||||||
|
X14429627Y-13560545D02*
|
||||||
|
X14439151Y-13541498D01*
|
||||||
|
X14439151Y-13541498D02*
|
||||||
|
X14458198Y-13531974D01*
|
||||||
|
X14458198Y-13531974D02*
|
||||||
|
X14505818Y-13531974D01*
|
||||||
|
X14505818Y-13531974D02*
|
||||||
|
X14524865Y-13522450D01*
|
||||||
|
X14620103Y-13474831D02*
|
||||||
|
X14620103Y-13674831D01*
|
||||||
|
X14620103Y-13484355D02*
|
||||||
|
X14639151Y-13474831D01*
|
||||||
|
X14639151Y-13474831D02*
|
||||||
|
X14677246Y-13474831D01*
|
||||||
|
X14677246Y-13474831D02*
|
||||||
|
X14696294Y-13484355D01*
|
||||||
|
X14696294Y-13484355D02*
|
||||||
|
X14705818Y-13493879D01*
|
||||||
|
X14705818Y-13493879D02*
|
||||||
|
X14715341Y-13512926D01*
|
||||||
|
X14715341Y-13512926D02*
|
||||||
|
X14715341Y-13570069D01*
|
||||||
|
X14715341Y-13570069D02*
|
||||||
|
X14705818Y-13589117D01*
|
||||||
|
X14705818Y-13589117D02*
|
||||||
|
X14696294Y-13598641D01*
|
||||||
|
X14696294Y-13598641D02*
|
||||||
|
X14677246Y-13608164D01*
|
||||||
|
X14677246Y-13608164D02*
|
||||||
|
X14639151Y-13608164D01*
|
||||||
|
X14639151Y-13608164D02*
|
||||||
|
X14620103Y-13598641D01*
|
||||||
|
X14801056Y-13589117D02*
|
||||||
|
X14810579Y-13598641D01*
|
||||||
|
X14810579Y-13598641D02*
|
||||||
|
X14801056Y-13608164D01*
|
||||||
|
X14801056Y-13608164D02*
|
||||||
|
X14791532Y-13598641D01*
|
||||||
|
X14791532Y-13598641D02*
|
||||||
|
X14801056Y-13589117D01*
|
||||||
|
X14801056Y-13589117D02*
|
||||||
|
X14801056Y-13608164D01*
|
||||||
|
X14801056Y-13484355D02*
|
||||||
|
X14810579Y-13493879D01*
|
||||||
|
X14810579Y-13493879D02*
|
||||||
|
X14801056Y-13503403D01*
|
||||||
|
X14801056Y-13503403D02*
|
||||||
|
X14791532Y-13493879D01*
|
||||||
|
X14791532Y-13493879D02*
|
||||||
|
X14801056Y-13484355D01*
|
||||||
|
X14801056Y-13484355D02*
|
||||||
|
X14801056Y-13503403D01*
|
||||||
|
D10*
|
||||||
|
X13114389Y-13904688D02*
|
||||||
|
X13214389Y-14004688D01*
|
||||||
|
X13214389Y-13904688D02*
|
||||||
|
X13114389Y-14004688D01*
|
||||||
|
D11*
|
||||||
|
X13566770Y-14028164D02*
|
||||||
|
X13452484Y-14028164D01*
|
||||||
|
X13509627Y-14028164D02*
|
||||||
|
X13509627Y-13828164D01*
|
||||||
|
X13509627Y-13828164D02*
|
||||||
|
X13490579Y-13856736D01*
|
||||||
|
X13490579Y-13856736D02*
|
||||||
|
X13471532Y-13875784D01*
|
||||||
|
X13471532Y-13875784D02*
|
||||||
|
X13452484Y-13885307D01*
|
||||||
|
X13652484Y-14009117D02*
|
||||||
|
X13662008Y-14018641D01*
|
||||||
|
X13662008Y-14018641D02*
|
||||||
|
X13652484Y-14028164D01*
|
||||||
|
X13652484Y-14028164D02*
|
||||||
|
X13642960Y-14018641D01*
|
||||||
|
X13642960Y-14018641D02*
|
||||||
|
X13652484Y-14009117D01*
|
||||||
|
X13652484Y-14009117D02*
|
||||||
|
X13652484Y-14028164D01*
|
||||||
|
X13785818Y-13828164D02*
|
||||||
|
X13804865Y-13828164D01*
|
||||||
|
X13804865Y-13828164D02*
|
||||||
|
X13823913Y-13837688D01*
|
||||||
|
X13823913Y-13837688D02*
|
||||||
|
X13833437Y-13847212D01*
|
||||||
|
X13833437Y-13847212D02*
|
||||||
|
X13842960Y-13866260D01*
|
||||||
|
X13842960Y-13866260D02*
|
||||||
|
X13852484Y-13904355D01*
|
||||||
|
X13852484Y-13904355D02*
|
||||||
|
X13852484Y-13951974D01*
|
||||||
|
X13852484Y-13951974D02*
|
||||||
|
X13842960Y-13990069D01*
|
||||||
|
X13842960Y-13990069D02*
|
||||||
|
X13833437Y-14009117D01*
|
||||||
|
X13833437Y-14009117D02*
|
||||||
|
X13823913Y-14018641D01*
|
||||||
|
X13823913Y-14018641D02*
|
||||||
|
X13804865Y-14028164D01*
|
||||||
|
X13804865Y-14028164D02*
|
||||||
|
X13785818Y-14028164D01*
|
||||||
|
X13785818Y-14028164D02*
|
||||||
|
X13766770Y-14018641D01*
|
||||||
|
X13766770Y-14018641D02*
|
||||||
|
X13757246Y-14009117D01*
|
||||||
|
X13757246Y-14009117D02*
|
||||||
|
X13747722Y-13990069D01*
|
||||||
|
X13747722Y-13990069D02*
|
||||||
|
X13738199Y-13951974D01*
|
||||||
|
X13738199Y-13951974D02*
|
||||||
|
X13738199Y-13904355D01*
|
||||||
|
X13738199Y-13904355D02*
|
||||||
|
X13747722Y-13866260D01*
|
||||||
|
X13747722Y-13866260D02*
|
||||||
|
X13757246Y-13847212D01*
|
||||||
|
X13757246Y-13847212D02*
|
||||||
|
X13766770Y-13837688D01*
|
||||||
|
X13766770Y-13837688D02*
|
||||||
|
X13785818Y-13828164D01*
|
||||||
|
X13976294Y-13828164D02*
|
||||||
|
X13995341Y-13828164D01*
|
||||||
|
X13995341Y-13828164D02*
|
||||||
|
X14014389Y-13837688D01*
|
||||||
|
X14014389Y-13837688D02*
|
||||||
|
X14023913Y-13847212D01*
|
||||||
|
X14023913Y-13847212D02*
|
||||||
|
X14033437Y-13866260D01*
|
||||||
|
X14033437Y-13866260D02*
|
||||||
|
X14042960Y-13904355D01*
|
||||||
|
X14042960Y-13904355D02*
|
||||||
|
X14042960Y-13951974D01*
|
||||||
|
X14042960Y-13951974D02*
|
||||||
|
X14033437Y-13990069D01*
|
||||||
|
X14033437Y-13990069D02*
|
||||||
|
X14023913Y-14009117D01*
|
||||||
|
X14023913Y-14009117D02*
|
||||||
|
X14014389Y-14018641D01*
|
||||||
|
X14014389Y-14018641D02*
|
||||||
|
X13995341Y-14028164D01*
|
||||||
|
X13995341Y-14028164D02*
|
||||||
|
X13976294Y-14028164D01*
|
||||||
|
X13976294Y-14028164D02*
|
||||||
|
X13957246Y-14018641D01*
|
||||||
|
X13957246Y-14018641D02*
|
||||||
|
X13947722Y-14009117D01*
|
||||||
|
X13947722Y-14009117D02*
|
||||||
|
X13938199Y-13990069D01*
|
||||||
|
X13938199Y-13990069D02*
|
||||||
|
X13928675Y-13951974D01*
|
||||||
|
X13928675Y-13951974D02*
|
||||||
|
X13928675Y-13904355D01*
|
||||||
|
X13928675Y-13904355D02*
|
||||||
|
X13938199Y-13866260D01*
|
||||||
|
X13938199Y-13866260D02*
|
||||||
|
X13947722Y-13847212D01*
|
||||||
|
X13947722Y-13847212D02*
|
||||||
|
X13957246Y-13837688D01*
|
||||||
|
X13957246Y-13837688D02*
|
||||||
|
X13976294Y-13828164D01*
|
||||||
|
X14166770Y-13828164D02*
|
||||||
|
X14185818Y-13828164D01*
|
||||||
|
X14185818Y-13828164D02*
|
||||||
|
X14204865Y-13837688D01*
|
||||||
|
X14204865Y-13837688D02*
|
||||||
|
X14214389Y-13847212D01*
|
||||||
|
X14214389Y-13847212D02*
|
||||||
|
X14223913Y-13866260D01*
|
||||||
|
X14223913Y-13866260D02*
|
||||||
|
X14233437Y-13904355D01*
|
||||||
|
X14233437Y-13904355D02*
|
||||||
|
X14233437Y-13951974D01*
|
||||||
|
X14233437Y-13951974D02*
|
||||||
|
X14223913Y-13990069D01*
|
||||||
|
X14223913Y-13990069D02*
|
||||||
|
X14214389Y-14009117D01*
|
||||||
|
X14214389Y-14009117D02*
|
||||||
|
X14204865Y-14018641D01*
|
||||||
|
X14204865Y-14018641D02*
|
||||||
|
X14185818Y-14028164D01*
|
||||||
|
X14185818Y-14028164D02*
|
||||||
|
X14166770Y-14028164D01*
|
||||||
|
X14166770Y-14028164D02*
|
||||||
|
X14147722Y-14018641D01*
|
||||||
|
X14147722Y-14018641D02*
|
||||||
|
X14138199Y-14009117D01*
|
||||||
|
X14138199Y-14009117D02*
|
||||||
|
X14128675Y-13990069D01*
|
||||||
|
X14128675Y-13990069D02*
|
||||||
|
X14119151Y-13951974D01*
|
||||||
|
X14119151Y-13951974D02*
|
||||||
|
X14119151Y-13904355D01*
|
||||||
|
X14119151Y-13904355D02*
|
||||||
|
X14128675Y-13866260D01*
|
||||||
|
X14128675Y-13866260D02*
|
||||||
|
X14138199Y-13847212D01*
|
||||||
|
X14138199Y-13847212D02*
|
||||||
|
X14147722Y-13837688D01*
|
||||||
|
X14147722Y-13837688D02*
|
||||||
|
X14166770Y-13828164D01*
|
||||||
|
X14319151Y-14028164D02*
|
||||||
|
X14319151Y-13894831D01*
|
||||||
|
X14319151Y-13913879D02*
|
||||||
|
X14328675Y-13904355D01*
|
||||||
|
X14328675Y-13904355D02*
|
||||||
|
X14347722Y-13894831D01*
|
||||||
|
X14347722Y-13894831D02*
|
||||||
|
X14376294Y-13894831D01*
|
||||||
|
X14376294Y-13894831D02*
|
||||||
|
X14395341Y-13904355D01*
|
||||||
|
X14395341Y-13904355D02*
|
||||||
|
X14404865Y-13923403D01*
|
||||||
|
X14404865Y-13923403D02*
|
||||||
|
X14404865Y-14028164D01*
|
||||||
|
X14404865Y-13923403D02*
|
||||||
|
X14414389Y-13904355D01*
|
||||||
|
X14414389Y-13904355D02*
|
||||||
|
X14433437Y-13894831D01*
|
||||||
|
X14433437Y-13894831D02*
|
||||||
|
X14462008Y-13894831D01*
|
||||||
|
X14462008Y-13894831D02*
|
||||||
|
X14481056Y-13904355D01*
|
||||||
|
X14481056Y-13904355D02*
|
||||||
|
X14490580Y-13923403D01*
|
||||||
|
X14490580Y-13923403D02*
|
||||||
|
X14490580Y-14028164D01*
|
||||||
|
X14585818Y-14028164D02*
|
||||||
|
X14585818Y-13894831D01*
|
||||||
|
X14585818Y-13913879D02*
|
||||||
|
X14595341Y-13904355D01*
|
||||||
|
X14595341Y-13904355D02*
|
||||||
|
X14614389Y-13894831D01*
|
||||||
|
X14614389Y-13894831D02*
|
||||||
|
X14642961Y-13894831D01*
|
||||||
|
X14642961Y-13894831D02*
|
||||||
|
X14662008Y-13904355D01*
|
||||||
|
X14662008Y-13904355D02*
|
||||||
|
X14671532Y-13923403D01*
|
||||||
|
X14671532Y-13923403D02*
|
||||||
|
X14671532Y-14028164D01*
|
||||||
|
X14671532Y-13923403D02*
|
||||||
|
X14681056Y-13904355D01*
|
||||||
|
X14681056Y-13904355D02*
|
||||||
|
X14700103Y-13894831D01*
|
||||||
|
X14700103Y-13894831D02*
|
||||||
|
X14728675Y-13894831D01*
|
||||||
|
X14728675Y-13894831D02*
|
||||||
|
X14747722Y-13904355D01*
|
||||||
|
X14747722Y-13904355D02*
|
||||||
|
X14757246Y-13923403D01*
|
||||||
|
X14757246Y-13923403D02*
|
||||||
|
X14757246Y-14028164D01*
|
||||||
|
X15115341Y-13818641D02*
|
||||||
|
X14943913Y-14075784D01*
|
||||||
|
X15340103Y-13828164D02*
|
||||||
|
X15359151Y-13828164D01*
|
||||||
|
X15359151Y-13828164D02*
|
||||||
|
X15378199Y-13837688D01*
|
||||||
|
X15378199Y-13837688D02*
|
||||||
|
X15387722Y-13847212D01*
|
||||||
|
X15387722Y-13847212D02*
|
||||||
|
X15397246Y-13866260D01*
|
||||||
|
X15397246Y-13866260D02*
|
||||||
|
X15406770Y-13904355D01*
|
||||||
|
X15406770Y-13904355D02*
|
||||||
|
X15406770Y-13951974D01*
|
||||||
|
X15406770Y-13951974D02*
|
||||||
|
X15397246Y-13990069D01*
|
||||||
|
X15397246Y-13990069D02*
|
||||||
|
X15387722Y-14009117D01*
|
||||||
|
X15387722Y-14009117D02*
|
||||||
|
X15378199Y-14018641D01*
|
||||||
|
X15378199Y-14018641D02*
|
||||||
|
X15359151Y-14028164D01*
|
||||||
|
X15359151Y-14028164D02*
|
||||||
|
X15340103Y-14028164D01*
|
||||||
|
X15340103Y-14028164D02*
|
||||||
|
X15321056Y-14018641D01*
|
||||||
|
X15321056Y-14018641D02*
|
||||||
|
X15311532Y-14009117D01*
|
||||||
|
X15311532Y-14009117D02*
|
||||||
|
X15302008Y-13990069D01*
|
||||||
|
X15302008Y-13990069D02*
|
||||||
|
X15292484Y-13951974D01*
|
||||||
|
X15292484Y-13951974D02*
|
||||||
|
X15292484Y-13904355D01*
|
||||||
|
X15292484Y-13904355D02*
|
||||||
|
X15302008Y-13866260D01*
|
||||||
|
X15302008Y-13866260D02*
|
||||||
|
X15311532Y-13847212D01*
|
||||||
|
X15311532Y-13847212D02*
|
||||||
|
X15321056Y-13837688D01*
|
||||||
|
X15321056Y-13837688D02*
|
||||||
|
X15340103Y-13828164D01*
|
||||||
|
X15492484Y-14009117D02*
|
||||||
|
X15502008Y-14018641D01*
|
||||||
|
X15502008Y-14018641D02*
|
||||||
|
X15492484Y-14028164D01*
|
||||||
|
X15492484Y-14028164D02*
|
||||||
|
X15482961Y-14018641D01*
|
||||||
|
X15482961Y-14018641D02*
|
||||||
|
X15492484Y-14009117D01*
|
||||||
|
X15492484Y-14009117D02*
|
||||||
|
X15492484Y-14028164D01*
|
||||||
|
X15625818Y-13828164D02*
|
||||||
|
X15644865Y-13828164D01*
|
||||||
|
X15644865Y-13828164D02*
|
||||||
|
X15663913Y-13837688D01*
|
||||||
|
X15663913Y-13837688D02*
|
||||||
|
X15673437Y-13847212D01*
|
||||||
|
X15673437Y-13847212D02*
|
||||||
|
X15682961Y-13866260D01*
|
||||||
|
X15682961Y-13866260D02*
|
||||||
|
X15692484Y-13904355D01*
|
||||||
|
X15692484Y-13904355D02*
|
||||||
|
X15692484Y-13951974D01*
|
||||||
|
X15692484Y-13951974D02*
|
||||||
|
X15682961Y-13990069D01*
|
||||||
|
X15682961Y-13990069D02*
|
||||||
|
X15673437Y-14009117D01*
|
||||||
|
X15673437Y-14009117D02*
|
||||||
|
X15663913Y-14018641D01*
|
||||||
|
X15663913Y-14018641D02*
|
||||||
|
X15644865Y-14028164D01*
|
||||||
|
X15644865Y-14028164D02*
|
||||||
|
X15625818Y-14028164D01*
|
||||||
|
X15625818Y-14028164D02*
|
||||||
|
X15606770Y-14018641D01*
|
||||||
|
X15606770Y-14018641D02*
|
||||||
|
X15597246Y-14009117D01*
|
||||||
|
X15597246Y-14009117D02*
|
||||||
|
X15587722Y-13990069D01*
|
||||||
|
X15587722Y-13990069D02*
|
||||||
|
X15578199Y-13951974D01*
|
||||||
|
X15578199Y-13951974D02*
|
||||||
|
X15578199Y-13904355D01*
|
||||||
|
X15578199Y-13904355D02*
|
||||||
|
X15587722Y-13866260D01*
|
||||||
|
X15587722Y-13866260D02*
|
||||||
|
X15597246Y-13847212D01*
|
||||||
|
X15597246Y-13847212D02*
|
||||||
|
X15606770Y-13837688D01*
|
||||||
|
X15606770Y-13837688D02*
|
||||||
|
X15625818Y-13828164D01*
|
||||||
|
X15759151Y-13828164D02*
|
||||||
|
X15882961Y-13828164D01*
|
||||||
|
X15882961Y-13828164D02*
|
||||||
|
X15816294Y-13904355D01*
|
||||||
|
X15816294Y-13904355D02*
|
||||||
|
X15844865Y-13904355D01*
|
||||||
|
X15844865Y-13904355D02*
|
||||||
|
X15863913Y-13913879D01*
|
||||||
|
X15863913Y-13913879D02*
|
||||||
|
X15873437Y-13923403D01*
|
||||||
|
X15873437Y-13923403D02*
|
||||||
|
X15882961Y-13942450D01*
|
||||||
|
X15882961Y-13942450D02*
|
||||||
|
X15882961Y-13990069D01*
|
||||||
|
X15882961Y-13990069D02*
|
||||||
|
X15873437Y-14009117D01*
|
||||||
|
X15873437Y-14009117D02*
|
||||||
|
X15863913Y-14018641D01*
|
||||||
|
X15863913Y-14018641D02*
|
||||||
|
X15844865Y-14028164D01*
|
||||||
|
X15844865Y-14028164D02*
|
||||||
|
X15787722Y-14028164D01*
|
||||||
|
X15787722Y-14028164D02*
|
||||||
|
X15768675Y-14018641D01*
|
||||||
|
X15768675Y-14018641D02*
|
||||||
|
X15759151Y-14009117D01*
|
||||||
|
X15978199Y-14028164D02*
|
||||||
|
X16016294Y-14028164D01*
|
||||||
|
X16016294Y-14028164D02*
|
||||||
|
X16035342Y-14018641D01*
|
||||||
|
X16035342Y-14018641D02*
|
||||||
|
X16044865Y-14009117D01*
|
||||||
|
X16044865Y-14009117D02*
|
||||||
|
X16063913Y-13980545D01*
|
||||||
|
X16063913Y-13980545D02*
|
||||||
|
X16073437Y-13942450D01*
|
||||||
|
X16073437Y-13942450D02*
|
||||||
|
X16073437Y-13866260D01*
|
||||||
|
X16073437Y-13866260D02*
|
||||||
|
X16063913Y-13847212D01*
|
||||||
|
X16063913Y-13847212D02*
|
||||||
|
X16054389Y-13837688D01*
|
||||||
|
X16054389Y-13837688D02*
|
||||||
|
X16035342Y-13828164D01*
|
||||||
|
X16035342Y-13828164D02*
|
||||||
|
X15997246Y-13828164D01*
|
||||||
|
X15997246Y-13828164D02*
|
||||||
|
X15978199Y-13837688D01*
|
||||||
|
X15978199Y-13837688D02*
|
||||||
|
X15968675Y-13847212D01*
|
||||||
|
X15968675Y-13847212D02*
|
||||||
|
X15959151Y-13866260D01*
|
||||||
|
X15959151Y-13866260D02*
|
||||||
|
X15959151Y-13913879D01*
|
||||||
|
X15959151Y-13913879D02*
|
||||||
|
X15968675Y-13932926D01*
|
||||||
|
X15968675Y-13932926D02*
|
||||||
|
X15978199Y-13942450D01*
|
||||||
|
X15978199Y-13942450D02*
|
||||||
|
X15997246Y-13951974D01*
|
||||||
|
X15997246Y-13951974D02*
|
||||||
|
X16035342Y-13951974D01*
|
||||||
|
X16035342Y-13951974D02*
|
||||||
|
X16054389Y-13942450D01*
|
||||||
|
X16054389Y-13942450D02*
|
||||||
|
X16063913Y-13932926D01*
|
||||||
|
X16063913Y-13932926D02*
|
||||||
|
X16073437Y-13913879D01*
|
||||||
|
X16244865Y-13894831D02*
|
||||||
|
X16244865Y-14028164D01*
|
||||||
|
X16197246Y-13818641D02*
|
||||||
|
X16149627Y-13961498D01*
|
||||||
|
X16149627Y-13961498D02*
|
||||||
|
X16273437Y-13961498D01*
|
||||||
|
X16340103Y-13828164D02*
|
||||||
|
X16340103Y-13866260D01*
|
||||||
|
X16416294Y-13828164D02*
|
||||||
|
X16416294Y-13866260D01*
|
||||||
|
X16679151Y-14104355D02*
|
||||||
|
X16669627Y-14094831D01*
|
||||||
|
X16669627Y-14094831D02*
|
||||||
|
X16650580Y-14066260D01*
|
||||||
|
X16650580Y-14066260D02*
|
||||||
|
X16641056Y-14047212D01*
|
||||||
|
X16641056Y-14047212D02*
|
||||||
|
X16631532Y-14018641D01*
|
||||||
|
X16631532Y-14018641D02*
|
||||||
|
X16622008Y-13971022D01*
|
||||||
|
X16622008Y-13971022D02*
|
||||||
|
X16622008Y-13932926D01*
|
||||||
|
X16622008Y-13932926D02*
|
||||||
|
X16631532Y-13885307D01*
|
||||||
|
X16631532Y-13885307D02*
|
||||||
|
X16641056Y-13856736D01*
|
||||||
|
X16641056Y-13856736D02*
|
||||||
|
X16650580Y-13837688D01*
|
||||||
|
X16650580Y-13837688D02*
|
||||||
|
X16669627Y-13809117D01*
|
||||||
|
X16669627Y-13809117D02*
|
||||||
|
X16679151Y-13799593D01*
|
||||||
|
X16860104Y-14028164D02*
|
||||||
|
X16745818Y-14028164D01*
|
||||||
|
X16802961Y-14028164D02*
|
||||||
|
X16802961Y-13828164D01*
|
||||||
|
X16802961Y-13828164D02*
|
||||||
|
X16783913Y-13856736D01*
|
||||||
|
X16783913Y-13856736D02*
|
||||||
|
X16764865Y-13875784D01*
|
||||||
|
X16764865Y-13875784D02*
|
||||||
|
X16745818Y-13885307D01*
|
||||||
|
X16936294Y-13847212D02*
|
||||||
|
X16945818Y-13837688D01*
|
||||||
|
X16945818Y-13837688D02*
|
||||||
|
X16964865Y-13828164D01*
|
||||||
|
X16964865Y-13828164D02*
|
||||||
|
X17012485Y-13828164D01*
|
||||||
|
X17012485Y-13828164D02*
|
||||||
|
X17031532Y-13837688D01*
|
||||||
|
X17031532Y-13837688D02*
|
||||||
|
X17041056Y-13847212D01*
|
||||||
|
X17041056Y-13847212D02*
|
||||||
|
X17050580Y-13866260D01*
|
||||||
|
X17050580Y-13866260D02*
|
||||||
|
X17050580Y-13885307D01*
|
||||||
|
X17050580Y-13885307D02*
|
||||||
|
X17041056Y-13913879D01*
|
||||||
|
X17041056Y-13913879D02*
|
||||||
|
X16926770Y-14028164D01*
|
||||||
|
X16926770Y-14028164D02*
|
||||||
|
X17050580Y-14028164D01*
|
||||||
|
X17256294Y-14028164D02*
|
||||||
|
X17256294Y-13828164D01*
|
||||||
|
X17342008Y-14028164D02*
|
||||||
|
X17342008Y-13923403D01*
|
||||||
|
X17342008Y-13923403D02*
|
||||||
|
X17332485Y-13904355D01*
|
||||||
|
X17332485Y-13904355D02*
|
||||||
|
X17313437Y-13894831D01*
|
||||||
|
X17313437Y-13894831D02*
|
||||||
|
X17284865Y-13894831D01*
|
||||||
|
X17284865Y-13894831D02*
|
||||||
|
X17265818Y-13904355D01*
|
||||||
|
X17265818Y-13904355D02*
|
||||||
|
X17256294Y-13913879D01*
|
||||||
|
X17465818Y-14028164D02*
|
||||||
|
X17446770Y-14018641D01*
|
||||||
|
X17446770Y-14018641D02*
|
||||||
|
X17437246Y-14009117D01*
|
||||||
|
X17437246Y-14009117D02*
|
||||||
|
X17427723Y-13990069D01*
|
||||||
|
X17427723Y-13990069D02*
|
||||||
|
X17427723Y-13932926D01*
|
||||||
|
X17427723Y-13932926D02*
|
||||||
|
X17437246Y-13913879D01*
|
||||||
|
X17437246Y-13913879D02*
|
||||||
|
X17446770Y-13904355D01*
|
||||||
|
X17446770Y-13904355D02*
|
||||||
|
X17465818Y-13894831D01*
|
||||||
|
X17465818Y-13894831D02*
|
||||||
|
X17494389Y-13894831D01*
|
||||||
|
X17494389Y-13894831D02*
|
||||||
|
X17513437Y-13904355D01*
|
||||||
|
X17513437Y-13904355D02*
|
||||||
|
X17522961Y-13913879D01*
|
||||||
|
X17522961Y-13913879D02*
|
||||||
|
X17532485Y-13932926D01*
|
||||||
|
X17532485Y-13932926D02*
|
||||||
|
X17532485Y-13990069D01*
|
||||||
|
X17532485Y-13990069D02*
|
||||||
|
X17522961Y-14009117D01*
|
||||||
|
X17522961Y-14009117D02*
|
||||||
|
X17513437Y-14018641D01*
|
||||||
|
X17513437Y-14018641D02*
|
||||||
|
X17494389Y-14028164D01*
|
||||||
|
X17494389Y-14028164D02*
|
||||||
|
X17465818Y-14028164D01*
|
||||||
|
X17646770Y-14028164D02*
|
||||||
|
X17627723Y-14018641D01*
|
||||||
|
X17627723Y-14018641D02*
|
||||||
|
X17618199Y-13999593D01*
|
||||||
|
X17618199Y-13999593D02*
|
||||||
|
X17618199Y-13828164D01*
|
||||||
|
X17799151Y-14018641D02*
|
||||||
|
X17780104Y-14028164D01*
|
||||||
|
X17780104Y-14028164D02*
|
||||||
|
X17742008Y-14028164D01*
|
||||||
|
X17742008Y-14028164D02*
|
||||||
|
X17722961Y-14018641D01*
|
||||||
|
X17722961Y-14018641D02*
|
||||||
|
X17713437Y-13999593D01*
|
||||||
|
X17713437Y-13999593D02*
|
||||||
|
X17713437Y-13923403D01*
|
||||||
|
X17713437Y-13923403D02*
|
||||||
|
X17722961Y-13904355D01*
|
||||||
|
X17722961Y-13904355D02*
|
||||||
|
X17742008Y-13894831D01*
|
||||||
|
X17742008Y-13894831D02*
|
||||||
|
X17780104Y-13894831D01*
|
||||||
|
X17780104Y-13894831D02*
|
||||||
|
X17799151Y-13904355D01*
|
||||||
|
X17799151Y-13904355D02*
|
||||||
|
X17808675Y-13923403D01*
|
||||||
|
X17808675Y-13923403D02*
|
||||||
|
X17808675Y-13942450D01*
|
||||||
|
X17808675Y-13942450D02*
|
||||||
|
X17713437Y-13961498D01*
|
||||||
|
X17884866Y-14018641D02*
|
||||||
|
X17903913Y-14028164D01*
|
||||||
|
X17903913Y-14028164D02*
|
||||||
|
X17942008Y-14028164D01*
|
||||||
|
X17942008Y-14028164D02*
|
||||||
|
X17961056Y-14018641D01*
|
||||||
|
X17961056Y-14018641D02*
|
||||||
|
X17970580Y-13999593D01*
|
||||||
|
X17970580Y-13999593D02*
|
||||||
|
X17970580Y-13990069D01*
|
||||||
|
X17970580Y-13990069D02*
|
||||||
|
X17961056Y-13971022D01*
|
||||||
|
X17961056Y-13971022D02*
|
||||||
|
X17942008Y-13961498D01*
|
||||||
|
X17942008Y-13961498D02*
|
||||||
|
X17913437Y-13961498D01*
|
||||||
|
X17913437Y-13961498D02*
|
||||||
|
X17894389Y-13951974D01*
|
||||||
|
X17894389Y-13951974D02*
|
||||||
|
X17884866Y-13932926D01*
|
||||||
|
X17884866Y-13932926D02*
|
||||||
|
X17884866Y-13923403D01*
|
||||||
|
X17884866Y-13923403D02*
|
||||||
|
X17894389Y-13904355D01*
|
||||||
|
X17894389Y-13904355D02*
|
||||||
|
X17913437Y-13894831D01*
|
||||||
|
X17913437Y-13894831D02*
|
||||||
|
X17942008Y-13894831D01*
|
||||||
|
X17942008Y-13894831D02*
|
||||||
|
X17961056Y-13904355D01*
|
||||||
|
X18037247Y-14104355D02*
|
||||||
|
X18046770Y-14094831D01*
|
||||||
|
X18046770Y-14094831D02*
|
||||||
|
X18065818Y-14066260D01*
|
||||||
|
X18065818Y-14066260D02*
|
||||||
|
X18075342Y-14047212D01*
|
||||||
|
X18075342Y-14047212D02*
|
||||||
|
X18084866Y-14018641D01*
|
||||||
|
X18084866Y-14018641D02*
|
||||||
|
X18094389Y-13971022D01*
|
||||||
|
X18094389Y-13971022D02*
|
||||||
|
X18094389Y-13932926D01*
|
||||||
|
X18094389Y-13932926D02*
|
||||||
|
X18084866Y-13885307D01*
|
||||||
|
X18084866Y-13885307D02*
|
||||||
|
X18075342Y-13856736D01*
|
||||||
|
X18075342Y-13856736D02*
|
||||||
|
X18065818Y-13837688D01*
|
||||||
|
X18065818Y-13837688D02*
|
||||||
|
X18046770Y-13809117D01*
|
||||||
|
X18046770Y-13809117D02*
|
||||||
|
X18037247Y-13799593D01*
|
||||||
|
M02*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
M48
|
||||||
|
; DRILL file {KiCad (7.0.0)} date Sat Mar 18 07:41:42 2023
|
||||||
|
; FORMAT={-:-/ absolute / metric / decimal}
|
||||||
|
; #@! TF.CreationDate,2023-03-18T07:41:42+03:00
|
||||||
|
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(7.0.0)
|
||||||
|
; #@! TF.FileFunction,Plated,1,2,PTH
|
||||||
|
FMAT,2
|
||||||
|
METRIC
|
||||||
|
; #@! TA.AperFunction,Plated,PTH,ViaDrill
|
||||||
|
T1C1.000
|
||||||
|
%
|
||||||
|
G90
|
||||||
|
G05
|
||||||
|
T1
|
||||||
|
X143.764Y-108.331
|
||||||
|
X145.034Y-59.563
|
||||||
|
X147.955Y-78.232
|
||||||
|
X150.391Y-71.755
|
||||||
|
X151.638Y-106.934
|
||||||
|
X153.416Y-59.817
|
||||||
|
X153.67Y-77.724
|
||||||
|
X154.822Y-67.828
|
||||||
|
X158.242Y-56.388
|
||||||
|
X162.687Y-58.039
|
||||||
|
X163.322Y-104.013
|
||||||
|
X163.322Y-109.093
|
||||||
|
T0
|
||||||
|
M30
|
||||||
|
|
@ -0,0 +1,125 @@
|
||||||
|
{
|
||||||
|
"Header": {
|
||||||
|
"GenerationSoftware": {
|
||||||
|
"Vendor": "KiCad",
|
||||||
|
"Application": "Pcbnew",
|
||||||
|
"Version": "(7.0.0)"
|
||||||
|
},
|
||||||
|
"CreationDate": "2023-03-18T07:41:40+03:00"
|
||||||
|
},
|
||||||
|
"GeneralSpecs": {
|
||||||
|
"ProjectId": {
|
||||||
|
"Name": "StudioMic",
|
||||||
|
"GUID": "53747564-696f-44d6-9963-2e6b69636164",
|
||||||
|
"Revision": "1"
|
||||||
|
},
|
||||||
|
"Size": {
|
||||||
|
"X": 40.9989,
|
||||||
|
"Y": 85.1
|
||||||
|
},
|
||||||
|
"LayerNumber": 2,
|
||||||
|
"BoardThickness": 1.6,
|
||||||
|
"Finish": "None"
|
||||||
|
},
|
||||||
|
"DesignRules": [
|
||||||
|
{
|
||||||
|
"Layers": "Outer",
|
||||||
|
"PadToPad": 0.25,
|
||||||
|
"PadToTrack": 0.25,
|
||||||
|
"TrackToTrack": 0.3,
|
||||||
|
"MinLineWidth": 0.4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"FilesAttributes": [
|
||||||
|
{
|
||||||
|
"Path": "StudioMic-F_Cu.gbr",
|
||||||
|
"FileFunction": "Copper,L1,Top",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "StudioMic-B_Cu.gbr",
|
||||||
|
"FileFunction": "Copper,L2,Bot",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "StudioMic-F_Paste.gbr",
|
||||||
|
"FileFunction": "SolderPaste,Top",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "StudioMic-B_Paste.gbr",
|
||||||
|
"FileFunction": "SolderPaste,Bot",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "StudioMic-F_Silkscreen.gbr",
|
||||||
|
"FileFunction": "Legend,Top",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "StudioMic-B_Silkscreen.gbr",
|
||||||
|
"FileFunction": "Legend,Bot",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "StudioMic-F_Mask.gbr",
|
||||||
|
"FileFunction": "SolderMask,Top",
|
||||||
|
"FilePolarity": "Negative"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "StudioMic-B_Mask.gbr",
|
||||||
|
"FileFunction": "SolderMask,Bot",
|
||||||
|
"FilePolarity": "Negative"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "StudioMic-Edge_Cuts.gbr",
|
||||||
|
"FileFunction": "Profile",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"MaterialStackup": [
|
||||||
|
{
|
||||||
|
"Type": "Legend",
|
||||||
|
"Name": "Top Silk Screen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "SolderPaste",
|
||||||
|
"Name": "Top Solder Paste"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "SolderMask",
|
||||||
|
"Thickness": 0.01,
|
||||||
|
"Name": "Top Solder Mask"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Copper",
|
||||||
|
"Thickness": 0.035,
|
||||||
|
"Name": "F.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Dielectric",
|
||||||
|
"Thickness": 1.51,
|
||||||
|
"Material": "FR4",
|
||||||
|
"Name": "F.Cu/B.Cu",
|
||||||
|
"Notes": "Type: dielectric layer 1 (from F.Cu to B.Cu)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Copper",
|
||||||
|
"Thickness": 0.035,
|
||||||
|
"Name": "B.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "SolderMask",
|
||||||
|
"Thickness": 0.01,
|
||||||
|
"Name": "Bottom Solder Mask"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "SolderPaste",
|
||||||
|
"Name": "Bottom Solder Paste"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Legend",
|
||||||
|
"Name": "Bottom Silk Screen"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
0
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/LICENSE
Executable file
0
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/README.md
Executable file
|
After Width: | Height: | Size: 32 KiB |
|
|
@ -0,0 +1 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="842px" height="596px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g id="Cutout"><path d="M374.581,139.956c0,-2.063 1.697,-3.76 3.76,-3.76l108.698,-0c2.062,-0 3.759,1.697 3.759,3.76c0,0.001 0,0.003 0,0.005l-9.516,228.948c-0.003,0.076 -0.066,0.136 -0.142,0.136c-0.002,-0 -0.004,-0.001 -0.006,-0.001l-0.254,0.001c-4.52,-0 -8.239,3.718 -8.239,8.238c0,0.078 -0.063,0.141 -0.141,0.141l-79.56,-0.005c-0.078,0 -0.141,-0.063 -0.141,-0.142c-0,-4.519 -3.719,-8.238 -8.239,-8.238l-0.254,0c-0.002,0 -0.004,0 -0.006,0c-0.076,0 -0.139,-0.06 -0.142,-0.135c0,-0.002 -0,-0.004 -0,-0.006l-9.577,-228.937c0,-0.002 0,-0.003 0,-0.005Zm3.76,-3.477c-1.905,0 -3.473,1.566 -3.476,3.471l-0,0.006l9.571,228.8l0.124,-0c4.628,-0 8.444,3.769 8.521,8.38l79.278,0.005c0.077,-4.611 3.893,-8.38 8.52,-8.38c0.002,0 0.125,0 0.125,0l9.511,-228.805l0,-0.006c-0.003,-1.905 -1.571,-3.471 -3.476,-3.471l-108.698,0Z"/><path d="M390.454,149.642c-2.18,0 -3.95,-1.77 -3.95,-3.95c0,-2.18 1.77,-3.95 3.95,-3.95l2.268,0c2.18,0 3.95,1.77 3.95,3.95c0,2.18 -1.77,3.95 -3.95,3.95l-2.268,0Zm0,-0.123l2.268,-0c2.112,-0 3.827,-1.715 3.827,-3.827c-0,-2.112 -1.715,-3.827 -3.827,-3.827l-2.268,0c-2.112,0 -3.826,1.715 -3.826,3.827c-0,2.112 1.714,3.827 3.826,3.827Z"/><path d="M472.659,149.642c-2.18,0 -3.95,-1.77 -3.95,-3.95c0,-2.18 1.77,-3.95 3.95,-3.95l2.268,0c2.18,0 3.95,1.77 3.95,3.95c-0,2.18 -1.77,3.95 -3.95,3.95l-2.268,0Zm0,-0.123l2.268,-0c2.112,-0 3.827,-1.715 3.827,-3.827c-0,-2.112 -1.715,-3.827 -3.827,-3.827l-2.268,0c-2.112,0 -3.827,1.715 -3.827,3.827c0,2.112 1.715,3.827 3.827,3.827Z"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 42 KiB |
498
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/SVG/StudioMic-B_Cu.svg
Executable file
|
|
@ -0,0 +1,498 @@
|
||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
version="1.1"
|
||||||
|
width="297.0022mm" height="210.0072mm" viewBox="0.0000 0.0000 297.0022 210.0072">
|
||||||
|
<title>SVG Image created as StudioMic-B_Cu.svg date 2023/03/18 07:42:13 </title>
|
||||||
|
<desc>Image generated by PCBNEW </desc>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;stroke:#000000; stroke-opacity:1.0000;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;"
|
||||||
|
transform="translate(0 0) scale(1 1)">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<circle cx="158.2420" cy="56.3880" r="1.0000" />
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0212; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<circle cx="162.6870" cy="58.0390" r="1.0000" />
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0212; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<circle cx="150.3915" cy="71.7550" r="1.0000" />
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0212; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<circle cx="151.6380" cy="106.9340" r="1.0000" />
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0212; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<circle cx="143.7640" cy="108.3310" r="1.0000" />
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0212; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<circle cx="153.4160" cy="59.8170" r="1.0000" />
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0212; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<circle cx="154.8225" cy="67.8275" r="1.0000" />
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0212; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<circle cx="163.3220" cy="109.0930" r="1.0000" />
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0212; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<circle cx="153.6700" cy="77.7240" r="1.0000" />
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0212; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<circle cx="163.3220" cy="104.0130" r="1.0000" />
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0212; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<circle cx="147.9550" cy="78.2320" r="1.0000" />
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0212; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<circle cx="145.0340" cy="59.5630" r="1.0000" />
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0212; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.0212; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;
|
||||||
|
stroke:#000000; stroke-width:0.4000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.4000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<path d="M153.6700 68.9800
|
||||||
|
L154.8225 67.8275
|
||||||
|
" />
|
||||||
|
<path d="M153.6700 77.7240
|
||||||
|
L153.6700 68.9800
|
||||||
|
" />
|
||||||
|
<path d="M140.0810 104.6480
|
||||||
|
L143.7640 108.3310
|
||||||
|
" />
|
||||||
|
<path d="M140.0810 58.2930
|
||||||
|
L140.0810 104.6480
|
||||||
|
" />
|
||||||
|
<path d="M150.4950 56.8960
|
||||||
|
L141.4780 56.8960
|
||||||
|
" />
|
||||||
|
<path d="M153.4160 59.8170
|
||||||
|
L150.4950 56.8960
|
||||||
|
" />
|
||||||
|
<path d="M141.4780 56.8960
|
||||||
|
L140.0810 58.2930
|
||||||
|
" />
|
||||||
|
<path d="M150.3915 81.8115
|
||||||
|
L150.3915 71.7550
|
||||||
|
" />
|
||||||
|
<path d="M152.5190 83.9390
|
||||||
|
L150.3915 81.8115
|
||||||
|
" />
|
||||||
|
<path d="M152.5190 106.0530
|
||||||
|
L152.5190 83.9390
|
||||||
|
" />
|
||||||
|
<path d="M151.6380 106.9340
|
||||||
|
L152.5190 106.0530
|
||||||
|
" />
|
||||||
|
<path d="M163.3220 104.0130
|
||||||
|
L163.3220 109.0930
|
||||||
|
" />
|
||||||
|
<path d="M145.5420 78.2320
|
||||||
|
L147.9550 78.2320
|
||||||
|
" />
|
||||||
|
<path d="M142.2400 74.9300
|
||||||
|
L145.5420 78.2320
|
||||||
|
" />
|
||||||
|
<path d="M143.7640 59.5630
|
||||||
|
L142.2400 61.0870
|
||||||
|
" />
|
||||||
|
<path d="M145.0340 59.5630
|
||||||
|
L143.7640 59.5630
|
||||||
|
" />
|
||||||
|
<path d="M142.2400 61.0870
|
||||||
|
L142.2400 74.9300
|
||||||
|
" />
|
||||||
|
<path d="M162.6870 57.7215
|
||||||
|
L162.6870 58.0390
|
||||||
|
" />
|
||||||
|
<path d="M161.3535 56.3880
|
||||||
|
L162.6870 57.7215
|
||||||
|
" />
|
||||||
|
<path d="M158.2420 56.3880
|
||||||
|
L161.3535 56.3880
|
||||||
|
" />
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.4000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.1000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<path d="M169.6436 130.1407
|
||||||
|
L169.7356 130.1407
|
||||||
|
" />
|
||||||
|
<path d="M138.6206 133.0951 A2.9562 2.9562 0.0 0 0 135.6644 130.1389" />
|
||||||
|
<path d="M135.6644 130.1389
|
||||||
|
L135.5724 130.1389
|
||||||
|
" />
|
||||||
|
<path d="M173.0928 49.3732 A1.2763 1.2763 0.0 0 0 171.8165 48.0969" />
|
||||||
|
<path d="M133.4702 48.0969 A1.2763 1.2763 0.0 0 0 132.1939 49.3732" />
|
||||||
|
<path d="M132.1939 49.3732
|
||||||
|
L135.5724 130.1389
|
||||||
|
" />
|
||||||
|
<path d="M133.4702 48.0969
|
||||||
|
L171.8165 48.0969
|
||||||
|
" />
|
||||||
|
<path d="M173.0928 49.3732
|
||||||
|
L169.7356 130.1407
|
||||||
|
" />
|
||||||
|
<path d="M169.6436 130.1407 A2.9562 2.9562 0.0 0 0 166.6874 133.0969" />
|
||||||
|
<path d="M138.6206 133.0951
|
||||||
|
L166.6874 133.0969
|
||||||
|
" />
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 9.2 KiB |
|
|
@ -0,0 +1,332 @@
|
||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
version="1.1"
|
||||||
|
width="297.0022mm" height="210.0072mm" viewBox="0.0000 0.0000 297.0022 210.0072">
|
||||||
|
<title>SVG Image created as StudioMic-B_Mask.svg date 2023/03/18 07:42:13 </title>
|
||||||
|
<desc>Image generated by PCBNEW </desc>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;stroke:#000000; stroke-opacity:1.0000;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;"
|
||||||
|
transform="translate(0 0) scale(1 1)">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:2.7000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<path d="M137.7436 51.3969
|
||||||
|
L138.5436 51.3969
|
||||||
|
" />
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:2.7000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<path d="M166.7436 51.3969
|
||||||
|
L167.5436 51.3969
|
||||||
|
" />
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:2.7000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.1000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<path d="M169.6436 130.1407
|
||||||
|
L169.7356 130.1407
|
||||||
|
" />
|
||||||
|
<path d="M138.6206 133.0951 A2.9562 2.9562 0.0 0 0 135.6644 130.1389" />
|
||||||
|
<path d="M135.6644 130.1389
|
||||||
|
L135.5724 130.1389
|
||||||
|
" />
|
||||||
|
<path d="M173.0928 49.3732 A1.2763 1.2763 0.0 0 0 171.8165 48.0969" />
|
||||||
|
<path d="M133.4702 48.0969 A1.2763 1.2763 0.0 0 0 132.1939 49.3732" />
|
||||||
|
<path d="M132.1939 49.3732
|
||||||
|
L135.5724 130.1389
|
||||||
|
" />
|
||||||
|
<path d="M133.4702 48.0969
|
||||||
|
L171.8165 48.0969
|
||||||
|
" />
|
||||||
|
<path d="M173.0928 49.3732
|
||||||
|
L169.7356 130.1407
|
||||||
|
" />
|
||||||
|
<path d="M169.6436 130.1407 A2.9562 2.9562 0.0 0 0 166.6874 133.0969" />
|
||||||
|
<path d="M138.6206 133.0951
|
||||||
|
L166.6874 133.0969
|
||||||
|
" />
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.8 KiB |
|
|
@ -0,0 +1,314 @@
|
||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
version="1.1"
|
||||||
|
width="297.0022mm" height="210.0072mm" viewBox="0.0000 0.0000 297.0022 210.0072">
|
||||||
|
<title>SVG Image created as StudioMic-B_Paste.svg date 2023/03/18 07:42:13 </title>
|
||||||
|
<desc>Image generated by PCBNEW </desc>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;stroke:#000000; stroke-opacity:1.0000;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;"
|
||||||
|
transform="translate(0 0) scale(1 1)">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.1000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<path d="M169.6436 130.1407
|
||||||
|
L169.7356 130.1407
|
||||||
|
" />
|
||||||
|
<path d="M138.6206 133.0951 A2.9562 2.9562 0.0 0 0 135.6644 130.1389" />
|
||||||
|
<path d="M135.6644 130.1389
|
||||||
|
L135.5724 130.1389
|
||||||
|
" />
|
||||||
|
<path d="M173.0928 49.3732 A1.2763 1.2763 0.0 0 0 171.8165 48.0969" />
|
||||||
|
<path d="M133.4702 48.0969 A1.2763 1.2763 0.0 0 0 132.1939 49.3732" />
|
||||||
|
<path d="M132.1939 49.3732
|
||||||
|
L135.5724 130.1389
|
||||||
|
" />
|
||||||
|
<path d="M133.4702 48.0969
|
||||||
|
L171.8165 48.0969
|
||||||
|
" />
|
||||||
|
<path d="M173.0928 49.3732
|
||||||
|
L169.7356 130.1407
|
||||||
|
" />
|
||||||
|
<path d="M169.6436 130.1407 A2.9562 2.9562 0.0 0 0 166.6874 133.0969" />
|
||||||
|
<path d="M138.6206 133.0951
|
||||||
|
L166.6874 133.0969
|
||||||
|
" />
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.3 KiB |
|
|
@ -0,0 +1,314 @@
|
||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
version="1.1"
|
||||||
|
width="297.0022mm" height="210.0072mm" viewBox="0.0000 0.0000 297.0022 210.0072">
|
||||||
|
<title>SVG Image created as StudioMic-B_Silkscreen.svg date 2023/03/18 07:42:13 </title>
|
||||||
|
<desc>Image generated by PCBNEW </desc>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;stroke:#000000; stroke-opacity:1.0000;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;"
|
||||||
|
transform="translate(0 0) scale(1 1)">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.1000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<path d="M169.6436 130.1407
|
||||||
|
L169.7356 130.1407
|
||||||
|
" />
|
||||||
|
<path d="M138.6206 133.0951 A2.9562 2.9562 0.0 0 0 135.6644 130.1389" />
|
||||||
|
<path d="M135.6644 130.1389
|
||||||
|
L135.5724 130.1389
|
||||||
|
" />
|
||||||
|
<path d="M173.0928 49.3732 A1.2763 1.2763 0.0 0 0 171.8165 48.0969" />
|
||||||
|
<path d="M133.4702 48.0969 A1.2763 1.2763 0.0 0 0 132.1939 49.3732" />
|
||||||
|
<path d="M132.1939 49.3732
|
||||||
|
L135.5724 130.1389
|
||||||
|
" />
|
||||||
|
<path d="M133.4702 48.0969
|
||||||
|
L171.8165 48.0969
|
||||||
|
" />
|
||||||
|
<path d="M173.0928 49.3732
|
||||||
|
L169.7356 130.1407
|
||||||
|
" />
|
||||||
|
<path d="M169.6436 130.1407 A2.9562 2.9562 0.0 0 0 166.6874 133.0969" />
|
||||||
|
<path d="M138.6206 133.0951
|
||||||
|
L166.6874 133.0969
|
||||||
|
" />
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.3 KiB |
|
|
@ -0,0 +1,178 @@
|
||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
version="1.1"
|
||||||
|
width="297.0022mm" height="210.0072mm" viewBox="0.0000 0.0000 297.0022 210.0072">
|
||||||
|
<title>SVG Image created as StudioMic-Edge_Cuts.svg date 2023/03/18 07:42:13 </title>
|
||||||
|
<desc>Image generated by PCBNEW </desc>
|
||||||
|
<g style="fill:#000000; fill-opacity:1.0000;stroke:#000000; stroke-opacity:1.0000;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;"
|
||||||
|
transform="translate(0 0) scale(1 1)">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.0000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
</g>
|
||||||
|
<g style="fill:#000000; fill-opacity:0.0;
|
||||||
|
stroke:#000000; stroke-width:0.1000; stroke-opacity:1;
|
||||||
|
stroke-linecap:round; stroke-linejoin:round;">
|
||||||
|
<path d="M169.6436 130.1407
|
||||||
|
L169.7356 130.1407
|
||||||
|
" />
|
||||||
|
<path d="M138.6206 133.0951 A2.9562 2.9562 0.0 0 0 135.6644 130.1389" />
|
||||||
|
<path d="M135.6644 130.1389
|
||||||
|
L135.5724 130.1389
|
||||||
|
" />
|
||||||
|
<path d="M173.0928 49.3732 A1.2763 1.2763 0.0 0 0 171.8165 48.0969" />
|
||||||
|
<path d="M133.4702 48.0969 A1.2763 1.2763 0.0 0 0 132.1939 49.3732" />
|
||||||
|
<path d="M132.1939 49.3732
|
||||||
|
L135.5724 130.1389
|
||||||
|
" />
|
||||||
|
<path d="M133.4702 48.0969
|
||||||
|
L171.8165 48.0969
|
||||||
|
" />
|
||||||
|
<path d="M173.0928 49.3732
|
||||||
|
L169.7356 130.1407
|
||||||
|
" />
|
||||||
|
<path d="M169.6436 130.1407 A2.9562 2.9562 0.0 0 0 166.6874 133.0969" />
|
||||||
|
<path d="M138.6206 133.0951
|
||||||
|
L166.6874 133.0969
|
||||||
|
" />
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
<g >
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
4571
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/SVG/StudioMic-F_Cu.svg
Executable file
|
After Width: | Height: | Size: 100 KiB |
3676
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/SVG/StudioMic-F_Mask.svg
Executable file
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 143 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
|
@ -0,0 +1,26 @@
|
||||||
|
M48
|
||||||
|
; DRILL file {KiCad (7.0.0)} date Sat Mar 18 07:42:17 2023
|
||||||
|
; FORMAT={-:-/ absolute / metric / decimal}
|
||||||
|
; #@! TF.CreationDate,2023-03-18T07:42:17+03:00
|
||||||
|
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(7.0.0)
|
||||||
|
; #@! TF.FileFunction,NonPlated,1,2,NPTH
|
||||||
|
FMAT,2
|
||||||
|
METRIC
|
||||||
|
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
|
||||||
|
T1C2.700
|
||||||
|
%
|
||||||
|
G90
|
||||||
|
G05
|
||||||
|
T1
|
||||||
|
G00X137.744Y-51.397
|
||||||
|
M15
|
||||||
|
G01X138.544Y-51.397
|
||||||
|
M16
|
||||||
|
G05
|
||||||
|
G00X166.744Y-51.397
|
||||||
|
M15
|
||||||
|
G01X167.544Y-51.397
|
||||||
|
M16
|
||||||
|
G05
|
||||||
|
T0
|
||||||
|
M30
|
||||||
|
|
@ -0,0 +1,787 @@
|
||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,(7.0.0)*%
|
||||||
|
%TF.CreationDate,2023-03-18T07:42:10+03:00*%
|
||||||
|
%TF.ProjectId,StudioMic,53747564-696f-44d6-9963-2e6b69636164,1*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Drillmap*%
|
||||||
|
%TF.FilePolarity,Positive*%
|
||||||
|
%FSLAX45Y45*%
|
||||||
|
G04 Gerber Fmt 4.5, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW (7.0.0)) date 2023-03-18 07:42:10*
|
||||||
|
%MOMM*%
|
||||||
|
%LPD*%
|
||||||
|
G01*
|
||||||
|
G04 APERTURE LIST*
|
||||||
|
%ADD10C,0.100000*%
|
||||||
|
%ADD11C,0.200000*%
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
D10*
|
||||||
|
X16964362Y-13014065D02*
|
||||||
|
X16973562Y-13014065D01*
|
||||||
|
X13862062Y-13309511D02*
|
||||||
|
G75*
|
||||||
|
G03*
|
||||||
|
X13566438Y-13013888I-295622J2D01*
|
||||||
|
G01*
|
||||||
|
X13566438Y-13013888D02*
|
||||||
|
X13557238Y-13013888D01*
|
||||||
|
X17309284Y-4937321D02*
|
||||||
|
G75*
|
||||||
|
G03*
|
||||||
|
X17181650Y-4809688I-127633J0D01*
|
||||||
|
G01*
|
||||||
|
X13347022Y-4809688D02*
|
||||||
|
G75*
|
||||||
|
G03*
|
||||||
|
X13219389Y-4937321I0J-127633D01*
|
||||||
|
G01*
|
||||||
|
X13219389Y-4937321D02*
|
||||||
|
X13557238Y-13013888D01*
|
||||||
|
X13347022Y-4809688D02*
|
||||||
|
X17181650Y-4809688D01*
|
||||||
|
X17309284Y-4937321D02*
|
||||||
|
X16973562Y-13014065D01*
|
||||||
|
X16964362Y-13014068D02*
|
||||||
|
G75*
|
||||||
|
G03*
|
||||||
|
X16668738Y-13309688I-2J-295622D01*
|
||||||
|
G01*
|
||||||
|
X13862061Y-13309511D02*
|
||||||
|
X16668738Y-13309688D01*
|
||||||
|
D11*
|
||||||
|
D10*
|
||||||
|
X14326400Y-10783100D02*
|
||||||
|
X14426400Y-10883100D01*
|
||||||
|
X14426400Y-10783100D02*
|
||||||
|
X14326400Y-10883100D01*
|
||||||
|
X14453400Y-5906300D02*
|
||||||
|
X14553400Y-6006300D01*
|
||||||
|
X14553400Y-5906300D02*
|
||||||
|
X14453400Y-6006300D01*
|
||||||
|
X14745500Y-7773200D02*
|
||||||
|
X14845500Y-7873200D01*
|
||||||
|
X14845500Y-7773200D02*
|
||||||
|
X14745500Y-7873200D01*
|
||||||
|
X14989150Y-7125500D02*
|
||||||
|
X15089150Y-7225500D01*
|
||||||
|
X15089150Y-7125500D02*
|
||||||
|
X14989150Y-7225500D01*
|
||||||
|
X15113800Y-10643400D02*
|
||||||
|
X15213800Y-10743400D01*
|
||||||
|
X15213800Y-10643400D02*
|
||||||
|
X15113800Y-10743400D01*
|
||||||
|
X15291600Y-5931700D02*
|
||||||
|
X15391600Y-6031700D01*
|
||||||
|
X15391600Y-5931700D02*
|
||||||
|
X15291600Y-6031700D01*
|
||||||
|
X15317000Y-7722400D02*
|
||||||
|
X15417000Y-7822400D01*
|
||||||
|
X15417000Y-7722400D02*
|
||||||
|
X15317000Y-7822400D01*
|
||||||
|
X15432250Y-6732750D02*
|
||||||
|
X15532250Y-6832750D01*
|
||||||
|
X15532250Y-6732750D02*
|
||||||
|
X15432250Y-6832750D01*
|
||||||
|
X15774200Y-5588800D02*
|
||||||
|
X15874200Y-5688800D01*
|
||||||
|
X15874200Y-5588800D02*
|
||||||
|
X15774200Y-5688800D01*
|
||||||
|
X16218700Y-5753900D02*
|
||||||
|
X16318700Y-5853900D01*
|
||||||
|
X16318700Y-5753900D02*
|
||||||
|
X16218700Y-5853900D01*
|
||||||
|
X16282200Y-10351300D02*
|
||||||
|
X16382200Y-10451300D01*
|
||||||
|
X16382200Y-10351300D02*
|
||||||
|
X16282200Y-10451300D01*
|
||||||
|
X16282200Y-10859300D02*
|
||||||
|
X16382200Y-10959300D01*
|
||||||
|
X16382200Y-10859300D02*
|
||||||
|
X16282200Y-10959300D01*
|
||||||
|
D11*
|
||||||
|
X13462008Y-13608164D02*
|
||||||
|
X13462008Y-13408164D01*
|
||||||
|
X13462008Y-13408164D02*
|
||||||
|
X13509627Y-13408164D01*
|
||||||
|
X13509627Y-13408164D02*
|
||||||
|
X13538199Y-13417688D01*
|
||||||
|
X13538199Y-13417688D02*
|
||||||
|
X13557246Y-13436736D01*
|
||||||
|
X13557246Y-13436736D02*
|
||||||
|
X13566770Y-13455784D01*
|
||||||
|
X13566770Y-13455784D02*
|
||||||
|
X13576294Y-13493879D01*
|
||||||
|
X13576294Y-13493879D02*
|
||||||
|
X13576294Y-13522450D01*
|
||||||
|
X13576294Y-13522450D02*
|
||||||
|
X13566770Y-13560545D01*
|
||||||
|
X13566770Y-13560545D02*
|
||||||
|
X13557246Y-13579593D01*
|
||||||
|
X13557246Y-13579593D02*
|
||||||
|
X13538199Y-13598641D01*
|
||||||
|
X13538199Y-13598641D02*
|
||||||
|
X13509627Y-13608164D01*
|
||||||
|
X13509627Y-13608164D02*
|
||||||
|
X13462008Y-13608164D01*
|
||||||
|
X13662008Y-13608164D02*
|
||||||
|
X13662008Y-13474831D01*
|
||||||
|
X13662008Y-13512926D02*
|
||||||
|
X13671532Y-13493879D01*
|
||||||
|
X13671532Y-13493879D02*
|
||||||
|
X13681056Y-13484355D01*
|
||||||
|
X13681056Y-13484355D02*
|
||||||
|
X13700103Y-13474831D01*
|
||||||
|
X13700103Y-13474831D02*
|
||||||
|
X13719151Y-13474831D01*
|
||||||
|
X13785818Y-13608164D02*
|
||||||
|
X13785818Y-13474831D01*
|
||||||
|
X13785818Y-13408164D02*
|
||||||
|
X13776294Y-13417688D01*
|
||||||
|
X13776294Y-13417688D02*
|
||||||
|
X13785818Y-13427212D01*
|
||||||
|
X13785818Y-13427212D02*
|
||||||
|
X13795341Y-13417688D01*
|
||||||
|
X13795341Y-13417688D02*
|
||||||
|
X13785818Y-13408164D01*
|
||||||
|
X13785818Y-13408164D02*
|
||||||
|
X13785818Y-13427212D01*
|
||||||
|
X13909627Y-13608164D02*
|
||||||
|
X13890579Y-13598641D01*
|
||||||
|
X13890579Y-13598641D02*
|
||||||
|
X13881056Y-13579593D01*
|
||||||
|
X13881056Y-13579593D02*
|
||||||
|
X13881056Y-13408164D01*
|
||||||
|
X14014389Y-13608164D02*
|
||||||
|
X13995341Y-13598641D01*
|
||||||
|
X13995341Y-13598641D02*
|
||||||
|
X13985818Y-13579593D01*
|
||||||
|
X13985818Y-13579593D02*
|
||||||
|
X13985818Y-13408164D01*
|
||||||
|
X14210579Y-13608164D02*
|
||||||
|
X14210579Y-13408164D01*
|
||||||
|
X14210579Y-13408164D02*
|
||||||
|
X14277246Y-13551022D01*
|
||||||
|
X14277246Y-13551022D02*
|
||||||
|
X14343913Y-13408164D01*
|
||||||
|
X14343913Y-13408164D02*
|
||||||
|
X14343913Y-13608164D01*
|
||||||
|
X14524865Y-13608164D02*
|
||||||
|
X14524865Y-13503403D01*
|
||||||
|
X14524865Y-13503403D02*
|
||||||
|
X14515341Y-13484355D01*
|
||||||
|
X14515341Y-13484355D02*
|
||||||
|
X14496294Y-13474831D01*
|
||||||
|
X14496294Y-13474831D02*
|
||||||
|
X14458198Y-13474831D01*
|
||||||
|
X14458198Y-13474831D02*
|
||||||
|
X14439151Y-13484355D01*
|
||||||
|
X14524865Y-13598641D02*
|
||||||
|
X14505818Y-13608164D01*
|
||||||
|
X14505818Y-13608164D02*
|
||||||
|
X14458198Y-13608164D01*
|
||||||
|
X14458198Y-13608164D02*
|
||||||
|
X14439151Y-13598641D01*
|
||||||
|
X14439151Y-13598641D02*
|
||||||
|
X14429627Y-13579593D01*
|
||||||
|
X14429627Y-13579593D02*
|
||||||
|
X14429627Y-13560545D01*
|
||||||
|
X14429627Y-13560545D02*
|
||||||
|
X14439151Y-13541498D01*
|
||||||
|
X14439151Y-13541498D02*
|
||||||
|
X14458198Y-13531974D01*
|
||||||
|
X14458198Y-13531974D02*
|
||||||
|
X14505818Y-13531974D01*
|
||||||
|
X14505818Y-13531974D02*
|
||||||
|
X14524865Y-13522450D01*
|
||||||
|
X14620103Y-13474831D02*
|
||||||
|
X14620103Y-13674831D01*
|
||||||
|
X14620103Y-13484355D02*
|
||||||
|
X14639151Y-13474831D01*
|
||||||
|
X14639151Y-13474831D02*
|
||||||
|
X14677246Y-13474831D01*
|
||||||
|
X14677246Y-13474831D02*
|
||||||
|
X14696294Y-13484355D01*
|
||||||
|
X14696294Y-13484355D02*
|
||||||
|
X14705818Y-13493879D01*
|
||||||
|
X14705818Y-13493879D02*
|
||||||
|
X14715341Y-13512926D01*
|
||||||
|
X14715341Y-13512926D02*
|
||||||
|
X14715341Y-13570069D01*
|
||||||
|
X14715341Y-13570069D02*
|
||||||
|
X14705818Y-13589117D01*
|
||||||
|
X14705818Y-13589117D02*
|
||||||
|
X14696294Y-13598641D01*
|
||||||
|
X14696294Y-13598641D02*
|
||||||
|
X14677246Y-13608164D01*
|
||||||
|
X14677246Y-13608164D02*
|
||||||
|
X14639151Y-13608164D01*
|
||||||
|
X14639151Y-13608164D02*
|
||||||
|
X14620103Y-13598641D01*
|
||||||
|
X14801056Y-13589117D02*
|
||||||
|
X14810579Y-13598641D01*
|
||||||
|
X14810579Y-13598641D02*
|
||||||
|
X14801056Y-13608164D01*
|
||||||
|
X14801056Y-13608164D02*
|
||||||
|
X14791532Y-13598641D01*
|
||||||
|
X14791532Y-13598641D02*
|
||||||
|
X14801056Y-13589117D01*
|
||||||
|
X14801056Y-13589117D02*
|
||||||
|
X14801056Y-13608164D01*
|
||||||
|
X14801056Y-13484355D02*
|
||||||
|
X14810579Y-13493879D01*
|
||||||
|
X14810579Y-13493879D02*
|
||||||
|
X14801056Y-13503403D01*
|
||||||
|
X14801056Y-13503403D02*
|
||||||
|
X14791532Y-13493879D01*
|
||||||
|
X14791532Y-13493879D02*
|
||||||
|
X14801056Y-13484355D01*
|
||||||
|
X14801056Y-13484355D02*
|
||||||
|
X14801056Y-13503403D01*
|
||||||
|
D10*
|
||||||
|
X13114389Y-13904688D02*
|
||||||
|
X13214389Y-14004688D01*
|
||||||
|
X13214389Y-13904688D02*
|
||||||
|
X13114389Y-14004688D01*
|
||||||
|
D11*
|
||||||
|
X13566770Y-14028164D02*
|
||||||
|
X13452484Y-14028164D01*
|
||||||
|
X13509627Y-14028164D02*
|
||||||
|
X13509627Y-13828164D01*
|
||||||
|
X13509627Y-13828164D02*
|
||||||
|
X13490579Y-13856736D01*
|
||||||
|
X13490579Y-13856736D02*
|
||||||
|
X13471532Y-13875784D01*
|
||||||
|
X13471532Y-13875784D02*
|
||||||
|
X13452484Y-13885307D01*
|
||||||
|
X13652484Y-14009117D02*
|
||||||
|
X13662008Y-14018641D01*
|
||||||
|
X13662008Y-14018641D02*
|
||||||
|
X13652484Y-14028164D01*
|
||||||
|
X13652484Y-14028164D02*
|
||||||
|
X13642960Y-14018641D01*
|
||||||
|
X13642960Y-14018641D02*
|
||||||
|
X13652484Y-14009117D01*
|
||||||
|
X13652484Y-14009117D02*
|
||||||
|
X13652484Y-14028164D01*
|
||||||
|
X13785818Y-13828164D02*
|
||||||
|
X13804865Y-13828164D01*
|
||||||
|
X13804865Y-13828164D02*
|
||||||
|
X13823913Y-13837688D01*
|
||||||
|
X13823913Y-13837688D02*
|
||||||
|
X13833437Y-13847212D01*
|
||||||
|
X13833437Y-13847212D02*
|
||||||
|
X13842960Y-13866260D01*
|
||||||
|
X13842960Y-13866260D02*
|
||||||
|
X13852484Y-13904355D01*
|
||||||
|
X13852484Y-13904355D02*
|
||||||
|
X13852484Y-13951974D01*
|
||||||
|
X13852484Y-13951974D02*
|
||||||
|
X13842960Y-13990069D01*
|
||||||
|
X13842960Y-13990069D02*
|
||||||
|
X13833437Y-14009117D01*
|
||||||
|
X13833437Y-14009117D02*
|
||||||
|
X13823913Y-14018641D01*
|
||||||
|
X13823913Y-14018641D02*
|
||||||
|
X13804865Y-14028164D01*
|
||||||
|
X13804865Y-14028164D02*
|
||||||
|
X13785818Y-14028164D01*
|
||||||
|
X13785818Y-14028164D02*
|
||||||
|
X13766770Y-14018641D01*
|
||||||
|
X13766770Y-14018641D02*
|
||||||
|
X13757246Y-14009117D01*
|
||||||
|
X13757246Y-14009117D02*
|
||||||
|
X13747722Y-13990069D01*
|
||||||
|
X13747722Y-13990069D02*
|
||||||
|
X13738199Y-13951974D01*
|
||||||
|
X13738199Y-13951974D02*
|
||||||
|
X13738199Y-13904355D01*
|
||||||
|
X13738199Y-13904355D02*
|
||||||
|
X13747722Y-13866260D01*
|
||||||
|
X13747722Y-13866260D02*
|
||||||
|
X13757246Y-13847212D01*
|
||||||
|
X13757246Y-13847212D02*
|
||||||
|
X13766770Y-13837688D01*
|
||||||
|
X13766770Y-13837688D02*
|
||||||
|
X13785818Y-13828164D01*
|
||||||
|
X13976294Y-13828164D02*
|
||||||
|
X13995341Y-13828164D01*
|
||||||
|
X13995341Y-13828164D02*
|
||||||
|
X14014389Y-13837688D01*
|
||||||
|
X14014389Y-13837688D02*
|
||||||
|
X14023913Y-13847212D01*
|
||||||
|
X14023913Y-13847212D02*
|
||||||
|
X14033437Y-13866260D01*
|
||||||
|
X14033437Y-13866260D02*
|
||||||
|
X14042960Y-13904355D01*
|
||||||
|
X14042960Y-13904355D02*
|
||||||
|
X14042960Y-13951974D01*
|
||||||
|
X14042960Y-13951974D02*
|
||||||
|
X14033437Y-13990069D01*
|
||||||
|
X14033437Y-13990069D02*
|
||||||
|
X14023913Y-14009117D01*
|
||||||
|
X14023913Y-14009117D02*
|
||||||
|
X14014389Y-14018641D01*
|
||||||
|
X14014389Y-14018641D02*
|
||||||
|
X13995341Y-14028164D01*
|
||||||
|
X13995341Y-14028164D02*
|
||||||
|
X13976294Y-14028164D01*
|
||||||
|
X13976294Y-14028164D02*
|
||||||
|
X13957246Y-14018641D01*
|
||||||
|
X13957246Y-14018641D02*
|
||||||
|
X13947722Y-14009117D01*
|
||||||
|
X13947722Y-14009117D02*
|
||||||
|
X13938199Y-13990069D01*
|
||||||
|
X13938199Y-13990069D02*
|
||||||
|
X13928675Y-13951974D01*
|
||||||
|
X13928675Y-13951974D02*
|
||||||
|
X13928675Y-13904355D01*
|
||||||
|
X13928675Y-13904355D02*
|
||||||
|
X13938199Y-13866260D01*
|
||||||
|
X13938199Y-13866260D02*
|
||||||
|
X13947722Y-13847212D01*
|
||||||
|
X13947722Y-13847212D02*
|
||||||
|
X13957246Y-13837688D01*
|
||||||
|
X13957246Y-13837688D02*
|
||||||
|
X13976294Y-13828164D01*
|
||||||
|
X14166770Y-13828164D02*
|
||||||
|
X14185818Y-13828164D01*
|
||||||
|
X14185818Y-13828164D02*
|
||||||
|
X14204865Y-13837688D01*
|
||||||
|
X14204865Y-13837688D02*
|
||||||
|
X14214389Y-13847212D01*
|
||||||
|
X14214389Y-13847212D02*
|
||||||
|
X14223913Y-13866260D01*
|
||||||
|
X14223913Y-13866260D02*
|
||||||
|
X14233437Y-13904355D01*
|
||||||
|
X14233437Y-13904355D02*
|
||||||
|
X14233437Y-13951974D01*
|
||||||
|
X14233437Y-13951974D02*
|
||||||
|
X14223913Y-13990069D01*
|
||||||
|
X14223913Y-13990069D02*
|
||||||
|
X14214389Y-14009117D01*
|
||||||
|
X14214389Y-14009117D02*
|
||||||
|
X14204865Y-14018641D01*
|
||||||
|
X14204865Y-14018641D02*
|
||||||
|
X14185818Y-14028164D01*
|
||||||
|
X14185818Y-14028164D02*
|
||||||
|
X14166770Y-14028164D01*
|
||||||
|
X14166770Y-14028164D02*
|
||||||
|
X14147722Y-14018641D01*
|
||||||
|
X14147722Y-14018641D02*
|
||||||
|
X14138199Y-14009117D01*
|
||||||
|
X14138199Y-14009117D02*
|
||||||
|
X14128675Y-13990069D01*
|
||||||
|
X14128675Y-13990069D02*
|
||||||
|
X14119151Y-13951974D01*
|
||||||
|
X14119151Y-13951974D02*
|
||||||
|
X14119151Y-13904355D01*
|
||||||
|
X14119151Y-13904355D02*
|
||||||
|
X14128675Y-13866260D01*
|
||||||
|
X14128675Y-13866260D02*
|
||||||
|
X14138199Y-13847212D01*
|
||||||
|
X14138199Y-13847212D02*
|
||||||
|
X14147722Y-13837688D01*
|
||||||
|
X14147722Y-13837688D02*
|
||||||
|
X14166770Y-13828164D01*
|
||||||
|
X14319151Y-14028164D02*
|
||||||
|
X14319151Y-13894831D01*
|
||||||
|
X14319151Y-13913879D02*
|
||||||
|
X14328675Y-13904355D01*
|
||||||
|
X14328675Y-13904355D02*
|
||||||
|
X14347722Y-13894831D01*
|
||||||
|
X14347722Y-13894831D02*
|
||||||
|
X14376294Y-13894831D01*
|
||||||
|
X14376294Y-13894831D02*
|
||||||
|
X14395341Y-13904355D01*
|
||||||
|
X14395341Y-13904355D02*
|
||||||
|
X14404865Y-13923403D01*
|
||||||
|
X14404865Y-13923403D02*
|
||||||
|
X14404865Y-14028164D01*
|
||||||
|
X14404865Y-13923403D02*
|
||||||
|
X14414389Y-13904355D01*
|
||||||
|
X14414389Y-13904355D02*
|
||||||
|
X14433437Y-13894831D01*
|
||||||
|
X14433437Y-13894831D02*
|
||||||
|
X14462008Y-13894831D01*
|
||||||
|
X14462008Y-13894831D02*
|
||||||
|
X14481056Y-13904355D01*
|
||||||
|
X14481056Y-13904355D02*
|
||||||
|
X14490580Y-13923403D01*
|
||||||
|
X14490580Y-13923403D02*
|
||||||
|
X14490580Y-14028164D01*
|
||||||
|
X14585818Y-14028164D02*
|
||||||
|
X14585818Y-13894831D01*
|
||||||
|
X14585818Y-13913879D02*
|
||||||
|
X14595341Y-13904355D01*
|
||||||
|
X14595341Y-13904355D02*
|
||||||
|
X14614389Y-13894831D01*
|
||||||
|
X14614389Y-13894831D02*
|
||||||
|
X14642961Y-13894831D01*
|
||||||
|
X14642961Y-13894831D02*
|
||||||
|
X14662008Y-13904355D01*
|
||||||
|
X14662008Y-13904355D02*
|
||||||
|
X14671532Y-13923403D01*
|
||||||
|
X14671532Y-13923403D02*
|
||||||
|
X14671532Y-14028164D01*
|
||||||
|
X14671532Y-13923403D02*
|
||||||
|
X14681056Y-13904355D01*
|
||||||
|
X14681056Y-13904355D02*
|
||||||
|
X14700103Y-13894831D01*
|
||||||
|
X14700103Y-13894831D02*
|
||||||
|
X14728675Y-13894831D01*
|
||||||
|
X14728675Y-13894831D02*
|
||||||
|
X14747722Y-13904355D01*
|
||||||
|
X14747722Y-13904355D02*
|
||||||
|
X14757246Y-13923403D01*
|
||||||
|
X14757246Y-13923403D02*
|
||||||
|
X14757246Y-14028164D01*
|
||||||
|
X15115341Y-13818641D02*
|
||||||
|
X14943913Y-14075784D01*
|
||||||
|
X15340103Y-13828164D02*
|
||||||
|
X15359151Y-13828164D01*
|
||||||
|
X15359151Y-13828164D02*
|
||||||
|
X15378199Y-13837688D01*
|
||||||
|
X15378199Y-13837688D02*
|
||||||
|
X15387722Y-13847212D01*
|
||||||
|
X15387722Y-13847212D02*
|
||||||
|
X15397246Y-13866260D01*
|
||||||
|
X15397246Y-13866260D02*
|
||||||
|
X15406770Y-13904355D01*
|
||||||
|
X15406770Y-13904355D02*
|
||||||
|
X15406770Y-13951974D01*
|
||||||
|
X15406770Y-13951974D02*
|
||||||
|
X15397246Y-13990069D01*
|
||||||
|
X15397246Y-13990069D02*
|
||||||
|
X15387722Y-14009117D01*
|
||||||
|
X15387722Y-14009117D02*
|
||||||
|
X15378199Y-14018641D01*
|
||||||
|
X15378199Y-14018641D02*
|
||||||
|
X15359151Y-14028164D01*
|
||||||
|
X15359151Y-14028164D02*
|
||||||
|
X15340103Y-14028164D01*
|
||||||
|
X15340103Y-14028164D02*
|
||||||
|
X15321056Y-14018641D01*
|
||||||
|
X15321056Y-14018641D02*
|
||||||
|
X15311532Y-14009117D01*
|
||||||
|
X15311532Y-14009117D02*
|
||||||
|
X15302008Y-13990069D01*
|
||||||
|
X15302008Y-13990069D02*
|
||||||
|
X15292484Y-13951974D01*
|
||||||
|
X15292484Y-13951974D02*
|
||||||
|
X15292484Y-13904355D01*
|
||||||
|
X15292484Y-13904355D02*
|
||||||
|
X15302008Y-13866260D01*
|
||||||
|
X15302008Y-13866260D02*
|
||||||
|
X15311532Y-13847212D01*
|
||||||
|
X15311532Y-13847212D02*
|
||||||
|
X15321056Y-13837688D01*
|
||||||
|
X15321056Y-13837688D02*
|
||||||
|
X15340103Y-13828164D01*
|
||||||
|
X15492484Y-14009117D02*
|
||||||
|
X15502008Y-14018641D01*
|
||||||
|
X15502008Y-14018641D02*
|
||||||
|
X15492484Y-14028164D01*
|
||||||
|
X15492484Y-14028164D02*
|
||||||
|
X15482961Y-14018641D01*
|
||||||
|
X15482961Y-14018641D02*
|
||||||
|
X15492484Y-14009117D01*
|
||||||
|
X15492484Y-14009117D02*
|
||||||
|
X15492484Y-14028164D01*
|
||||||
|
X15625818Y-13828164D02*
|
||||||
|
X15644865Y-13828164D01*
|
||||||
|
X15644865Y-13828164D02*
|
||||||
|
X15663913Y-13837688D01*
|
||||||
|
X15663913Y-13837688D02*
|
||||||
|
X15673437Y-13847212D01*
|
||||||
|
X15673437Y-13847212D02*
|
||||||
|
X15682961Y-13866260D01*
|
||||||
|
X15682961Y-13866260D02*
|
||||||
|
X15692484Y-13904355D01*
|
||||||
|
X15692484Y-13904355D02*
|
||||||
|
X15692484Y-13951974D01*
|
||||||
|
X15692484Y-13951974D02*
|
||||||
|
X15682961Y-13990069D01*
|
||||||
|
X15682961Y-13990069D02*
|
||||||
|
X15673437Y-14009117D01*
|
||||||
|
X15673437Y-14009117D02*
|
||||||
|
X15663913Y-14018641D01*
|
||||||
|
X15663913Y-14018641D02*
|
||||||
|
X15644865Y-14028164D01*
|
||||||
|
X15644865Y-14028164D02*
|
||||||
|
X15625818Y-14028164D01*
|
||||||
|
X15625818Y-14028164D02*
|
||||||
|
X15606770Y-14018641D01*
|
||||||
|
X15606770Y-14018641D02*
|
||||||
|
X15597246Y-14009117D01*
|
||||||
|
X15597246Y-14009117D02*
|
||||||
|
X15587722Y-13990069D01*
|
||||||
|
X15587722Y-13990069D02*
|
||||||
|
X15578199Y-13951974D01*
|
||||||
|
X15578199Y-13951974D02*
|
||||||
|
X15578199Y-13904355D01*
|
||||||
|
X15578199Y-13904355D02*
|
||||||
|
X15587722Y-13866260D01*
|
||||||
|
X15587722Y-13866260D02*
|
||||||
|
X15597246Y-13847212D01*
|
||||||
|
X15597246Y-13847212D02*
|
||||||
|
X15606770Y-13837688D01*
|
||||||
|
X15606770Y-13837688D02*
|
||||||
|
X15625818Y-13828164D01*
|
||||||
|
X15759151Y-13828164D02*
|
||||||
|
X15882961Y-13828164D01*
|
||||||
|
X15882961Y-13828164D02*
|
||||||
|
X15816294Y-13904355D01*
|
||||||
|
X15816294Y-13904355D02*
|
||||||
|
X15844865Y-13904355D01*
|
||||||
|
X15844865Y-13904355D02*
|
||||||
|
X15863913Y-13913879D01*
|
||||||
|
X15863913Y-13913879D02*
|
||||||
|
X15873437Y-13923403D01*
|
||||||
|
X15873437Y-13923403D02*
|
||||||
|
X15882961Y-13942450D01*
|
||||||
|
X15882961Y-13942450D02*
|
||||||
|
X15882961Y-13990069D01*
|
||||||
|
X15882961Y-13990069D02*
|
||||||
|
X15873437Y-14009117D01*
|
||||||
|
X15873437Y-14009117D02*
|
||||||
|
X15863913Y-14018641D01*
|
||||||
|
X15863913Y-14018641D02*
|
||||||
|
X15844865Y-14028164D01*
|
||||||
|
X15844865Y-14028164D02*
|
||||||
|
X15787722Y-14028164D01*
|
||||||
|
X15787722Y-14028164D02*
|
||||||
|
X15768675Y-14018641D01*
|
||||||
|
X15768675Y-14018641D02*
|
||||||
|
X15759151Y-14009117D01*
|
||||||
|
X15978199Y-14028164D02*
|
||||||
|
X16016294Y-14028164D01*
|
||||||
|
X16016294Y-14028164D02*
|
||||||
|
X16035342Y-14018641D01*
|
||||||
|
X16035342Y-14018641D02*
|
||||||
|
X16044865Y-14009117D01*
|
||||||
|
X16044865Y-14009117D02*
|
||||||
|
X16063913Y-13980545D01*
|
||||||
|
X16063913Y-13980545D02*
|
||||||
|
X16073437Y-13942450D01*
|
||||||
|
X16073437Y-13942450D02*
|
||||||
|
X16073437Y-13866260D01*
|
||||||
|
X16073437Y-13866260D02*
|
||||||
|
X16063913Y-13847212D01*
|
||||||
|
X16063913Y-13847212D02*
|
||||||
|
X16054389Y-13837688D01*
|
||||||
|
X16054389Y-13837688D02*
|
||||||
|
X16035342Y-13828164D01*
|
||||||
|
X16035342Y-13828164D02*
|
||||||
|
X15997246Y-13828164D01*
|
||||||
|
X15997246Y-13828164D02*
|
||||||
|
X15978199Y-13837688D01*
|
||||||
|
X15978199Y-13837688D02*
|
||||||
|
X15968675Y-13847212D01*
|
||||||
|
X15968675Y-13847212D02*
|
||||||
|
X15959151Y-13866260D01*
|
||||||
|
X15959151Y-13866260D02*
|
||||||
|
X15959151Y-13913879D01*
|
||||||
|
X15959151Y-13913879D02*
|
||||||
|
X15968675Y-13932926D01*
|
||||||
|
X15968675Y-13932926D02*
|
||||||
|
X15978199Y-13942450D01*
|
||||||
|
X15978199Y-13942450D02*
|
||||||
|
X15997246Y-13951974D01*
|
||||||
|
X15997246Y-13951974D02*
|
||||||
|
X16035342Y-13951974D01*
|
||||||
|
X16035342Y-13951974D02*
|
||||||
|
X16054389Y-13942450D01*
|
||||||
|
X16054389Y-13942450D02*
|
||||||
|
X16063913Y-13932926D01*
|
||||||
|
X16063913Y-13932926D02*
|
||||||
|
X16073437Y-13913879D01*
|
||||||
|
X16244865Y-13894831D02*
|
||||||
|
X16244865Y-14028164D01*
|
||||||
|
X16197246Y-13818641D02*
|
||||||
|
X16149627Y-13961498D01*
|
||||||
|
X16149627Y-13961498D02*
|
||||||
|
X16273437Y-13961498D01*
|
||||||
|
X16340103Y-13828164D02*
|
||||||
|
X16340103Y-13866260D01*
|
||||||
|
X16416294Y-13828164D02*
|
||||||
|
X16416294Y-13866260D01*
|
||||||
|
X16679151Y-14104355D02*
|
||||||
|
X16669627Y-14094831D01*
|
||||||
|
X16669627Y-14094831D02*
|
||||||
|
X16650580Y-14066260D01*
|
||||||
|
X16650580Y-14066260D02*
|
||||||
|
X16641056Y-14047212D01*
|
||||||
|
X16641056Y-14047212D02*
|
||||||
|
X16631532Y-14018641D01*
|
||||||
|
X16631532Y-14018641D02*
|
||||||
|
X16622008Y-13971022D01*
|
||||||
|
X16622008Y-13971022D02*
|
||||||
|
X16622008Y-13932926D01*
|
||||||
|
X16622008Y-13932926D02*
|
||||||
|
X16631532Y-13885307D01*
|
||||||
|
X16631532Y-13885307D02*
|
||||||
|
X16641056Y-13856736D01*
|
||||||
|
X16641056Y-13856736D02*
|
||||||
|
X16650580Y-13837688D01*
|
||||||
|
X16650580Y-13837688D02*
|
||||||
|
X16669627Y-13809117D01*
|
||||||
|
X16669627Y-13809117D02*
|
||||||
|
X16679151Y-13799593D01*
|
||||||
|
X16860104Y-14028164D02*
|
||||||
|
X16745818Y-14028164D01*
|
||||||
|
X16802961Y-14028164D02*
|
||||||
|
X16802961Y-13828164D01*
|
||||||
|
X16802961Y-13828164D02*
|
||||||
|
X16783913Y-13856736D01*
|
||||||
|
X16783913Y-13856736D02*
|
||||||
|
X16764865Y-13875784D01*
|
||||||
|
X16764865Y-13875784D02*
|
||||||
|
X16745818Y-13885307D01*
|
||||||
|
X16936294Y-13847212D02*
|
||||||
|
X16945818Y-13837688D01*
|
||||||
|
X16945818Y-13837688D02*
|
||||||
|
X16964865Y-13828164D01*
|
||||||
|
X16964865Y-13828164D02*
|
||||||
|
X17012485Y-13828164D01*
|
||||||
|
X17012485Y-13828164D02*
|
||||||
|
X17031532Y-13837688D01*
|
||||||
|
X17031532Y-13837688D02*
|
||||||
|
X17041056Y-13847212D01*
|
||||||
|
X17041056Y-13847212D02*
|
||||||
|
X17050580Y-13866260D01*
|
||||||
|
X17050580Y-13866260D02*
|
||||||
|
X17050580Y-13885307D01*
|
||||||
|
X17050580Y-13885307D02*
|
||||||
|
X17041056Y-13913879D01*
|
||||||
|
X17041056Y-13913879D02*
|
||||||
|
X16926770Y-14028164D01*
|
||||||
|
X16926770Y-14028164D02*
|
||||||
|
X17050580Y-14028164D01*
|
||||||
|
X17256294Y-14028164D02*
|
||||||
|
X17256294Y-13828164D01*
|
||||||
|
X17342008Y-14028164D02*
|
||||||
|
X17342008Y-13923403D01*
|
||||||
|
X17342008Y-13923403D02*
|
||||||
|
X17332485Y-13904355D01*
|
||||||
|
X17332485Y-13904355D02*
|
||||||
|
X17313437Y-13894831D01*
|
||||||
|
X17313437Y-13894831D02*
|
||||||
|
X17284865Y-13894831D01*
|
||||||
|
X17284865Y-13894831D02*
|
||||||
|
X17265818Y-13904355D01*
|
||||||
|
X17265818Y-13904355D02*
|
||||||
|
X17256294Y-13913879D01*
|
||||||
|
X17465818Y-14028164D02*
|
||||||
|
X17446770Y-14018641D01*
|
||||||
|
X17446770Y-14018641D02*
|
||||||
|
X17437246Y-14009117D01*
|
||||||
|
X17437246Y-14009117D02*
|
||||||
|
X17427723Y-13990069D01*
|
||||||
|
X17427723Y-13990069D02*
|
||||||
|
X17427723Y-13932926D01*
|
||||||
|
X17427723Y-13932926D02*
|
||||||
|
X17437246Y-13913879D01*
|
||||||
|
X17437246Y-13913879D02*
|
||||||
|
X17446770Y-13904355D01*
|
||||||
|
X17446770Y-13904355D02*
|
||||||
|
X17465818Y-13894831D01*
|
||||||
|
X17465818Y-13894831D02*
|
||||||
|
X17494389Y-13894831D01*
|
||||||
|
X17494389Y-13894831D02*
|
||||||
|
X17513437Y-13904355D01*
|
||||||
|
X17513437Y-13904355D02*
|
||||||
|
X17522961Y-13913879D01*
|
||||||
|
X17522961Y-13913879D02*
|
||||||
|
X17532485Y-13932926D01*
|
||||||
|
X17532485Y-13932926D02*
|
||||||
|
X17532485Y-13990069D01*
|
||||||
|
X17532485Y-13990069D02*
|
||||||
|
X17522961Y-14009117D01*
|
||||||
|
X17522961Y-14009117D02*
|
||||||
|
X17513437Y-14018641D01*
|
||||||
|
X17513437Y-14018641D02*
|
||||||
|
X17494389Y-14028164D01*
|
||||||
|
X17494389Y-14028164D02*
|
||||||
|
X17465818Y-14028164D01*
|
||||||
|
X17646770Y-14028164D02*
|
||||||
|
X17627723Y-14018641D01*
|
||||||
|
X17627723Y-14018641D02*
|
||||||
|
X17618199Y-13999593D01*
|
||||||
|
X17618199Y-13999593D02*
|
||||||
|
X17618199Y-13828164D01*
|
||||||
|
X17799151Y-14018641D02*
|
||||||
|
X17780104Y-14028164D01*
|
||||||
|
X17780104Y-14028164D02*
|
||||||
|
X17742008Y-14028164D01*
|
||||||
|
X17742008Y-14028164D02*
|
||||||
|
X17722961Y-14018641D01*
|
||||||
|
X17722961Y-14018641D02*
|
||||||
|
X17713437Y-13999593D01*
|
||||||
|
X17713437Y-13999593D02*
|
||||||
|
X17713437Y-13923403D01*
|
||||||
|
X17713437Y-13923403D02*
|
||||||
|
X17722961Y-13904355D01*
|
||||||
|
X17722961Y-13904355D02*
|
||||||
|
X17742008Y-13894831D01*
|
||||||
|
X17742008Y-13894831D02*
|
||||||
|
X17780104Y-13894831D01*
|
||||||
|
X17780104Y-13894831D02*
|
||||||
|
X17799151Y-13904355D01*
|
||||||
|
X17799151Y-13904355D02*
|
||||||
|
X17808675Y-13923403D01*
|
||||||
|
X17808675Y-13923403D02*
|
||||||
|
X17808675Y-13942450D01*
|
||||||
|
X17808675Y-13942450D02*
|
||||||
|
X17713437Y-13961498D01*
|
||||||
|
X17884866Y-14018641D02*
|
||||||
|
X17903913Y-14028164D01*
|
||||||
|
X17903913Y-14028164D02*
|
||||||
|
X17942008Y-14028164D01*
|
||||||
|
X17942008Y-14028164D02*
|
||||||
|
X17961056Y-14018641D01*
|
||||||
|
X17961056Y-14018641D02*
|
||||||
|
X17970580Y-13999593D01*
|
||||||
|
X17970580Y-13999593D02*
|
||||||
|
X17970580Y-13990069D01*
|
||||||
|
X17970580Y-13990069D02*
|
||||||
|
X17961056Y-13971022D01*
|
||||||
|
X17961056Y-13971022D02*
|
||||||
|
X17942008Y-13961498D01*
|
||||||
|
X17942008Y-13961498D02*
|
||||||
|
X17913437Y-13961498D01*
|
||||||
|
X17913437Y-13961498D02*
|
||||||
|
X17894389Y-13951974D01*
|
||||||
|
X17894389Y-13951974D02*
|
||||||
|
X17884866Y-13932926D01*
|
||||||
|
X17884866Y-13932926D02*
|
||||||
|
X17884866Y-13923403D01*
|
||||||
|
X17884866Y-13923403D02*
|
||||||
|
X17894389Y-13904355D01*
|
||||||
|
X17894389Y-13904355D02*
|
||||||
|
X17913437Y-13894831D01*
|
||||||
|
X17913437Y-13894831D02*
|
||||||
|
X17942008Y-13894831D01*
|
||||||
|
X17942008Y-13894831D02*
|
||||||
|
X17961056Y-13904355D01*
|
||||||
|
X18037247Y-14104355D02*
|
||||||
|
X18046770Y-14094831D01*
|
||||||
|
X18046770Y-14094831D02*
|
||||||
|
X18065818Y-14066260D01*
|
||||||
|
X18065818Y-14066260D02*
|
||||||
|
X18075342Y-14047212D01*
|
||||||
|
X18075342Y-14047212D02*
|
||||||
|
X18084866Y-14018641D01*
|
||||||
|
X18084866Y-14018641D02*
|
||||||
|
X18094389Y-13971022D01*
|
||||||
|
X18094389Y-13971022D02*
|
||||||
|
X18094389Y-13932926D01*
|
||||||
|
X18094389Y-13932926D02*
|
||||||
|
X18084866Y-13885307D01*
|
||||||
|
X18084866Y-13885307D02*
|
||||||
|
X18075342Y-13856736D01*
|
||||||
|
X18075342Y-13856736D02*
|
||||||
|
X18065818Y-13837688D01*
|
||||||
|
X18065818Y-13837688D02*
|
||||||
|
X18046770Y-13809117D01*
|
||||||
|
X18046770Y-13809117D02*
|
||||||
|
X18037247Y-13799593D01*
|
||||||
|
M02*
|
||||||
|
After Width: | Height: | Size: 23 KiB |
|
|
@ -0,0 +1,28 @@
|
||||||
|
M48
|
||||||
|
; DRILL file {KiCad (7.0.0)} date Sat Mar 18 07:42:17 2023
|
||||||
|
; FORMAT={-:-/ absolute / metric / decimal}
|
||||||
|
; #@! TF.CreationDate,2023-03-18T07:42:17+03:00
|
||||||
|
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(7.0.0)
|
||||||
|
; #@! TF.FileFunction,Plated,1,2,PTH
|
||||||
|
FMAT,2
|
||||||
|
METRIC
|
||||||
|
; #@! TA.AperFunction,Plated,PTH,ViaDrill
|
||||||
|
T1C1.000
|
||||||
|
%
|
||||||
|
G90
|
||||||
|
G05
|
||||||
|
T1
|
||||||
|
X143.764Y-108.331
|
||||||
|
X145.034Y-59.563
|
||||||
|
X147.955Y-78.232
|
||||||
|
X150.391Y-71.755
|
||||||
|
X151.638Y-106.934
|
||||||
|
X153.416Y-59.817
|
||||||
|
X153.67Y-77.724
|
||||||
|
X154.822Y-67.828
|
||||||
|
X158.242Y-56.388
|
||||||
|
X162.687Y-58.039
|
||||||
|
X163.322Y-104.013
|
||||||
|
X163.322Y-109.093
|
||||||
|
T0
|
||||||
|
M30
|
||||||
6812
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/StudioMic.kicad_pcb
Executable file
|
|
@ -0,0 +1,76 @@
|
||||||
|
{
|
||||||
|
"board": {
|
||||||
|
"active_layer": 44,
|
||||||
|
"active_layer_preset": "",
|
||||||
|
"auto_track_width": true,
|
||||||
|
"hidden_netclasses": [],
|
||||||
|
"hidden_nets": [],
|
||||||
|
"high_contrast_mode": 0,
|
||||||
|
"net_color_mode": 1,
|
||||||
|
"opacity": {
|
||||||
|
"images": 0.6,
|
||||||
|
"pads": 1.0,
|
||||||
|
"tracks": 1.0,
|
||||||
|
"vias": 1.0,
|
||||||
|
"zones": 0.6
|
||||||
|
},
|
||||||
|
"selection_filter": {
|
||||||
|
"dimensions": true,
|
||||||
|
"footprints": true,
|
||||||
|
"graphics": true,
|
||||||
|
"keepouts": true,
|
||||||
|
"lockedItems": false,
|
||||||
|
"otherItems": true,
|
||||||
|
"pads": true,
|
||||||
|
"text": true,
|
||||||
|
"tracks": true,
|
||||||
|
"vias": true,
|
||||||
|
"zones": true
|
||||||
|
},
|
||||||
|
"visible_items": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
5,
|
||||||
|
8,
|
||||||
|
9,
|
||||||
|
10,
|
||||||
|
11,
|
||||||
|
13,
|
||||||
|
15,
|
||||||
|
16,
|
||||||
|
17,
|
||||||
|
18,
|
||||||
|
19,
|
||||||
|
20,
|
||||||
|
21,
|
||||||
|
22,
|
||||||
|
23,
|
||||||
|
24,
|
||||||
|
25,
|
||||||
|
26,
|
||||||
|
27,
|
||||||
|
28,
|
||||||
|
29,
|
||||||
|
30,
|
||||||
|
32,
|
||||||
|
33,
|
||||||
|
34,
|
||||||
|
35,
|
||||||
|
36,
|
||||||
|
39,
|
||||||
|
40
|
||||||
|
],
|
||||||
|
"visible_layers": "ffdffff_ffffffff",
|
||||||
|
"zone_display_mode": 0
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"filename": "StudioMic.kicad_prl",
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"project": {
|
||||||
|
"files": []
|
||||||
|
}
|
||||||
|
}
|
||||||
490
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/StudioMic.kicad_pro
Executable file
|
|
@ -0,0 +1,490 @@
|
||||||
|
{
|
||||||
|
"board": {
|
||||||
|
"3dviewports": [],
|
||||||
|
"design_settings": {
|
||||||
|
"defaults": {
|
||||||
|
"board_outline_line_width": 0.09999999999999999,
|
||||||
|
"copper_line_width": 0.19999999999999998,
|
||||||
|
"copper_text_italic": false,
|
||||||
|
"copper_text_size_h": 1.5,
|
||||||
|
"copper_text_size_v": 1.5,
|
||||||
|
"copper_text_thickness": 0.3,
|
||||||
|
"copper_text_upright": false,
|
||||||
|
"courtyard_line_width": 0.049999999999999996,
|
||||||
|
"dimension_precision": 4,
|
||||||
|
"dimension_units": 3,
|
||||||
|
"dimensions": {
|
||||||
|
"arrow_length": 1270000,
|
||||||
|
"extension_offset": 500000,
|
||||||
|
"keep_text_aligned": true,
|
||||||
|
"suppress_zeroes": false,
|
||||||
|
"text_position": 0,
|
||||||
|
"units_format": 1
|
||||||
|
},
|
||||||
|
"fab_line_width": 0.09999999999999999,
|
||||||
|
"fab_text_italic": false,
|
||||||
|
"fab_text_size_h": 1.0,
|
||||||
|
"fab_text_size_v": 1.0,
|
||||||
|
"fab_text_thickness": 0.15,
|
||||||
|
"fab_text_upright": false,
|
||||||
|
"other_line_width": 0.15,
|
||||||
|
"other_text_italic": false,
|
||||||
|
"other_text_size_h": 1.0,
|
||||||
|
"other_text_size_v": 1.0,
|
||||||
|
"other_text_thickness": 0.15,
|
||||||
|
"other_text_upright": false,
|
||||||
|
"pads": {
|
||||||
|
"drill": 3.5,
|
||||||
|
"height": 2.7,
|
||||||
|
"width": 3.5
|
||||||
|
},
|
||||||
|
"silk_line_width": 0.15,
|
||||||
|
"silk_text_italic": false,
|
||||||
|
"silk_text_size_h": 1.0,
|
||||||
|
"silk_text_size_v": 1.0,
|
||||||
|
"silk_text_thickness": 0.15,
|
||||||
|
"silk_text_upright": false,
|
||||||
|
"zones": {
|
||||||
|
"min_clearance": 0.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"diff_pair_dimensions": [
|
||||||
|
{
|
||||||
|
"gap": 0.0,
|
||||||
|
"via_gap": 0.0,
|
||||||
|
"width": 0.0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"drc_exclusions": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 2
|
||||||
|
},
|
||||||
|
"rule_severities": {
|
||||||
|
"annular_width": "error",
|
||||||
|
"clearance": "error",
|
||||||
|
"connection_width": "warning",
|
||||||
|
"copper_edge_clearance": "error",
|
||||||
|
"copper_sliver": "warning",
|
||||||
|
"courtyards_overlap": "ignore",
|
||||||
|
"diff_pair_gap_out_of_range": "error",
|
||||||
|
"diff_pair_uncoupled_length_too_long": "error",
|
||||||
|
"drill_out_of_range": "error",
|
||||||
|
"duplicate_footprints": "warning",
|
||||||
|
"extra_footprint": "warning",
|
||||||
|
"footprint": "error",
|
||||||
|
"footprint_type_mismatch": "ignore",
|
||||||
|
"hole_clearance": "error",
|
||||||
|
"hole_near_hole": "error",
|
||||||
|
"invalid_outline": "error",
|
||||||
|
"isolated_copper": "warning",
|
||||||
|
"item_on_disabled_layer": "error",
|
||||||
|
"items_not_allowed": "error",
|
||||||
|
"length_out_of_range": "error",
|
||||||
|
"lib_footprint_issues": "warning",
|
||||||
|
"lib_footprint_mismatch": "warning",
|
||||||
|
"malformed_courtyard": "error",
|
||||||
|
"microvia_drill_out_of_range": "error",
|
||||||
|
"missing_courtyard": "ignore",
|
||||||
|
"missing_footprint": "warning",
|
||||||
|
"net_conflict": "warning",
|
||||||
|
"npth_inside_courtyard": "ignore",
|
||||||
|
"padstack": "warning",
|
||||||
|
"pth_inside_courtyard": "ignore",
|
||||||
|
"shorting_items": "error",
|
||||||
|
"silk_edge_clearance": "warning",
|
||||||
|
"silk_over_copper": "warning",
|
||||||
|
"silk_overlap": "warning",
|
||||||
|
"skew_out_of_range": "error",
|
||||||
|
"solder_mask_bridge": "error",
|
||||||
|
"starved_thermal": "error",
|
||||||
|
"text_height": "warning",
|
||||||
|
"text_thickness": "warning",
|
||||||
|
"through_hole_pad_without_hole": "error",
|
||||||
|
"too_many_vias": "error",
|
||||||
|
"track_dangling": "warning",
|
||||||
|
"track_width": "error",
|
||||||
|
"tracks_crossing": "error",
|
||||||
|
"unconnected_items": "error",
|
||||||
|
"unresolved_variable": "error",
|
||||||
|
"via_dangling": "warning",
|
||||||
|
"zones_intersect": "error"
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"max_error": 0.005,
|
||||||
|
"min_clearance": 0.0,
|
||||||
|
"min_connection": 0.0,
|
||||||
|
"min_copper_edge_clearance": 0.0,
|
||||||
|
"min_hole_clearance": 0.25,
|
||||||
|
"min_hole_to_hole": 0.25,
|
||||||
|
"min_microvia_diameter": 0.19999999999999998,
|
||||||
|
"min_microvia_drill": 0.09999999999999999,
|
||||||
|
"min_resolved_spokes": 2,
|
||||||
|
"min_silk_clearance": 0.0,
|
||||||
|
"min_text_height": 0.7999999999999999,
|
||||||
|
"min_text_thickness": 0.08,
|
||||||
|
"min_through_hole_diameter": 0.3,
|
||||||
|
"min_track_width": 0.0,
|
||||||
|
"min_via_annular_width": 0.09999999999999999,
|
||||||
|
"min_via_diameter": 0.5,
|
||||||
|
"solder_mask_clearance": 0.0,
|
||||||
|
"solder_mask_min_width": 0.0,
|
||||||
|
"solder_mask_to_copper_clearance": 0.0,
|
||||||
|
"use_height_for_length_calcs": true
|
||||||
|
},
|
||||||
|
"teardrop_options": [
|
||||||
|
{
|
||||||
|
"td_allow_use_two_tracks": true,
|
||||||
|
"td_curve_segcount": 5,
|
||||||
|
"td_on_pad_in_zone": false,
|
||||||
|
"td_onpadsmd": true,
|
||||||
|
"td_onroundshapesonly": false,
|
||||||
|
"td_ontrackend": false,
|
||||||
|
"td_onviapad": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"teardrop_parameters": [
|
||||||
|
{
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_target_name": "td_round_shape",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_target_name": "td_rect_shape",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_target_name": "td_track_end",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"track_widths": [
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"via_dimensions": [
|
||||||
|
{
|
||||||
|
"diameter": 0.0,
|
||||||
|
"drill": 0.0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"zones_allow_external_fillets": false
|
||||||
|
},
|
||||||
|
"layer_presets": [],
|
||||||
|
"viewports": []
|
||||||
|
},
|
||||||
|
"boards": [],
|
||||||
|
"cvpcb": {
|
||||||
|
"equivalence_files": []
|
||||||
|
},
|
||||||
|
"erc": {
|
||||||
|
"erc_exclusions": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 0
|
||||||
|
},
|
||||||
|
"pin_map": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rule_severities": {
|
||||||
|
"bus_definition_conflict": "error",
|
||||||
|
"bus_entry_needed": "error",
|
||||||
|
"bus_to_bus_conflict": "error",
|
||||||
|
"bus_to_net_conflict": "error",
|
||||||
|
"conflicting_netclasses": "error",
|
||||||
|
"different_unit_footprint": "error",
|
||||||
|
"different_unit_net": "error",
|
||||||
|
"duplicate_reference": "error",
|
||||||
|
"duplicate_sheet_names": "error",
|
||||||
|
"endpoint_off_grid": "warning",
|
||||||
|
"extra_units": "error",
|
||||||
|
"global_label_dangling": "warning",
|
||||||
|
"hier_label_mismatch": "error",
|
||||||
|
"label_dangling": "error",
|
||||||
|
"lib_symbol_issues": "warning",
|
||||||
|
"missing_bidi_pin": "warning",
|
||||||
|
"missing_input_pin": "warning",
|
||||||
|
"missing_power_pin": "error",
|
||||||
|
"missing_unit": "warning",
|
||||||
|
"multiple_net_names": "warning",
|
||||||
|
"net_not_bus_member": "warning",
|
||||||
|
"no_connect_connected": "warning",
|
||||||
|
"no_connect_dangling": "warning",
|
||||||
|
"pin_not_connected": "error",
|
||||||
|
"pin_not_driven": "error",
|
||||||
|
"pin_to_pin": "warning",
|
||||||
|
"power_pin_not_driven": "error",
|
||||||
|
"similar_labels": "warning",
|
||||||
|
"simulation_model_issue": "error",
|
||||||
|
"unannotated": "error",
|
||||||
|
"unit_value_mismatch": "error",
|
||||||
|
"unresolved_variable": "error",
|
||||||
|
"wire_dangling": "error"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"pinned_footprint_libs": [],
|
||||||
|
"pinned_symbol_libs": []
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"filename": "StudioMic.kicad_pro",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
"net_settings": {
|
||||||
|
"classes": [
|
||||||
|
{
|
||||||
|
"bus_width": 12,
|
||||||
|
"clearance": 0.3,
|
||||||
|
"diff_pair_gap": 0.25,
|
||||||
|
"diff_pair_via_gap": 0.25,
|
||||||
|
"diff_pair_width": 0.2,
|
||||||
|
"line_style": 0,
|
||||||
|
"microvia_diameter": 0.3,
|
||||||
|
"microvia_drill": 0.1,
|
||||||
|
"name": "Default",
|
||||||
|
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"track_width": 0.4,
|
||||||
|
"via_diameter": 1.0,
|
||||||
|
"via_drill": 0.5,
|
||||||
|
"wire_width": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"meta": {
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"net_colors": null,
|
||||||
|
"netclass_assignments": null,
|
||||||
|
"netclass_patterns": []
|
||||||
|
},
|
||||||
|
"pcbnew": {
|
||||||
|
"last_paths": {
|
||||||
|
"gencad": "",
|
||||||
|
"idf": "",
|
||||||
|
"netlist": "",
|
||||||
|
"specctra_dsn": "",
|
||||||
|
"step": "StudioMic.step",
|
||||||
|
"vrml": ""
|
||||||
|
},
|
||||||
|
"page_layout_descr_file": ""
|
||||||
|
},
|
||||||
|
"schematic": {
|
||||||
|
"annotate_start_num": 0,
|
||||||
|
"drawing": {
|
||||||
|
"dashed_lines_dash_length_ratio": 12.0,
|
||||||
|
"dashed_lines_gap_length_ratio": 3.0,
|
||||||
|
"default_line_thickness": 6.0,
|
||||||
|
"default_text_size": 50.0,
|
||||||
|
"field_names": [],
|
||||||
|
"intersheets_ref_own_page": false,
|
||||||
|
"intersheets_ref_prefix": "",
|
||||||
|
"intersheets_ref_short": false,
|
||||||
|
"intersheets_ref_show": false,
|
||||||
|
"intersheets_ref_suffix": "",
|
||||||
|
"junction_size_choice": 3,
|
||||||
|
"label_size_ratio": 0.375,
|
||||||
|
"pin_symbol_size": 25.0,
|
||||||
|
"text_offset_ratio": 0.15
|
||||||
|
},
|
||||||
|
"legacy_lib_dir": "",
|
||||||
|
"legacy_lib_list": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
"net_format_name": "",
|
||||||
|
"page_layout_descr_file": "",
|
||||||
|
"plot_directory": "",
|
||||||
|
"spice_current_sheet_as_root": false,
|
||||||
|
"spice_external_command": "spice \"%I\"",
|
||||||
|
"spice_model_current_sheet_as_root": true,
|
||||||
|
"spice_save_all_currents": false,
|
||||||
|
"spice_save_all_voltages": false,
|
||||||
|
"subpart_first_id": 65,
|
||||||
|
"subpart_id_separator": 0
|
||||||
|
},
|
||||||
|
"sheets": [
|
||||||
|
[
|
||||||
|
"91bc7b18-b29c-4e7b-9217-215188e7e972",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"text_variables": {}
|
||||||
|
}
|
||||||
BIN
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/StudioMic.pdf
Executable file
64428
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/StudioMic.step
Executable file
BIN
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/StudioMic.xls
Executable file
BIN
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/build.jpg
Executable file
|
After Width: | Height: | Size: 141 KiB |
BIN
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/capsule.png
Executable file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/donor.png
Executable file
|
After Width: | Height: | Size: 2.9 MiB |
93150
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/fp-info-cache
Executable file
BIN
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/render.png
Executable file
|
After Width: | Height: | Size: 1 MiB |
BIN
02_PRODUITS_PHYSIQUES/R&D_References/DIY/studio_mic_kicad/sch_img.png
Executable file
|
After Width: | Height: | Size: 343 KiB |
|
|
@ -0,0 +1,413 @@
|
||||||
|
# Spec technique — AudioGridder intégré Veza
|
||||||
|
|
||||||
|
> Traitement VST distant pour artistes avec machines faibles : utiliser les serveurs Talas comme ferme de plugins.
|
||||||
|
> Feature premium (V2+), module "Personal".
|
||||||
|
> Dernière mise à jour : avril 2026.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Qu'est-ce qu'AudioGridder
|
||||||
|
|
||||||
|
[AudioGridder](https://audiogridder.com/) est un logiciel open-source (MIT) qui permet de **déporter le traitement de plugins audio** (VST/AU) sur une machine distante via le réseau.
|
||||||
|
|
||||||
|
```
|
||||||
|
┌────────────────────┐ ┌─────────────────────────┐
|
||||||
|
│ DAW local │ réseau │ Serveur AudioGridder │
|
||||||
|
│ (laptop faible) │──────────▶│ (machine puissante) │
|
||||||
|
│ │ audio │ │
|
||||||
|
│ Plugin AG client │◀──────────│ Plugins VST chargés │
|
||||||
|
│ (= proxy VST) │ processed│ (Fabfilter, Valhalla…) │
|
||||||
|
└────────────────────┘ └─────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
**Pourquoi c'est pertinent pour Veza** : les artistes indépendants ont souvent un seul laptop qui rame sous 20 pistes avec des plugins lourds. Talas a 2× Dell R720 avec 768 GB RAM et 64 cœurs — de la puissance inutilisée.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Vision Veza
|
||||||
|
|
||||||
|
### 2.1 Concept
|
||||||
|
|
||||||
|
Veza propose aux artistes de **connecter leur DAW** à un serveur AudioGridder hébergé par Talas, pour traiter leurs plugins à distance.
|
||||||
|
|
||||||
|
**Ce que ça change** : un beatmaker avec un laptop à 500€ peut utiliser des chaînes de mix lourdes (20 instances de FabFilter, Valhalla, etc.) sans latence perceptible — parce que le traitement tourne sur les R720.
|
||||||
|
|
||||||
|
### 2.2 Modèle (premium V2)
|
||||||
|
|
||||||
|
- Feature **payante** (abonnement mensuel) — pas gratuit (coût serveur non-nul)
|
||||||
|
- Chaque artiste obtient un **slot dédié** (CPU + RAM réservés)
|
||||||
|
- Les plugins "maison" (open-source / gratuits) sont **pré-installés** sur le serveur
|
||||||
|
- Les plugins commerciaux → l'artiste doit avoir sa propre licence (Talas ne distribue pas de plugins)
|
||||||
|
|
||||||
|
### 2.3 Ce que c'est VS ce que c'est pas
|
||||||
|
|
||||||
|
| C'est | C'est pas |
|
||||||
|
|-------|-----------|
|
||||||
|
| Un serveur de calcul pour tes plugins | Un cloud gaming audio |
|
||||||
|
| Un complément à ton DAW local | Un remplacement de ton DAW |
|
||||||
|
| Un outil pour les machines faibles | Un service de mastering |
|
||||||
|
| Un hébergement de traitements | Une distribution de plugins piratés |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Architecture Veza + AudioGridder
|
||||||
|
|
||||||
|
### 3.1 Infrastructure
|
||||||
|
|
||||||
|
```
|
||||||
|
┌───────────────────────────────────────────────────────────────┐
|
||||||
|
│ Dell R720 "compute" │
|
||||||
|
│ │
|
||||||
|
│ ┌─────────────────┐ ┌─────────────────┐ ┌───────────────┐ │
|
||||||
|
│ │ AG Instance #1 │ │ AG Instance #2 │ │ AG Instance N │ │
|
||||||
|
│ │ User: artiste_a │ │ User: artiste_b │ │ User: ... │ │
|
||||||
|
│ │ 4 CPU · 16 GB │ │ 4 CPU · 16 GB │ │ │ │
|
||||||
|
│ │ Plugins chargés │ │ Plugins chargés │ │ │ │
|
||||||
|
│ └─────────────────┘ └─────────────────┘ └───────────────┘ │
|
||||||
|
│ │
|
||||||
|
│ Docker containers (isolation par user) │
|
||||||
|
└───────────────────────────────────────────────────────────────┘
|
||||||
|
|
||||||
|
↕ WireGuard VPN
|
||||||
|
↕ (audio stream chiffré)
|
||||||
|
|
||||||
|
┌──────────────────────┐
|
||||||
|
│ Laptop artiste │
|
||||||
|
│ DAW + AG Client │
|
||||||
|
│ (plugin proxy VST) │
|
||||||
|
└──────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3.2 Isolation par container Docker
|
||||||
|
|
||||||
|
Chaque user = un container Docker AudioGridder dédié :
|
||||||
|
- **CPU** : limité (4 cœurs par slot)
|
||||||
|
- **RAM** : limité (16 GB par slot)
|
||||||
|
- **Réseau** : uniquement port AG + WireGuard
|
||||||
|
- **Stockage** : volume isolé pour presets/config
|
||||||
|
|
||||||
|
**Pourquoi Docker** : isolation, reproductibilité, scaling.
|
||||||
|
|
||||||
|
### 3.3 Connexion réseau
|
||||||
|
|
||||||
|
**Problème** : AudioGridder envoie de l'audio brut sur le réseau. Ça doit être :
|
||||||
|
1. **Chiffré** (audio brut = contenu sensible de l'artiste)
|
||||||
|
2. **Basse latence** (sinon inutilisable)
|
||||||
|
|
||||||
|
**Solution** : tunnel **WireGuard** entre le laptop de l'artiste et le serveur Talas.
|
||||||
|
|
||||||
|
- Chaque artiste reçoit un profil WireGuard personnel (clé publique/privée)
|
||||||
|
- Le container AG est accessible uniquement via l'IP WireGuard du user
|
||||||
|
- Latence additionnelle WireGuard : < 1ms (même réseau EU)
|
||||||
|
|
||||||
|
### 3.4 Latence attendue
|
||||||
|
|
||||||
|
| Distance réseau | Latence aller-retour | Buffer audio | Utilisable ? |
|
||||||
|
|----------------|---------------------|-------------|-------------|
|
||||||
|
| Même ville | 2-5 ms | 64 samples | Oui |
|
||||||
|
| Même pays (FR) | 5-15 ms | 128 samples | Oui |
|
||||||
|
| EU voisin (DE, NL) | 15-30 ms | 256 samples | Limite |
|
||||||
|
| Intercontinental | 50-150 ms | Non | Non |
|
||||||
|
|
||||||
|
**Cible V1** : utilisable en France métropolitaine et pays voisins.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Gestion des plugins
|
||||||
|
|
||||||
|
### 4.1 Plugins pré-installés (gratuits/open-source)
|
||||||
|
|
||||||
|
Talas pré-installe sur les serveurs AG :
|
||||||
|
|
||||||
|
| Plugin | Type | Licence |
|
||||||
|
|--------|------|---------|
|
||||||
|
| Vital | Synthé | GPL |
|
||||||
|
| Surge | Synthé | GPL |
|
||||||
|
| Dexed | Synthé FM | GPL |
|
||||||
|
| OB-Xd | Synthé analogique | GPL |
|
||||||
|
| TAL-NoiseMaker | Synthé | Freeware |
|
||||||
|
| Odin 2 | Synthé | GPL |
|
||||||
|
| DrumGizmo | Batterie | GPL |
|
||||||
|
| LSP Plugins | EQ, comp, gate, delay | GPL |
|
||||||
|
| Airwindows | Effets divers | MIT |
|
||||||
|
| MFreeFXBundle | EQ, comp, saturation | Freeware |
|
||||||
|
| Dragonfly Reverb | Reverb | GPL |
|
||||||
|
| Valhalla Supermassive | Reverb | Freeware |
|
||||||
|
| TDR Nova | EQ dynamique | Freeware |
|
||||||
|
| Analog Obsession suite | Channel strips | Freeware |
|
||||||
|
|
||||||
|
→ **Suite de base solide** couvrant synthé, EQ, comp, reverb, delay, saturation.
|
||||||
|
|
||||||
|
### 4.2 Plugins commerciaux (licence user)
|
||||||
|
|
||||||
|
L'artiste possède sa propre licence → il peut demander l'installation sur son container.
|
||||||
|
|
||||||
|
**Workflow** :
|
||||||
|
1. L'artiste ouvre un ticket "Demande d'installation plugin"
|
||||||
|
2. Fournit sa clé de licence ou son compte
|
||||||
|
3. L'admin (toi) installe le plugin dans le container du user
|
||||||
|
4. Le plugin est accessible uniquement dans SON container
|
||||||
|
|
||||||
|
**Restrictions** :
|
||||||
|
- Talas n'achète PAS de licences pour les users
|
||||||
|
- Un plugin installé sur le container A ne peut PAS être accédé par le container B
|
||||||
|
- Si l'artiste résilie, ses plugins commerciaux sont désinstallés (données presets exportées)
|
||||||
|
|
||||||
|
### 4.3 Plugins interdits
|
||||||
|
|
||||||
|
- Plugins crackés
|
||||||
|
- Plugins avec DRM "cloud" incompatible (iLok cloud, Pace)
|
||||||
|
- Plugins nécessitant un dongle physique (iLok USB) — impossible sur serveur distant
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Modèle de données Veza
|
||||||
|
|
||||||
|
### 5.1 Table `ag_subscriptions`
|
||||||
|
|
||||||
|
```sql
|
||||||
|
CREATE TABLE ag_subscriptions (
|
||||||
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
|
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||||
|
plan VARCHAR(30) NOT NULL,
|
||||||
|
-- 'starter', 'pro'
|
||||||
|
|
||||||
|
status VARCHAR(20) NOT NULL DEFAULT 'pending',
|
||||||
|
-- 'pending', 'active', 'suspended', 'cancelled'
|
||||||
|
|
||||||
|
-- ressources allouées
|
||||||
|
cpu_cores INT NOT NULL DEFAULT 4,
|
||||||
|
ram_gb INT NOT NULL DEFAULT 16,
|
||||||
|
|
||||||
|
-- container
|
||||||
|
container_id VARCHAR(100), -- Docker container ID
|
||||||
|
wireguard_ip INET,
|
||||||
|
wireguard_pubkey VARCHAR(100),
|
||||||
|
|
||||||
|
activated_at TIMESTAMPTZ,
|
||||||
|
suspended_at TIMESTAMPTZ,
|
||||||
|
cancelled_at TIMESTAMPTZ,
|
||||||
|
|
||||||
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||||
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE UNIQUE INDEX idx_ag_subscriptions_user ON ag_subscriptions(user_id) WHERE status IN ('active', 'pending');
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5.2 Table `ag_installed_plugins`
|
||||||
|
|
||||||
|
```sql
|
||||||
|
CREATE TABLE ag_installed_plugins (
|
||||||
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
|
subscription_id UUID NOT NULL REFERENCES ag_subscriptions(id) ON DELETE CASCADE,
|
||||||
|
|
||||||
|
plugin_name VARCHAR(200) NOT NULL,
|
||||||
|
plugin_vendor VARCHAR(100) NOT NULL,
|
||||||
|
plugin_type VARCHAR(20) NOT NULL, -- 'vst3', 'vst2', 'au', 'clap'
|
||||||
|
license_type VARCHAR(20) NOT NULL, -- 'preinstalled', 'user_owned'
|
||||||
|
|
||||||
|
installed_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||||
|
removed_at TIMESTAMPTZ
|
||||||
|
);
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5.3 Table `ag_usage_logs`
|
||||||
|
|
||||||
|
```sql
|
||||||
|
CREATE TABLE ag_usage_logs (
|
||||||
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
|
subscription_id UUID NOT NULL REFERENCES ag_subscriptions(id),
|
||||||
|
|
||||||
|
session_start TIMESTAMPTZ NOT NULL,
|
||||||
|
session_end TIMESTAMPTZ,
|
||||||
|
|
||||||
|
peak_cpu_percent NUMERIC(5,2),
|
||||||
|
peak_ram_mb INT,
|
||||||
|
avg_latency_ms NUMERIC(6,2),
|
||||||
|
|
||||||
|
plugins_loaded INT
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX idx_ag_usage_logs_sub ON ag_usage_logs(subscription_id, session_start DESC);
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. API Endpoints
|
||||||
|
|
||||||
|
Base : `/api/v1/audiogridder`
|
||||||
|
|
||||||
|
| Méthode | Route | Auth | Description |
|
||||||
|
|---------|-------|------|-------------|
|
||||||
|
| GET | `/status` | 🔒 | Mon abonnement AG + status container |
|
||||||
|
| POST | `/subscribe` | 🔒 | Souscrire un plan AG |
|
||||||
|
| POST | `/cancel` | 🔒 | Résilier |
|
||||||
|
| GET | `/connection` | 🔒 | Config WireGuard + IP du container |
|
||||||
|
| GET | `/plugins` | 🔒 | Liste plugins installés sur mon container |
|
||||||
|
| POST | `/plugins/request` | 🔒 | Demander installation plugin |
|
||||||
|
| GET | `/usage` | 🔒 | Historique d'usage |
|
||||||
|
| POST | `/admin/provision` | 🔒👑 | Provisionner container (admin) |
|
||||||
|
| POST | `/admin/plugins/install` | 🔒👑 | Installer plugin (admin) |
|
||||||
|
| POST | `/admin/suspend` | 🔒👑 | Suspendre un container |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Provisioning d'un container
|
||||||
|
|
||||||
|
### 7.1 Flow d'activation
|
||||||
|
|
||||||
|
```
|
||||||
|
[1] POST /audiogridder/subscribe { plan: 'starter' }
|
||||||
|
→ Backend:
|
||||||
|
- Vérifie user a un abonnement actif (ou paiement ponctuel)
|
||||||
|
- INSERT ag_subscriptions (status='pending')
|
||||||
|
- Notifie admin (toi) : "Nouvel abonnement AG à provisionner"
|
||||||
|
|
||||||
|
[2] Admin : POST /admin/provision { subscription_id }
|
||||||
|
→ Backend:
|
||||||
|
- docker run --name ag_<user_id> --cpus=4 --memory=16g ...
|
||||||
|
- Génère paire WireGuard (clé privée user → envoyée par email chiffré)
|
||||||
|
- Configure firewall (uniquement port AG + WG depuis l'IP WG du user)
|
||||||
|
- UPDATE ag_subscriptions SET status='active', container_id=..., wireguard_ip=...
|
||||||
|
- Email à l'artiste avec instructions de connexion
|
||||||
|
|
||||||
|
[3] Artiste :
|
||||||
|
- Installe WireGuard + importe le profil
|
||||||
|
- Configure AudioGridder client dans son DAW
|
||||||
|
- Pointe vers l'IP WireGuard du container
|
||||||
|
```
|
||||||
|
|
||||||
|
### 7.2 V1 : provisioning semi-manuel
|
||||||
|
|
||||||
|
En V1, c'est **toi qui provisionnes** les containers (Ansible playbook).
|
||||||
|
Le flow n'est pas 100% automatique — et c'est OK pour les 10-50 premiers users.
|
||||||
|
|
||||||
|
### 7.3 V2 : provisioning automatique
|
||||||
|
|
||||||
|
Ansible playbook déclenché automatiquement par le backend sur subscribe.
|
||||||
|
Avec un pool de containers pré-créés "warm" pour démarrage instantané.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Plans et pricing
|
||||||
|
|
||||||
|
### 8.1 Plans V2
|
||||||
|
|
||||||
|
| Plan | CPU | RAM | Plugins pré-installés | Prix (HT/mois) |
|
||||||
|
|------|-----|-----|----------------------|-----------------|
|
||||||
|
| `starter` | 4 cœurs | 16 GB | Tous gratuits | 9 € |
|
||||||
|
| `pro` | 8 cœurs | 32 GB | Tous gratuits + support plugins perso | 19 € |
|
||||||
|
|
||||||
|
### 8.2 Ce que le prix couvre
|
||||||
|
|
||||||
|
- Hébergement du container 24/7
|
||||||
|
- Bande passante audio illimitée
|
||||||
|
- Mise à jour des plugins pré-installés
|
||||||
|
- Support technique pour la config
|
||||||
|
|
||||||
|
### 8.3 Coût infra réel (estimation)
|
||||||
|
|
||||||
|
Avec les R720 (768 GB RAM total, 64 cœurs total) :
|
||||||
|
- Slots `starter` possibles : ~40 simultanés (pas tous actifs en même temps)
|
||||||
|
- Slots `pro` possibles : ~20 simultanés
|
||||||
|
- Coût marginal par slot : électricité (~2-3 €/mois)
|
||||||
|
- Marge : ~6-7 €/slot/mois
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. Risques et limites
|
||||||
|
|
||||||
|
### 9.1 Latence
|
||||||
|
|
||||||
|
- **Risque** : un artiste en Roumanie tente d'utiliser un serveur en France → latence 40ms → inutilisable en temps réel
|
||||||
|
- **Mitigation** : afficher clairement les zones de latence supportées, outil de test intégré
|
||||||
|
|
||||||
|
### 9.2 Abus de ressources
|
||||||
|
|
||||||
|
- **Risque** : un user charge 50 instances de Kontakt → 200 GB RAM
|
||||||
|
- **Mitigation** : limites Docker cgroups (CPU + RAM hard limit), monitoring, kill si dépassement prolongé
|
||||||
|
|
||||||
|
### 9.3 Plugins vérolés
|
||||||
|
|
||||||
|
- **Risque** : un user demande l'installation d'un VST corrompu / cracké
|
||||||
|
- **Mitigation** : validation manuelle par l'admin, scan ClamAV avant installation
|
||||||
|
|
||||||
|
### 9.4 Dépendance à AudioGridder (projet open-source)
|
||||||
|
|
||||||
|
- **Risque** : projet abandonné par le mainteneur
|
||||||
|
- **Mitigation** : fork Talas si nécessaire (licence MIT, code court ~15k lignes)
|
||||||
|
|
||||||
|
### 9.5 Complexité opérationnelle
|
||||||
|
|
||||||
|
- **Risque** : gérer 50 containers avec des plugins différents = cauchemar ops
|
||||||
|
- **Mitigation** : images Docker standardisées, Ansible automation, max 2-3 configs différentes
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. Aspects légaux
|
||||||
|
|
||||||
|
### 10.1 Licences VST
|
||||||
|
|
||||||
|
- Talas installe des plugins gratuits/GPL → aucun problème
|
||||||
|
- Plugins utilisateur : la licence appartient au user, il est responsable
|
||||||
|
- Talas ne distribue pas le plugin, il l'exécute pour le compte du user (comparable au cloud computing)
|
||||||
|
|
||||||
|
### 10.2 RGPD
|
||||||
|
|
||||||
|
- Audio transitant : données personnelles de l'artiste
|
||||||
|
- Chiffrement WireGuard (in transit)
|
||||||
|
- Chiffrement volume Docker (at rest, LUKS)
|
||||||
|
- Suppression garantie à la résiliation
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 11. Roadmap
|
||||||
|
|
||||||
|
### V1.0 — aucun (feature non lancée initialement)
|
||||||
|
|
||||||
|
AudioGridder intégré n'est **pas** dans le périmètre de lancement.
|
||||||
|
|
||||||
|
### V2.0 (Q1 2027, si demande validée)
|
||||||
|
- [ ] Provisioning semi-manuel (Ansible)
|
||||||
|
- [ ] Intégration WireGuard
|
||||||
|
- [ ] Suite plugins gratuits pré-installés
|
||||||
|
- [ ] Dashboard usage
|
||||||
|
- [ ] Plan `starter`
|
||||||
|
|
||||||
|
### V2.5 (mi-2027)
|
||||||
|
- [ ] Provisioning automatique
|
||||||
|
- [ ] Pool de containers warm
|
||||||
|
- [ ] Installation plugins user automatisée
|
||||||
|
- [ ] Plan `pro`
|
||||||
|
- [ ] Outil de test latence intégré
|
||||||
|
|
||||||
|
### V3.0+ (si ça marche)
|
||||||
|
- [ ] Multi-serveur (load balancing entre R720)
|
||||||
|
- [ ] Snapshot / restore de session complète
|
||||||
|
- [ ] Présets de chaînes (mastering, mix, sound design)
|
||||||
|
- [ ] API pour contrôle externe (OSC, MIDI over network)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 12. Alternatives considérées
|
||||||
|
|
||||||
|
| Option | Pour | Contre |
|
||||||
|
|--------|------|--------|
|
||||||
|
| **AudioGridder (choisi)** | Open-source, simple, léger | Pas de GUI côté serveur |
|
||||||
|
| **JACK network** | Standard audio Linux | Complexe, pas Windows-friendly |
|
||||||
|
| **SoundGrid (Waves)** | Pro, basse latence | Propriétaire, cher, plugins Waves only |
|
||||||
|
| **VST Transit (Steinberg)** | Intégré Cubase | Fermé, Cubase only |
|
||||||
|
| **Rien** | Zéro complexité | Pas de différenciant |
|
||||||
|
|
||||||
|
AudioGridder est le meilleur compromis : open-source, cross-platform, léger, communauté active.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Voir aussi
|
||||||
|
|
||||||
|
- [[Personal/Cloud_Perso/SPEC_CLOUD_PERSO]] — autre feature Personal
|
||||||
|
- [[Personal/README]] — vue d'ensemble module Personal
|
||||||
|
- [[04_INFRA_DEPLOIEMENT/Architecture_Serveurs]] — R720 specs
|
||||||
|
- [[04_INFRA_DEPLOIEMENT/Docker_Incus]] — stratégie containers
|
||||||
|
- [[09_MODELE_ECONOMIQUE/BUSINESS_PLAN_TALAS]] — revenue streams
|
||||||
|
|
@ -0,0 +1,309 @@
|
||||||
|
# Spec technique — Espace Produits Personnels
|
||||||
|
|
||||||
|
> Espace client pour les produits Talas achetés : garantie, documentation, SAV, historique.
|
||||||
|
> Stack : Go (Gin + GORM) · PostgreSQL · MinIO (PDFs)
|
||||||
|
> Dernière mise à jour : avril 2026.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Vue d'ensemble
|
||||||
|
|
||||||
|
Quand un artiste achète un micro Talas, il obtient un **espace produit personnel** dans Veza qui lui donne accès à :
|
||||||
|
|
||||||
|
- Le certificat de garantie (avec numéro de série)
|
||||||
|
- La documentation technique du produit (PDF, guides)
|
||||||
|
- L'historique de ses achats
|
||||||
|
- Le suivi SAV / réparation
|
||||||
|
- Les mises à jour firmware (si applicable)
|
||||||
|
- Des guides d'entretien et de réparation DIY
|
||||||
|
|
||||||
|
C'est le **lien permanent** entre l'artiste et son matériel — et un différenciant clé de Talas (réparabilité, durabilité).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Modèle de données
|
||||||
|
|
||||||
|
### 2.1 Table `user_products` (liaison user ↔ produit physique)
|
||||||
|
|
||||||
|
```sql
|
||||||
|
CREATE TABLE user_products (
|
||||||
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
|
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||||
|
order_id UUID REFERENCES orders(id),
|
||||||
|
variant_id UUID REFERENCES product_variants(id),
|
||||||
|
|
||||||
|
serial_number VARCHAR(50) UNIQUE,
|
||||||
|
|
||||||
|
product_name VARCHAR(200) NOT NULL, -- snapshot du nom produit
|
||||||
|
purchase_date DATE NOT NULL,
|
||||||
|
|
||||||
|
-- garantie
|
||||||
|
warranty_months INT NOT NULL DEFAULT 24,
|
||||||
|
warranty_start DATE NOT NULL,
|
||||||
|
warranty_end DATE NOT NULL,
|
||||||
|
warranty_extended BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
|
||||||
|
-- état
|
||||||
|
status VARCHAR(20) NOT NULL DEFAULT 'active',
|
||||||
|
-- 'active', 'in_repair', 'replaced', 'retired'
|
||||||
|
|
||||||
|
-- notes
|
||||||
|
user_notes TEXT,
|
||||||
|
|
||||||
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||||
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX idx_user_products_user ON user_products(user_id);
|
||||||
|
CREATE INDEX idx_user_products_serial ON user_products(serial_number);
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.2 Table `product_documents` (docs par produit-type)
|
||||||
|
|
||||||
|
```sql
|
||||||
|
CREATE TABLE product_documents (
|
||||||
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
|
product_id UUID NOT NULL REFERENCES products(id),
|
||||||
|
|
||||||
|
title VARCHAR(200) NOT NULL,
|
||||||
|
doc_type VARCHAR(30) NOT NULL,
|
||||||
|
-- 'manual', 'quick_start', 'repair_guide', 'schematic',
|
||||||
|
-- 'datasheet', 'firmware', 'faq'
|
||||||
|
language VARCHAR(5) NOT NULL DEFAULT 'fr',
|
||||||
|
version VARCHAR(20),
|
||||||
|
|
||||||
|
s3_key VARCHAR(500) NOT NULL,
|
||||||
|
file_size_bytes BIGINT,
|
||||||
|
|
||||||
|
is_public BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
|
||||||
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||||
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX idx_product_documents_product ON product_documents(product_id, doc_type);
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.3 Table `repair_requests` (SAV)
|
||||||
|
|
||||||
|
```sql
|
||||||
|
CREATE TABLE repair_requests (
|
||||||
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
|
user_product_id UUID NOT NULL REFERENCES user_products(id),
|
||||||
|
user_id UUID NOT NULL REFERENCES users(id),
|
||||||
|
|
||||||
|
subject VARCHAR(200) NOT NULL,
|
||||||
|
description TEXT NOT NULL,
|
||||||
|
|
||||||
|
status VARCHAR(30) NOT NULL DEFAULT 'submitted',
|
||||||
|
-- 'submitted', 'acknowledged', 'diagnosing',
|
||||||
|
-- 'awaiting_parts', 'repairing', 'shipping_back',
|
||||||
|
-- 'completed', 'cancelled'
|
||||||
|
|
||||||
|
is_warranty BOOLEAN, -- couvert par garantie ?
|
||||||
|
repair_notes TEXT, -- notes internes (admin)
|
||||||
|
|
||||||
|
-- tracking
|
||||||
|
return_tracking_number VARCHAR(100), -- envoi user → Talas
|
||||||
|
reship_tracking_number VARCHAR(100), -- renvoi Talas → user
|
||||||
|
|
||||||
|
submitted_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||||
|
completed_at TIMESTAMPTZ,
|
||||||
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX idx_repair_requests_user ON repair_requests(user_id, submitted_at DESC);
|
||||||
|
CREATE INDEX idx_repair_requests_status ON repair_requests(status) WHERE status NOT IN ('completed', 'cancelled');
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.4 Table `repair_messages` (fil de discussion SAV)
|
||||||
|
|
||||||
|
```sql
|
||||||
|
CREATE TABLE repair_messages (
|
||||||
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
|
repair_id UUID NOT NULL REFERENCES repair_requests(id) ON DELETE CASCADE,
|
||||||
|
author_id UUID NOT NULL REFERENCES users(id),
|
||||||
|
is_admin BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
body TEXT NOT NULL,
|
||||||
|
attachments VARCHAR(500)[] DEFAULT '{}',
|
||||||
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX idx_repair_messages_repair ON repair_messages(repair_id, created_at);
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. API Endpoints
|
||||||
|
|
||||||
|
Base : `/api/v1/my-products`
|
||||||
|
|
||||||
|
### 3.1 Mes produits
|
||||||
|
|
||||||
|
| Méthode | Route | Auth | Description |
|
||||||
|
|---------|-------|------|-------------|
|
||||||
|
| GET | `/` | 🔒 | Liste mes produits enregistrés |
|
||||||
|
| GET | `/:id` | 🔒 | Détail produit + garantie + docs |
|
||||||
|
| POST | `/register` | 🔒 | Enregistrer un produit (numéro de série) |
|
||||||
|
| PUT | `/:id/notes` | 🔒 | Ajouter notes perso |
|
||||||
|
|
||||||
|
### 3.2 Documentation
|
||||||
|
|
||||||
|
| Méthode | Route | Auth | Description |
|
||||||
|
|---------|-------|------|-------------|
|
||||||
|
| GET | `/:id/documents` | 🔒 | Docs disponibles pour ce produit |
|
||||||
|
| GET | `/documents/:doc_id/download` | 🔒 | Télécharger document (URL signée) |
|
||||||
|
|
||||||
|
### 3.3 SAV / Réparation
|
||||||
|
|
||||||
|
| Méthode | Route | Auth | Description |
|
||||||
|
|---------|-------|------|-------------|
|
||||||
|
| POST | `/:id/repair` | 🔒 | Ouvrir demande de réparation |
|
||||||
|
| GET | `/repairs` | 🔒 | Mes demandes SAV |
|
||||||
|
| GET | `/repairs/:id` | 🔒 | Détail + messages |
|
||||||
|
| POST | `/repairs/:id/message` | 🔒 | Envoyer message dans le fil |
|
||||||
|
| POST | `/repairs/:id/cancel` | 🔒 | Annuler demande |
|
||||||
|
|
||||||
|
### 3.4 Admin SAV
|
||||||
|
|
||||||
|
| Méthode | Route | Auth | Description |
|
||||||
|
|---------|-------|------|-------------|
|
||||||
|
| GET | `/admin/repairs` | 🔒👑 | Toutes les demandes |
|
||||||
|
| PUT | `/admin/repairs/:id/status` | 🔒👑 | Changer statut |
|
||||||
|
| POST | `/admin/repairs/:id/message` | 🔒👑 | Répondre (badge admin) |
|
||||||
|
| POST | `/admin/documents` | 🔒👑 | Ajouter document produit |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Flux techniques
|
||||||
|
|
||||||
|
### 4.1 Enregistrement produit (auto + manuel)
|
||||||
|
|
||||||
|
**Auto** (après achat en ligne) :
|
||||||
|
```
|
||||||
|
Event order.shipped
|
||||||
|
→ Backend: INSERT user_products (serial_number du colis, auto-lié au user + order)
|
||||||
|
→ Email: "Ton micro est enregistré, consulte ta garantie ici"
|
||||||
|
```
|
||||||
|
|
||||||
|
**Manuel** (achat hors ligne, occasion, cadeau) :
|
||||||
|
```
|
||||||
|
POST /my-products/register
|
||||||
|
Body: { serial_number }
|
||||||
|
→ Backend:
|
||||||
|
- Check serial_number valide (format TALAS-LITE-XXXXXX ou TALAS-ONE-XXXXXX)
|
||||||
|
- Check pas déjà enregistré par un autre user
|
||||||
|
- INSERT user_products (warranty_start = aujourd'hui si pas d'order lié)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.2 Demande de réparation
|
||||||
|
|
||||||
|
```
|
||||||
|
POST /my-products/:id/repair
|
||||||
|
Body: { subject, description, photos[]? }
|
||||||
|
→ Backend:
|
||||||
|
- Check user_product.status != 'retired'
|
||||||
|
- Calcul is_warranty (warranty_end > today)
|
||||||
|
- INSERT repair_requests
|
||||||
|
- Email admin : "Nouvelle demande SAV #XXX"
|
||||||
|
- Email user : "Ta demande est enregistrée, numéro #XXX"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.3 Suivi réparation (timeline)
|
||||||
|
|
||||||
|
L'UI affiche une **timeline visuelle** des changements de statut :
|
||||||
|
|
||||||
|
```
|
||||||
|
● Soumis (5 avril)
|
||||||
|
│
|
||||||
|
● Pris en charge (6 avril)
|
||||||
|
│ "Bonjour, je regarde ça cet après-midi"
|
||||||
|
│
|
||||||
|
● Diagnostic en cours (7 avril)
|
||||||
|
│ "Le problème vient du câble XLR interne,
|
||||||
|
│ soudure froide. Couvert par la garantie."
|
||||||
|
│
|
||||||
|
○ En attente de pièce
|
||||||
|
│
|
||||||
|
○ Réparation
|
||||||
|
│
|
||||||
|
○ Renvoi
|
||||||
|
│
|
||||||
|
○ Terminé
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Guides de réparation DIY
|
||||||
|
|
||||||
|
### 5.1 Concept (aligné open-hardware)
|
||||||
|
|
||||||
|
Talas est réparable et open-hardware. Chaque produit a des **guides de réparation** consultables par l'acheteur :
|
||||||
|
|
||||||
|
- **Remplacement câble XLR** (PDF illustré, 15 min)
|
||||||
|
- **Nettoyage de la capsule** (PDF illustré, 10 min)
|
||||||
|
- **Remplacement PCB préampli** (PDF + vidéo, 30 min)
|
||||||
|
- **Schéma électronique complet** (PDF)
|
||||||
|
- **BOM** (liste de composants)
|
||||||
|
|
||||||
|
### 5.2 Accès
|
||||||
|
|
||||||
|
- Guides **quick start** et **FAQ** : publics (pas de login)
|
||||||
|
- Guides **réparation** et **schémas** : réservés aux propriétaires enregistrés
|
||||||
|
- **Schémas KiCAD** bruts : sur le repo open-source GitHub
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Interface utilisateur
|
||||||
|
|
||||||
|
### 6.1 Page "Mes produits" (`/my/products`)
|
||||||
|
|
||||||
|
- Liste des produits enregistrés (carte par produit)
|
||||||
|
- Chaque carte : photo, nom, numéro de série, statut garantie (badge)
|
||||||
|
- CTA : "Voir les docs" / "Demander une réparation"
|
||||||
|
|
||||||
|
### 6.2 Page produit (`/my/products/:id`)
|
||||||
|
|
||||||
|
- Photo + infos produit
|
||||||
|
- Badge garantie (vert = active, gris = expirée)
|
||||||
|
- Onglets : Documents | Réparations | Notes
|
||||||
|
- Section "Guides de réparation DIY"
|
||||||
|
- Bouton "Ouvrir une demande SAV"
|
||||||
|
|
||||||
|
### 6.3 Page réparation (`/my/products/repairs/:id`)
|
||||||
|
|
||||||
|
- Timeline visuelle des statuts
|
||||||
|
- Fil de messages (chat avec l'admin)
|
||||||
|
- Tracking d'envoi / retour (si renseigné)
|
||||||
|
- Pièces jointes (photos du problème)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Roadmap
|
||||||
|
|
||||||
|
### V1.0 (lancement shop, août 2026)
|
||||||
|
- [ ] Enregistrement auto après achat
|
||||||
|
- [ ] Page "Mes produits" + garantie
|
||||||
|
- [ ] Documents téléchargeables
|
||||||
|
- [ ] Demande SAV basique
|
||||||
|
|
||||||
|
### V1.5 (Q4 2026)
|
||||||
|
- [ ] Enregistrement manuel (numéro de série)
|
||||||
|
- [ ] Fil de messages SAV (chat)
|
||||||
|
- [ ] Timeline visuelle statut
|
||||||
|
- [ ] Guides réparation DIY
|
||||||
|
|
||||||
|
### V2.0 (2027)
|
||||||
|
- [ ] Vidéos de réparation intégrées
|
||||||
|
- [ ] Notifications firmware update
|
||||||
|
- [ ] Extension de garantie (payante)
|
||||||
|
- [ ] Transfert de propriété (vente occasion)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Voir aussi
|
||||||
|
|
||||||
|
- [[Shop/Backend/SPEC_BACKEND_SHOP]] — lifecycle commandes (source d'enregistrement auto)
|
||||||
|
- [[02_PRODUITS_PHYSIQUES/Microphone/FICHE_PRODUIT]] — détail produit
|
||||||
|
- [[08_CONFORMITE_JURIDIQUE/Politique_Garantie_Retour]] — politique garantie
|
||||||
|
- [[Personal/Cloud_Perso/SPEC_CLOUD_PERSO]] — autre feature Personal
|
||||||
BIN
04_INFRA_DEPLOIEMENT/disks_inventory.jpg
Normal file
|
After Width: | Height: | Size: 2 MiB |
|
|
@ -0,0 +1,513 @@
|
||||||
|
# Parcours utilisateurs — Veza
|
||||||
|
|
||||||
|
> Les 8 parcours clés de la plateforme, du premier contact à la fidélisation.
|
||||||
|
> Chaque flow est un enchaînement d'écrans + actions + décisions système.
|
||||||
|
> Dernière mise à jour : avril 2026.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Personas de référence
|
||||||
|
|
||||||
|
| Persona | Profil | Objectif principal |
|
||||||
|
|---------|--------|-------------------|
|
||||||
|
| **Léa** | Beatmaker 22 ans, laptop + casque, débutante | Partager ses beats, trouver une communauté |
|
||||||
|
| **Youssef** | Ingé son freelance 30 ans, home studio complet | Trouver des clients/collabs, vendre du mix |
|
||||||
|
| **Sonia** | Podcasteuse 28 ans, contenu FR/ES, micro USB | Acheter un micro pro, upgrader son son |
|
||||||
|
| **Thomas** | Producteur confirmé 35 ans, studio traité | Découvrir des artistes, mentorer, troquer |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Flow 1 — Inscription et onboarding
|
||||||
|
|
||||||
|
**Persona** : Léa (premier contact)
|
||||||
|
**Durée** : 3-5 min
|
||||||
|
**Objectif** : compte créé + profil minimum + 1 action réalisée
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ LANDING / RS / lien d'invitation fondateur │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ PAGE INSCRIPTION │
|
||||||
|
│ │
|
||||||
|
│ ○ Email + password (12 car. min) │
|
||||||
|
│ ○ OU connexion Discord / GitHub │
|
||||||
|
│ ○ Pseudo (vérification dispo instantanée) │
|
||||||
|
│ ○ Checkbox CGU (lien) │
|
||||||
|
│ [Créer mon espace] │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ VÉRIFICATION EMAIL │
|
||||||
|
│ │
|
||||||
|
│ "Un email t'a été envoyé. Clique sur le lien." │
|
||||||
|
│ [Renvoyer l'email] │
|
||||||
|
│ │
|
||||||
|
│ → Si OAuth : email auto-vérifié, skip cette étape │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ ONBOARDING (3 étapes, skippable sauf étape 1) │
|
||||||
|
│ │
|
||||||
|
│ Étape 1/3 — TON PROFIL (obligatoire) │
|
||||||
|
│ ○ Avatar (upload ou génération auto) │
|
||||||
|
│ ○ Bio (2 lignes) │
|
||||||
|
│ ○ Genre musical principal (dropdown) │
|
||||||
|
│ [Suivant] │
|
||||||
|
│ │
|
||||||
|
│ Étape 2/3 — TES OUTILS (optionnel) │
|
||||||
|
│ ○ DAW principal (Ableton/FL/Reaper/Logic/autre) │
|
||||||
|
│ ○ Micro actuel (texte libre) │
|
||||||
|
│ ○ Niveau (débutant/intermédiaire/confirmé/pro) │
|
||||||
|
│ [Suivant] ou [Passer] │
|
||||||
|
│ │
|
||||||
|
│ Étape 3/3 — TA PREMIÈRE ACTION (guidance) │
|
||||||
|
│ "Fais une de ces 3 choses pour commencer :" │
|
||||||
|
│ ○ [Uploade un morceau] │
|
||||||
|
│ ○ [Partage un sample pack] │
|
||||||
|
│ ○ [Dis bonjour dans #production] │
|
||||||
|
│ → Chaque bouton mène directement au flow correspondant │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ DASHBOARD / HOME VEZA │
|
||||||
|
│ │
|
||||||
|
│ → Feed personnalisé (vide au début, contenu fondateurs) │
|
||||||
|
│ → Sidebar : groupes, chat, samples, troc │
|
||||||
|
│ → Badge "nouveau" visible 30 jours │
|
||||||
|
└─────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
**Points de friction à surveiller** :
|
||||||
|
- Si le pseudo est pris → suggestion alternative instantanée
|
||||||
|
- Si l'email de vérification n'arrive pas → timer 30s puis bouton "Renvoyer"
|
||||||
|
- Onboarding étape 3 : si skip total → relance email J+1 "Tu n'as pas encore posté"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Flow 2 — Upload d'un morceau
|
||||||
|
|
||||||
|
**Persona** : Léa (première publication)
|
||||||
|
**Durée** : 2-5 min
|
||||||
|
**Objectif** : morceau en ligne, visible sur le profil
|
||||||
|
|
||||||
|
```
|
||||||
|
[Bouton "+" ou "Publier" dans le header]
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ UPLOAD — Étape 1 : Fichier │
|
||||||
|
│ │
|
||||||
|
│ ○ Drag & drop zone (ou clic pour parcourir) │
|
||||||
|
│ ○ Formats : WAV, FLAC, MP3, OGG, AIFF │
|
||||||
|
│ ○ Taille max : 500 MB │
|
||||||
|
│ ○ Barre de progression │
|
||||||
|
│ │
|
||||||
|
│ → Upload direct vers MinIO (URL signée) │
|
||||||
|
│ → Pendant l'upload : afficher le formulaire metadata │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ UPLOAD — Étape 2 : Metadata (pendant l'upload) │
|
||||||
|
│ │
|
||||||
|
│ ○ Titre (pré-rempli : nom du fichier sans extension) │
|
||||||
|
│ ○ Description (optionnel) │
|
||||||
|
│ ○ Genre (dropdown multi-select) │
|
||||||
|
│ ○ Tags (3 à 10, auto-suggest) │
|
||||||
|
│ ○ Visibilité : Public / Privé / Lien secret │
|
||||||
|
│ ○ Cover art (upload optionnel, sinon waveform auto) │
|
||||||
|
│ ○ Licence (CC-BY-SA par défaut) │
|
||||||
|
│ │
|
||||||
|
│ [Publier] — actif quand upload terminé │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ PROCESSING (async, user redirigé vers la page du track) │
|
||||||
|
│ │
|
||||||
|
│ → ClamAV scan │
|
||||||
|
│ → RabbitMQ → Stream Server : transcoding HLS │
|
||||||
|
│ → Waveform generation │
|
||||||
|
│ → BPM / key detection (V1.5) │
|
||||||
|
│ → Elasticsearch indexation │
|
||||||
|
│ │
|
||||||
|
│ Indicateur : "En cours de traitement..." │
|
||||||
|
│ Quand fini : "Ton morceau est en ligne !" │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ PAGE DU MORCEAU │
|
||||||
|
│ │
|
||||||
|
│ → Player audio (waveform + boutons) │
|
||||||
|
│ → Metadata affichée │
|
||||||
|
│ → Boutons : Partager / Liker / Commenter / Repost │
|
||||||
|
│ → Lien direct partageable │
|
||||||
|
└─────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Flow 3 — Partage d'un sample pack
|
||||||
|
|
||||||
|
**Persona** : Thomas (contributeur expérimenté)
|
||||||
|
**Durée** : 5-10 min
|
||||||
|
**Objectif** : pack publié dans le dépôt communautaire
|
||||||
|
|
||||||
|
```
|
||||||
|
[Section "Samples" → "Partager un pack"]
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ UPLOAD PACK — Étape 1 : Fichier │
|
||||||
|
│ │
|
||||||
|
│ ○ Drag & drop .zip (500 MB max) │
|
||||||
|
│ ○ Barre de progression │
|
||||||
|
│ → Upload direct MinIO │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ UPLOAD PACK — Étape 2 : Metadata │
|
||||||
|
│ │
|
||||||
|
│ ○ Titre du pack │
|
||||||
|
│ ○ Description (comment il a été fait, quoi dedans) │
|
||||||
|
│ ○ Type (sample pack / one-shot / loop / preset / IR) │
|
||||||
|
│ ○ Licence (CC-BY-SA par défaut) │
|
||||||
|
│ ○ Tags (genre, instrument, ambiance) │
|
||||||
|
│ ○ BPM / tonalité (si applicable) │
|
||||||
|
│ ○ Outils utilisés (texte libre) │
|
||||||
|
│ ○ Preview audio (upload ou auto-généré) │
|
||||||
|
│ │
|
||||||
|
│ [Publier le pack] │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ POST-PROCESSING (async) │
|
||||||
|
│ │
|
||||||
|
│ → ClamAV scan du zip │
|
||||||
|
│ → Extraction liste fichiers │
|
||||||
|
│ → FFprobe metadata sur chaque audio │
|
||||||
|
│ → Génération preview MP3 (si pas fourni) │
|
||||||
|
│ → Publication │
|
||||||
|
│ │
|
||||||
|
│ → Notification : "Ton pack est en ligne !" │
|
||||||
|
│ → Visible dans le feed Samples │
|
||||||
|
└─────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Flow 4 — Troc entre artistes
|
||||||
|
|
||||||
|
**Persona** : Youssef (offre du mix) ↔ Léa (offre un beat)
|
||||||
|
**Durée** : publication 3 min, échange 1-3 semaines
|
||||||
|
**Objectif** : troc conclu, reconnaissances données
|
||||||
|
|
||||||
|
```
|
||||||
|
[YOUSSEF]
|
||||||
|
|
||||||
|
[Section "Troc" → "Nouvelle annonce"]
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ CRÉATION ANNONCE │
|
||||||
|
│ │
|
||||||
|
│ ○ Titre : "Mix rap/trap contre un beat original" │
|
||||||
|
│ ○ J'offre : "Mix complet de 1 morceau rap (stems→WAV)" │
|
||||||
|
│ ○ Je cherche : "Un beat original 90-100 BPM, sombre" │
|
||||||
|
│ ○ Catégories : Services audio ↔ Production musicale │
|
||||||
|
│ ○ Délai de ma part : 7 jours │
|
||||||
|
│ ○ Exemples : (liens vers ses morceaux Veza) │
|
||||||
|
│ │
|
||||||
|
│ [Publier] │
|
||||||
|
│ → Annonce visible dans le feed Troc │
|
||||||
|
└─────────────────────────────────────────────────────────┘
|
||||||
|
|
||||||
|
[LÉA — voit l'annonce, clique "Je suis intéressée"]
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ DM AUTO-CRÉÉ │
|
||||||
|
│ │
|
||||||
|
│ Message système : │
|
||||||
|
│ "🤝 @léa s'intéresse à ton annonce : │
|
||||||
|
│ 'Mix rap/trap contre un beat original'" │
|
||||||
|
│ │
|
||||||
|
│ → Youssef reçoit une notification │
|
||||||
|
│ → Les deux échangent en DM │
|
||||||
|
│ → Ils précisent les attentes │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ RÉALISATION (hors plateforme, échange de fichiers en DM) │
|
||||||
|
│ │
|
||||||
|
│ → Léa envoie le beat (fichier attaché dans le DM) │
|
||||||
|
│ → Youssef envoie le mix (fichier attaché) │
|
||||||
|
│ → Révisions si besoin │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ CLOSING │
|
||||||
|
│ │
|
||||||
|
│ Youssef clique "Clôturer ce troc" (bouton dans le DM) │
|
||||||
|
│ → Statut annonce → "conclu" │
|
||||||
|
│ → Les deux reçoivent : "Donne tes reconnaissances" │
|
||||||
|
│ │
|
||||||
|
│ Léa donne : 🤝 Fiable, ⏱️ Ponctuel, 🎯 Précis │
|
||||||
|
│ Youssef donne : 💡 Inventif, 🤗 Chaleureux │
|
||||||
|
│ │
|
||||||
|
│ → Badges ajoutés aux profils │
|
||||||
|
│ → Annonce archivée avec badge "conclu" │
|
||||||
|
└─────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Flow 5 — Achat d'un micro (shop)
|
||||||
|
|
||||||
|
**Persona** : Sonia (premier achat Talas)
|
||||||
|
**Durée** : 5-10 min
|
||||||
|
**Objectif** : commande payée, confirmation reçue
|
||||||
|
|
||||||
|
```
|
||||||
|
[RS / landing page / lien direct → /shop]
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ SHOP HOME │
|
||||||
|
│ │
|
||||||
|
│ → Grid produits (Talas Lite, Talas One) │
|
||||||
|
│ → Section "Pourquoi Talas" (3 arguments) │
|
||||||
|
│ → Sonia clique sur "Talas One" │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ FICHE PRODUIT — Talas One │
|
||||||
|
│ │
|
||||||
|
│ → Galerie 6 photos + player audio démo │
|
||||||
|
│ → Configurateur : │
|
||||||
|
│ • Finition : [Brute] [Noire] [+10€] │
|
||||||
|
│ • Options : ☐ Pochette tissu (+8€) │
|
||||||
|
│ ☐ Suspension élastique (+15€) │
|
||||||
|
│ → Prix recalculé live : 150€ → 173€ HT │
|
||||||
|
│ → Stock : "En stock (12 disponibles)" │
|
||||||
|
│ → [Ajouter au panier] │
|
||||||
|
│ │
|
||||||
|
│ → Onglets : Description | Specs | Réparabilité | FAQ │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ CART DRAWER (overlay latéral) │
|
||||||
|
│ │
|
||||||
|
│ → "Talas One — Finition noire — Pochette tissu" │
|
||||||
|
│ → Qté : 1 │
|
||||||
|
│ → Sous-total : 173€ HT │
|
||||||
|
│ → [Voir le panier] ou [Commander] │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ CHECKOUT — Étape 1/3 : Coordonnées │
|
||||||
|
│ │
|
||||||
|
│ → Si connectée : pré-rempli │
|
||||||
|
│ → Si pas connectée : [Se connecter] ou remplir │
|
||||||
|
│ ○ Email, Nom, Adresse, Ville, CP, Pays │
|
||||||
|
│ ○ ☑ Adresse de facturation identique │
|
||||||
|
│ [Suivant] │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ CHECKOUT — Étape 2/3 : Livraison │
|
||||||
|
│ │
|
||||||
|
│ ○ Colissimo domicile — 6.90€ (3-5 jours) │
|
||||||
|
│ ○ Mondial Relay — 4.50€ (4-6 jours) │
|
||||||
|
│ ○ Chronopost express — 12€ (24-48h) │
|
||||||
|
│ Note : "Colis expédié en matériaux recyclés" │
|
||||||
|
│ [Suivant] │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ CHECKOUT — Étape 3/3 : Paiement │
|
||||||
|
│ │
|
||||||
|
│ → Récap complet : │
|
||||||
|
│ Talas One noire + pochette : 173.00€ │
|
||||||
|
│ Livraison Colissimo : 6.90€ │
|
||||||
|
│ Total : 179.90€ TTC │
|
||||||
|
│ (TVA non applicable, art. 293 B du CGI) │
|
||||||
|
│ │
|
||||||
|
│ ○ Carte bancaire (Mollie) │
|
||||||
|
│ ○ iDEAL │
|
||||||
|
│ ○ Virement SEPA │
|
||||||
|
│ ☑ J'accepte les CGV │
|
||||||
|
│ [Payer 179.90€] │
|
||||||
|
│ → Redirect Mollie │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ CONFIRMATION │
|
||||||
|
│ │
|
||||||
|
│ ✓ Commande TALAS-2026-00042 confirmée │
|
||||||
|
│ "Merci Sonia ! Ton micro est en cours de préparation." │
|
||||||
|
│ → Récap commande │
|
||||||
|
│ → Délai estimé : 3-5 jours │
|
||||||
|
│ → [Suivre ma commande] → espace client │
|
||||||
|
│ → Email : confirmation + facture PDF │
|
||||||
|
│ │
|
||||||
|
│ → En parallèle : │
|
||||||
|
│ - Produit enregistré dans "Mes produits" │
|
||||||
|
│ - Garantie 24 mois activée │
|
||||||
|
│ - Guides de réparation accessibles │
|
||||||
|
└─────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Flow 6 — Découverte et exploration
|
||||||
|
|
||||||
|
**Persona** : Thomas (explore la communauté)
|
||||||
|
**Objectif** : trouver un artiste / morceau / sample intéressant
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ HOME VEZA (connecté) │
|
||||||
|
│ │
|
||||||
|
│ ┌─────────────────────────────────────────────────────┐ │
|
||||||
|
│ │ Feed principal │ │
|
||||||
|
│ │ → Morceaux récents des gens que je suis │ │
|
||||||
|
│ │ → Challenges en cours │ │
|
||||||
|
│ │ → Packs samples de la semaine │ │
|
||||||
|
│ │ → Annonces de troc récentes │ │
|
||||||
|
│ └─────────────────────────────────────────────────────┘ │
|
||||||
|
│ │
|
||||||
|
│ ┌─────────────────────────────────────────────────────┐ │
|
||||||
|
│ │ Barre de recherche (toujours visible) │ │
|
||||||
|
│ │ → Recherche unifiée : artistes, morceaux, packs │ │
|
||||||
|
│ │ → Autocomplete + preview audio inline │ │
|
||||||
|
│ └─────────────────────────────────────────────────────┘ │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼ (clic résultat)
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ PROFIL ARTISTE │
|
||||||
|
│ │
|
||||||
|
│ → Avatar, bio, badges patine, reconnaissances troc │
|
||||||
|
│ → Onglets : Morceaux | Samples | Troc | À propos │
|
||||||
|
│ → Player audio intégré │
|
||||||
|
│ → [Suivre] [Envoyer un message] │
|
||||||
|
│ │
|
||||||
|
│ → Exploration latérale : │
|
||||||
|
│ "Artistes similaires" (tags match) │
|
||||||
|
│ Morceaux qui utilisent ses samples │
|
||||||
|
└─────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Flow 7 — Challenge hebdomadaire
|
||||||
|
|
||||||
|
**Persona** : Léa (participe à son premier challenge)
|
||||||
|
**Durée** : 45 min (production) + 5 min (soumission)
|
||||||
|
|
||||||
|
```
|
||||||
|
[Notification : "Nouveau challenge : Fais un beat en 30 min..."]
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ PAGE CHALLENGE │
|
||||||
|
│ │
|
||||||
|
│ Titre : "30 min, que des sons de chez toi" │
|
||||||
|
│ Deadline : Dimanche 23:59 │
|
||||||
|
│ Règles : (voir CHALLENGES_HEBDO_FONDATEURS) │
|
||||||
|
│ Soumissions : 8 artistes ont déjà participé │
|
||||||
|
│ │
|
||||||
|
│ → Écouter les soumissions existantes (player inline) │
|
||||||
|
│ → [Soumettre mon morceau] │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ SOUMISSION (= upload spécial lié au challenge) │
|
||||||
|
│ │
|
||||||
|
│ ○ Upload fichier audio │
|
||||||
|
│ ○ Description courte ("j'ai utilisé ma cafetière") │
|
||||||
|
│ ○ Tags auto : #challenge-semaine-1 │
|
||||||
|
│ [Soumettre] │
|
||||||
|
│ │
|
||||||
|
│ → Morceau publié dans la page du challenge │
|
||||||
|
│ → Aussi visible sur le profil de l'artiste │
|
||||||
|
│ → Notif aux autres participants │
|
||||||
|
└─────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Flow 8 — Demande SAV / réparation
|
||||||
|
|
||||||
|
**Persona** : Sonia (6 mois après l'achat, problème de câble)
|
||||||
|
**Objectif** : demande ouverte, suivi, réparation
|
||||||
|
|
||||||
|
```
|
||||||
|
[Espace client → Mes produits → Talas One #TALAS-ONE-004217]
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ FICHE PRODUIT PERSO │
|
||||||
|
│ │
|
||||||
|
│ Talas One #TALAS-ONE-004217 │
|
||||||
|
│ Garantie : ✓ Active (18 mois restants) │
|
||||||
|
│ │
|
||||||
|
│ → Onglet "Guides de réparation" │
|
||||||
|
│ → "Remplacement câble XLR interne" (PDF 15 min) │
|
||||||
|
│ → "Nettoyage capsule" (PDF 10 min) │
|
||||||
|
│ │
|
||||||
|
│ → Si le guide ne suffit pas : │
|
||||||
|
│ [Demander une réparation] │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ FORMULAIRE SAV │
|
||||||
|
│ │
|
||||||
|
│ ○ Sujet : "Grésillements intermittents" │
|
||||||
|
│ ○ Description : "Depuis 2 semaines, grésillement │
|
||||||
|
│ quand je bouge le câble XLR..." │
|
||||||
|
│ ○ Photos (drag & drop, max 5) │
|
||||||
|
│ [Envoyer] │
|
||||||
|
│ │
|
||||||
|
│ → Demande créée : #SAV-2026-0017 │
|
||||||
|
│ → Email : "Demande reçue, on revient vers toi" │
|
||||||
|
│ → Notif admin │
|
||||||
|
└───────────────────────────┬─────────────────────────────┘
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────────┐
|
||||||
|
│ SUIVI (timeline + chat) │
|
||||||
|
│ │
|
||||||
|
│ ● Soumis (5 avril) │
|
||||||
|
│ │ "Grésillements intermittents" │
|
||||||
|
│ ● Pris en charge (6 avril) │
|
||||||
|
│ │ Talas : "C'est un classique, soudure froide │
|
||||||
|
│ │ probable. Couvert par garantie. Envoie-le à : │
|
||||||
|
│ │ Talas, 12 rue..., en Colissimo." │
|
||||||
|
│ ○ En attente de réception │
|
||||||
|
│ ○ Diagnostic │
|
||||||
|
│ ○ Réparation │
|
||||||
|
│ ○ Renvoi │
|
||||||
|
│ ○ Terminé │
|
||||||
|
│ │
|
||||||
|
│ [Envoyer un message] (input texte + PJ) │
|
||||||
|
└─────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Métriques de conversion par flow
|
||||||
|
|
||||||
|
| Flow | Métrique | Objectif |
|
||||||
|
|------|----------|----------|
|
||||||
|
| Inscription | Complétion onboarding 3 étapes | > 70% |
|
||||||
|
| Inscription | 1 action dans les 7 jours | > 60% |
|
||||||
|
| Upload morceau | Drop-off entre étape 1 et publish | < 20% |
|
||||||
|
| Sample pack | Pack publié après début d'upload | > 85% |
|
||||||
|
| Troc | Intérêt → closing (conversion) | > 40% |
|
||||||
|
| Achat | Panier → paiement (conversion) | > 50% |
|
||||||
|
| Découverte | Temps moyen sur profil artiste | > 90s |
|
||||||
|
| SAV | Temps réponse 1er message | < 24h |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Voir aussi
|
||||||
|
|
||||||
|
- [[CONCEPTS_INNOVANTS_VEZA]] — Patine, exploration spatiale
|
||||||
|
- [[SUMI_V3_SPECIFICATION]] — Design system (composants des flows)
|
||||||
|
- [[Shop/Frontend/SPEC_FRONTEND_SHOP]] — Détail technique du flow achat
|
||||||
|
- [[Community/Partage/SPEC_TECHNIQUE_PARTAGE]] — Backend du flow samples
|
||||||
|
- [[Community/Troc/SPEC_TECHNIQUE_TROC]] — Backend du flow troc
|
||||||
|
- [[STRATEGIE_LANCEMENT_COMMUNAUTAIRE]] — Phases d'ouverture des modules
|
||||||
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 7.2 MiB |
536
05_EXPERIENCE_UTILISATEUR/preview_sumi_v3.html
Normal file
|
|
@ -0,0 +1,536 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||||
|
<title>TALAS — Crafted for Endurance</title>
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500&family=JetBrains+Mono:wght@300;400&family=Space+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||||
|
<style>
|
||||||
|
:root{
|
||||||
|
--paper:#F0EADE;--ink:#18181C;
|
||||||
|
--ink50:rgba(24,24,28,.5);--ink25:rgba(24,24,28,.25);--ink12:rgba(24,24,28,.12);--ink06:rgba(24,24,28,.06);--ink03:rgba(24,24,28,.03);
|
||||||
|
--cyan:#2AA5BF;--cyan2:#48BED6;--cw1:rgba(42,165,191,.14);--cw2:rgba(42,165,191,.08);--cw3:rgba(42,165,191,.04);
|
||||||
|
--d:'Space Grotesk',sans-serif;--b:'Inter',sans-serif;--m:'JetBrains Mono',monospace;
|
||||||
|
}
|
||||||
|
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
|
||||||
|
::selection{background:rgba(42,165,191,.18);color:var(--ink)}
|
||||||
|
html{background:var(--paper)}
|
||||||
|
body{font-family:var(--b);font-weight:300;font-size:14px;line-height:1.7;color:var(--ink);overflow-x:hidden}
|
||||||
|
a{color:var(--ink);text-decoration:none}
|
||||||
|
|
||||||
|
/* Washi */
|
||||||
|
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;
|
||||||
|
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='5' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='512' height='512' filter='url(%23n)'/%3E%3C/svg%3E") repeat;
|
||||||
|
background-size:512px;opacity:.035;mix-blend-mode:multiply}
|
||||||
|
|
||||||
|
/* SVG ink elements */
|
||||||
|
.ink-el{position:absolute;pointer-events:none;z-index:0}
|
||||||
|
.ink-el svg{width:100%;height:100%;overflow:visible}
|
||||||
|
|
||||||
|
/* ═══ NAV ═══ */
|
||||||
|
.topnav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;padding:0 4vw;height:56px;
|
||||||
|
background:linear-gradient(to bottom,var(--paper) 50%,rgba(240,234,222,0))}
|
||||||
|
.topnav-logo{display:flex;align-items:center;gap:10px;margin-right:auto}
|
||||||
|
.topnav-logo svg{width:32px;height:22px}
|
||||||
|
.topnav-word{font-family:var(--d);font-weight:700;font-size:16px;letter-spacing:.12em}
|
||||||
|
.topnav-links{display:flex;gap:28px;margin-right:32px}
|
||||||
|
.topnav-links a{font-family:var(--d);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink50);transition:color .2s}
|
||||||
|
.topnav-links a:hover{color:var(--ink)}
|
||||||
|
.topnav-icons{display:flex;gap:14px}
|
||||||
|
.topnav-icons svg{width:17px;height:17px;stroke:var(--ink);opacity:.3;cursor:pointer;transition:opacity .2s;stroke-width:1.5;fill:none}
|
||||||
|
.topnav-icons svg:hover{opacity:.7}
|
||||||
|
|
||||||
|
/* ═══ HERO ═══ */
|
||||||
|
.hero{min-height:100vh;padding:130px 4vw 80px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
|
||||||
|
.hero-text{position:relative;z-index:2;max-width:540px}
|
||||||
|
.hero-ey{font-family:var(--d);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ink50);margin-bottom:20px}
|
||||||
|
.hero h1{font-family:var(--d);font-weight:700;font-size:clamp(38px,5.5vw,66px);letter-spacing:.02em;line-height:1.05;margin-bottom:20px}
|
||||||
|
.hero h1 .dot{color:var(--cyan)}
|
||||||
|
.hero-sub{font-size:15px;font-weight:300;color:var(--ink50);max-width:400px;margin-bottom:36px;line-height:1.8}
|
||||||
|
.hero-cta{display:inline-block;font-family:var(--d);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
|
||||||
|
padding:14px 32px;border:1.5px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;transition:all .3s}
|
||||||
|
.hero-cta:hover{background:var(--ink);color:var(--paper)}
|
||||||
|
.hero-visual{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;min-height:420px}
|
||||||
|
.hero-dim{position:absolute;font-family:var(--m);font-size:9px;color:var(--ink25);letter-spacing:.08em}
|
||||||
|
|
||||||
|
/* ═══ FEATURES ═══ */
|
||||||
|
.features{padding:80px 4vw;display:grid;grid-template-columns:repeat(3,1fr);gap:48px;position:relative}
|
||||||
|
.feature{position:relative;padding:24px 0}
|
||||||
|
.feature-icon{width:48px;height:48px;margin-bottom:20px;position:relative}
|
||||||
|
.feature-icon svg{width:28px;height:28px;stroke:var(--ink);stroke-width:1.2;fill:none;position:relative;z-index:1}
|
||||||
|
.feature h3{font-family:var(--d);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;line-height:1.45;margin-bottom:10px}
|
||||||
|
.feature p{font-size:13px;color:var(--ink50);line-height:1.75;max-width:280px}
|
||||||
|
|
||||||
|
/* ═══ EXPLODED ═══ */
|
||||||
|
.exploded{padding:100px 4vw;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;position:relative}
|
||||||
|
.exploded-vis{position:relative;z-index:2}
|
||||||
|
.exploded-text{position:relative;z-index:2}
|
||||||
|
.exploded-text h2{font-family:var(--d);font-weight:700;font-size:clamp(28px,3.5vw,44px);letter-spacing:.02em;line-height:1.1;margin-bottom:16px}
|
||||||
|
.exploded-text p{font-size:14px;color:var(--ink50);line-height:1.8;max-width:380px;margin-bottom:20px}
|
||||||
|
.schema-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--m);font-size:11px;color:var(--cyan);padding:8px 0;border:none;background:none;cursor:pointer;transition:color .2s}
|
||||||
|
.schema-btn:hover{color:var(--ink)}
|
||||||
|
.schema-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5}
|
||||||
|
|
||||||
|
/* ═══ SPLIT (Veza + Foundation) ═══ */
|
||||||
|
.split{padding:80px 4vw;display:grid;grid-template-columns:1fr 1fr;gap:4px;position:relative}
|
||||||
|
.split-card{padding:48px 40px;position:relative}
|
||||||
|
.split-ey{font-family:var(--d);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink25);margin-bottom:12px}
|
||||||
|
.split-title{font-family:var(--d);font-weight:700;font-size:clamp(24px,3vw,36px);letter-spacing:.02em;line-height:1.12;margin-bottom:14px}
|
||||||
|
.split-title .dot{color:var(--cyan)}
|
||||||
|
.split-text{font-size:13px;color:var(--ink50);line-height:1.8;max-width:360px;margin-bottom:24px}
|
||||||
|
.split-link{font-family:var(--d);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
|
||||||
|
padding:10px 24px;border:1.5px solid var(--ink12);display:inline-block;transition:all .3s}
|
||||||
|
.split-link:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}
|
||||||
|
|
||||||
|
.statement{font-family:var(--d);font-weight:700;font-size:clamp(13px,1.4vw,16px);letter-spacing:.04em;line-height:1.65;margin-top:16px;max-width:300px}
|
||||||
|
.statement .big{color:var(--cyan);font-size:1.5em}
|
||||||
|
.f-stat{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--ink06)}
|
||||||
|
.f-stat:last-child{border:none}
|
||||||
|
.f-stat-l{font-size:11px;color:var(--ink25)}.f-stat-v{font-family:var(--m);font-size:11px}
|
||||||
|
|
||||||
|
/* ═══ TRANSPARENCY ═══ */
|
||||||
|
.transp{padding:32px 4vw;margin:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
|
||||||
|
border-top:1px solid var(--ink06);border-bottom:1px solid var(--ink06);position:relative}
|
||||||
|
.t-counter{text-align:center}
|
||||||
|
.t-counter-label{font-family:var(--d);font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--ink25);margin-bottom:4px}
|
||||||
|
.t-counter-val{font-family:var(--d);font-size:28px;font-weight:700;color:var(--cyan)}
|
||||||
|
.t-counter-sub{font-size:10px;color:var(--ink25);margin-top:2px}
|
||||||
|
.t-right{font-family:var(--d);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;line-height:1.5;text-align:right;max-width:300px}
|
||||||
|
.t-right .big{color:var(--cyan);font-size:20px}
|
||||||
|
|
||||||
|
/* ═══ JOURNAL ═══ */
|
||||||
|
.journal{padding:80px 4vw;position:relative}
|
||||||
|
.journal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}
|
||||||
|
.journal-title{font-family:var(--d);font-weight:700;font-size:clamp(20px,2.5vw,32px);letter-spacing:.02em}
|
||||||
|
.journal-link{font-family:var(--d);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink25)}
|
||||||
|
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
|
||||||
|
.article{cursor:pointer;position:relative}
|
||||||
|
.article-img{height:180px;background:var(--ink03);margin-bottom:14px;position:relative;overflow:hidden}
|
||||||
|
.article-cat{font-family:var(--m);font-size:9px;color:var(--ink25);margin-bottom:4px}
|
||||||
|
.article-t{font-family:var(--d);font-size:14px;font-weight:600;letter-spacing:.02em;line-height:1.4;margin-bottom:6px;transition:color .2s}
|
||||||
|
.article:hover .article-t{color:var(--cyan)}
|
||||||
|
.article-ex{font-size:12px;color:var(--ink25);line-height:1.6}
|
||||||
|
|
||||||
|
/* ═══ FOOTER ═══ */
|
||||||
|
.footer{padding:48px 4vw;display:flex;align-items:flex-start;justify-content:space-between;gap:48px;flex-wrap:wrap}
|
||||||
|
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:8px}
|
||||||
|
.footer-brand svg{width:24px;height:16px}
|
||||||
|
.footer-brand span{font-family:var(--d);font-weight:700;font-size:14px;letter-spacing:.1em}
|
||||||
|
.footer-copy{font-size:11px;color:var(--ink25)}
|
||||||
|
.footer-cols{display:flex;gap:48px}
|
||||||
|
.footer-col-t{font-family:var(--d);font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--ink25);margin-bottom:10px}
|
||||||
|
.footer-col a{display:block;font-size:12px;color:var(--ink50);padding:3px 0;transition:color .2s}
|
||||||
|
.footer-col a:hover{color:var(--ink)}
|
||||||
|
.footer-btm{width:100%;text-align:center;padding-top:24px;border-top:1px solid var(--ink06);font-size:11px;color:var(--ink12);margin-top:16px}
|
||||||
|
|
||||||
|
/* ═══ ANIMATIONS ═══ */
|
||||||
|
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s cubic-bezier(.25,.8,.25,1),transform 1s cubic-bezier(.25,.8,.25,1)}
|
||||||
|
.reveal.vis{opacity:1;transform:none}
|
||||||
|
|
||||||
|
@media(max-width:900px){
|
||||||
|
.hero,.exploded,.split{grid-template-columns:1fr}
|
||||||
|
.features,.journal-grid{grid-template-columns:1fr}
|
||||||
|
.hero-visual{min-height:280px}
|
||||||
|
.topnav-links{display:none}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<!-- ═══════════════════════════════════════
|
||||||
|
SVG DEFINITIONS — brush strokes, stains, splatters
|
||||||
|
All hand-crafted organic paths
|
||||||
|
═══════════════════════════════════════ -->
|
||||||
|
<svg style="display:none">
|
||||||
|
<!-- Talas waveform symbol -->
|
||||||
|
<symbol id="sym" viewBox="0 0 80 48">
|
||||||
|
<path d="M4 28Q8 10 16 24Q20 32 24 18Q28 6 32 24Q34 34 38 12Q42-2 46 24Q48 36 52 20Q56 8 60 24Q64 34 68 22Q72 14 76 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="3.5" stroke-linecap="round"/>
|
||||||
|
</symbol>
|
||||||
|
|
||||||
|
<!-- Large brush stroke (horizontal sweep) -->
|
||||||
|
<symbol id="brush-h" viewBox="0 0 1000 120">
|
||||||
|
<path d="M20 80 Q60 20,150 55 Q240 90,320 40 Q400 -5,500 60 Q580 100,680 35 Q760 -10,850 50 Q920 95,980 45"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="18" stroke-linecap="round" opacity=".6"
|
||||||
|
style="filter:url(#brush-rough)"/>
|
||||||
|
<path d="M50 70 Q130 30,230 65 Q340 95,450 45 Q540 10,650 58 Q740 90,830 42 Q900 15,970 55"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="8" stroke-linecap="round" opacity=".3"/>
|
||||||
|
</symbol>
|
||||||
|
|
||||||
|
<!-- Ink stain (organic blob) -->
|
||||||
|
<symbol id="stain-1" viewBox="0 0 200 200">
|
||||||
|
<path d="M100 20 Q140 25,155 55 Q170 85,160 120 Q150 155,120 170 Q90 185,60 165 Q30 145,25 110 Q20 75,40 50 Q60 25,100 20Z"
|
||||||
|
fill="currentColor" opacity=".07"/>
|
||||||
|
<path d="M95 35 Q125 38,138 60 Q150 82,143 108 Q136 134,115 148 Q94 162,72 150 Q50 138,42 112 Q34 86,48 62 Q62 38,95 35Z"
|
||||||
|
fill="currentColor" opacity=".05"/>
|
||||||
|
</symbol>
|
||||||
|
|
||||||
|
<!-- Ink stain 2 (elongated) -->
|
||||||
|
<symbol id="stain-2" viewBox="0 0 300 180">
|
||||||
|
<path d="M30 90 Q50 30,120 50 Q190 70,220 40 Q250 10,280 60 Q300 110,260 140 Q220 170,160 150 Q100 130,60 155 Q20 150,30 90Z"
|
||||||
|
fill="currentColor" opacity=".06"/>
|
||||||
|
</symbol>
|
||||||
|
|
||||||
|
<!-- Splatter (small droplets) -->
|
||||||
|
<symbol id="splatter" viewBox="0 0 200 200">
|
||||||
|
<circle cx="100" cy="100" r="18" fill="currentColor" opacity=".08"/>
|
||||||
|
<circle cx="60" cy="80" r="4" fill="currentColor" opacity=".12"/>
|
||||||
|
<circle cx="145" cy="70" r="6" fill="currentColor" opacity=".1"/>
|
||||||
|
<circle cx="130" cy="140" r="3" fill="currentColor" opacity=".14"/>
|
||||||
|
<circle cx="55" cy="130" r="5" fill="currentColor" opacity=".09"/>
|
||||||
|
<circle cx="160" cy="110" r="2.5" fill="currentColor" opacity=".15"/>
|
||||||
|
<circle cx="80" cy="50" r="2" fill="currentColor" opacity=".13"/>
|
||||||
|
<circle cx="40" cy="105" r="3.5" fill="currentColor" opacity=".07"/>
|
||||||
|
<circle cx="170" cy="85" r="1.5" fill="currentColor" opacity=".16"/>
|
||||||
|
<circle cx="110" cy="160" r="2" fill="currentColor" opacity=".11"/>
|
||||||
|
<circle cx="90" cy="45" r="1.5" fill="currentColor" opacity=".12"/>
|
||||||
|
<ellipse cx="120" cy="75" rx="8" ry="3" transform="rotate(-25 120 75)" fill="currentColor" opacity=".06"/>
|
||||||
|
</symbol>
|
||||||
|
|
||||||
|
<!-- Brush stroke diagonal -->
|
||||||
|
<symbol id="brush-diag" viewBox="0 0 400 300">
|
||||||
|
<path d="M30 250 Q80 200,140 180 Q200 160,260 100 Q310 50,380 30"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="22" stroke-linecap="round" opacity=".08"/>
|
||||||
|
<path d="M40 260 Q90 210,155 185 Q215 165,275 105 Q325 55,390 35"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="6" stroke-linecap="round" opacity=".04"/>
|
||||||
|
</symbol>
|
||||||
|
|
||||||
|
<!-- Vertical drip -->
|
||||||
|
<symbol id="drip" viewBox="0 0 30 200">
|
||||||
|
<path d="M15 5 Q14 40,16 80 Q18 120,15 160 Q13 180,15 195"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" opacity=".08"/>
|
||||||
|
<circle cx="15" cy="195" r="4" fill="currentColor" opacity=".06"/>
|
||||||
|
</symbol>
|
||||||
|
|
||||||
|
<!-- Enso (zen circle) -->
|
||||||
|
<symbol id="enso" viewBox="0 0 200 200">
|
||||||
|
<path d="M160 100 Q160 40,100 35 Q40 30,30 95 Q20 160,85 170 Q150 180,165 115"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="12" stroke-linecap="round" opacity=".06"/>
|
||||||
|
</symbol>
|
||||||
|
|
||||||
|
<!-- Watercolor wash (cyan, for behind hero) -->
|
||||||
|
<symbol id="wash-cyan" viewBox="0 0 800 600">
|
||||||
|
<ellipse cx="400" cy="300" rx="350" ry="250" fill="currentColor" opacity=".12"
|
||||||
|
style="filter:url(#ink-blur)"/>
|
||||||
|
<ellipse cx="350" cy="260" rx="250" ry="180" fill="currentColor" opacity=".08"/>
|
||||||
|
<ellipse cx="450" cy="340" rx="200" ry="150" fill="currentColor" opacity=".06"/>
|
||||||
|
<circle cx="250" cy="200" r="40" fill="currentColor" opacity=".1"/>
|
||||||
|
<circle cx="550" cy="380" r="30" fill="currentColor" opacity=".08"/>
|
||||||
|
<circle cx="320" cy="420" r="15" fill="currentColor" opacity=".12"/>
|
||||||
|
<circle cx="500" cy="180" r="12" fill="currentColor" opacity=".09"/>
|
||||||
|
</symbol>
|
||||||
|
|
||||||
|
<!-- Filters -->
|
||||||
|
<defs>
|
||||||
|
<filter id="ink-blur"><feGaussianBlur stdDeviation="20"/></filter>
|
||||||
|
<filter id="ink-blur-sm"><feGaussianBlur stdDeviation="8"/></filter>
|
||||||
|
<filter id="brush-rough">
|
||||||
|
<feTurbulence type="turbulence" baseFrequency=".04" numOctaves="3" seed="5"/>
|
||||||
|
<feDisplacementMap in="SourceGraphic" scale="6"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="stain-blur">
|
||||||
|
<feGaussianBlur stdDeviation="3"/>
|
||||||
|
<feComponentTransfer><feFuncA type="linear" slope="1.5" intercept="-.2"/></feComponentTransfer>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<!-- ═══════ NAV ═══════ -->
|
||||||
|
<nav class="topnav">
|
||||||
|
<div class="topnav-logo">
|
||||||
|
<svg viewBox="0 0 80 48"><use href="#sym"/></svg>
|
||||||
|
<div class="topnav-word">TALAS</div>
|
||||||
|
</div>
|
||||||
|
<div class="topnav-links">
|
||||||
|
<a href="#features">Mics</a>
|
||||||
|
<a href="#exploded">Schematics</a>
|
||||||
|
<a href="#veza">Veza</a>
|
||||||
|
<a href="#journal">Manifeste</a>
|
||||||
|
<a href="#footer">Contact</a>
|
||||||
|
</div>
|
||||||
|
<div class="topnav-icons">
|
||||||
|
<svg viewBox="0 0 24 24"><circle cx="11" cy="11" r="7"/><path d="M21 21l-4.35-4.35"/></svg>
|
||||||
|
<svg viewBox="0 0 24 24"><path d="M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<!-- ═══════ HERO ═══════ -->
|
||||||
|
<section class="hero">
|
||||||
|
|
||||||
|
<!-- Ink elements behind hero -->
|
||||||
|
<div class="ink-el" style="width:70vw;height:80vh;top:0;right:-10%">
|
||||||
|
<svg viewBox="0 0 800 600" style="color:var(--cyan)"><use href="#wash-cyan"/></svg>
|
||||||
|
</div>
|
||||||
|
<div class="ink-el" style="width:200px;height:200px;top:8%;left:50%">
|
||||||
|
<svg viewBox="0 0 200 200" style="color:var(--cyan)"><use href="#splatter"/></svg>
|
||||||
|
</div>
|
||||||
|
<div class="ink-el" style="width:300px;height:180px;bottom:5%;right:5%">
|
||||||
|
<svg viewBox="0 0 300 180" style="color:var(--ink)"><use href="#stain-2"/></svg>
|
||||||
|
</div>
|
||||||
|
<div class="ink-el" style="width:20px;height:160px;right:18%;top:10%">
|
||||||
|
<svg viewBox="0 0 30 200" style="color:var(--ink)"><use href="#drip"/></svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hero-text reveal">
|
||||||
|
<div class="hero-ey">Open Hardware Audio</div>
|
||||||
|
<h1>TALAS<span class="dot">.</span><br>CRAFTED FOR<br>ENDURANCE<span class="dot">.</span></h1>
|
||||||
|
<p class="hero-sub">Artisanal, repairable condenser microphones. Built to capture, built to last. Built by hand.</p>
|
||||||
|
<button class="hero-cta">SHOP THE MICS</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hero-visual reveal" style="transition-delay:.2s">
|
||||||
|
<svg viewBox="0 0 200 500" style="width:175px;filter:drop-shadow(0 20px 50px rgba(0,0,0,.06))">
|
||||||
|
<defs><linearGradient id="mg" x1="0" y1="0" x2="1" y2="0">
|
||||||
|
<stop offset="0%" stop-color="#C4C0B8"/><stop offset="30%" stop-color="#DAD6CE"/><stop offset="50%" stop-color="#D0CCC4"/>
|
||||||
|
<stop offset="70%" stop-color="#DED9D2"/><stop offset="100%" stop-color="#B4B0A8"/>
|
||||||
|
</linearGradient></defs>
|
||||||
|
<ellipse cx="100" cy="60" rx="48" ry="56" fill="none" stroke="#ACA8A0" stroke-width="1.5"/>
|
||||||
|
<ellipse cx="100" cy="60" rx="42" ry="50" fill="none" stroke="#C0BCB4" stroke-width=".4"/>
|
||||||
|
<g opacity=".35" stroke="#B8B4AC" stroke-width=".4"><line x1="60" y1="35" x2="140" y2="35"/><line x1="56" y1="45" x2="144" y2="45"/><line x1="54" y1="55" x2="146" y2="55"/><line x1="54" y1="65" x2="146" y2="65"/><line x1="56" y1="75" x2="144" y2="75"/><line x1="60" y1="85" x2="140" y2="85"/><line x1="68" y1="95" x2="132" y2="95"/></g>
|
||||||
|
<rect x="64" y="110" width="72" height="300" rx="6" fill="url(#mg)"/>
|
||||||
|
<rect x="64" y="110" width="72" height="300" rx="6" fill="none" stroke="#A4A09C" stroke-width=".8"/>
|
||||||
|
<rect x="62" y="140" width="76" height="3" rx="1.5" fill="#A4A09C" opacity=".35"/>
|
||||||
|
<rect x="62" y="370" width="76" height="3" rx="1.5" fill="#A4A09C" opacity=".35"/>
|
||||||
|
<g transform="translate(82,238) scale(.35)" opacity=".2"><path d="M4 28Q8 10 16 24Q20 32 24 18Q28 6 32 24Q34 34 38 12Q42-2 46 24Q48 36 52 20Q56 8 60 24Q64 34 68 22Q72 14 76 24" fill="none" stroke="#18181C" stroke-width="5" stroke-linecap="round"/></g>
|
||||||
|
<rect x="80" y="410" width="40" height="30" rx="4" fill="#96928A"/>
|
||||||
|
<circle cx="100" cy="450" r="12" fill="none" stroke="#86827A" stroke-width="1"/>
|
||||||
|
<g fill="#86827A"><circle cx="94" cy="447" r="2"/><circle cx="100" cy="442" r="2"/><circle cx="106" cy="447" r="2"/><circle cx="97" cy="454" r="2"/><circle cx="103" cy="454" r="2"/></g>
|
||||||
|
<g opacity=".12" stroke="#18181C" stroke-dasharray="4 4" stroke-width=".3"><line x1="40" y1="110" x2="160" y2="110"/><line x1="40" y1="410" x2="160" y2="410"/></g>
|
||||||
|
<line x1="100" y1="0" x2="100" y2="470" stroke="#18181C" stroke-width=".2" stroke-dasharray="2 6" opacity=".06"/>
|
||||||
|
</svg>
|
||||||
|
<div class="hero-dim" style="right:-10px;top:22%;writing-mode:vertical-lr">340mm</div>
|
||||||
|
<div class="hero-dim" style="bottom:24%;left:-30px">72mm</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- ═══════ BRUSH STROKE SEPARATOR ═══════ -->
|
||||||
|
<div style="position:relative;height:40px;margin:0 4vw;overflow:visible">
|
||||||
|
<svg viewBox="0 0 1000 120" preserveAspectRatio="none" style="width:100%;height:40px;color:var(--ink);overflow:visible">
|
||||||
|
<use href="#brush-h"/>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- ═══════ FEATURES ═══════ -->
|
||||||
|
<section class="features" id="features">
|
||||||
|
<!-- Ink stain behind features -->
|
||||||
|
<div class="ink-el" style="width:180px;height:180px;top:-20px;left:10%">
|
||||||
|
<svg viewBox="0 0 200 200" style="color:var(--ink)"><use href="#stain-1"/></svg>
|
||||||
|
</div>
|
||||||
|
<div class="ink-el" style="width:100px;height:100px;bottom:10px;right:20%">
|
||||||
|
<svg viewBox="0 0 200 200" style="color:var(--cyan)"><use href="#splatter"/></svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="feature reveal">
|
||||||
|
<div class="feature-icon">
|
||||||
|
<svg viewBox="0 0 24 24"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||||||
|
</div>
|
||||||
|
<h3>Repairable.<br>Public Schematics.</h3>
|
||||||
|
<p>Designed to be opened, modified, and repaired. Built with standard, documented components. Full KiCAD schematics under CERN-OHL-W.</p>
|
||||||
|
</div>
|
||||||
|
<div class="feature reveal" style="transition-delay:.12s">
|
||||||
|
<div class="feature-icon">
|
||||||
|
<svg viewBox="0 0 24 24"><path d="M12 1a3 3 0 00-3 3v8a3 3 0 006 0V4a3 3 0 00-3-3z"/><path d="M19 10v2a7 7 0 01-14 0v-2M12 19v4M8 23h8" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||||||
|
</div>
|
||||||
|
<h3>Professional<br>Response.</h3>
|
||||||
|
<p>Studio-quality capture for independent artists. OPA1642 preamp, large diaphragm capsule. Frequency response published.</p>
|
||||||
|
</div>
|
||||||
|
<div class="feature reveal" style="transition-delay:.24s">
|
||||||
|
<div class="feature-icon">
|
||||||
|
<svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||||||
|
</div>
|
||||||
|
<h3>Solid.<br>Durable.</h3>
|
||||||
|
<p>Built to survive a lifetime. Brushed aluminium, hand-assembled in France. 5-year warranty. Every part replaceable.</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- Brush stroke -->
|
||||||
|
<div style="position:relative;height:30px;margin:20px 4vw;overflow:visible">
|
||||||
|
<svg viewBox="0 0 1000 120" preserveAspectRatio="none" style="width:70%;height:30px;color:var(--cyan);overflow:visible;opacity:.5">
|
||||||
|
<use href="#brush-h"/>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- ═══════ EXPLODED VIEW ═══════ -->
|
||||||
|
<section class="exploded" id="exploded">
|
||||||
|
<!-- Ink elements -->
|
||||||
|
<div class="ink-el" style="width:50vw;height:50vh;top:-10%;left:-10%">
|
||||||
|
<svg viewBox="0 0 800 600" style="color:var(--cyan);opacity:.5"><use href="#wash-cyan"/></svg>
|
||||||
|
</div>
|
||||||
|
<div class="ink-el" style="width:300px;height:300px;bottom:-10%;right:20%">
|
||||||
|
<svg viewBox="0 0 200 200" style="color:var(--ink)"><use href="#enso"/></svg>
|
||||||
|
</div>
|
||||||
|
<div class="ink-el" style="width:15px;height:140px;left:35%;top:5%">
|
||||||
|
<svg viewBox="0 0 30 200" style="color:var(--ink)"><use href="#drip"/></svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="exploded-vis reveal">
|
||||||
|
<svg viewBox="0 0 400 350" style="width:100%;max-width:420px">
|
||||||
|
<line x1="200" y1="20" x2="200" y2="330" stroke="var(--ink)" stroke-width=".3" stroke-dasharray="3 5" opacity=".1"/>
|
||||||
|
<ellipse cx="200" cy="45" rx="35" ry="20" fill="none" stroke="var(--ink)" stroke-width="1" opacity=".25"/>
|
||||||
|
<line x1="240" y1="45" x2="330" y2="45" stroke="var(--ink)" stroke-width=".5" opacity=".12"/>
|
||||||
|
<text x="335" y="48" font-family="var(--m)" font-size="8" fill="var(--ink50)">Large membrane capsule</text>
|
||||||
|
<rect x="170" y="100" width="60" height="35" rx="2" fill="none" stroke="var(--ink)" stroke-width="1" opacity=".25"/>
|
||||||
|
<rect x="180" y="108" width="8" height="5" rx="1" fill="var(--ink)" opacity=".12"/>
|
||||||
|
<rect x="195" y="110" width="12" height="8" rx="1" fill="var(--ink)" opacity=".08"/>
|
||||||
|
<circle cx="218" cy="115" r="4" fill="none" stroke="var(--ink)" stroke-width=".5" opacity=".15"/>
|
||||||
|
<line x1="235" y1="118" x2="330" y2="118" stroke="var(--ink)" stroke-width=".5" opacity=".12"/>
|
||||||
|
<text x="335" y="115" font-family="var(--m)" font-size="8" fill="var(--ink50)">OPA1642 preamp PCB</text>
|
||||||
|
<text x="335" y="126" font-family="var(--m)" font-size="7" fill="var(--cyan)" opacity=".7">Public schematic</text>
|
||||||
|
<rect x="175" y="165" width="50" height="25" rx="2" fill="none" stroke="var(--ink)" stroke-width="1" opacity=".25"/>
|
||||||
|
<line x1="230" y1="178" x2="330" y2="178" stroke="var(--ink)" stroke-width=".5" opacity=".12"/>
|
||||||
|
<text x="335" y="175" font-family="var(--m)" font-size="8" fill="var(--ink50)">Hex inverter PCB</text>
|
||||||
|
<text x="335" y="186" font-family="var(--m)" font-size="7" fill="var(--cyan)" opacity=".7">48V phantom power</text>
|
||||||
|
<rect x="178" y="220" width="44" height="80" rx="4" fill="none" stroke="var(--ink)" stroke-width="1" opacity=".2"/>
|
||||||
|
<line x1="60" y1="260" x2="173" y2="260" stroke="var(--ink)" stroke-width=".5" opacity=".12"/>
|
||||||
|
<text x="8" y="257" font-family="var(--m)" font-size="8" fill="var(--ink50)">Aluminium body</text>
|
||||||
|
<text x="8" y="268" font-family="var(--m)" font-size="7" fill="var(--cyan)" opacity=".7">Hand-finished</text>
|
||||||
|
<circle cx="200" cy="325" r="12" fill="none" stroke="var(--ink)" stroke-width="1" opacity=".25"/>
|
||||||
|
<g fill="var(--ink)" opacity=".15"><circle cx="196" cy="321" r="1.5"/><circle cx="204" cy="321" r="1.5"/><circle cx="200" cy="328" r="1.5"/></g>
|
||||||
|
<line x1="60" y1="325" x2="185" y2="325" stroke="var(--ink)" stroke-width=".5" opacity=".12"/>
|
||||||
|
<text x="8" y="322" font-family="var(--m)" font-size="8" fill="var(--ink50)">XLR 5-pin connector</text>
|
||||||
|
<text x="8" y="333" font-family="var(--m)" font-size="7" fill="var(--cyan)" opacity=".7">Neutrik</text>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="exploded-text reveal" style="transition-delay:.2s">
|
||||||
|
<h2>Every Part<br>Documented<span style="color:var(--cyan)">.</span></h2>
|
||||||
|
<p>Full KiCAD schematics, Gerber files, and bill of materials published under CERN-OHL-W-2.0. Every component is standard and replaceable.</p>
|
||||||
|
<p>The repair guide is in the box. Schematics available on our public repository.</p>
|
||||||
|
<button class="schema-btn">
|
||||||
|
<svg viewBox="0 0 24 24" stroke-linecap="round"><path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6M15 3h6v6M10 14L21 3"/></svg>
|
||||||
|
View schematics on Codeberg
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- Diagonal brush stroke -->
|
||||||
|
<div style="position:relative;height:80px;margin:0 4vw;overflow:visible">
|
||||||
|
<svg viewBox="0 0 400 300" preserveAspectRatio="none" style="width:40%;height:80px;color:var(--ink);overflow:visible">
|
||||||
|
<use href="#brush-diag"/>
|
||||||
|
</svg>
|
||||||
|
<div class="ink-el" style="width:60px;height:60px;right:30%;top:0">
|
||||||
|
<svg viewBox="0 0 200 200" style="color:var(--ink)"><use href="#splatter"/></svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- ═══════ VEZA + FOUNDATION ═══════ -->
|
||||||
|
<section class="split" id="veza">
|
||||||
|
<div class="ink-el" style="width:300px;height:300px;top:-40px;left:-20px">
|
||||||
|
<svg viewBox="0 0 800 600" style="color:var(--cyan);opacity:.6"><use href="#wash-cyan"/></svg>
|
||||||
|
</div>
|
||||||
|
<div class="ink-el" style="width:120px;height:120px;top:20px;right:40%">
|
||||||
|
<svg viewBox="0 0 200 200" style="color:var(--cyan)"><use href="#splatter"/></svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="split-card reveal">
|
||||||
|
<div class="split-ey">Platform</div>
|
||||||
|
<div class="split-title">VEZA<span class="dot">.</span><br>CONNECT<span class="dot">.</span></div>
|
||||||
|
<p class="split-text">A community for independent artists. Share samples, trade skills, stream music. No tracking, no ads, no algorithms. Self-hosted.</p>
|
||||||
|
<a href="#" class="split-link">Visit Veza</a>
|
||||||
|
</div>
|
||||||
|
<div class="split-card reveal" style="transition-delay:.15s">
|
||||||
|
<div class="split-ey">Foundation</div>
|
||||||
|
<div class="statement">
|
||||||
|
<span class="big">65%</span> profits foundation.<br>
|
||||||
|
Creator life cap at 10M EUR.<br>
|
||||||
|
Total transparency.<br>
|
||||||
|
Born in France. Built by hand.
|
||||||
|
</div>
|
||||||
|
<div style="margin-top:24px">
|
||||||
|
<div class="f-stat"><span class="f-stat-l">Education</span><span class="f-stat-v">30%</span></div>
|
||||||
|
<div class="f-stat"><span class="f-stat-l">Artist support</span><span class="f-stat-v">25%</span></div>
|
||||||
|
<div class="f-stat"><span class="f-stat-l">Open-source</span><span class="f-stat-v">25%</span></div>
|
||||||
|
<div class="f-stat"><span class="f-stat-l">Repair workshops</span><span class="f-stat-v">15%</span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- ═══════ TRANSPARENCY ═══════ -->
|
||||||
|
<div class="transp reveal">
|
||||||
|
<div class="ink-el" style="width:80px;height:80px;left:20%;top:-30px">
|
||||||
|
<svg viewBox="0 0 200 200" style="color:var(--ink)"><use href="#stain-1"/></svg>
|
||||||
|
</div>
|
||||||
|
<div class="t-counter">
|
||||||
|
<div class="t-counter-label">Total reversed to foundation</div>
|
||||||
|
<div class="t-counter-val" id="counter">0</div>
|
||||||
|
<div class="t-counter-sub">every euro is publicly auditable</div>
|
||||||
|
</div>
|
||||||
|
<div class="t-right">
|
||||||
|
<span class="big">65%</span> OF ALL PROFITS<br>TO THE TALAS FOUNDATION.<br>EVERY TRANSACTION<br>IS PUBLIC.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Brush stroke -->
|
||||||
|
<div style="position:relative;height:30px;margin:40px 4vw 0;overflow:visible">
|
||||||
|
<svg viewBox="0 0 1000 120" preserveAspectRatio="none" style="width:55%;height:25px;color:var(--ink);overflow:visible;margin-left:auto;display:block">
|
||||||
|
<use href="#brush-h"/>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- ═══════ JOURNAL ═══════ -->
|
||||||
|
<section class="journal" id="journal">
|
||||||
|
<div class="ink-el" style="width:160px;height:160px;top:20px;right:5%">
|
||||||
|
<svg viewBox="0 0 200 200" style="color:var(--cyan)"><use href="#stain-1"/></svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="journal-head reveal">
|
||||||
|
<div class="journal-title">Journal & Schematics</div>
|
||||||
|
<a href="#" class="journal-link">View all</a>
|
||||||
|
</div>
|
||||||
|
<div class="journal-grid">
|
||||||
|
<div class="article reveal">
|
||||||
|
<div class="article-img">
|
||||||
|
<!-- ink stain as placeholder -->
|
||||||
|
<svg viewBox="0 0 300 180" style="width:100%;height:100%;color:var(--ink)"><use href="#stain-2"/></svg>
|
||||||
|
</div>
|
||||||
|
<div class="article-cat">Hardware</div>
|
||||||
|
<div class="article-t">Inside the TALAS One: A Complete Teardown</div>
|
||||||
|
<div class="article-ex">Every component, every decision explained. From capsule to PCB layout.</div>
|
||||||
|
</div>
|
||||||
|
<div class="article reveal" style="transition-delay:.1s">
|
||||||
|
<div class="article-img">
|
||||||
|
<svg viewBox="0 0 200 200" style="width:80%;height:80%;margin:10%;color:var(--cyan);opacity:.6"><use href="#enso"/></svg>
|
||||||
|
</div>
|
||||||
|
<div class="article-cat">Philosophy</div>
|
||||||
|
<div class="article-t">The Craft of Open Sourcing Hardware</div>
|
||||||
|
<div class="article-ex">Why we publish our schematics and what it means for the industry.</div>
|
||||||
|
</div>
|
||||||
|
<div class="article reveal" style="transition-delay:.2s">
|
||||||
|
<div class="article-img">
|
||||||
|
<svg viewBox="0 0 200 200" style="width:100%;height:100%;color:var(--ink)"><use href="#splatter"/><use href="#stain-1" x="-20" y="20"/></svg>
|
||||||
|
</div>
|
||||||
|
<div class="article-cat">Community</div>
|
||||||
|
<div class="article-t">Founding Artists: The First 50</div>
|
||||||
|
<div class="article-ex">Meet the artists who shaped Veza before it opened to the world.</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- ═══════ FOOTER ═══════ -->
|
||||||
|
<footer class="footer" id="footer">
|
||||||
|
<div>
|
||||||
|
<div class="footer-brand"><svg viewBox="0 0 80 48"><use href="#sym"/></svg><span>TALAS</span></div>
|
||||||
|
<div class="footer-copy">Materiel audio reparable.<br>Fait main en France.</div>
|
||||||
|
</div>
|
||||||
|
<div class="footer-cols">
|
||||||
|
<div><div class="footer-col-t">Products</div><a href="#">Talas Lite</a><a href="#">Talas One</a><a href="#">Schematics</a><a href="#">Repair Guide</a></div>
|
||||||
|
<div><div class="footer-col-t">Veza</div><a href="#">Community</a><a href="#">Troc</a><a href="#">Samples</a><a href="#">Streaming</a></div>
|
||||||
|
<div><div class="footer-col-t">Talas</div><a href="#">Manifeste</a><a href="#">Foundation</a><a href="#">Journal</a><a href="#">Contact</a></div>
|
||||||
|
</div>
|
||||||
|
<div class="footer-btm">TALAS Group — CERN-OHL-W-2.0 / AGPL-3.0 — 65% profits to foundation</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
/* Scroll reveal */
|
||||||
|
const obs=new IntersectionObserver(es=>{es.forEach(e=>{if(e.isIntersecting)e.target.classList.add('vis')})},{threshold:.08,rootMargin:'0px 0px -30px 0px'});
|
||||||
|
document.querySelectorAll('.reveal').forEach(el=>obs.observe(el));
|
||||||
|
|
||||||
|
/* Counter */
|
||||||
|
const cEl=document.getElementById('counter');let cd=false;
|
||||||
|
new IntersectionObserver(es=>{if(es[0].isIntersecting&&!cd){cd=true;const s=performance.now(),tgt=847;
|
||||||
|
!function f(t){const p=Math.min((t-s)/2000,1);cEl.textContent=Math.round((1-Math.pow(1-p,3))*tgt).toLocaleString('fr-FR')+' EUR';if(p<1)requestAnimationFrame(f)}(s)}},{threshold:.5}).observe(cEl);
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
280
09_MODELE_ECONOMIQUE/Modèle_Marge/CALCUL_MARGES_UNITAIRES.md
Normal file
|
|
@ -0,0 +1,280 @@
|
||||||
|
# Calcul des marges unitaires — Talas Lite & Talas One
|
||||||
|
|
||||||
|
> Décomposition complète du coût de revient et de la marge par unité vendue.
|
||||||
|
> Sources : BOM réel (factures Mouser/PCBWay mai 2025), estimations fournisseurs.
|
||||||
|
> Dernière mise à jour : avril 2026.
|
||||||
|
|
||||||
|
**Rappel statut fiscal** : micro-entreprise, franchise en base de TVA (tous les prix sont HT = TTC pour le client tant que CA < 37 500 €).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Talas One — Condenser large membrane
|
||||||
|
|
||||||
|
### 1.1 Coût composants (BOM)
|
||||||
|
|
||||||
|
| Poste | Détail | Coût unitaire | Source |
|
||||||
|
|-------|--------|:-------------:|--------|
|
||||||
|
| PCB préampli AliceOPA | PCBWay, Rev3, lot 100 pcs | 1.08 € | Facture réelle |
|
||||||
|
| OPA1642AIDR (op-amp) | Mouser, QTY 10+ | 1.76 € | Facture réelle |
|
||||||
|
| Résistances Vishay (lot) | 10 refs × 0.15-0.30 € | 2.20 € | Facture réelle |
|
||||||
|
| Condensateurs (film + electro) | 8 refs × 0.20-0.60 € | 3.50 € | Facture réelle |
|
||||||
|
| Diodes / régulateur | 3 refs | 1.00 € | Facture réelle |
|
||||||
|
| Capsule CY002 34mm | 797 Audio, lot 50 | 15.00 € | Estimation fournisseur |
|
||||||
|
| Corps métal (reconditionné) | AliExpress, lot 20 | 10.00 € | Estimation |
|
||||||
|
| Grille métal + bonnette interne | Lot 50 | 2.00 € | Estimation |
|
||||||
|
| Connecteur XLR 5-pin | Neutrik ou équivalent | 3.00 € | Estimation |
|
||||||
|
| Câblage interne + soudure | Fil, gaine, soudure | 1.50 € | Estimation |
|
||||||
|
| Visserie + joints | Standard M2/M3 | 0.50 € | Estimation |
|
||||||
|
| **Sous-total composants** | | **41.54 €** | |
|
||||||
|
|
||||||
|
### 1.2 Coût packaging
|
||||||
|
|
||||||
|
| Poste | Détail | Coût unitaire |
|
||||||
|
|-------|--------|:-------------:|
|
||||||
|
| Boîte carton kraft | Non blanchi, taille micro | 1.50 € |
|
||||||
|
| Pochette tissu noire | Coton, logo brodé cyan | 3.00 € |
|
||||||
|
| Livret (quick start + specs) | 12 pages, papier recyclé | 0.80 € |
|
||||||
|
| Sticker logo | Monochrome, 50mm | 0.20 € |
|
||||||
|
| Carte garantie / numéro de série | Imprimée, tampon | 0.30 € |
|
||||||
|
| Câble XLR 3m (si inclus) | Basique, pas premium | 2.50 € |
|
||||||
|
| **Sous-total packaging** | | **8.30 €** |
|
||||||
|
|
||||||
|
### 1.3 Coût main-d'œuvre (assemblage)
|
||||||
|
|
||||||
|
| Poste | Temps | Coût |
|
||||||
|
|-------|-------|:----:|
|
||||||
|
| Soudure PCB (composants traversants) | 30 min | 5.00 € |
|
||||||
|
| Assemblage micro (capsule, câblage, corps) | 20 min | 3.50 € |
|
||||||
|
| Test audio fonctionnel | 10 min | 1.50 € |
|
||||||
|
| Emballage + contrôle final | 10 min | 1.50 € |
|
||||||
|
| **Sous-total main-d'œuvre** | **~70 min** | **11.50 €** |
|
||||||
|
|
||||||
|
*(Base : SMIC horaire ~12 €/h brut arrondi. Même si tu te paies pas encore, c'est la valeur de ton temps.)*
|
||||||
|
|
||||||
|
### 1.4 Coût logistique et plateforme
|
||||||
|
|
||||||
|
| Poste | Calcul | Coût unitaire |
|
||||||
|
|-------|--------|:-------------:|
|
||||||
|
| Frais Mollie (CB) | 1.8% de 150€ + 0.25€ | 2.95 € |
|
||||||
|
| Expédition (Colissimo, payé par le client) | 0 € (facturé au client) | 0.00 € |
|
||||||
|
| Emballage expédition (carton + calage) | Carton + papier kraft | 1.00 € |
|
||||||
|
| Étiquette Colissimo (si prépayé) | Intégré dans le prix client | 0.00 € |
|
||||||
|
| **Sous-total logistique** | | **3.95 €** |
|
||||||
|
|
||||||
|
### 1.5 Synthèse Talas One
|
||||||
|
|
||||||
|
```
|
||||||
|
┌──────────────────────────────────────────────────┐
|
||||||
|
│ TALAS ONE — Prix de vente : 150.00 € │
|
||||||
|
│ │
|
||||||
|
│ Composants (BOM) 41.54 € (27.7%) │
|
||||||
|
│ Packaging 8.30 € (5.5%) │
|
||||||
|
│ Main-d'œuvre assemblage 11.50 € (7.7%) │
|
||||||
|
│ Logistique / fees 3.95 € (2.6%) │
|
||||||
|
│ ────────────────────────────────────────── │
|
||||||
|
│ Coût de revient total 65.29 € (43.5%) │
|
||||||
|
│ │
|
||||||
|
│ ═══════════════════════════════════════════ │
|
||||||
|
│ MARGE BRUTE 84.71 € (56.5%) │
|
||||||
|
│ │
|
||||||
|
│ Dont : │
|
||||||
|
│ Réserve SAV/garantie (5%) 7.50 € │
|
||||||
|
│ Marketing/contenu (10%) 15.00 € │
|
||||||
|
│ R&D produits futurs (10%) 15.00 € │
|
||||||
|
│ Trésorerie / salaire 47.21 € (31.5%) │
|
||||||
|
└──────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Talas Lite — Electret
|
||||||
|
|
||||||
|
### 2.1 Coût composants (BOM)
|
||||||
|
|
||||||
|
| Poste | Détail | Coût unitaire |
|
||||||
|
|-------|--------|:-------------:|
|
||||||
|
| PCB préampli THAT1512 | PCBWay, lot 100 | 0.80 € |
|
||||||
|
| THAT1512 (préampli IC) | Mouser, QTY 10+ | 3.50 € |
|
||||||
|
| Résistances / condensateurs | ~8 refs | 2.00 € |
|
||||||
|
| Capsule electret JLI-2555BXZ3-GP | Lot 50 | 5.00 € |
|
||||||
|
| Corps métal (reconditionné) | AliExpress, lot 20 | 8.00 € |
|
||||||
|
| Grille + mousse | Lot 50 | 1.50 € |
|
||||||
|
| Connecteur (USB-C ou XLR 3) | Selon version | 2.00 € |
|
||||||
|
| Module USB-C audio (si USB) | PCM2912A ou équivalent | 3.00 € |
|
||||||
|
| Câblage interne | | 1.00 € |
|
||||||
|
| Visserie | | 0.40 € |
|
||||||
|
| **Sous-total composants** | | **27.20 €** |
|
||||||
|
|
||||||
|
### 2.2 Packaging + MO + logistique
|
||||||
|
|
||||||
|
| Poste | Coût unitaire |
|
||||||
|
|-------|:-------------:|
|
||||||
|
| Packaging (même style, boîte plus petite) | 6.00 € |
|
||||||
|
| Main-d'œuvre assemblage (~50 min) | 9.00 € |
|
||||||
|
| Frais Mollie (1.8% de 100€ + 0.25€) | 2.05 € |
|
||||||
|
| Emballage expédition | 0.80 € |
|
||||||
|
| **Sous-total** | **17.85 €** |
|
||||||
|
|
||||||
|
### 2.3 Synthèse Talas Lite
|
||||||
|
|
||||||
|
```
|
||||||
|
┌──────────────────────────────────────────────────┐
|
||||||
|
│ TALAS LITE — Prix de vente : 100.00 € │
|
||||||
|
│ │
|
||||||
|
│ Composants (BOM) 27.20 € (27.2%) │
|
||||||
|
│ Packaging 6.00 € (6.0%) │
|
||||||
|
│ Main-d'œuvre assemblage 9.00 € (9.0%) │
|
||||||
|
│ Logistique / fees 2.85 € (2.9%) │
|
||||||
|
│ ────────────────────────────────────────── │
|
||||||
|
│ Coût de revient total 45.05 € (45.1%) │
|
||||||
|
│ │
|
||||||
|
│ ═══════════════════════════════════════════ │
|
||||||
|
│ MARGE BRUTE 54.95 € (54.9%) │
|
||||||
|
│ │
|
||||||
|
│ Dont : │
|
||||||
|
│ Réserve SAV/garantie (5%) 5.00 € │
|
||||||
|
│ Marketing/contenu (10%) 10.00 € │
|
||||||
|
│ R&D produits futurs (10%) 10.00 € │
|
||||||
|
│ Trésorerie / salaire 29.95 € (30.0%) │
|
||||||
|
└──────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Comparaison par produit
|
||||||
|
|
||||||
|
| | Talas Lite | Talas One |
|
||||||
|
|---|:---:|:---:|
|
||||||
|
| **Prix de vente** | 100 € | 150 € |
|
||||||
|
| **Coût de revient** | 45.05 € | 65.29 € |
|
||||||
|
| **Marge brute** | 54.95 € | 84.71 € |
|
||||||
|
| **Marge brute %** | 54.9% | 56.5% |
|
||||||
|
| **Temps assemblage** | 50 min | 70 min |
|
||||||
|
| **Marge / heure de travail** | 66 € | 73 € |
|
||||||
|
| **Priorité production** | Secondaire | **Primaire** |
|
||||||
|
|
||||||
|
**Conclusion** : le Talas One a la meilleure marge horaire. Le Talas Lite est une porte d'entrée mais ne doit pas cannibaliser le One.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Seuil de rentabilité
|
||||||
|
|
||||||
|
### 4.1 Charges fixes mensuelles (estimation)
|
||||||
|
|
||||||
|
| Poste | Coût / mois |
|
||||||
|
|-------|:-----------:|
|
||||||
|
| Électricité serveurs (R720 ×2) | 135 € |
|
||||||
|
| Internet fibre | 40 € |
|
||||||
|
| Domaine + DNS | 3 € |
|
||||||
|
| Assurance RC Pro | 25 € |
|
||||||
|
| Comptabilité / AE | 0 € (auto-déclaration) |
|
||||||
|
| Petit outillage consommable (soudure, etc.) | 30 € |
|
||||||
|
| **Total charges fixes** | **~233 €/mois** |
|
||||||
|
|
||||||
|
### 4.2 Break-even par scénario
|
||||||
|
|
||||||
|
| Scénario | Mix produit | Marge brute / unité | Unités / mois pour break-even |
|
||||||
|
|----------|-------------|:--------------------:|:-----------------------------:|
|
||||||
|
| 100% Talas One | 150 € | 84.71 € | **3 unités** |
|
||||||
|
| 100% Talas Lite | 100 € | 54.95 € | **5 unités** |
|
||||||
|
| Mix 60% One / 40% Lite | — | 72.82 € | **4 unités** |
|
||||||
|
|
||||||
|
**→ Break-even : 3-5 micros / mois.** C'est faisable dès les premiers mois.
|
||||||
|
|
||||||
|
### 4.3 Scénarios de CA annuel
|
||||||
|
|
||||||
|
| Scénario | Unités / mois | CA annuel | Marge brute annuelle |
|
||||||
|
|----------|:------------:|:---------:|:--------------------:|
|
||||||
|
| **Prudent** | 5 | 7 800 € | 4 284 € |
|
||||||
|
| **Réaliste** | 15 | 23 400 € | 12 852 € |
|
||||||
|
| **Optimiste** | 40 | 62 400 € | 34 272 € |
|
||||||
|
|
||||||
|
*(Mix 60% One / 40% Lite, prix moyen pondéré 130 €)*
|
||||||
|
|
||||||
|
**Attention** : au-delà de ~288 unités/an (37 500 € CA), passage en TVA assujettie. Prévoir ce seuil.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Options et accessoires — marges additionnelles
|
||||||
|
|
||||||
|
| Option | Prix vente | Coût | Marge | Marge % |
|
||||||
|
|--------|:---------:|:----:|:-----:|:-------:|
|
||||||
|
| Pochette tissu (vendue séparément) | 15 € | 3.50 € | 11.50 € | 77% |
|
||||||
|
| Suspension élastique | 25 € | 8.00 € | 17.00 € | 68% |
|
||||||
|
| Bonnette anti-vent | 10 € | 2.00 € | 8.00 € | 80% |
|
||||||
|
| Câble XLR premium 3m | 20 € | 5.00 € | 15.00 € | 75% |
|
||||||
|
| Pièce de rechange : capsule | 25 € | 15.00 € | 10.00 € | 40% |
|
||||||
|
| Pièce de rechange : PCB préampli | 15 € | 5.00 € | 10.00 € | 67% |
|
||||||
|
|
||||||
|
**Les accessoires ont les meilleures marges.** Encourager le cross-sell.
|
||||||
|
|
||||||
|
Les pièces de rechange à faible marge sont volontaires : la réparabilité est une promesse, pas un centre de profit.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Sensibilité aux prix
|
||||||
|
|
||||||
|
### 6.1 Que se passe-t-il si un composant coûte plus cher ?
|
||||||
|
|
||||||
|
| Variable | Base | +50% | Impact marge One |
|
||||||
|
|----------|:----:|:----:|:----------------:|
|
||||||
|
| Capsule CY002 | 15 € | 22.50 € | Marge → 77.21 € (-8.8%) |
|
||||||
|
| Corps métal | 10 € | 15 € | Marge → 79.71 € (-5.9%) |
|
||||||
|
| Op-amp OPA1642 | 1.76 € | 2.64 € | Marge → 83.83 € (-1.0%) |
|
||||||
|
|
||||||
|
**Le plus sensible** : la capsule. Négocier le prix en lot ou trouver un second fournisseur.
|
||||||
|
|
||||||
|
### 6.2 Que se passe-t-il si on baisse le prix ?
|
||||||
|
|
||||||
|
| Prix One | Marge brute | Marge % | Viable ? |
|
||||||
|
|:--------:|:-----------:|:-------:|:--------:|
|
||||||
|
| 170 € | 104.71 € | 61.6% | Très confortable |
|
||||||
|
| 150 € | 84.71 € | 56.5% | **Cible actuelle** |
|
||||||
|
| 130 € | 64.71 € | 49.8% | Correct mais tendu |
|
||||||
|
| 120 € | 54.71 € | 45.6% | Minimum absolu |
|
||||||
|
| 108 € (= prix RODE NT1 Sig) | 42.71 € | 39.5% | Non viable |
|
||||||
|
|
||||||
|
**→ Ne pas descendre en-dessous de 130 €.** À 150 €, la marge est saine.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Coûts cachés à surveiller
|
||||||
|
|
||||||
|
| Coût caché | Estimation | Fréquence |
|
||||||
|
|-----------|:----------:|-----------|
|
||||||
|
| SAV / réparation gratuite (garantie) | 5-10 € / cas | ~5% des ventes |
|
||||||
|
| Retour / remboursement (rétractation) | Coût aller-retour | ~3% des ventes |
|
||||||
|
| Perte / casse transport | Coût total unité | ~1% des envois |
|
||||||
|
| Stock dormant (composants commandés non utilisés) | Variable | Risque si commande grosse |
|
||||||
|
| Impayés / fraude CB | ~0.5% du CA | Continu |
|
||||||
|
| Certification CE / RoHS | 200-300 € | Une fois |
|
||||||
|
|
||||||
|
**Provision recommandée** : 5% du CA en réserve pour ces aléas (déjà inclus dans la ligne "SAV/garantie" ci-dessus).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Règles de pricing
|
||||||
|
|
||||||
|
### 8.1 Règles fixes
|
||||||
|
|
||||||
|
1. **Le prix est le même partout** — pas de promo, pas de codes, pas de "founders price"
|
||||||
|
2. **Transparence des coûts** — la page produit peut afficher la ventilation (valeur Talas)
|
||||||
|
3. **Les pièces de rechange sont au coût** — pas de marge abusive sur les réparations
|
||||||
|
4. **Pas de baisse de prix** dans les 12 premiers mois (protéger les early adopters)
|
||||||
|
|
||||||
|
### 8.2 Règles souples
|
||||||
|
|
||||||
|
5. Prix ajustable +/- 10 € après 6 mois de données
|
||||||
|
6. Prix accessoires ajustable à tout moment
|
||||||
|
7. Bundle micro + accessoires possible avec -5% (arrondi)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Voir aussi
|
||||||
|
|
||||||
|
- [[09_MODELE_ECONOMIQUE/BUSINESS_PLAN_TALAS]] — business plan complet
|
||||||
|
- [[09_MODELE_ECONOMIQUE/ANALYSE_MARCHE]] — positionnement prix vs concurrence
|
||||||
|
- [[09_MODELE_ECONOMIQUE/SIMULATION_CASHFLOW_24_MOIS]] — projections trésorerie
|
||||||
|
- [[02_PRODUITS_PHYSIQUES/GAMME_PRODUITS]] — fiche des deux lignes
|
||||||
|
- [[Shop/Paiement/SPEC_PAIEMENT]] — fees Mollie pris en compte ici
|
||||||
|
- [[08_CONFORMITE_JURIDIQUE/CONFORMITE_CE_ROHS_GUIDE]] — coût CE/RoHS
|
||||||
320
10_QUALITE_TESTS/Audit_Sécurité/PLAN_AUDIT_SECURITE.md
Normal file
|
|
@ -0,0 +1,320 @@
|
||||||
|
# Plan d'audit sécurité — Veza
|
||||||
|
|
||||||
|
> Checklist OWASP, plan pentest, calendrier d'audits pour la plateforme Veza.
|
||||||
|
> À exécuter avant chaque phase de lancement (beta, publique, shop).
|
||||||
|
> Dernière mise à jour : avril 2026.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Périmètre
|
||||||
|
|
||||||
|
### 1.1 Composants audités
|
||||||
|
|
||||||
|
| Composant | Stack | Criticité |
|
||||||
|
|-----------|-------|:---------:|
|
||||||
|
| Backend API | Go/Gin | **Critique** |
|
||||||
|
| Stream Server | Rust/Axum | Haute |
|
||||||
|
| Frontend Web | React/Vite | Moyenne |
|
||||||
|
| Base de données | PostgreSQL 16 | **Critique** |
|
||||||
|
| Cache/sessions | Redis 7 | Haute |
|
||||||
|
| Storage | MinIO S3 | Haute |
|
||||||
|
| Messaging | RabbitMQ 3 | Moyenne |
|
||||||
|
| Reverse proxy | HAProxy | Haute |
|
||||||
|
| WAF | Coraza | Haute |
|
||||||
|
| VPN | WireGuard | Haute |
|
||||||
|
| OS / infra | Debian, Docker | Haute |
|
||||||
|
|
||||||
|
### 1.2 Hors périmètre V1
|
||||||
|
|
||||||
|
- Applications desktop (Electron) — pas encore déployé
|
||||||
|
- AudioGridder — feature V2
|
||||||
|
- Applications mobiles — pas encore développé
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Checklist OWASP Top 10 (2021)
|
||||||
|
|
||||||
|
### A01:2021 — Broken Access Control
|
||||||
|
|
||||||
|
| # | Vérification | Comment tester | Statut |
|
||||||
|
|---|-------------|----------------|:------:|
|
||||||
|
| 1 | Accès horizontal : user A ne peut pas voir les données de user B | Tester GET/PUT/DELETE avec ID d'un autre user | ☐ |
|
||||||
|
| 2 | Accès vertical : user normal ne peut pas accéder aux endpoints admin | Tester sans rôle admin | ☐ |
|
||||||
|
| 3 | IDOR sur tous les endpoints à paramètre :id | Fuzzer les IDs (UUID valides d'autres users) | ☐ |
|
||||||
|
| 4 | Force browsing : pages admin non accessibles sans auth | Scanner /admin/*, /internal/* | ☐ |
|
||||||
|
| 5 | CORS : origins autorisées uniquement les domaines Talas | Vérifier Access-Control-Allow-Origin | ☐ |
|
||||||
|
| 6 | Méthodes HTTP : seules GET/POST/PUT/DELETE autorisées | Tester OPTIONS, TRACE, PATCH | ☐ |
|
||||||
|
|
||||||
|
### A02:2021 — Cryptographic Failures
|
||||||
|
|
||||||
|
| # | Vérification | Statut |
|
||||||
|
|---|-------------|:------:|
|
||||||
|
| 7 | TLS 1.2+ obligatoire, pas de TLS 1.0/1.1 | ☐ |
|
||||||
|
| 8 | Certificats Let's Encrypt valides, auto-renew | ☐ |
|
||||||
|
| 9 | Pas de secrets en clair dans le code ou les logs | ☐ |
|
||||||
|
| 10 | Passwords hashés bcrypt cost ≥12 | ☐ |
|
||||||
|
| 11 | Tokens TOTP chiffrés AES-256-GCM en DB | ☐ |
|
||||||
|
| 12 | JWT signés RS256, pas HS256 en prod | ☐ |
|
||||||
|
| 13 | Pas de données sensibles dans les JWT (payload minimal) | ☐ |
|
||||||
|
|
||||||
|
### A03:2021 — Injection
|
||||||
|
|
||||||
|
| # | Vérification | Statut |
|
||||||
|
|---|-------------|:------:|
|
||||||
|
| 14 | SQL injection : GORM paramétré, pas de raw queries non-escaped | ☐ |
|
||||||
|
| 15 | NoSQL injection : N/A (pas de NoSQL) | ✓ |
|
||||||
|
| 16 | OS command injection : pas de exec() avec user input | ☐ |
|
||||||
|
| 17 | LDAP injection : N/A | ✓ |
|
||||||
|
| 18 | XSS : sanitisation de tous les inputs rendus HTML | ☐ |
|
||||||
|
| 19 | SSRF : pas de fetch d'URL arbitraire fournie par l'utilisateur | ☐ |
|
||||||
|
|
||||||
|
### A04:2021 — Insecure Design
|
||||||
|
|
||||||
|
| # | Vérification | Statut |
|
||||||
|
|---|-------------|:------:|
|
||||||
|
| 20 | Rate limiting sur login, register, reset password | ☐ |
|
||||||
|
| 21 | Verrouillage de compte après N échecs | ☐ |
|
||||||
|
| 22 | Pas de réponse différente "email existe" vs "email inconnu" | ☐ |
|
||||||
|
| 23 | Captcha ou proof-of-work sur formulaires publics (V1.5) | ☐ |
|
||||||
|
|
||||||
|
### A05:2021 — Security Misconfiguration
|
||||||
|
|
||||||
|
| # | Vérification | Statut |
|
||||||
|
|---|-------------|:------:|
|
||||||
|
| 24 | Headers sécurité : HSTS, CSP, X-Content-Type, X-Frame | ☐ |
|
||||||
|
| 25 | Pas de stack traces exposées en production | ☐ |
|
||||||
|
| 26 | Pas de debug mode en production | ☐ |
|
||||||
|
| 27 | Docker : pas de containers root, images signées | ☐ |
|
||||||
|
| 28 | Ports exposés : uniquement 80/443 vers l'extérieur | ☐ |
|
||||||
|
| 29 | MinIO : pas de bucket public sauf previews | ☐ |
|
||||||
|
| 30 | Redis : auth activée, pas d'accès externe | ☐ |
|
||||||
|
| 31 | PostgreSQL : auth MD5/scram, pas d'accès externe | ☐ |
|
||||||
|
|
||||||
|
### A06:2021 — Vulnerable and Outdated Components
|
||||||
|
|
||||||
|
| # | Vérification | Statut |
|
||||||
|
|---|-------------|:------:|
|
||||||
|
| 32 | Go : `govulncheck` sans vulnérabilité critique | ☐ |
|
||||||
|
| 33 | Rust : `cargo audit` sans vulnérabilité critique | ☐ |
|
||||||
|
| 34 | NPM : `npm audit` sans critical/high | ☐ |
|
||||||
|
| 35 | Docker images : `trivy image scan` clean | ☐ |
|
||||||
|
| 36 | OS packages : mise à jour sécurité < 7 jours | ☐ |
|
||||||
|
|
||||||
|
### A07:2021 — Identification and Authentication Failures
|
||||||
|
|
||||||
|
| # | Vérification | Statut |
|
||||||
|
|---|-------------|:------:|
|
||||||
|
| 37 | Password policy appliquée (12 car, complexité) | ☐ |
|
||||||
|
| 38 | Sessions expirent (access 15min, refresh 30j) | ☐ |
|
||||||
|
| 39 | Logout invalide le refresh token | ☐ |
|
||||||
|
| 40 | Cookies HTTP-only + Secure + SameSite=Lax | ☐ |
|
||||||
|
| 41 | OAuth state parameter vérifié | ☐ |
|
||||||
|
| 42 | 2FA fonctionne et bloque sans code | ☐ |
|
||||||
|
|
||||||
|
### A08:2021 — Software and Data Integrity Failures
|
||||||
|
|
||||||
|
| # | Vérification | Statut |
|
||||||
|
|---|-------------|:------:|
|
||||||
|
| 43 | Uploads scannés ClamAV avant stockage | ☐ |
|
||||||
|
| 44 | Checksums vérifiés après upload MinIO | ☐ |
|
||||||
|
| 45 | Webhooks Mollie vérifiés (re-call API) | ☐ |
|
||||||
|
| 46 | Dépendances : lockfiles commités, pas de floating versions | ☐ |
|
||||||
|
|
||||||
|
### A09:2021 — Security Logging and Monitoring Failures
|
||||||
|
|
||||||
|
| # | Vérification | Statut |
|
||||||
|
|---|-------------|:------:|
|
||||||
|
| 47 | Audit log sur login, logout, password change, admin actions | ☐ |
|
||||||
|
| 48 | Logs structurés (JSON) en production | ☐ |
|
||||||
|
| 49 | Alertes Sentry sur erreurs 500 | ☐ |
|
||||||
|
| 50 | Fail2ban actif sur SSH et HTTP brute-force | ☐ |
|
||||||
|
| 51 | Métriques Prometheus exportées et dashboardées | ☐ |
|
||||||
|
|
||||||
|
### A10:2021 — Server-Side Request Forgery (SSRF)
|
||||||
|
|
||||||
|
| # | Vérification | Statut |
|
||||||
|
|---|-------------|:------:|
|
||||||
|
| 52 | Pas de proxy/fetch d'URL arbitraire | ☐ |
|
||||||
|
| 53 | Callbacks OAuth limités aux domaines autorisés | ☐ |
|
||||||
|
| 54 | Webhooks Mollie : vérification IP source (optionnel) | ☐ |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Tests de pénétration
|
||||||
|
|
||||||
|
### 3.1 Scope pentest V1
|
||||||
|
|
||||||
|
| Cible | Type de test |
|
||||||
|
|-------|-------------|
|
||||||
|
| API REST (tout `/api/v1/*`) | Blackbox + greybox (avec un compte user) |
|
||||||
|
| Auth (login, register, 2FA, OAuth) | Blackbox |
|
||||||
|
| Upload fichiers (tracks, samples, cloud) | Greybox |
|
||||||
|
| WebSocket streaming | Blackbox |
|
||||||
|
| Infra réseau (ports, services) | Blackbox depuis extérieur |
|
||||||
|
|
||||||
|
### 3.2 Outils
|
||||||
|
|
||||||
|
| Outil | Usage | Self-hosted ? |
|
||||||
|
|-------|-------|:-------------:|
|
||||||
|
| **Nmap** | Scan ports + services | ✓ |
|
||||||
|
| **OWASP ZAP** | Proxy scanner web, fuzzer | ✓ |
|
||||||
|
| **Nuclei** | Scan vulnérabilités templates | ✓ |
|
||||||
|
| **SQLMap** | Injection SQL (validation) | ✓ |
|
||||||
|
| **ffuf** | Fuzzer endpoints / dirs | ✓ |
|
||||||
|
| **Burp Suite Community** | Proxy manuel | ✓ |
|
||||||
|
| **Trivy** | Scan containers Docker | ✓ |
|
||||||
|
| **govulncheck** | Vulns Go | ✓ |
|
||||||
|
| **cargo audit** | Vulns Rust | ✓ |
|
||||||
|
| **npm audit** | Vulns JS | ✓ |
|
||||||
|
|
||||||
|
### 3.3 Déroulement d'un pentest
|
||||||
|
|
||||||
|
```
|
||||||
|
Phase 1 — Reconnaissance (2h)
|
||||||
|
→ Nmap scan réseau externe
|
||||||
|
→ ffuf directory brute-force
|
||||||
|
→ Nuclei templates scan
|
||||||
|
|
||||||
|
Phase 2 — Authentication (2h)
|
||||||
|
→ Brute-force login (rate limit test)
|
||||||
|
→ Password reset flow (token enum)
|
||||||
|
→ Session hijacking attempt
|
||||||
|
→ 2FA bypass attempts
|
||||||
|
→ OAuth redirect manipulation
|
||||||
|
|
||||||
|
Phase 3 — Authorization (3h)
|
||||||
|
→ IDOR sur chaque endpoint avec :id
|
||||||
|
→ Escalation user → admin
|
||||||
|
→ Cross-user data access
|
||||||
|
→ File access cross-tenant (cloud, uploads)
|
||||||
|
|
||||||
|
Phase 4 — Input validation (2h)
|
||||||
|
→ XSS sur tous les champs affichables
|
||||||
|
→ SQL injection sur search + filtres
|
||||||
|
→ File upload : extensions interdites, LFI, path traversal
|
||||||
|
→ Payload size limits
|
||||||
|
|
||||||
|
Phase 5 — Business logic (2h)
|
||||||
|
→ Stock manipulation (réservation concurrente)
|
||||||
|
→ Payment flow bypass
|
||||||
|
→ Double-submit paiement
|
||||||
|
→ Rate limit contournement
|
||||||
|
|
||||||
|
Phase 6 — Infrastructure (1h)
|
||||||
|
→ Docker escape (container → host)
|
||||||
|
→ Redis accès sans auth
|
||||||
|
→ PostgreSQL accès direct
|
||||||
|
→ MinIO bucket listing
|
||||||
|
|
||||||
|
Phase 7 — Rapport (2h)
|
||||||
|
→ Rédaction des findings
|
||||||
|
→ Classification CVSS
|
||||||
|
→ Recommandations de remediation
|
||||||
|
```
|
||||||
|
|
||||||
|
**Durée totale** : ~14 heures (2 jours de travail intensif).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Calendrier d'audit
|
||||||
|
|
||||||
|
### 4.1 Audits obligatoires
|
||||||
|
|
||||||
|
| Quand | Type | Scope |
|
||||||
|
|-------|------|-------|
|
||||||
|
| **Avant beta** (mai 2026) | OWASP checklist complète | Tout |
|
||||||
|
| **Avant ouverture publique** (juin 2026) | Pentest léger (phases 1-4) | API + auth |
|
||||||
|
| **Avant lancement shop** (août 2026) | Pentest complet + focus paiement | Shop + payment |
|
||||||
|
| **Trimestriel** | Scan vulnérabilités (Trivy, govulncheck, npm audit) | Dépendances |
|
||||||
|
| **Après chaque release majeure** | Revue OWASP ciblée | Code modifié |
|
||||||
|
|
||||||
|
### 4.2 Audits continus (automatisés en CI)
|
||||||
|
|
||||||
|
| Check | Outil | Fréquence |
|
||||||
|
|-------|-------|-----------|
|
||||||
|
| Vulnérabilités Go | `govulncheck` | Chaque PR |
|
||||||
|
| Vulnérabilités Rust | `cargo audit` | Chaque PR |
|
||||||
|
| Vulnérabilités NPM | `npm audit --audit-level=high` | Chaque PR |
|
||||||
|
| Docker images | `trivy image` | Chaque build |
|
||||||
|
| Secrets dans le code | `gitleaks` | Chaque PR |
|
||||||
|
| Headers sécurité | Script custom (curl + check) | Daily cron |
|
||||||
|
| Certificat TLS expiration | `openssl s_client` | Weekly cron |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Classification des vulnérabilités
|
||||||
|
|
||||||
|
| Niveau | CVSS | Délai de correction | Exemples |
|
||||||
|
|--------|:----:|:-------------------:|----------|
|
||||||
|
| **Critique** | 9.0-10.0 | **24h** | RCE, SQLi, auth bypass, données exposées |
|
||||||
|
| **Haute** | 7.0-8.9 | **72h** | XSS stocké, IDOR critique, CSRF paiement |
|
||||||
|
| **Moyenne** | 4.0-6.9 | **2 semaines** | XSS réfléchi, info leak mineur, rate limit faible |
|
||||||
|
| **Basse** | 0.1-3.9 | **1 mois** | Headers manquants, verbose errors, enumeration |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Reporting
|
||||||
|
|
||||||
|
### 6.1 Format de rapport pentest
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Finding: [Titre]
|
||||||
|
|
||||||
|
**Sévérité**: Critique / Haute / Moyenne / Basse
|
||||||
|
**CVSS**: X.X
|
||||||
|
**Composant**: Backend API / Frontend / Infra
|
||||||
|
**Endpoint**: POST /api/v1/...
|
||||||
|
**CWE**: CWE-XXX
|
||||||
|
|
||||||
|
### Description
|
||||||
|
[Ce qui a été trouvé]
|
||||||
|
|
||||||
|
### Preuve
|
||||||
|
[Commande/screenshot/payload]
|
||||||
|
|
||||||
|
### Impact
|
||||||
|
[Ce qu'un attaquant pourrait faire]
|
||||||
|
|
||||||
|
### Remédiation
|
||||||
|
[Comment corriger]
|
||||||
|
|
||||||
|
### Statut
|
||||||
|
☐ À corriger / ☐ Corrigé / ☐ Accepté (risque mitigé)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6.2 Suivi
|
||||||
|
|
||||||
|
Un fichier `FINDINGS_LOG.md` dans ce dossier trace toutes les vulnérabilités trouvées :
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
| # | Date | Sévérité | Titre | Statut | Corrigé le |
|
||||||
|
|---|------|----------|-------|--------|-----------|
|
||||||
|
| 001 | 2026-05-15 | Haute | IDOR sur /tracks/:id | Corrigé | 2026-05-16 |
|
||||||
|
| 002 | ... | ... | ... | ... | ... |
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Règles de Coraza WAF à valider
|
||||||
|
|
||||||
|
| Règle | Vérifie |
|
||||||
|
|-------|---------|
|
||||||
|
| OWASP CRS 4.x activé | ☐ |
|
||||||
|
| Anomaly scoring threshold = 5 | ☐ |
|
||||||
|
| SQL injection rules actives | ☐ |
|
||||||
|
| XSS rules actives | ☐ |
|
||||||
|
| Path traversal rules actives | ☐ |
|
||||||
|
| File upload rules actives | ☐ |
|
||||||
|
| Rate limiting intégré (ou HAProxy) | ☐ |
|
||||||
|
| Logging des blocked requests | ☐ |
|
||||||
|
| False positives identifiés et whitelistés | ☐ |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Voir aussi
|
||||||
|
|
||||||
|
- [[Auth_&_Core/SPEC_AUTH_CORE]] — implémentation auth
|
||||||
|
- [[04_INFRA_DEPLOIEMENT/Sécurité]] — hardening infra
|
||||||
|
- [[04_INFRA_DEPLOIEMENT/Sécurité_WAF_Coraza]] — config WAF
|
||||||
|
- [[08_CONFORMITE_JURIDIQUE/RGPD]] — obligations données personnelles
|
||||||
|
- [[ARCHITECTURE_VEZA]] — composants à auditer
|
||||||
394
10_QUALITE_TESTS/QA_Fonctionnels/SCENARIOS_TESTS.md
Normal file
|
|
@ -0,0 +1,394 @@
|
||||||
|
# Scénarios de tests fonctionnels — Veza
|
||||||
|
|
||||||
|
> Tests par module : critères d'acceptation, cas limites, flows à valider.
|
||||||
|
> Chaque scénario = un test qui doit passer avant mise en production.
|
||||||
|
> Dernière mise à jour : avril 2026.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Organisation
|
||||||
|
|
||||||
|
### Priorité des tests
|
||||||
|
|
||||||
|
| Priorité | Signification | Quand exécuter |
|
||||||
|
|:--------:|--------------|----------------|
|
||||||
|
| **P0** | Bloquant production — si échec, pas de deploy | Chaque PR |
|
||||||
|
| **P1** | Critique — à corriger dans les 24h si regression | Chaque release |
|
||||||
|
| **P2** | Important — à corriger avant la prochaine release | Hebdomadaire |
|
||||||
|
| **P3** | Nice-to-have — à corriger quand possible | Mensuel |
|
||||||
|
|
||||||
|
### Format d'un scénario
|
||||||
|
|
||||||
|
```
|
||||||
|
[ID] Titre
|
||||||
|
Priorité: PX | Type: unit/integ/e2e
|
||||||
|
Préconditions: ...
|
||||||
|
Étapes:
|
||||||
|
1. ...
|
||||||
|
2. ...
|
||||||
|
Résultat attendu: ...
|
||||||
|
Cas limites: ...
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Module 1 — Authentification
|
||||||
|
|
||||||
|
### AUTH-001 — Inscription email + password
|
||||||
|
**P0 | e2e**
|
||||||
|
- Préconditions : aucun compte existant
|
||||||
|
- Étapes :
|
||||||
|
1. POST /auth/register { email, password, username }
|
||||||
|
2. Vérifier email reçu (lien de vérification)
|
||||||
|
3. Cliquer le lien
|
||||||
|
4. Vérifier que le compte est actif
|
||||||
|
- Résultat : compte créé, JWT retourné, email vérifié
|
||||||
|
- Cas limites :
|
||||||
|
- Email déjà pris → erreur 409
|
||||||
|
- Username déjà pris → erreur 409
|
||||||
|
- Password < 12 car → erreur 400
|
||||||
|
- Password pwned (HIBP) → warning (V1.5)
|
||||||
|
- Email invalide → erreur 400
|
||||||
|
- Lien de vérification expiré (> 24h) → erreur + lien "renvoyer"
|
||||||
|
|
||||||
|
### AUTH-002 — Login + JWT
|
||||||
|
**P0 | integ**
|
||||||
|
- Étapes :
|
||||||
|
1. POST /auth/login { email, password }
|
||||||
|
2. Vérifier cookies HTTP-only (access + refresh)
|
||||||
|
3. GET /auth/me avec cookie
|
||||||
|
- Résultat : user info retournée
|
||||||
|
- Cas limites :
|
||||||
|
- Mauvais password → 401 (pas de distinction "email inconnu")
|
||||||
|
- Compte verrouillé (5 échecs) → 429 + message "réessaie dans 15 min"
|
||||||
|
- Compte non vérifié → 403 "vérifie ton email"
|
||||||
|
|
||||||
|
### AUTH-003 — Refresh token
|
||||||
|
**P0 | integ**
|
||||||
|
- Étapes :
|
||||||
|
1. Login → obtenir access + refresh
|
||||||
|
2. Attendre expiration access (ou simuler)
|
||||||
|
3. POST /auth/refresh avec refresh cookie
|
||||||
|
- Résultat : nouveau access token, refresh token tourné
|
||||||
|
- Cas limites :
|
||||||
|
- Refresh expiré → 401
|
||||||
|
- Refresh révoqué (post-logout) → 401
|
||||||
|
- Double utilisation du même refresh → 401 + révoquer TOUTES les sessions (detection replay)
|
||||||
|
|
||||||
|
### AUTH-004 — 2FA TOTP
|
||||||
|
**P1 | integ**
|
||||||
|
- Étapes :
|
||||||
|
1. POST /auth/2fa/setup → QR code
|
||||||
|
2. POST /auth/2fa/verify { code } → activation
|
||||||
|
3. Logout + login → reçoit { requires_2fa: true }
|
||||||
|
4. POST /auth/login/2fa { temp_token, code }
|
||||||
|
- Résultat : login complet
|
||||||
|
- Cas limites :
|
||||||
|
- Code TOTP incorrect → 401
|
||||||
|
- Code TOTP expiré (> 30s window) → 401
|
||||||
|
- Backup code utilisé → OK, code invalidé
|
||||||
|
- Tous backup codes utilisés → message "configure un nouveau 2FA"
|
||||||
|
|
||||||
|
### AUTH-005 — OAuth Discord
|
||||||
|
**P1 | e2e**
|
||||||
|
- Étapes :
|
||||||
|
1. GET /auth/oauth/discord → redirect Discord
|
||||||
|
2. User autorise → callback avec code
|
||||||
|
3. Backend échange code → crée/lie le compte
|
||||||
|
- Résultat : JWT retourné, compte actif
|
||||||
|
- Cas limites :
|
||||||
|
- State mismatch → 400
|
||||||
|
- Discord down → erreur propre "service temporairement indisponible"
|
||||||
|
- Email Discord déjà lié à un compte local → propose de lier
|
||||||
|
|
||||||
|
### AUTH-006 — Rate limiting auth
|
||||||
|
**P0 | integ**
|
||||||
|
- Étapes :
|
||||||
|
1. Envoyer 6 POST /auth/login (mauvais password)
|
||||||
|
- Résultat : 429 au 6e avec Retry-After header
|
||||||
|
- Vérifier : IP différente ne bloque pas
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Module 2 — Tracks (morceaux)
|
||||||
|
|
||||||
|
### TRACK-001 — Upload + processing
|
||||||
|
**P0 | integ**
|
||||||
|
- Étapes :
|
||||||
|
1. POST /tracks (metadata)
|
||||||
|
2. PUT upload URL (binaire WAV)
|
||||||
|
3. POST /tracks/:id/publish
|
||||||
|
4. Attendre event "transcoding.completed"
|
||||||
|
5. GET /tracks/:id
|
||||||
|
- Résultat : track publié, HLS manifest disponible, waveform générée
|
||||||
|
- Cas limites :
|
||||||
|
- Fichier > 500 MB → 413
|
||||||
|
- Format non supporté (.exe, .pdf) → 415
|
||||||
|
- ClamAV détecte virus → status "removed" + notif admin
|
||||||
|
- Upload interrompu → status "draft" conservé, reprise possible
|
||||||
|
|
||||||
|
### TRACK-002 — Lecture streaming
|
||||||
|
**P0 | e2e**
|
||||||
|
- Étapes :
|
||||||
|
1. GET /tracks/:id → HLS manifest URL
|
||||||
|
2. Charger dans player HLS.js
|
||||||
|
3. Vérifier lecture audio
|
||||||
|
- Résultat : audio jouable, adaptatif (qualité s'adapte au réseau)
|
||||||
|
- Cas limites :
|
||||||
|
- Track privé sans auth → 401
|
||||||
|
- Track supprimé → 404
|
||||||
|
- Connexion lente → fallback bitrate bas
|
||||||
|
|
||||||
|
### TRACK-003 — Permissions
|
||||||
|
**P1 | integ**
|
||||||
|
- Vérifier :
|
||||||
|
- User A ne peut pas DELETE /tracks/:id de user B → 403
|
||||||
|
- User A ne peut pas PUT /tracks/:id de user B → 403
|
||||||
|
- Track privé de user A non visible par user B → 404
|
||||||
|
- Track avec lien secret accessible avec le bon token
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Module 3 — Samples & Presets
|
||||||
|
|
||||||
|
### SAMPLE-001 — Upload pack complet
|
||||||
|
**P0 | integ**
|
||||||
|
- Même flow que TRACK-001 mais avec .zip
|
||||||
|
- Vérifications supplémentaires :
|
||||||
|
- Extraction liste fichiers post-upload
|
||||||
|
- Preview MP3 généré automatiquement
|
||||||
|
- Tags indexés pour recherche
|
||||||
|
|
||||||
|
### SAMPLE-002 — Téléchargement
|
||||||
|
**P1 | integ**
|
||||||
|
- Étapes :
|
||||||
|
1. GET /samples/packs/:id/download
|
||||||
|
2. Vérifier URL signée MinIO
|
||||||
|
3. Vérifier incrément downloads_count
|
||||||
|
- Cas limites :
|
||||||
|
- Pack supprimé → 404
|
||||||
|
- Rate limit (50 downloads/h) → 429
|
||||||
|
|
||||||
|
### SAMPLE-003 — Remix (arbre)
|
||||||
|
**P1 | integ**
|
||||||
|
- Étapes :
|
||||||
|
1. Créer pack parent
|
||||||
|
2. POST /samples/packs/:id/remix (nouveau pack)
|
||||||
|
3. GET /samples/packs/:parent_id/remixes
|
||||||
|
- Résultat : arbre parent → enfant visible
|
||||||
|
- Cas limites :
|
||||||
|
- Parent avec remix_allowed=false → 403
|
||||||
|
- Licence incompatible → erreur
|
||||||
|
|
||||||
|
### SAMPLE-004 — Recherche et filtres
|
||||||
|
**P1 | integ**
|
||||||
|
- Tester chaque combinaison de filtres :
|
||||||
|
- type + genre + bpm_min/max + key + tags + licence
|
||||||
|
- sort=recent|popular|downloads
|
||||||
|
- Pagination (page + limit)
|
||||||
|
- Résultat : résultats cohérents, pas de crash
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Module 4 — Troc
|
||||||
|
|
||||||
|
### TROC-001 — Flow complet création → closing
|
||||||
|
**P0 | e2e**
|
||||||
|
- Étapes :
|
||||||
|
1. User A : POST /trades/listings (créer annonce)
|
||||||
|
2. User B : POST /trades/listings/:id/interest
|
||||||
|
3. Vérifier : DM créé entre A et B
|
||||||
|
4. User A : POST /trades/listings/:id/conclude { concluded_with: B }
|
||||||
|
5. User B : POST /trades/listings/:id/recognition { badges: ['reliable'] }
|
||||||
|
- Résultat : annonce "conclue", badges sur profil B
|
||||||
|
- Cas limites :
|
||||||
|
- Auto-intérêt (creator == interested) → 403
|
||||||
|
- Conclude avec user non-intéressé → 400
|
||||||
|
- Double reconnaissance → 409
|
||||||
|
|
||||||
|
### TROC-002 — Détection anti-argent
|
||||||
|
**P1 | unit**
|
||||||
|
- POST /trades/listings avec "je cherche 100€" → 400
|
||||||
|
- POST avec "échange contre euros" → 400
|
||||||
|
- POST avec "je propose un mix" → OK
|
||||||
|
|
||||||
|
### TROC-003 — Limites
|
||||||
|
**P1 | integ**
|
||||||
|
- 6e annonce active → 400 "max 5 annonces actives"
|
||||||
|
- 3e annonce dans la journée → 400 "max 2/jour"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Module 5 — Shop
|
||||||
|
|
||||||
|
### SHOP-001 — Parcours achat complet
|
||||||
|
**P0 | e2e**
|
||||||
|
- Étapes :
|
||||||
|
1. GET /shop/products/talas-one → fiche produit
|
||||||
|
2. POST /shop/cart/items { variant_id, qty: 1 }
|
||||||
|
3. POST /shop/checkout/validate { addresses }
|
||||||
|
4. POST /shop/orders → commande créée
|
||||||
|
5. POST /payments/create → redirect Mollie
|
||||||
|
6. Webhook Mollie payment.paid
|
||||||
|
7. Vérifier : order status = "paid", email confirmé, facture générée
|
||||||
|
- Cas limites :
|
||||||
|
- Stock = 0 → erreur au checkout
|
||||||
|
- Réservation expirée (15 min) → stock libéré
|
||||||
|
- Webhook Mollie en double → idempotent (pas de double charge)
|
||||||
|
- Paiement échoué → order annulé, stock libéré
|
||||||
|
|
||||||
|
### SHOP-002 — Réservation stock concurrente
|
||||||
|
**P0 | integ**
|
||||||
|
- Étapes :
|
||||||
|
1. Stock = 1 unité
|
||||||
|
2. User A et user B tentent checkout simultanément
|
||||||
|
- Résultat : un seul réussit, l'autre reçoit "rupture de stock"
|
||||||
|
- Vérifier : pas de survente (stock négatif impossible)
|
||||||
|
|
||||||
|
### SHOP-003 — Calcul prix
|
||||||
|
**P0 | unit**
|
||||||
|
- Vérifier :
|
||||||
|
- Prix base + options = total correct
|
||||||
|
- TVA = 0% (franchise en base) avec mention légale
|
||||||
|
- Frais de port ajoutés au total
|
||||||
|
- Fees Mollie pas facturés au client (absorbés)
|
||||||
|
|
||||||
|
### SHOP-004 — Remboursement
|
||||||
|
**P1 | integ**
|
||||||
|
- Étapes :
|
||||||
|
1. Commande payée
|
||||||
|
2. Admin : POST /admin/payments/:id/refund
|
||||||
|
3. Webhook Mollie refund.paid
|
||||||
|
4. Vérifier : order status "refunded", facture d'avoir, stock ré-incrémenté
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Module 6 — Cloud Perso
|
||||||
|
|
||||||
|
### CLOUD-001 — CRUD fichiers
|
||||||
|
**P1 | integ**
|
||||||
|
- Upload, download, rename, delete, restore
|
||||||
|
- Vérifier quotas mis à jour après chaque action
|
||||||
|
|
||||||
|
### CLOUD-002 — Isolation
|
||||||
|
**P0 | integ**
|
||||||
|
- User A ne peut pas :
|
||||||
|
- Lister les fichiers de user B
|
||||||
|
- Télécharger un fichier de user B
|
||||||
|
- Supprimer un fichier de user B
|
||||||
|
- Même via manipulation d'URL / brute-force UUID
|
||||||
|
|
||||||
|
### CLOUD-003 — Partage
|
||||||
|
**P1 | integ**
|
||||||
|
- Créer lien partagé → accessible sans auth
|
||||||
|
- Lien avec password → exige le bon password
|
||||||
|
- Lien expiré → 410 Gone
|
||||||
|
- Max downloads atteint → 403
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Module 7 — Formation
|
||||||
|
|
||||||
|
### LEARN-001 — Inscription et progression
|
||||||
|
**P1 | integ**
|
||||||
|
- Enroll → start lesson → complete lesson → progress updated
|
||||||
|
- Vérifier progress_percent recalculé correctement
|
||||||
|
|
||||||
|
### LEARN-002 — Video streaming
|
||||||
|
**P1 | e2e**
|
||||||
|
- Leçon vidéo → HLS manifest → lecture dans player
|
||||||
|
- Position sauvegardée → reprise au bon endroit
|
||||||
|
|
||||||
|
### LEARN-003 — Permissions contenu
|
||||||
|
**P1 | integ**
|
||||||
|
- Leçon non-preview sans enrollment → 403
|
||||||
|
- Leçon preview → accessible sans enrollment
|
||||||
|
- Seul le content_creator peut modifier son cours
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Module 8 — Chat et notifications
|
||||||
|
|
||||||
|
### CHAT-001 — DM entre users
|
||||||
|
**P1 | integ**
|
||||||
|
- Créer conversation, envoyer message, recevoir (WebSocket)
|
||||||
|
|
||||||
|
### CHAT-002 — Groupes
|
||||||
|
**P1 | integ**
|
||||||
|
- Poster dans un groupe, voir les messages des autres
|
||||||
|
- Permissions : modérateur peut supprimer
|
||||||
|
|
||||||
|
### NOTIF-001 — Notifications
|
||||||
|
**P2 | integ**
|
||||||
|
- Vérifier que chaque action génère la bonne notif :
|
||||||
|
- Like sur track → notif au créateur
|
||||||
|
- Intérêt troc → notif à l'annonceur
|
||||||
|
- Commande payée → email client
|
||||||
|
- SAV message → notif user
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Module 9 — Performance
|
||||||
|
|
||||||
|
### PERF-001 — Temps de réponse API
|
||||||
|
**P1 | load test**
|
||||||
|
- GET /tracks (feed) : p95 < 200ms sous 100 req/s
|
||||||
|
- GET /tracks/:id : p95 < 100ms
|
||||||
|
- POST /auth/login : p95 < 500ms
|
||||||
|
|
||||||
|
### PERF-002 — Streaming concurrence
|
||||||
|
**P1 | load test**
|
||||||
|
- 100 connexions WebSocket simultanées → pas de drop
|
||||||
|
|
||||||
|
### PERF-003 — Upload concurrence
|
||||||
|
**P2 | load test**
|
||||||
|
- 20 uploads simultanés → pas de timeout, pas de corruption
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Outils de test
|
||||||
|
|
||||||
|
| Couche | Outil | Langage |
|
||||||
|
|--------|-------|---------|
|
||||||
|
| Unit backend | `go test` | Go |
|
||||||
|
| Unit Rust | `cargo test` | Rust |
|
||||||
|
| Unit frontend | Vitest | TypeScript |
|
||||||
|
| Integration API | `go test` + httptest | Go |
|
||||||
|
| E2E | Playwright | TypeScript |
|
||||||
|
| Load | k6 | JavaScript |
|
||||||
|
| Sécurité | OWASP ZAP, Nuclei | - |
|
||||||
|
| Visual | Storybook + Chromatic | TypeScript |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exécution en CI
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Chaque PR
|
||||||
|
- go test ./...
|
||||||
|
- cargo test
|
||||||
|
- npm run test
|
||||||
|
- govulncheck ./...
|
||||||
|
- cargo audit
|
||||||
|
- npm audit --audit-level=high
|
||||||
|
- gitleaks detect
|
||||||
|
|
||||||
|
# Nightly
|
||||||
|
- playwright test (e2e)
|
||||||
|
- k6 run perf-tests.js (load)
|
||||||
|
- trivy image scan
|
||||||
|
|
||||||
|
# Pre-release
|
||||||
|
- OWASP checklist manuelle
|
||||||
|
- Pentest ciblé si code critique modifié
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Voir aussi
|
||||||
|
|
||||||
|
- [[Tableaux_Validation/CHECKLIST_VALIDATION_V0]] — checklist pré-vente (86 items)
|
||||||
|
- [[Audit_Sécurité/PLAN_AUDIT_SECURITE]] — tests sécurité spécifiques
|
||||||
|
- [[Tests_Hardware/PROTOCOLES_TESTS_HARDWARE]] — tests matériel
|
||||||
|
- [[ARCHITECTURE_VEZA]] — composants à tester
|
||||||
|
- [[05_EXPERIENCE_UTILISATEUR/Flux_Utilisateurs/PARCOURS_UTILISATEURS_VEZA]] — flows à valider en e2e
|
||||||
BIN
11_RECHERCHE_&_LAB/mockup_jeu_ux/Godot_v4.3-stable_linux.x86_64
Executable file
383
11_RECHERCHE_&_LAB/mockup_jeu_ux/game.js
Normal file
|
|
@ -0,0 +1,383 @@
|
||||||
|
/**
|
||||||
|
* game.js
|
||||||
|
* Moteur 2D Top-Down V2 - Architecture Orientée Objet
|
||||||
|
* Tilemap, Caméra, Collisions & Interactions (Raycasting)
|
||||||
|
*/
|
||||||
|
|
||||||
|
// --- 1. Configuration Globale ---
|
||||||
|
const TILE_SIZE = 64;
|
||||||
|
const CANVAS_WIDTH = 800;
|
||||||
|
const CANVAS_HEIGHT = 600;
|
||||||
|
|
||||||
|
// --- 2. Gestion des Entrées (Input) ---
|
||||||
|
const keys = {
|
||||||
|
w: false, a: false, s: false, d: false,
|
||||||
|
ArrowUp: false, ArrowLeft: false, ArrowDown: false, ArrowRight: false
|
||||||
|
};
|
||||||
|
|
||||||
|
// Écouteurs globaux pour le clavier (ZQSD / WASD / Flèches)
|
||||||
|
window.addEventListener('keydown', (e) => {
|
||||||
|
if (keys.hasOwnProperty(e.key)) keys[e.key] = true;
|
||||||
|
if (e.code === 'KeyW' || e.code === 'KeyZ') keys.w = true; // Z pour AZERTY, W pour QWERTY
|
||||||
|
if (e.code === 'KeyA' || e.code === 'KeyQ') keys.a = true; // Q pour AZERTY, A pour QWERTY
|
||||||
|
if (e.code === 'KeyS') keys.s = true;
|
||||||
|
if (e.code === 'KeyD') keys.d = true;
|
||||||
|
});
|
||||||
|
|
||||||
|
window.addEventListener('keyup', (e) => {
|
||||||
|
if (keys.hasOwnProperty(e.key)) keys[e.key] = false;
|
||||||
|
if (e.code === 'KeyW' || e.code === 'KeyZ') keys.w = false;
|
||||||
|
if (e.code === 'KeyA' || e.code === 'KeyQ') keys.a = false;
|
||||||
|
if (e.code === 'KeyS') keys.s = false;
|
||||||
|
if (e.code === 'KeyD') keys.d = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
// --- 3. Classes de l'Architecture ---
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gère la position de la vue (Caméra) dans le monde
|
||||||
|
*/
|
||||||
|
class Camera {
|
||||||
|
constructor(width, height, mapWidth, mapHeight) {
|
||||||
|
this.x = 0;
|
||||||
|
this.y = 0;
|
||||||
|
this.width = width;
|
||||||
|
this.height = height;
|
||||||
|
this.mapWidth = mapWidth;
|
||||||
|
this.mapHeight = mapHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
update(target) {
|
||||||
|
// La caméra cible le centre de l'entité (le joueur)
|
||||||
|
this.x = target.x + target.width / 2 - this.width / 2;
|
||||||
|
this.y = target.y + target.height / 2 - this.height / 2;
|
||||||
|
|
||||||
|
// Culling de la caméra : on l'empêche de sortir des limites de la Tilemap
|
||||||
|
this.x = Math.max(0, Math.min(this.x, this.mapWidth - this.width));
|
||||||
|
this.y = Math.max(0, Math.min(this.y, this.mapHeight - this.height));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convertit des coordonnées écran (clic souris) en coordonnées monde absolues
|
||||||
|
screenToWorld(screenX, screenY) {
|
||||||
|
return {
|
||||||
|
x: screenX + this.x,
|
||||||
|
y: screenY + this.y
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gère la carte, le tableau 2D (grille) et le rendu des tuiles
|
||||||
|
*/
|
||||||
|
class TileMap {
|
||||||
|
constructor() {
|
||||||
|
this.tileSize = TILE_SIZE;
|
||||||
|
// Création d'une carte de 1600x1216 pixels (25x19 tuiles)
|
||||||
|
this.cols = 25;
|
||||||
|
this.rows = 19;
|
||||||
|
this.width = this.cols * this.tileSize;
|
||||||
|
this.height = this.rows * this.tileSize;
|
||||||
|
|
||||||
|
this.data = this.generateMap();
|
||||||
|
|
||||||
|
// Palette de couleurs pour la V2 (en attendant les sprites)
|
||||||
|
this.colors = {
|
||||||
|
0: '#6ab04c', // Herbe (Vert clair)
|
||||||
|
1: '#eb4d4b', // Chemin de terre (Marron/Rouge)
|
||||||
|
2: '#535c68' // Mur / Obstacle (Gris)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
generateMap() {
|
||||||
|
const map = [];
|
||||||
|
for (let y = 0; y < this.rows; y++) {
|
||||||
|
const row = [];
|
||||||
|
for (let x = 0; x < this.cols; x++) {
|
||||||
|
// Créer des murs sur toutes les bordures extérieures
|
||||||
|
if (x === 0 || x === this.cols - 1 || y === 0 || y === this.rows - 1) {
|
||||||
|
row.push(2);
|
||||||
|
} else {
|
||||||
|
// Remplissage aléatoire simple du centre
|
||||||
|
const rand = Math.random();
|
||||||
|
if (rand < 0.15) row.push(2); // 15% de murs/obstacles
|
||||||
|
else if (rand < 0.35) row.push(1); // 20% de chemins
|
||||||
|
else row.push(0); // 65% d'herbe
|
||||||
|
}
|
||||||
|
}
|
||||||
|
map.push(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
// S'assurer de libérer une "clairière" au centre pour que le joueur y apparaisse sans être bloqué
|
||||||
|
const midY = Math.floor(this.rows / 2);
|
||||||
|
const midX = Math.floor(this.cols / 2);
|
||||||
|
for(let dy = -2; dy <= 2; dy++) {
|
||||||
|
for(let dx = -2; dx <= 2; dx++) {
|
||||||
|
map[midY + dy][midX + dx] = 0; // Herbe au centre
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Rend uniquement les tuiles visibles par la caméra (Optimisation: Culling)
|
||||||
|
draw(ctx, camera) {
|
||||||
|
const startCol = Math.floor(camera.x / this.tileSize);
|
||||||
|
const endCol = startCol + (camera.width / this.tileSize) + 1;
|
||||||
|
const startRow = Math.floor(camera.y / this.tileSize);
|
||||||
|
const endRow = startRow + (camera.height / this.tileSize) + 1;
|
||||||
|
|
||||||
|
for (let y = startRow; y < endRow; y++) {
|
||||||
|
for (let x = startCol; x < endCol; x++) {
|
||||||
|
// Vérifier si la tuile existe bien dans le tableau pour éviter les erreurs
|
||||||
|
if (y >= 0 && y < this.rows && x >= 0 && x < this.cols) {
|
||||||
|
const tileType = this.data[y][x];
|
||||||
|
ctx.fillStyle = this.colors[tileType];
|
||||||
|
|
||||||
|
// Calcul de la position de dessin en soustrayant la position de la caméra
|
||||||
|
const drawX = Math.round(x * this.tileSize - camera.x);
|
||||||
|
const drawY = Math.round(y * this.tileSize - camera.y);
|
||||||
|
|
||||||
|
ctx.fillRect(drawX, drawY, this.tileSize, this.tileSize);
|
||||||
|
|
||||||
|
// Ligne optionnelle pour afficher la grille
|
||||||
|
ctx.strokeStyle = 'rgba(0,0,0,0.05)';
|
||||||
|
ctx.strokeRect(drawX, drawY, this.tileSize, this.tileSize);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Indique si une position X,Y spécifique du monde est solide (infranchissable)
|
||||||
|
isSolid(x, y) {
|
||||||
|
const col = Math.floor(x / this.tileSize);
|
||||||
|
const row = Math.floor(y / this.tileSize);
|
||||||
|
|
||||||
|
// Sortir de la map compte comme un mur
|
||||||
|
if (col < 0 || col >= this.cols || row < 0 || row >= this.rows) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// La tuile n°2 est notre identifiant pour "Mur"
|
||||||
|
return this.data[row][col] === 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* L'avatar contrôlé par l'utilisateur
|
||||||
|
*/
|
||||||
|
class Player {
|
||||||
|
constructor(x, y) {
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
this.width = 32; // Plus petit que la tuile (64)
|
||||||
|
this.height = 32;
|
||||||
|
this.color = '#f9ca24'; // Jaune vif
|
||||||
|
this.speed = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
update(map) {
|
||||||
|
let dx = 0;
|
||||||
|
let dy = 0;
|
||||||
|
|
||||||
|
// Déterminer le vecteur de direction désiré
|
||||||
|
if (keys.w || keys.ArrowUp) dy -= this.speed;
|
||||||
|
if (keys.s || keys.ArrowDown) dy += this.speed;
|
||||||
|
if (keys.a || keys.ArrowLeft) dx -= this.speed;
|
||||||
|
if (keys.d || keys.ArrowRight) dx += this.speed;
|
||||||
|
|
||||||
|
// Normalisation de la vitesse en diagonale
|
||||||
|
if (dx !== 0 && dy !== 0) {
|
||||||
|
const length = Math.sqrt(dx * dx + dy * dy);
|
||||||
|
dx = (dx / length) * this.speed;
|
||||||
|
dy = (dy / length) * this.speed;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Système de Collision séparé par axe (AABB)
|
||||||
|
// Axe X
|
||||||
|
if (dx !== 0) {
|
||||||
|
const newX = this.x + dx;
|
||||||
|
if (!this.checkCollision(newX, this.y, map)) {
|
||||||
|
this.x = newX;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Axe Y
|
||||||
|
if (dy !== 0) {
|
||||||
|
const newY = this.y + dy;
|
||||||
|
if (!this.checkCollision(this.x, newY, map)) {
|
||||||
|
this.y = newY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Vérifie si la boîte de collision (Bounding Box) aux futures coordonnées heurte un mur
|
||||||
|
checkCollision(newX, newY, map) {
|
||||||
|
const left = newX;
|
||||||
|
const right = newX + this.width - 1; // -1 pour ne pas compter le pixel adjacent en collision
|
||||||
|
const top = newY;
|
||||||
|
const bottom = newY + this.height - 1;
|
||||||
|
|
||||||
|
// Si n'importe lequel des 4 coins touche un mur, il y a collision
|
||||||
|
return map.isSolid(left, top) ||
|
||||||
|
map.isSolid(right, top) ||
|
||||||
|
map.isSolid(left, bottom) ||
|
||||||
|
map.isSolid(right, bottom);
|
||||||
|
}
|
||||||
|
|
||||||
|
draw(ctx, camera) {
|
||||||
|
ctx.fillStyle = this.color;
|
||||||
|
// La position dessinée dépend de l'offset de la caméra
|
||||||
|
const drawX = Math.round(this.x - camera.x);
|
||||||
|
const drawY = Math.round(this.y - camera.y);
|
||||||
|
ctx.fillRect(drawX, drawY, this.width, this.height);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Entité interactive cliquable sur la carte
|
||||||
|
*/
|
||||||
|
class PointOfInterest {
|
||||||
|
constructor(x, y, radius = 24) {
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
this.radius = radius;
|
||||||
|
this.color = '#0984e3'; // Bleu
|
||||||
|
}
|
||||||
|
|
||||||
|
draw(ctx, camera) {
|
||||||
|
const drawX = Math.round(this.x - camera.x);
|
||||||
|
const drawY = Math.round(this.y - camera.y);
|
||||||
|
|
||||||
|
ctx.beginPath();
|
||||||
|
ctx.arc(drawX, drawY, this.radius, 0, Math.PI * 2);
|
||||||
|
ctx.fillStyle = this.color;
|
||||||
|
ctx.fill();
|
||||||
|
|
||||||
|
ctx.strokeStyle = '#74b9ff';
|
||||||
|
ctx.lineWidth = 4;
|
||||||
|
ctx.stroke();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Vérifie si un point absolu du monde (px, py) intersecte le cercle (Raycasting basique)
|
||||||
|
contains(px, py) {
|
||||||
|
const dx = this.x - px;
|
||||||
|
const dy = this.y - py;
|
||||||
|
const distance = Math.sqrt(dx * dx + dy * dy);
|
||||||
|
return distance <= this.radius;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Classe Chef d'Orchestre du jeu
|
||||||
|
*/
|
||||||
|
class Game {
|
||||||
|
constructor() {
|
||||||
|
this.canvas = document.getElementById('gameCanvas');
|
||||||
|
this.ctx = this.canvas.getContext('2d');
|
||||||
|
|
||||||
|
this.map = new TileMap();
|
||||||
|
|
||||||
|
// Apparition du joueur au centre du monde
|
||||||
|
const startX = (this.map.width / 2) - 16;
|
||||||
|
const startY = (this.map.height / 2) - 16;
|
||||||
|
this.player = new Player(startX, startY);
|
||||||
|
|
||||||
|
this.camera = new Camera(CANVAS_WIDTH, CANVAS_HEIGHT, this.map.width, this.map.height);
|
||||||
|
|
||||||
|
// Génération de quelques POIs autour du centre
|
||||||
|
this.pois = [
|
||||||
|
new PointOfInterest(startX + 200, startY + 50),
|
||||||
|
new PointOfInterest(startX - 250, startY + 150),
|
||||||
|
new PointOfInterest(startX + 60, startY - 200)
|
||||||
|
];
|
||||||
|
|
||||||
|
this.isPaused = false;
|
||||||
|
|
||||||
|
this.initUI();
|
||||||
|
this.initMouseInput();
|
||||||
|
|
||||||
|
// Lancer la boucle de jeu
|
||||||
|
requestAnimationFrame(() => this.loop());
|
||||||
|
}
|
||||||
|
|
||||||
|
initUI() {
|
||||||
|
this.modal = document.getElementById('ui-modal');
|
||||||
|
const closeBtn = document.getElementById('close-modal-btn');
|
||||||
|
|
||||||
|
// Fermer la modale
|
||||||
|
closeBtn.addEventListener('click', () => {
|
||||||
|
this.modal.classList.add('hidden');
|
||||||
|
this.isPaused = false; // Relancer les updates du jeu
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
initMouseInput() {
|
||||||
|
this.canvas.addEventListener('mousedown', (e) => {
|
||||||
|
if (this.isPaused) return;
|
||||||
|
|
||||||
|
// 1. Obtenir les coordonnées locales du clic sur le canvas
|
||||||
|
const rect = this.canvas.getBoundingClientRect();
|
||||||
|
// Facteur de mise à l'échelle si le canvas est redimensionné en CSS
|
||||||
|
const scaleX = this.canvas.width / rect.width;
|
||||||
|
const scaleY = this.canvas.height / rect.height;
|
||||||
|
|
||||||
|
const mouseX = (e.clientX - rect.left) * scaleX;
|
||||||
|
const mouseY = (e.clientY - rect.top) * scaleY;
|
||||||
|
|
||||||
|
// 2. Convertir les coordonnées écran en coordonnées monde
|
||||||
|
const worldPos = this.camera.screenToWorld(mouseX, mouseY);
|
||||||
|
|
||||||
|
// 3. Vérifier l'intersection avec tous les Points d'Intérêts
|
||||||
|
for (const poi of this.pois) {
|
||||||
|
if (poi.contains(worldPos.x, worldPos.y)) {
|
||||||
|
this.triggerEvent(poi);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
triggerEvent(poi) {
|
||||||
|
this.isPaused = true;
|
||||||
|
this.modal.classList.remove('hidden');
|
||||||
|
|
||||||
|
// Réinitialiser les touches pour empêcher le joueur de "glisser" à la fermeture
|
||||||
|
for (let key in keys) {
|
||||||
|
keys[key] = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
update() {
|
||||||
|
if (this.isPaused) return;
|
||||||
|
|
||||||
|
this.player.update(this.map);
|
||||||
|
this.camera.update(this.player);
|
||||||
|
}
|
||||||
|
|
||||||
|
draw() {
|
||||||
|
// Fond de sécurité
|
||||||
|
this.ctx.fillStyle = '#000';
|
||||||
|
this.ctx.fillRect(0, 0, this.canvas.width, this.canvas.height);
|
||||||
|
|
||||||
|
// 1. Dessiner la Tilemap
|
||||||
|
this.map.draw(this.ctx, this.camera);
|
||||||
|
|
||||||
|
// 2. Dessiner les objets interactifs
|
||||||
|
for (const poi of this.pois) {
|
||||||
|
poi.draw(this.ctx, this.camera);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. Dessiner le Joueur
|
||||||
|
this.player.draw(this.ctx, this.camera);
|
||||||
|
}
|
||||||
|
|
||||||
|
loop() {
|
||||||
|
this.update();
|
||||||
|
this.draw();
|
||||||
|
requestAnimationFrame(() => this.loop());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Démarrage ---
|
||||||
|
window.onload = () => {
|
||||||
|
new Game();
|
||||||
|
};
|
||||||
BIN
11_RECHERCHE_&_LAB/mockup_jeu_ux/godot_demos.zip
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
node_unfolds=[NodePath("."), PackedStringArray("Transform"), NodePath("Player"), PackedStringArray("Transform"), NodePath("Spawns/spawn_from_bleue"), PackedStringArray("Transform"), NodePath("PortalToBleue"), PackedStringArray("Transform"), NodePath("DocPoint"), PackedStringArray("Transform")]
|
||||||
|
resource_unfolds=[]
|
||||||
|
nodes_folded=[]
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
[docks]
|
||||||
|
|
||||||
|
dock_3_selected_tab_idx=0
|
||||||
|
dock_4_selected_tab_idx=0
|
||||||
|
dock_5_selected_tab_idx=0
|
||||||
|
dock_floating={}
|
||||||
|
dock_bottom=[]
|
||||||
|
dock_closed=[]
|
||||||
|
dock_split_2=0
|
||||||
|
dock_split_3=0
|
||||||
|
dock_hsplit_1=0
|
||||||
|
dock_hsplit_2=270
|
||||||
|
dock_hsplit_3=-270
|
||||||
|
dock_hsplit_4=0
|
||||||
|
dock_filesystem_h_split_offset=240
|
||||||
|
dock_filesystem_v_split_offset=0
|
||||||
|
dock_filesystem_display_mode=0
|
||||||
|
dock_filesystem_file_sort=0
|
||||||
|
dock_filesystem_file_list_display_mode=1
|
||||||
|
dock_filesystem_selected_paths=PackedStringArray("res://")
|
||||||
|
dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://")
|
||||||
|
dock_3="Scene,Import"
|
||||||
|
dock_4="FileSystem"
|
||||||
|
dock_5="Inspector,Node,History"
|
||||||
|
|
||||||
|
[EditorNode]
|
||||||
|
|
||||||
|
open_scenes=PackedStringArray("res://scenes/Map_Racine.tscn")
|
||||||
|
current_scene="res://scenes/Map_Racine.tscn"
|
||||||
|
center_split_offset=0
|
||||||
|
selected_default_debugger_tab_idx=0
|
||||||
|
selected_main_editor_idx=0
|
||||||
|
|
||||||
|
[ScriptEditor]
|
||||||
|
|
||||||
|
open_scripts=[]
|
||||||
|
selected_script=""
|
||||||
|
open_help=[]
|
||||||
|
script_split_offset=70
|
||||||
|
list_split_offset=0
|
||||||
|
zoom_factor=1.0
|
||||||
|
|
||||||
|
[ShaderEditor]
|
||||||
|
|
||||||
|
open_shaders=[]
|
||||||
|
split_offset=0
|
||||||
|
selected_shader=""
|
||||||
|
text_shader_zoom_factor=1.0
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
ea4bc82a6ad023ab7ee23ee620429895
|
||||||
|
::res://::1775411111
|
||||||
|
::res://assets/::1775411749
|
||||||
|
circle.svg::CompressedTexture2D::6191740675976978764::1775410748::1775411115::1::::<><>::
|
||||||
|
square.svg::CompressedTexture2D::2641187142350835140::1775410748::1775411115::1::::<><>::
|
||||||
|
tilemap_packed.png::CompressedTexture2D::8753092169432371097::1775411749::1775411847::1::::<><>::
|
||||||
|
::res://scenes/::1775410783
|
||||||
|
DocPoint.tscn::PackedScene::-1::1775411789::0::1::::<><>::res://scripts/DocPoint.gd<>res://assets/tilemap_packed.png
|
||||||
|
GlobalUI.tscn::PackedScene::-1::1775410748::0::1::::<><>::res://scripts/GlobalUI.gd
|
||||||
|
Map_Bleue.tscn::PackedScene::-1::1775411806::0::1::::<><>::res://scripts/MapGenerator.gd<>res://scenes/Player.tscn<>res://scenes/Portal.tscn<>res://scenes/DocPoint.tscn
|
||||||
|
Map_Racine.tscn::PackedScene::-1::1775411798::0::1::::<><>::res://scripts/MapGenerator.gd<>res://scenes/Player.tscn<>res://scenes/Portal.tscn<>res://scenes/DocPoint.tscn
|
||||||
|
Player.tscn::PackedScene::-1::1775411761::0::1::::<><>::res://scripts/Player.gd<>res://assets/tilemap_packed.png
|
||||||
|
Portal.tscn::PackedScene::-1::1775411784::0::1::::<><>::res://scripts/Portal.gd<>res://assets/tilemap_packed.png
|
||||||
|
::res://scripts/::1775410780
|
||||||
|
DocPoint.gd::GDScript::-1::1775410780::0::1::::DocPoint<>Area2D<>::
|
||||||
|
GameManager.gd::GDScript::-1::1775410748::0::1::::<>Node<>::
|
||||||
|
GlobalUI.gd::GDScript::-1::1775410748::0::1::::<>CanvasLayer<>::
|
||||||
|
MapGenerator.gd::GDScript::-1::1775411778::0::1::::GameMap<>Node2D<>::
|
||||||
|
Player.gd::GDScript::-1::1775411766::0::1::::Player<>CharacterBody2D<>::
|
||||||
|
Portal.gd::GDScript::-1::1775410749::0::1::::Portal<>Area2D<>::
|
||||||
|
::res://sounds/::1775410587
|
||||||
|
::res://ui/::1775410587
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
[editor_metadata]
|
||||||
|
|
||||||
|
executable_path="/home/senke/Documents/TG__Talas_Group/mockup_jeu_ux/Godot_v4.3-stable_linux.x86_64"
|
||||||
|
|
||||||
|
[recent_files]
|
||||||
|
|
||||||
|
scenes=["res://scenes/Map_Racine.tscn"]
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
list=Array[Dictionary]([{
|
||||||
|
"base": &"Area2D",
|
||||||
|
"class": &"DocPoint",
|
||||||
|
"icon": "",
|
||||||
|
"language": &"GDScript",
|
||||||
|
"path": "res://scripts/DocPoint.gd"
|
||||||
|
}, {
|
||||||
|
"base": &"Node2D",
|
||||||
|
"class": &"GameMap",
|
||||||
|
"icon": "",
|
||||||
|
"language": &"GDScript",
|
||||||
|
"path": "res://scripts/MapGenerator.gd"
|
||||||
|
}, {
|
||||||
|
"base": &"CharacterBody2D",
|
||||||
|
"class": &"Player",
|
||||||
|
"icon": "",
|
||||||
|
"language": &"GDScript",
|
||||||
|
"path": "res://scripts/Player.gd"
|
||||||
|
}, {
|
||||||
|
"base": &"Area2D",
|
||||||
|
"class": &"Portal",
|
||||||
|
"icon": "",
|
||||||
|
"language": &"GDScript",
|
||||||
|
"path": "res://scripts/Portal.gd"
|
||||||
|
}])
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="67f2d43016cb12358bd34c826d2b5f6a"
|
||||||
|
dest_md5="7d8c5d8aa0b5330fc3f22a1eacf24125"
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="1755ae822fd061382e9922b367ec3a1e"
|
||||||
|
dest_md5="75597f2e849f74b49e4e1af6ea09464c"
|
||||||
|
|
||||||