Compare commits
36 commits
main
...
layout_wor
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ede647d8a1 | ||
|
|
617b2f8dea | ||
|
|
0fb8105e8f | ||
|
|
18a4669905 | ||
|
|
c512de5327 | ||
|
|
f3bbd66b32 | ||
|
|
e5cc15379f | ||
|
|
3085ffed1b | ||
|
|
dbb4c2f84d | ||
|
|
d5c2138aa9 | ||
|
|
60a6897928 | ||
|
|
208d591c06 | ||
|
|
2748ca3e79 | ||
|
|
25fd1dbf6b | ||
|
|
2b92e0630f | ||
|
|
4486060207 | ||
|
|
1b4f01f643 | ||
|
|
01788e135a | ||
|
|
cde5906146 | ||
|
|
aaddc26a66 | ||
|
|
b5e0472232 | ||
|
|
9c84da9c5d | ||
|
|
60d3c486a2 | ||
|
|
2e4c51446d | ||
|
|
4f32e46534 | ||
|
|
263a8eb3ec | ||
|
|
0346643fbd | ||
|
|
acea0becbf | ||
|
|
27d041e961 | ||
|
|
2ca84fc714 | ||
|
|
4ee92867ba | ||
|
|
eee650e197 | ||
|
|
150fefc463 | ||
|
|
7c3232996a | ||
|
|
23500908d9 | ||
|
|
546f37411e |
49 changed files with 48733 additions and 165531 deletions
62
.github/workflows/main.yml
vendored
62
.github/workflows/main.yml
vendored
|
|
@ -1,62 +0,0 @@
|
|||
name: CI
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
jobs:
|
||||
build-web:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/slintak/kicad-builder:latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build Everything
|
||||
run: make
|
||||
|
||||
- name: Upload Fabrication Files
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: build-fabrication
|
||||
path: build/web/files/
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Upload Web Files
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: build-web
|
||||
path: build/web/
|
||||
if-no-files-found: error
|
||||
|
||||
# Deploy job
|
||||
deploy:
|
||||
# Add a dependency to the build job
|
||||
needs: [build-web]
|
||||
|
||||
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
|
||||
permissions:
|
||||
pages: write # to deploy to Pages
|
||||
id-token: write # to verify the deployment originates from an appropriate source
|
||||
|
||||
# Deploy to the github-pages environment
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
|
||||
# Specify runner + deployment step
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Get Web Files
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: build-web
|
||||
path: build/
|
||||
|
||||
- name: Upload Pages Artifact
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: build/
|
||||
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
65
.gitignore
vendored
65
.gitignore
vendored
|
|
@ -1,34 +1,31 @@
|
|||
# For PCBs designed using KiCad: http://www.kicad-pcb.org/
|
||||
# Format documentation: http://kicad-pcb.org/help/file-formats/
|
||||
|
||||
# Temporary files
|
||||
*.000
|
||||
*.bak
|
||||
*.bck
|
||||
*.kicad_pcb-bak
|
||||
*.kicad_sch-bak
|
||||
*-backups
|
||||
*.kicad_prl
|
||||
*.sch-bak
|
||||
*~
|
||||
_autosave-*
|
||||
*.tmp
|
||||
*-save.pro
|
||||
*-save.kicad_pcb
|
||||
*.lck
|
||||
fp-info-cache
|
||||
\#auto_saved_files\#
|
||||
|
||||
# Netlist files (exported from Eeschema)
|
||||
*.net
|
||||
|
||||
# Autorouter files (exported from Pcbnew)
|
||||
*.dsn
|
||||
*.ses
|
||||
|
||||
# Exported BOM files
|
||||
*.xml
|
||||
#*.csv
|
||||
|
||||
# Build directory
|
||||
build/
|
||||
# For PCBs designed using KiCad: http://www.kicad-pcb.org/
|
||||
# Format documentation: http://kicad-pcb.org/help/file-formats/
|
||||
|
||||
# Temporary files
|
||||
*.000
|
||||
*.bak
|
||||
*.bck
|
||||
*.kicad_pcb-bak
|
||||
*.kicad_sch-bak
|
||||
*-backups
|
||||
*.kicad_prl
|
||||
*.sch-bak
|
||||
*~
|
||||
_autosave-*
|
||||
*.tmp
|
||||
*-save.pro
|
||||
*-save.kicad_pcb
|
||||
*.lck
|
||||
fp-info-cache
|
||||
\#auto_saved_files\#
|
||||
|
||||
# Netlist files (exported from Eeschema)
|
||||
*.net
|
||||
|
||||
# Autorouter files (exported from Pcbnew)
|
||||
*.dsn
|
||||
*.ses
|
||||
|
||||
# Exported BOM files
|
||||
*.xml
|
||||
#*.csv
|
||||
|
|
|
|||
1
CNAME
1
CNAME
|
|
@ -1 +0,0 @@
|
|||
linht-radio.eu
|
||||
89
Makefile
89
Makefile
|
|
@ -1,89 +0,0 @@
|
|||
.PHONY: all clean
|
||||
|
||||
BOARD = linht-hw
|
||||
|
||||
FABHOUSES = jlcpcb pcbway
|
||||
|
||||
# Markdown processing
|
||||
MARKDOWN_SRC := $(wildcard *.md)
|
||||
MARKDOWN_HTML := $(patsubst %.md, build/%.html, $(MARKDOWN_SRC))
|
||||
MARKDOWN_EXT := tables fenced_code codehilite attr_list def_list admonition toc
|
||||
MARKDOWN_ARGS := $(foreach e,$(MARKDOWN_EXT),-x $(e))
|
||||
|
||||
# Copy templates
|
||||
TEMPLATE_SRC_DIR := present/template
|
||||
TEMPLATE_BUILD_DIR := build
|
||||
TEMPLATE_OUTPUT_DIR := build/web
|
||||
TEMPLATE_RENDER_DIR := $(TEMPLATE_OUTPUT_DIR)/imgs
|
||||
TEMPLATE_FAB_DIR := $(TEMPLATE_OUTPUT_DIR)/files
|
||||
|
||||
TEMPLATE_J2 := $(wildcard $(TEMPLATE_SRC_DIR)/*.html.j2)
|
||||
TEMPLATE_JSON := $(wildcard $(TEMPLATE_SRC_DIR)/*.json)
|
||||
COPIED_J2 := $(patsubst $(TEMPLATE_SRC_DIR)/%, $(TEMPLATE_BUILD_DIR)/%, $(TEMPLATE_J2))
|
||||
COPIED_JSON := $(patsubst $(TEMPLATE_SRC_DIR)/%, $(TEMPLATE_BUILD_DIR)/%, $(TEMPLATE_JSON))
|
||||
RENDERED_HTML := $(patsubst build/%.html.j2, build/web/%.html, $(COPIED_J2))
|
||||
|
||||
RENDER_ARGS := --preset follow_pcb_editor --background transparent --quality high -w 1440 -h 1080
|
||||
|
||||
STATIC_DIRS := $(shell find present/template -mindepth 1 -maxdepth 1 -type d)
|
||||
|
||||
GERBER_ZIPS = $(foreach fab,$(FABHOUSES),$(TEMPLATE_FAB_DIR)/gerbers_$(fab).zip)
|
||||
|
||||
all: render models fabrication web
|
||||
|
||||
web: $(MARKDOWN_HTML) $(COPIED_J2) $(COPIED_JSON) $(RENDERED_HTML)
|
||||
|
||||
fabrication: $(TEMPLATE_BUILD_DIR)/panel/$(BOARD)_panel.kicad_pcb $(BOARD).kicad_sch $(GERBER_ZIPS)
|
||||
@mkdir -p $(TEMPLATE_FAB_DIR)
|
||||
kicad-cli sch export pdf $(word 2,$^) -o $(TEMPLATE_FAB_DIR)/$(BOARD)_schematic.pdf
|
||||
kicad-cli sch export pdf -b -n -o $(TEMPLATE_FAB_DIR)/$(BOARD)_schematic_bw.pdf $(word 2,$^)
|
||||
kicad-cli sch export python-bom $(word 2,$^) -o $(TEMPLATE_FAB_DIR)/$(BOARD)_bom.xml
|
||||
xsltproc -o $(TEMPLATE_FAB_DIR)/$(BOARD)_bom.csv present/bom2grouped_csv_jlcpcb.xsl $(TEMPLATE_FAB_DIR)/$(BOARD)_bom.xml
|
||||
#
|
||||
kicad-cli pcb export pos $< --side both --format csv --units mm -o $(TEMPLATE_FAB_DIR)/$(BOARD)_pos.csv
|
||||
kicad-cli pcb export pos $< --side both --format ascii --units mm -o $(TEMPLATE_FAB_DIR)/$(BOARD)_pos.txt
|
||||
sed -e '1 s/Ref/Designator/' -e '1 s/PosX/Mid X/' -e '1 s/PosY/Mid Y/' -e '1 s/Rot/Rotation/' -e '1 s/Side/Layer/' $(TEMPLATE_FAB_DIR)/$(BOARD)_pos.csv > $(TEMPLATE_FAB_DIR)/$(BOARD)_pos_jlcpcb.csv
|
||||
|
||||
models: $(BOARD).kicad_pcb
|
||||
kicad-cli pcb export step --subst-models $< -o $(TEMPLATE_FAB_DIR)/$(BOARD)_model.step ; \
|
||||
rc=$$?; if [ $$rc -ne 0 ] && [ $$rc -ne 2 ]; then exit $$rc; fi
|
||||
kicad-cli pcb export vrml $< -o $(TEMPLATE_FAB_DIR)/$(BOARD)_model.vrml
|
||||
@gzip -c $(TEMPLATE_FAB_DIR)/$(BOARD)_model.vrml > $(TEMPLATE_FAB_DIR)/$(BOARD)_model.vrml.gz
|
||||
@xz -f $(TEMPLATE_FAB_DIR)/$(BOARD)_model.step
|
||||
@xz -f $(TEMPLATE_FAB_DIR)/$(BOARD)_model.vrml
|
||||
@touch $(TEMPLATE_FAB_DIR)
|
||||
|
||||
render: $(BOARD).kicad_pcb
|
||||
@mkdir -p $(TEMPLATE_RENDER_DIR)
|
||||
kicad-cli pcb render $(RENDER_ARGS) --side top -o $(TEMPLATE_RENDER_DIR)/$(BOARD)-front.png $^
|
||||
kicad-cli pcb render $(RENDER_ARGS) --side bottom -o $(TEMPLATE_RENDER_DIR)/$(BOARD)-back.png $^
|
||||
kicad-cli pcb render $(RENDER_ARGS) --side top --rotate "315,0,315" -o $(TEMPLATE_RENDER_DIR)/$(BOARD)-preview.png $^
|
||||
|
||||
$(TEMPLATE_FAB_DIR)/gerbers_%.zip: $(TEMPLATE_BUILD_DIR)/panel/$(BOARD)_panel.kicad_pcb
|
||||
@mkdir -p $(TEMPLATE_FAB_DIR)
|
||||
kikit fab $* --no-drc $< $(TEMPLATE_BUILD_DIR)/fab_$*
|
||||
@cp $(TEMPLATE_BUILD_DIR)/fab_$*/gerbers.zip $@
|
||||
|
||||
$(TEMPLATE_BUILD_DIR)/panel/$(BOARD)_panel.kicad_pcb: $(BOARD).kicad_pcb
|
||||
@mkdir -p $(TEMPLATE_BUILD_DIR)/panel
|
||||
kikit panelize -p ./panel.json $< $@
|
||||
|
||||
# Convert .md → build/.html using python-markdown
|
||||
build/%.html: %.md
|
||||
@mkdir -p build
|
||||
python3 -m markdown $(MARKDOWN_ARGS) $< > $@
|
||||
|
||||
build/%.html.j2: present/template/%.html.j2
|
||||
@mkdir -p build
|
||||
@cp $< $@
|
||||
|
||||
build/%.json: present/template/%.json
|
||||
@cp $< $@
|
||||
|
||||
build/web/%.html: build/%.html.j2 build/%.json build/README.html
|
||||
@mkdir -p build/web
|
||||
@rsync -a $(STATIC_DIRS) build/web/
|
||||
JINJA2_PATH=build jinja2 --format=json -D datetime="$$(date '+%Y-%m-%d %H:%M UTC')" $< build/$*.json -o $@
|
||||
|
||||
clean:
|
||||
rm -rf build
|
||||
340
README.md
340
README.md
|
|
@ -1,332 +1,42 @@
|
|||
# LinHT-hw
|
||||
|
||||
**Open-source, Linux-based, SDR handheld transceiver**
|
||||
|
||||
[![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]
|
||||

|
||||
[](https://m17-project.github.io/LinHT-hw/)
|
||||

|
||||
|
||||
## What is LinHT?
|
||||
# LinHT-hw
|
||||
Open-source hardware, Linux-based, SDR handheld transceiver. [OpenHT](https://github.com/M17-Project/OpenHT-hw) successor with greatly simplified hardware - no FPGAs involved.
|
||||
This project offers a replacement board for the Retevis C62 radio, greatly expanding its capabilities.
|
||||
|
||||
**LinHT** is an open-source handheld **software-defined radio (SDR) transceiver**
|
||||
built around a modern Linux System-on-Module and a true IQ RF front-end.
|
||||
## Hardware
|
||||
The device uses an [MCM-iMX93](https://www.compulab.com/products/computer-on-modules/mcm-imx93-nxp-i-mx-93-som-smd-system-on-module) System on Module (SoM) running Linux. The RF front-end is based on the [Semtech SX1255](https://www.semtech.com/products/wireless-rf/lora-core/sx1255). The chip is used as a complete IQ modulator/demodulator, allowing for true all-mode support.
|
||||
|
||||
It is the **successor of the OpenHT project**, with focus on:
|
||||
### Resources
|
||||
**CPU:**
|
||||
- Dual-core ARM Cortex-A55 @ 1.7GHz
|
||||
- ARM Cortex-M33 coprocessor @ 250MHz
|
||||
- Floating Point Unit
|
||||
- ARM Ethos U-65 microNPU (Neural Processing Unit with Tensor Flow Lite support)
|
||||
|
||||
* simpler and more maintainable hardware,
|
||||
* no FPGA in the signal path,
|
||||
* tight integration with Linux, GNU Radio, and modern SDR tooling,
|
||||
* long-term openness and hackability.
|
||||
**Memory:**
|
||||
- 2GB LPDDR4
|
||||
- 64GB eMMC
|
||||
|
||||
LinHT is developed by members of the [**M17 community**](https://m17project.org) and is intended primarily
|
||||
for **radio amateurs, SDR experimenters, and developers**.
|
||||
**RF:**
|
||||
- 500kHz bandwidth complete IQ transceiver
|
||||
|
||||
This repository contains the **hardware design files** for LinHT.
|
||||
## Software
|
||||
Developers can use C/C++/Python as well as (or in conjunction with) GNU Radio flowgraphs. Tools such as gcc are built-in. The Linux image will be published later.
|
||||
|
||||
> ⚠️ **Important**<br>
|
||||
> LinHT is **not a consumer product** yet.<br>
|
||||
> It is an experimental, community-driven open hardware project.
|
||||
### Supported modes (so far):
|
||||
* M17 - transmission and reception,
|
||||
* TETRA - reception only,
|
||||
* Demo 64QAM transmission at 2Mbps
|
||||
|
||||
## Key ideas behind LinHT
|
||||
|
||||
* **True SDR**: IQ baseband access, not FM-only
|
||||
* **Linux-first**: no microcontroller firmware lock-in
|
||||
* **No FPGA**: easier development, lower entry barrier
|
||||
* **Open everything**: hardware, software, toolchains
|
||||
* **Hackable handheld**: not just another black box walkie-talkie
|
||||
|
||||
## Hardware overview
|
||||
|
||||
LinHT is built around a Linux SoM and a wideband IQ transceiver.
|
||||
|
||||
* **System on Module:** [CompuLab MCM-iMX93](https://www.compulab.com/products/computer-on-modules/mcm-imx93-nxp-i-mx-93-som-smd-system-on-module)
|
||||
* **RF front-end:** [Semtech SX1255](https://www.semtech.com/products/wireless-rf/lora-core/sx1255)
|
||||
|
||||
**CPU**
|
||||
|
||||
* Dual-core ARM Cortex-A55 @ 1.7 GHz
|
||||
* ARM Cortex-M33 coprocessor @ 250 MHz
|
||||
* Floating-Point Unit
|
||||
* ARM Ethos-U65 microNPU (TensorFlow Lite support)
|
||||
|
||||
**Memory**
|
||||
|
||||
* 2 GB LPDDR4
|
||||
* 32 GB eMMC
|
||||
|
||||
### RF capabilities (revision B target)
|
||||
|
||||
| Parameter | Value |
|
||||
| --------------- | ------------------------------------------------------------- |
|
||||
| Frequency range | **UHF band** (exact limits depend on PA/filter configuration) |
|
||||
| Bandwidth | up to **500 kHz IQ** |
|
||||
| Architecture | Direct IQ (complex baseband) |
|
||||
| TX power | up to **~5 W** (revision B, internal PA) |
|
||||
| RX features | Programmable attenuation, gain control |
|
||||
| Modes | FM, SSB, M17, experimental digital modes |
|
||||
|
||||
> 📌 **UHF only!**<br>
|
||||
> VHF support is frequently requested, but **is not planned for revision B**.
|
||||
> The current priority is **stability, manufacturability, and software maturity**.
|
||||
|
||||
## Software overview
|
||||
|
||||
LinHT runs a **custom Yocto-based Linux distribution** designed for SDR and
|
||||
embedded radio use.
|
||||
|
||||
### Supported development models
|
||||
|
||||
* C / C++
|
||||
* Python
|
||||
* GNU Radio flowgraphs
|
||||
* SoapySDR
|
||||
* Custom DSP pipelines
|
||||
|
||||
Standard Linux tools (gcc, gdb, strace, etc.) are available directly on the device.
|
||||
|
||||
### Supported modes (current status)
|
||||
|
||||
* ✅ FM (TX/RX) with pre-/de-emphasis and CTCSS
|
||||
* ✅ SSB (TX/RX)
|
||||
* ✅ **M17** (TX/RX)
|
||||
* ✅ TETRA (RX only)
|
||||
* 🧪 Experimental 64-QAM @ 2 Mbps
|
||||
* ⏳ Planned / possible: FreeDV, APRS, packet radio, custom modulations
|
||||
|
||||
## Hardware revisions
|
||||
|
||||
LinHT is developed iteratively. Each revision serves a specific purpose.
|
||||
|
||||
| Revision | Status | Purpose |
|
||||
| ---------- | --------------------------------------------- | -------------------------------------------- |
|
||||
| **Rev. A** | <span style="color:green">Completed</span> | Early prototype, architecture validation |
|
||||
| **Rev. B** | <span style="color:orange">In progress</span> | Feature-complete, manufacturing-ready design |
|
||||
|
||||
### Revision A
|
||||
|
||||
* Manufactured earlier in 2025
|
||||
* **4 assembled prototype units**
|
||||
* Used to:
|
||||
* validate the Linux + SDR architecture,
|
||||
* bring up SX1255 under Linux,
|
||||
* start software and DSP development,
|
||||
* identify mechanical, RF, and power issues
|
||||
* Revision A was **never intended for production**.
|
||||
|
||||
### Revision B (current focus)
|
||||
|
||||
* Incorporates lessons learned from Rev. A
|
||||
* Major improvements:
|
||||
* redesigned power supply
|
||||
* internal PA (~5 W)
|
||||
* improved RF path and attenuation for RX
|
||||
* cleaner layout and grounding
|
||||
* **Not yet released for manufacturing**
|
||||
|
||||
> 📅 **February 2026 status**<br>
|
||||
> A test batch of Revision B PCBs is currently being assembled.<br>
|
||||
> Please check this page later for updates.
|
||||
|
||||
## Repository contents
|
||||
|
||||
This repository contains:
|
||||
|
||||
* KiCad 9.0 project files
|
||||
* Schematics
|
||||
* PCB layout
|
||||
* Manufacturing outputs (generated automatically)
|
||||
|
||||
Gerbers, BOM, pick-and-place files, and schematics are:
|
||||
|
||||
* generated automatically via **GitHub Actions**
|
||||
* published on [**GitHub Pages**](https://m17-project.github.io/LinHT-hw/)
|
||||
|
||||
## Required hardware (donor radio)
|
||||
|
||||
LinHT is designed as a **replacement mainboard** for the
|
||||
**Retevis C62 handheld radio**. You will need:
|
||||
|
||||
* a Retevis C62 (donor device)
|
||||
* its:
|
||||
* enclosure
|
||||
* display
|
||||
* keypad
|
||||
* battery
|
||||
* connectors
|
||||
|
||||
More details (Rev. A focused, older but useful): [LinHT Open SDR Handheld For Radio Amateurs](https://uart.cz/2811/linht-open-sdr-handheld-for-radio-amateurs/)
|
||||
|
||||
## Firmware images
|
||||
|
||||
Prebuilt Linux images for LinHT are available here:
|
||||
[https://m17project.org/linht/](https://m17project.org/linht/)
|
||||
|
||||
Documentation:
|
||||
|
||||
* [https://wiki.m17foundation.org/index.php?title=LinHT_Image_Build](https://wiki.m17foundation.org/index.php?title=LinHT_Image_Build)
|
||||
|
||||
Yocto layers:
|
||||
|
||||
* [meta-linht-hardware](https://github.com/M17-Project/meta-linht-hardware)
|
||||
* [meta-linht-software](https://github.com/M17-Project/meta-linht-software)
|
||||
* [meta-linht-sdr](https://github.com/M17-Project/meta-linht-sdr)
|
||||
|
||||
## Flashing the device
|
||||
|
||||
Flashing is done using **NXP Universal Update Utility (uuu)**.
|
||||
|
||||
1. Boot LinHT into flash mode
|
||||
(hold the secondary side button while powering on)
|
||||
2. Flash using:
|
||||
|
||||
```bash
|
||||
uuu -v -b emmc_all imx-boot-mcm-imx93-sd.bin-flash_singleboot linht-image-mcm-imx93.rootfs.wic.zst
|
||||
```
|
||||
|
||||
Tool download: [mfgtools](https://github.com/nxp-imx/mfgtools/releases)
|
||||
|
||||
To access LinHT’s USB network device on Windows, install the **RNDIS driver**: [microsoft.com USB RNDIS Gadget](https://www.catalog.update.microsoft.com/Search.aspx?q=USB%20RNDIS%20Gadget)
|
||||
|
||||
## Documentation & Wiki
|
||||
|
||||
Primary documentation lives on the **M17 Wiki**:
|
||||
|
||||
* [LinHT overview](https://wiki.m17foundation.org/index.php?title=LinHT)
|
||||
* [Image build instructions](https://wiki.m17foundation.org/index.php?title=LinHT_Image_Build)
|
||||
* [Image usage & manual](https://wiki.m17foundation.org/index.php?title=LinHT_Image_Manual)
|
||||
|
||||
## Contributing
|
||||
|
||||
LinHT is a **community project** and contributions are welcome. The best way to
|
||||
get involved is [**joining the M17 Discord**](https://discord.gg/4brEP8wwVp), look for channel: **#linht**.
|
||||
|
||||
This is the preferred place to:
|
||||
|
||||
* discuss ideas,
|
||||
* coordinate work,
|
||||
* ask questions,
|
||||
* avoid duplicated effort.
|
||||
|
||||
Other ways to contribute:
|
||||
|
||||
* Open issues in this repository (design notes, questions, suggestions)
|
||||
* Help on the **software side** (especially welcome):
|
||||
* Yocto recipes
|
||||
* device tree improvements
|
||||
* CI / GitHub Actions
|
||||
* build automation
|
||||
* Explore and extend [LinHT-utils](https://github.com/M17-Project/LinHT-utils)
|
||||
|
||||
If you’re an experienced **embedded Linux or SDR developer**, we would love
|
||||
your help.
|
||||
|
||||
## FAQ – Frequently Asked Questions
|
||||
|
||||
### ❓ Where can I buy LinHT hardware?
|
||||
|
||||
You currently **cannot buy LinHT as a product**. To build LinHT, you need to:
|
||||
|
||||
* manufacture the PCB yourself (using provided Gerbers),
|
||||
* source components,
|
||||
* assemble the board,
|
||||
* use a **Retevis C62** handheld radio as a donor for:
|
||||
* enclosure,
|
||||
* display,
|
||||
* keypad,
|
||||
* battery,
|
||||
* connectors.
|
||||
|
||||
This may change in the future.
|
||||
|
||||
### ❓ Is LinHT suitable for everyday radio use?
|
||||
|
||||
Not yet. And maybe never in the "consumer radio" sense. LinHT is currently best
|
||||
suited for:
|
||||
|
||||
* developers,
|
||||
* radio amateurs comfortable with Linux,
|
||||
* SDR experimenters,
|
||||
* people who enjoy building and debugging hardware.
|
||||
|
||||
You should **not** expect:
|
||||
|
||||
* plug-and-play user experience,
|
||||
* polished UI,
|
||||
* certification,
|
||||
* warranty,
|
||||
* commercial-grade RF compliance.
|
||||
|
||||
### ❓ Does LinHT support VHF?
|
||||
|
||||
**No, not in revision B.**
|
||||
|
||||
VHF support is a **frequently requested feature**, but it is
|
||||
**not planned for revision B**, adding another band significantly increases:
|
||||
|
||||
* RF complexity,
|
||||
* filtering requirements,
|
||||
* PCB area,
|
||||
* development time.
|
||||
|
||||
Right now, the project is focused on:
|
||||
|
||||
* stabilizing the hardware,
|
||||
* finishing revision B,
|
||||
* improving software and DSP,
|
||||
* validating the new power amplifier and RF chain.
|
||||
|
||||
VHF is **not ruled out** for future revisions, but it is
|
||||
**not a current priority**.
|
||||
|
||||
### ❓ Is LinHT certified / legal to transmit with?
|
||||
|
||||
LinHT itself is **not certified**. Responsibility lies with the builder and
|
||||
the operator. LinHT is intended primarily for:
|
||||
|
||||
* amateur radio use,
|
||||
* experimental licenses,
|
||||
* lab and research environments.
|
||||
|
||||
Always follow your local radio regulations.
|
||||
|
||||
### ❓ I want to help. Where do I start?
|
||||
|
||||
The best starting point is **discussion**. Join the M17 Discord, channel: **#linht**.
|
||||
|
||||
Good ways to contribute:
|
||||
|
||||
* software development (Yocto, drivers, tooling),
|
||||
* testing and feedback,
|
||||
* documentation,
|
||||
* RF/DSP experiments,
|
||||
* CI and automation improvements.
|
||||
|
||||
If you’re unsure where to help - just ask.
|
||||
Other modes can be added later (analog FM/AM/SSB, FreeDV, APRS, etc.).
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under: **Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International**
|
||||
|
||||
You are free to:
|
||||
|
||||
* share
|
||||
* adapt
|
||||
|
||||
Under the conditions:
|
||||
|
||||
* attribution
|
||||
* non-commercial use
|
||||
* share alike
|
||||
This work is licensed under a
|
||||
[Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License][cc-by-nc-sa].
|
||||
|
||||
[![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa]
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
LinHT is developed by the **M17 community**, with contributions from many individuals.
|
||||
Thanks to everyone testing prototypes, reviewing schematics, writing software, and sharing ideas.
|
||||
|
||||
[cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
[cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png
|
||||
[cc-by-nc-sa-shield]: https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg
|
||||
|
||||
|
|
|
|||
10087
audio.kicad_sch
10087
audio.kicad_sch
File diff suppressed because it is too large
Load diff
2519
connectors.kicad_sch
2519
connectors.kicad_sch
File diff suppressed because it is too large
Load diff
|
|
@ -6,8 +6,8 @@
|
|||
(paper "A4")
|
||||
(title_block
|
||||
(title "LinHT - Linux-based SDR handheld transceiver")
|
||||
(date "2025-12-03")
|
||||
(rev "B")
|
||||
(date "28 July 2025")
|
||||
(rev "A")
|
||||
(company "M17 Foundation")
|
||||
(comment 1 "Author: Wojciech SP5WWP, Andy OE3ANC, Vlastimil OK5VAS")
|
||||
)
|
||||
|
|
@ -2647,6 +2647,74 @@
|
|||
)
|
||||
(uuid "fa833251-a7e9-4893-a194-b2100761c6ff")
|
||||
)
|
||||
(symbol
|
||||
(lib_id "Device:R")
|
||||
(at 219.71 68.58 90)
|
||||
(mirror x)
|
||||
(unit 1)
|
||||
(exclude_from_sim no)
|
||||
(in_bom yes)
|
||||
(on_board yes)
|
||||
(dnp no)
|
||||
(uuid "0d386b5e-d94c-4449-83ef-e4e91b1c4869")
|
||||
(property "Reference" "R40"
|
||||
(at 219.71 66.04 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "220R"
|
||||
(at 219.71 71.3162 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" "Resistor_SMD:R_0402_1005Metric"
|
||||
(at 219.71 66.802 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" "~"
|
||||
(at 219.71 68.58 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Description" "Resistor"
|
||||
(at 219.71 68.58 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "2"
|
||||
(uuid "3bbb4d23-f1fc-4866-a9b1-143e90b71d22")
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "7537af09-0138-4ba3-8355-9904a02d4440")
|
||||
)
|
||||
(instances
|
||||
(project ""
|
||||
(path "/73efc1fc-21f6-4aef-9f73-508fe18fa32e/42192b89-bd04-4531-bec0-520394b48a86"
|
||||
(reference "R40")
|
||||
(unit 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol
|
||||
(lib_id "power:GND")
|
||||
(at 201.93 106.68 0)
|
||||
|
|
@ -2834,42 +2902,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C25744"
|
||||
(at 101.6 82.55 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" ""
|
||||
(at 101.6 82.55 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 101.6 82.55 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "0402WGF1002TCE"
|
||||
(at 101.6 82.55 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "2"
|
||||
(uuid "e8b8c3c6-e522-4a52-9658-909d72e4cba3")
|
||||
)
|
||||
|
|
@ -3075,42 +3107,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C40912"
|
||||
(at 109.22 128.27 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "BSS138-7-F"
|
||||
(at 109.22 128.27 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" "621-BSS138-7-F"
|
||||
(at 109.22 128.27 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 109.22 128.27 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "3"
|
||||
(uuid "0a917df0-9299-45f7-ae9e-f72ca7d9c80f")
|
||||
)
|
||||
|
|
@ -3134,7 +3130,7 @@
|
|||
(at 209.55 90.17 0)
|
||||
(unit 1)
|
||||
(exclude_from_sim no)
|
||||
(in_bom no)
|
||||
(in_bom yes)
|
||||
(on_board yes)
|
||||
(dnp no)
|
||||
(fields_autoplaced yes)
|
||||
|
|
@ -3191,15 +3187,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 209.55 90.17 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "26f6cc8c-9741-4094-84b5-991ccf6febd2")
|
||||
)
|
||||
|
|
@ -3220,7 +3207,7 @@
|
|||
(at 119.38 85.09 0)
|
||||
(unit 1)
|
||||
(exclude_from_sim no)
|
||||
(in_bom no)
|
||||
(in_bom yes)
|
||||
(on_board yes)
|
||||
(dnp no)
|
||||
(fields_autoplaced yes)
|
||||
|
|
@ -3270,15 +3257,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 119.38 85.09 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "7"
|
||||
(uuid "ff102b72-fdaa-4283-90e7-5c3b707a1af4")
|
||||
)
|
||||
|
|
@ -3403,42 +3381,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C25792"
|
||||
(at 101.6 134.62 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" ""
|
||||
(at 101.6 134.62 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 101.6 134.62 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "0402WGF4702TCE"
|
||||
(at 101.6 134.62 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "2"
|
||||
(uuid "f483c974-11a2-47b6-a4cc-9dd3a076901e")
|
||||
)
|
||||
|
|
@ -3509,42 +3451,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C1525"
|
||||
(at 101.6 111.76 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "CL05B104KO5NNNC"
|
||||
(at 101.6 111.76 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" "187-CL05B104KO5NNNC"
|
||||
(at 101.6 111.76 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 101.6 111.76 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "c13552a1-1d91-4951-8bc7-e86be7f274b0")
|
||||
)
|
||||
|
|
@ -3626,110 +3532,6 @@
|
|||
)
|
||||
)
|
||||
)
|
||||
(symbol
|
||||
(lib_id "Device:R")
|
||||
(at 219.71 68.58 90)
|
||||
(unit 1)
|
||||
(exclude_from_sim no)
|
||||
(in_bom yes)
|
||||
(on_board yes)
|
||||
(dnp no)
|
||||
(fields_autoplaced yes)
|
||||
(uuid "88ab9ffc-03c0-449f-8a59-8ae0ec3541c7")
|
||||
(property "Reference" "R16"
|
||||
(at 219.71 63.4195 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "100R"
|
||||
(at 219.71 65.8438 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" "Resistor_SMD:R_0402_1005Metric"
|
||||
(at 219.71 70.358 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" "~"
|
||||
(at 219.71 68.58 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Description" "Resistor"
|
||||
(at 219.71 68.58 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C25076"
|
||||
(at 219.71 68.58 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" ""
|
||||
(at 219.71 68.58 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 219.71 68.58 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "0402WGF1000TCE"
|
||||
(at 219.71 68.58 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "a56e0848-1776-441e-a4e1-764458c5dbec")
|
||||
)
|
||||
(pin "2"
|
||||
(uuid "4686f9fe-5b2f-4f5c-bbe5-4540319d0b34")
|
||||
)
|
||||
(instances
|
||||
(project "linht-hw"
|
||||
(path "/73efc1fc-21f6-4aef-9f73-508fe18fa32e/42192b89-bd04-4531-bec0-520394b48a86"
|
||||
(reference "R16")
|
||||
(unit 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol
|
||||
(lib_id "Device:R")
|
||||
(at 185.42 99.06 90)
|
||||
|
|
@ -3783,42 +3585,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C25076"
|
||||
(at 185.42 99.06 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" ""
|
||||
(at 185.42 99.06 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 185.42 99.06 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "0402WGF1000TCE"
|
||||
(at 185.42 99.06 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "ad6c253e-c7f8-4df2-82aa-c33ec8ccc222")
|
||||
)
|
||||
|
|
@ -3892,42 +3658,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C40912"
|
||||
(at 199.39 99.06 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "BSS138-7-F"
|
||||
(at 199.39 99.06 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" "621-BSS138-7-F"
|
||||
(at 199.39 99.06 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 199.39 99.06 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "2"
|
||||
(uuid "8dd6579a-30e4-4a39-94c2-e41c54e0f4b0")
|
||||
)
|
||||
|
|
@ -4001,42 +3731,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C25077"
|
||||
(at 111.76 116.84 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" ""
|
||||
(at 111.76 116.84 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 111.76 116.84 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "0402WGF100JTCE"
|
||||
(at 111.76 116.84 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "04da3803-7cea-4efb-84d0-a06e26074b95")
|
||||
)
|
||||
|
|
@ -4052,110 +3746,6 @@
|
|||
)
|
||||
)
|
||||
)
|
||||
(symbol
|
||||
(lib_id "Device:R")
|
||||
(at 219.71 80.01 90)
|
||||
(unit 1)
|
||||
(exclude_from_sim no)
|
||||
(in_bom yes)
|
||||
(on_board yes)
|
||||
(dnp no)
|
||||
(fields_autoplaced yes)
|
||||
(uuid "a6458ba4-4e62-4cb6-8514-14b12d8041d7")
|
||||
(property "Reference" "R15"
|
||||
(at 219.71 74.8495 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "100R"
|
||||
(at 219.71 77.2738 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" "Resistor_SMD:R_0402_1005Metric"
|
||||
(at 219.71 81.788 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" "~"
|
||||
(at 219.71 80.01 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Description" "Resistor"
|
||||
(at 219.71 80.01 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C25076"
|
||||
(at 219.71 80.01 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" ""
|
||||
(at 219.71 80.01 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 219.71 80.01 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "0402WGF1000TCE"
|
||||
(at 219.71 80.01 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "3a0f4633-7121-4a68-a73c-180579691375")
|
||||
)
|
||||
(pin "2"
|
||||
(uuid "96f0a8b8-8ae1-4afe-ad12-f02840ba38d2")
|
||||
)
|
||||
(instances
|
||||
(project "linht-hw"
|
||||
(path "/73efc1fc-21f6-4aef-9f73-508fe18fa32e/42192b89-bd04-4531-bec0-520394b48a86"
|
||||
(reference "R15")
|
||||
(unit 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol
|
||||
(lib_id "Device:LED")
|
||||
(at 209.55 68.58 0)
|
||||
|
|
@ -4218,33 +3808,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C25503345"
|
||||
(at 209.55 68.58 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "XL-1005SURC"
|
||||
(at 209.55 68.58 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 209.55 68.58 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "87f3e6c7-9c0b-4eab-ab64-ebd4ba9c6425")
|
||||
)
|
||||
|
|
@ -4388,33 +3951,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C965793"
|
||||
(at 209.55 80.01 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "XL-1005UGC"
|
||||
(at 209.55 80.01 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 209.55 80.01 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "8438c2f5-0991-4864-8a7b-f40f2021a4bf")
|
||||
)
|
||||
|
|
@ -4617,42 +4153,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C25792"
|
||||
(at 191.77 105.41 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" ""
|
||||
(at 191.77 105.41 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 191.77 105.41 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "0402WGF4702TCE"
|
||||
(at 191.77 105.41 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "2"
|
||||
(uuid "dfde15b1-dfe1-4438-b940-1880772a0526")
|
||||
)
|
||||
|
|
@ -4721,42 +4221,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C25082"
|
||||
(at 219.71 90.17 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" ""
|
||||
(at 219.71 90.17 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 219.71 90.17 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "0402WGF1500TCE"
|
||||
(at 219.71 90.17 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "2"
|
||||
(uuid "3fdbef8a-54e7-4309-8dba-74107ebe359e")
|
||||
)
|
||||
|
|
@ -4772,6 +4236,74 @@
|
|||
)
|
||||
)
|
||||
)
|
||||
(symbol
|
||||
(lib_id "Device:R")
|
||||
(at 219.71 80.01 90)
|
||||
(mirror x)
|
||||
(unit 1)
|
||||
(exclude_from_sim no)
|
||||
(in_bom yes)
|
||||
(on_board yes)
|
||||
(dnp no)
|
||||
(uuid "e84ab908-db69-42fb-b1ca-195af8de0d78")
|
||||
(property "Reference" "R41"
|
||||
(at 219.71 77.47 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "220R"
|
||||
(at 219.71 82.7462 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" "Resistor_SMD:R_0402_1005Metric"
|
||||
(at 219.71 78.232 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" "~"
|
||||
(at 219.71 80.01 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Description" "Resistor"
|
||||
(at 219.71 80.01 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "2"
|
||||
(uuid "7d2eee4a-3f34-4cd9-801a-f9b9b6f0d56a")
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "0c144a0c-c9b1-42c7-a738-d93a80281a39")
|
||||
)
|
||||
(instances
|
||||
(project "linht-hw"
|
||||
(path "/73efc1fc-21f6-4aef-9f73-508fe18fa32e/42192b89-bd04-4531-bec0-520394b48a86"
|
||||
(reference "R41")
|
||||
(unit 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol
|
||||
(lib_id "Device:R")
|
||||
(at 102.87 64.77 90)
|
||||
|
|
@ -4825,42 +4357,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C25744"
|
||||
(at 102.87 64.77 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" ""
|
||||
(at 102.87 64.77 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 102.87 64.77 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "0402WGF1002TCE"
|
||||
(at 102.87 64.77 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "2"
|
||||
(uuid "a074cf4e-adca-47b6-b17d-a40c88706fa9")
|
||||
)
|
||||
|
|
@ -4929,42 +4425,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C25076"
|
||||
(at 95.25 128.27 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" ""
|
||||
(at 95.25 128.27 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 95.25 128.27 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "0402WGF1000TCE"
|
||||
(at 95.25 128.27 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "76294ca3-6f2b-426d-84d7-d754a13c8138")
|
||||
)
|
||||
|
|
|
|||
4909
gnss.kicad_sch
4909
gnss.kicad_sch
File diff suppressed because it is too large
Load diff
|
|
@ -6,8 +6,8 @@
|
|||
(paper "A4")
|
||||
(title_block
|
||||
(title "LinHT - Linux-based SDR handheld transceiver")
|
||||
(date "2025-12-03")
|
||||
(rev "B")
|
||||
(date "28 July 2025")
|
||||
(rev "A")
|
||||
(company "M17 Foundation")
|
||||
(comment 1 "Author: Wojciech SP5WWP, Andy OE3ANC, Vlastimil OK5VAS")
|
||||
)
|
||||
|
|
@ -2279,42 +2279,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C25792"
|
||||
(at 165.1 101.6 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" ""
|
||||
(at 165.1 101.6 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 165.1 101.6 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "0402WGF4702TCE"
|
||||
(at 165.1 101.6 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "2"
|
||||
(uuid "ac3ca4e9-33e3-4e9a-8e7e-f234f122d2ae")
|
||||
)
|
||||
|
|
@ -2450,15 +2414,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 55.88 114.3 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "27a69361-e298-497b-b45d-512bd0954e22")
|
||||
)
|
||||
|
|
@ -2524,15 +2479,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 55.88 118.11 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "b49e1642-5ab3-4a68-88ce-fcb095bd1e53")
|
||||
)
|
||||
|
|
@ -2600,42 +2546,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C542965"
|
||||
(at 154.94 83.82 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" ""
|
||||
(at 154.94 83.82 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 154.94 83.82 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "ERJPA2F1500X"
|
||||
(at 154.94 83.82 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "2259c10c-90fb-4862-9168-59927e8dd43f")
|
||||
)
|
||||
|
|
@ -2906,42 +2816,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C25076"
|
||||
(at 171.45 95.25 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" ""
|
||||
(at 171.45 95.25 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 171.45 95.25 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "0402WGF1000TCE"
|
||||
(at 171.45 95.25 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "48d5333e-0bea-4f19-a512-ffff28461cbf")
|
||||
)
|
||||
|
|
@ -3076,15 +2950,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 55.88 110.49 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "527fae63-5afd-4eea-88b1-a2254f7f0b8a")
|
||||
)
|
||||
|
|
@ -3150,15 +3015,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 55.88 100.33 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "af641070-2291-4f46-a574-0ef525df7fe7")
|
||||
)
|
||||
|
|
@ -3251,15 +3107,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 123.19 92.71 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "c1fae89d-1cc8-4b69-b6e0-97c447335ffd")
|
||||
)
|
||||
|
|
@ -3373,15 +3220,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 55.88 104.14 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "1"
|
||||
(uuid "ac7ce14b-8f85-48be-aa3f-eaf8bbadfb50")
|
||||
)
|
||||
|
|
@ -3452,42 +3290,6 @@
|
|||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC" "C40912"
|
||||
(at 157.48 95.25 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "MPN" "BSS138-7-F"
|
||||
(at 157.48 95.25 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "PN" "621-BSS138-7-F"
|
||||
(at 157.48 95.25 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "LCSC Part" ""
|
||||
(at 157.48 95.25 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(pin "3"
|
||||
(uuid "02da6969-4e38-435a-8d88-5c4a60b2828a")
|
||||
)
|
||||
|
|
|
|||
112334
linht-hw.kicad_pcb
112334
linht-hw.kicad_pcb
File diff suppressed because it is too large
Load diff
|
|
@ -37,9 +37,9 @@
|
|||
"other_text_thickness": 0.15,
|
||||
"other_text_upright": false,
|
||||
"pads": {
|
||||
"drill": 0.4,
|
||||
"height": 2.2,
|
||||
"width": 1.2
|
||||
"drill": 0.0,
|
||||
"height": 0.8,
|
||||
"width": 0.9
|
||||
},
|
||||
"silk_line_width": 0.1,
|
||||
"silk_text_italic": false,
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
"silk_text_thickness": 0.1,
|
||||
"silk_text_upright": false,
|
||||
"zones": {
|
||||
"min_clearance": 0.3
|
||||
"min_clearance": 0.25
|
||||
}
|
||||
},
|
||||
"diff_pair_dimensions": [
|
||||
|
|
@ -61,11 +61,75 @@
|
|||
"drc_exclusions": [
|
||||
[
|
||||
"clearance|108775500|119310000|02a1131b-98f8-4e77-8f06-f91a9c7aba4e|17b7483f-1cbe-4de4-ba83-99e1a907f329",
|
||||
""
|
||||
"Issue on the SoM pads. Cannot be changed."
|
||||
],
|
||||
[
|
||||
"clearance|108775500|147150000|875a586a-b6f8-446d-92be-309cbf386f2b|4640940c-4b09-4b89-a059-588f57d65d4c",
|
||||
"Issue on the SoM pads. Cannot be changed."
|
||||
],
|
||||
[
|
||||
"clearance|109655000|119230500|074758df-e958-4e73-be7f-4dfd6804f3ff|17b7483f-1cbe-4de4-ba83-99e1a907f329",
|
||||
"Issue on the SoM pads. Cannot be changed."
|
||||
],
|
||||
[
|
||||
"clearance|110455000|119230500|74cf3d9e-d74b-46d4-83e5-241b865105e9|074758df-e958-4e73-be7f-4dfd6804f3ff",
|
||||
""
|
||||
"Issue on the SoM pads. Cannot be changed."
|
||||
],
|
||||
[
|
||||
"clearance|136695000|147230500|6889461f-d423-48e6-8283-8de91e37efdc|207471ee-754b-404a-8b96-396a39adc988",
|
||||
"Issue on the SoM pads. Cannot be changed."
|
||||
],
|
||||
[
|
||||
"clearance|136775500|119310000|d6b7ecae-dd7a-4ec0-a319-0f117f19c4c5|9b81ce62-143f-4658-9bb9-668591ad0a1c",
|
||||
"Issue on the SoM pads. Cannot be changed."
|
||||
],
|
||||
[
|
||||
"copper_edge_clearance|112509209|58949920|03d19b7e-9558-4124-a267-234a8f0ace49|9b260ba5-f26e-48f4-9ea4-04358fa6e982",
|
||||
"The position is based on Retevis C62 PCB. Cannot be fixed."
|
||||
],
|
||||
[
|
||||
"copper_edge_clearance|129790791|58949920|0d5b0537-8fe6-47f6-9503-be269d94b127|922fe643-095a-4cd2-9172-72199f43c5bb",
|
||||
"The position is based on Retevis C62 PCB. Cannot be fixed."
|
||||
],
|
||||
[
|
||||
"copper_edge_clearance|144461667|104586667|b422425c-0c90-4b54-842e-7b420b48375d|cc164661-e2f4-4504-ac01-434a0bed9f26",
|
||||
"The position is based on Retevis C62 PCB. Cannot be fixed."
|
||||
],
|
||||
[
|
||||
"copper_edge_clearance|144461667|106936667|b422425c-0c90-4b54-842e-7b420b48375d|423c32fc-85d1-46fa-bcc2-eb5f4e13210d",
|
||||
"Issue on the SoM pads. Cannot be changed."
|
||||
],
|
||||
[
|
||||
"copper_edge_clearance|144461667|109911667|b422425c-0c90-4b54-842e-7b420b48375d|e00e4eb5-1851-4420-9c95-9dfcd0d05258",
|
||||
"The position is based on Retevis C62 PCB. Cannot be fixed."
|
||||
],
|
||||
[
|
||||
"copper_edge_clearance|144461667|77711667|4747d55e-dc7b-403d-a56b-37e5f739398f|950e3813-2f64-4fd1-9a21-de77ee11ae8b",
|
||||
"Issue on the SoM pads. Cannot be changed."
|
||||
],
|
||||
[
|
||||
"copper_edge_clearance|144461667|81661667|4747d55e-dc7b-403d-a56b-37e5f739398f|b06f97e2-981b-48f8-99e4-2db9d51b107e",
|
||||
"Issue on the SoM pads. Cannot be changed."
|
||||
],
|
||||
[
|
||||
"copper_edge_clearance|145500000|139800000|1151be58-d470-4469-a797-27dfea5d2c12|1aace2c9-1106-4343-a0d8-822e8f701172",
|
||||
"The position is based on Retevis C62 PCB. Cannot be fixed."
|
||||
],
|
||||
[
|
||||
"hole_clearance|120380172|113050000|98cd3cc8-2d84-43f9-984e-8b7ef3a2b545|399e6287-2303-4313-8030-2400bf21b165",
|
||||
"Battery connector BT-003 has hole near pads."
|
||||
],
|
||||
[
|
||||
"hole_clearance|121925000|113050000|98cd3cc8-2d84-43f9-984e-8b7ef3a2b545|56ca1394-1396-441a-a7d3-21273f9847eb",
|
||||
"Battery connector BT-003 has hole near pads."
|
||||
],
|
||||
[
|
||||
"hole_clearance|124525000|113050000|dcce17cc-1795-475e-a72b-90d607241fe3|56ca1394-1396-441a-a7d3-21273f9847eb",
|
||||
"Battery connector BT-003 has hole near pads."
|
||||
],
|
||||
[
|
||||
"hole_clearance|126069828|113050000|dcce17cc-1795-475e-a72b-90d607241fe3|5d78c74e-cc0d-4c8e-bdb9-ab1a815128e9",
|
||||
"Battery connector BT-003 has hole near pads."
|
||||
]
|
||||
],
|
||||
"meta": {
|
||||
|
|
@ -75,7 +139,7 @@
|
|||
"annular_width": "error",
|
||||
"clearance": "error",
|
||||
"connection_width": "warning",
|
||||
"copper_edge_clearance": "ignore",
|
||||
"copper_edge_clearance": "error",
|
||||
"copper_sliver": "warning",
|
||||
"courtyards_overlap": "error",
|
||||
"creepage": "error",
|
||||
|
|
@ -88,7 +152,7 @@
|
|||
"footprint_filters_mismatch": "ignore",
|
||||
"footprint_symbol_mismatch": "warning",
|
||||
"footprint_type_mismatch": "ignore",
|
||||
"hole_clearance": "ignore",
|
||||
"hole_clearance": "error",
|
||||
"hole_to_hole": "warning",
|
||||
"holes_co_located": "warning",
|
||||
"invalid_outline": "error",
|
||||
|
|
@ -110,7 +174,7 @@
|
|||
"pth_inside_courtyard": "ignore",
|
||||
"shorting_items": "error",
|
||||
"silk_edge_clearance": "ignore",
|
||||
"silk_over_copper": "ignore",
|
||||
"silk_over_copper": "warning",
|
||||
"silk_overlap": "warning",
|
||||
"skew_out_of_range": "error",
|
||||
"solder_mask_bridge": "error",
|
||||
|
|
@ -462,7 +526,6 @@
|
|||
"single_global_label": "ignore",
|
||||
"unannotated": "error",
|
||||
"unconnected_wire_endpoint": "warning",
|
||||
"undefined_netclass": "error",
|
||||
"unit_value_mismatch": "error",
|
||||
"unresolved_variable": "error",
|
||||
"wire_dangling": "error"
|
||||
|
|
@ -480,7 +543,7 @@
|
|||
"classes": [
|
||||
{
|
||||
"bus_width": 12,
|
||||
"clearance": 0.11,
|
||||
"clearance": 0.12,
|
||||
"diff_pair_gap": 0.25,
|
||||
"diff_pair_via_gap": 0.25,
|
||||
"diff_pair_width": 0.2,
|
||||
|
|
@ -507,12 +570,12 @@
|
|||
"via_drill": 0.3
|
||||
},
|
||||
{
|
||||
"clearance": 0.17,
|
||||
"clearance": 0.1,
|
||||
"name": "RF",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"priority": 1,
|
||||
"schematic_color": "rgb(132, 0, 132)",
|
||||
"track_width": 0.2,
|
||||
"track_width": 0.234,
|
||||
"via_diameter": 0.6,
|
||||
"via_drill": 0.3
|
||||
},
|
||||
|
|
@ -546,30 +609,12 @@
|
|||
"/Connectors/xUDP": [
|
||||
"USB"
|
||||
],
|
||||
"/RF/ATT_IN_OUT": [
|
||||
"RF"
|
||||
],
|
||||
"/RF/RF_IN": [
|
||||
"RF"
|
||||
],
|
||||
"/RF/RF_IN_ATT": [
|
||||
"RF"
|
||||
],
|
||||
"/RF/RF_OUT": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(C52-Pad2)": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(C54-Pad2)": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(C55-Pad1)": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(C56-Pad2)": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(FL1-IN)": [
|
||||
"RF"
|
||||
],
|
||||
|
|
@ -596,29 +641,12 @@
|
|||
],
|
||||
"Net-(U2-RF_OUT_2)": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(U9-RF1)": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(U9-RF2)": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(U9-RF3)": [
|
||||
"RF"
|
||||
]
|
||||
},
|
||||
"netclass_patterns": [
|
||||
{
|
||||
"netclass": "Narrow",
|
||||
"pattern": "/Keyboard/D."
|
||||
},
|
||||
{
|
||||
"netclass": "Narrow",
|
||||
"pattern": "GND"
|
||||
},
|
||||
{
|
||||
"netclass": "Default",
|
||||
"pattern": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -766,29 +794,11 @@
|
|||
"label": "LCSC",
|
||||
"name": "LCSC",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "LCSC Part",
|
||||
"name": "LCSC Part",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Sim.Device",
|
||||
"name": "Sim.Device",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "MP",
|
||||
"name": "MP",
|
||||
"show": false
|
||||
}
|
||||
],
|
||||
"filter_string": "",
|
||||
"group_symbols": true,
|
||||
"include_excluded_from_bom": false,
|
||||
"include_excluded_from_bom": true,
|
||||
"name": "",
|
||||
"sort_asc": true,
|
||||
"sort_field": "Reference"
|
||||
|
|
@ -865,10 +875,6 @@
|
|||
[
|
||||
"5f168690-b6ac-4b3d-aad0-4e97277dc85d",
|
||||
"Connectors"
|
||||
],
|
||||
[
|
||||
"0b7c638a-0bf4-4df2-9e8c-e9dd4f727b29",
|
||||
"GNSS"
|
||||
]
|
||||
],
|
||||
"text_variables": {}
|
||||
|
|
|
|||
1944
linht-hw.kicad_sch
1944
linht-hw.kicad_sch
File diff suppressed because it is too large
Load diff
BIN
linht-hw.pdf
Normal file
BIN
linht-hw.pdf
Normal file
Binary file not shown.
|
|
@ -10,7 +10,7 @@
|
|||
| | V_SOM | Pin 6 | 5V | | |
|
||||
| | ADC_IN3 | Pin 7 | | | |
|
||||
| | ADC_IN2 | Pin 8 | | | |
|
||||
| | ADC_IN1 | Pin 9 | | | |
|
||||
| | ADC_IN1 | Pin 9 | U_BATT_MON | | |
|
||||
| | ADC_IN0 | Pin 10 | VOL_ADC | | |
|
||||
| | V_SOM | Pin 11 | 5V | | |
|
||||
| | TAMPER0 | Pin 12 | | | |
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
| | POR_B_3P3 | Pin 46 | | | |
|
||||
| SAI3_TX_SYNC | GPIO2_IO[26] | Pin 47 | I2S1_WS | 3.3V | MX93_PAD_GPIO_IO26__SAI3_TX_SYNC |
|
||||
| GPIO2_IO[27] | GPIO2_IO[27] | Pin 48 | | 3.3V | MX93_PAD_GPIO_IO27__GPIO2_IO27 |
|
||||
| GPIO4_IO[15] | ENET2_MDIO | Pin 49 | JACK_DETECT | 1.8V | MX93_PAD_ENET2_MDIO__GPIO4_IO15 |
|
||||
| GPIO4_IO[15] | ENET2_MDIO | Pin 49 | | 1.8V | MX93_PAD_ENET2_MDIO__GPIO4_IO15 |
|
||||
| GPIO4_IO[14] | ENET2_MDC | Pin 50 | | 1.8V | MX93_PAD_ENET2_MDC__GPIO4_IO14 |
|
||||
| GPIO4_IO[16] | ENET2_TD3 | Pin 51 | KBD_D1 | 1.8V | MX93_PAD_ENET2_TD3__GPIO4_IO16 |
|
||||
| GPIO4_IO[19] | ENET2_TD0 | Pin 52 | KBD_D2 | 1.8V | MX93_PAD_ENET2_TD0__GPIO4_IO19 |
|
||||
|
|
@ -68,8 +68,8 @@
|
|||
| UART1_RX | UART1_RX | Pin 64 | UART_RX | | |
|
||||
| GPIO3_IO[7] | SDIO2_RESET_B | Pin 65 | | 3.3V/1.8V | MX93_PAD_SD2_RESET_B__GPIO3_IO07 |
|
||||
| SAI1_TX_DATA[0] | SAI1_TX_DATA[0] | Pin 66 | I2S0_DOUT | | MX93_PAD_SAI1_TXD0__SAI1_TX_DATA00 |
|
||||
| GPIO3_IO[6] | SDIO2_DATA3 | Pin 67 | | 3.3V/1.8V | MX93_PAD_SD2_DATA3__GPIO3_IO06 |
|
||||
| GPIO3_IO[5] | SDIO2_DATA2 | Pin 68 | | 3.3V/1.8V | MX93_PAD_SD2_DATA2__GPIO3_IO05 |
|
||||
| GPIO3_IO[6] | SDIO2_DATA3 | Pin 67 | MIC_GAIN | 3.3V/1.8V | MX93_PAD_SD2_DATA3__GPIO3_IO06 |
|
||||
| GPIO3_IO[5] | SDIO2_DATA2 | Pin 68 | /MIC_MUTE | 3.3V/1.8V | MX93_PAD_SD2_DATA2__GPIO3_IO05 |
|
||||
| GPIO3_IO[2] | SDIO2_CMD | Pin 69 | | 3.3V/1.8V | MX93_PAD_SD2_CMD__GPIO3_IO02 |
|
||||
| GPIO3_IO[1] | SDIO2_CLK | Pin 70 | | 3.3V/1.8V | MX93_PAD_SD2_CLK__GPIO3_IO01 |
|
||||
| | RESERVED | Pin 71 | | | |
|
||||
|
|
@ -84,35 +84,35 @@
|
|||
| GPIO3_IO[31] | JTAG_TDO | Pin 80 | | 1.8V | MX93_PAD_DAP_TDO_TRACESWO__GPIO3_IO31 |
|
||||
| GPIO4_IO[6] | ENET1_TX_CTL | Pin 81 | | 1.8V | MX93_PAD_ENET1_TX_CTL__GPIO4_IO06 |
|
||||
| GPIO4_IO[4] | ENET1_TD1 | Pin 82 | | 1.8V | MX93_PAD_ENET1_TD1__GPIO4_IO04 |
|
||||
| GPIO4_IO[3] | ENET1_TD2 | Pin 83 | GNSS_RST | 1.8V | MX93_PAD_ENET1_TD2__GPIO4_IO03 |
|
||||
| GPIO4_IO[5] | ENET1_TD0 | Pin 84 | GNSS_TX | 1.8V | MX93_PAD_ENET1_TD0__GPIO4_IO05 |
|
||||
| GPIO4_IO[2] | ENET1_TD3 | Pin 85 | GNSS_WAKEUP | 1.8V | MX93_PAD_ENET1_TD3__GPIO4_IO02 |
|
||||
| GPIO4_IO[3] | ENET1_TD2 | Pin 83 | | 1.8V | MX93_PAD_ENET1_TD2__GPIO4_IO03 |
|
||||
| GPIO4_IO[5] | ENET1_TD0 | Pin 84 | | 1.8V | MX93_PAD_ENET1_TD0__GPIO4_IO05 |
|
||||
| GPIO4_IO[2] | ENET1_TD3 | Pin 85 | | 1.8V | MX93_PAD_ENET1_TD3__GPIO4_IO02 |
|
||||
| GPIO4_IO[7] | ENET1_TXC | Pin 86 | | 1.8V | MX93_PAD_ENET1_TXC__GPIO4_IO07 |
|
||||
| GPIO4_IO[8] | ENET1_RX_CTL | Pin 87 | GNSS_PPS | 1.8V | MX93_PAD_ENET1_RX_CTL__GPIO4_IO08 |
|
||||
| GPIO4_IO[10] | ENET1_RD0 | Pin 88 | GNSS_RX | 1.8V | MX93_PAD_ENET1_RD0__GPIO4_IO10 |
|
||||
| GPIO4_IO[8] | ENET1_RX_CTL | Pin 87 | | 1.8V | MX93_PAD_ENET1_RX_CTL__GPIO4_IO08 |
|
||||
| GPIO4_IO[10] | ENET1_RD0 | Pin 88 | | 1.8V | MX93_PAD_ENET1_RD0__GPIO4_IO10 |
|
||||
| GPIO4_IO[9] | ENET1_RXC | Pin 89 | | 1.8V | MX93_PAD_ENET1_RXC__GPIO4_IO09 |
|
||||
| GPIO4_IO[11] | ENET1_RD1 | Pin 90 | | 1.8V | MX93_PAD_ENET1_RD1__GPIO4_IO11 |
|
||||
| GPIO4_IO[12] | ENET1_RD2 | Pin 91 | | 1.8V | MX93_PAD_ENET1_RD2__GPIO4_IO12 |
|
||||
| GPIO4_IO[13] | ENET1_RD3 | Pin 92 | | 1.8V | MX93_PAD_ENET1_RD3__GPIO4_IO13 |
|
||||
| GPIO4_IO[1] | ENET1_MDIO | Pin 93 | | 1.8V | MX93_PAD_ENET1_MDIO__GPIO4_IO01 |
|
||||
| GPIO4_IO[0] | ENET1_MDC | Pin 94 | | 1.8V | MX93_PAD_ENET1_MDC__GPIO4_IO00 |
|
||||
| GPIO2_IO[25] | GPIO2_IO[25] | Pin 95 | KBD_PWM | 3.3V | MX93_PAD_GPIO_IO25__GPIO2_IO25 |
|
||||
| GPIO2_IO[25] | GPIO2_IO[25] | Pin 95 | | 3.3V | MX93_PAD_GPIO_IO25__GPIO2_IO25 |
|
||||
| GPIO2_IO[23] | GPIO2_IO[23] | Pin 96 | | 3.3V | MX93_PAD_GPIO_IO23__GPIO2_IO23 |
|
||||
| I2C3_SCL | GPIO2_IO[29] | Pin 97 | I2C_SCL | 3.3V | MX93_PAD_GPIO_IO29__LPI2C3_SCL |
|
||||
| I2C3_SDA | GPIO2_IO[28] | Pin 98 | I2C_SDA | 3.3V | MX93_PAD_GPIO_IO28__LPI2C3_SDA |
|
||||
| TPM3_CH3 | GPIO2_IO[24] | Pin 99 | LCD_PWM | 3.3V | MX93_PAD_GPIO_IO24__TPM3_CH3 |
|
||||
| SAI3_MCLK | GPIO2_IO[17] | Pin 100 | SPI1_MCLK | 3.3V | MX93_PAD_GPIO_IO17__SAI3_MCLK |
|
||||
| SAI3_TX_BCLK | GPIO2_IO[16] | Pin 101 | I2S1_CLK | 3.3V | MX93_PAD_GPIO_IO16__SAI3_TX_BCLK |
|
||||
| GPIO2_IO[14] | GPIO2_IO[14] | Pin 102 | | 3.3V | MX93_PAD_GPIO_IO14__GPIO2_IO14 |
|
||||
| GPIO2_IO[15] | GPIO2_IO[15] | Pin 103 | RF_SW_CTRL | 3.3V | MX93_PAD_GPIO_IO15__GPIO2_IO15 |
|
||||
| GPIO2_IO[13] | GPIO2_IO[13] | Pin 104 | RF_ATT_LE2 | 3.3V | MX93_PAD_GPIO_IO13__GPIO2_IO13 |
|
||||
| TPM3_CH2 | GPIO2_IO[12] | Pin 105 | RF_ATT_LE1 | 3.3V | MX93_PAD_GPIO_IO12__TPM3_CH2 |
|
||||
| GPIO2_IO[7] | GPIO2_IO[7] | Pin 106 | RF_ATT_CLK | 3.3V | MX93_PAD_GPIO_IO07__GPIO2_IO07 |
|
||||
| GPIO2_IO[6] | GPIO2_IO[6] | Pin 107 | RF_ATT_DATA | 3.3V | MX93_PAD_GPIO_IO06__GPIO2_IO06 |
|
||||
| GPIO2_IO[14] | GPIO2_IO[14] | Pin 102 | ON/OFF_SW | 3.3V | MX93_PAD_GPIO_IO14__GPIO2_IO14 |
|
||||
| GPIO2_IO[15] | GPIO2_IO[15] | Pin 103 | | 3.3V | MX93_PAD_GPIO_IO15__GPIO2_IO15 |
|
||||
| GPIO2_IO[13] | GPIO2_IO[13] | Pin 104 | RF_SW_CTRL | 3.3V | MX93_PAD_GPIO_IO13__GPIO2_IO13 |
|
||||
| TPM3_CH2 | GPIO2_IO[12] | Pin 105 | KBD_PWM | 3.3V | MX93_PAD_GPIO_IO12__TPM3_CH2 |
|
||||
| GPIO2_IO[7] | GPIO2_IO[7] | Pin 106 | | 3.3V | MX93_PAD_GPIO_IO07__GPIO2_IO07 |
|
||||
| GPIO2_IO[6] | GPIO2_IO[6] | Pin 107 | | 3.3V | MX93_PAD_GPIO_IO06__GPIO2_IO06 |
|
||||
| SPI6_SCK | GPIO2_IO[3] | Pin 108 | SPI1_SCK | 3.3V | MX93_PAD_GPIO_IO03__LPSPI6_SCK |
|
||||
| GPIO3_IO[20] | SDIO3_CLK | Pin 109 | | 1.8V | MX93_PAD_SD3_CLK__GPIO3_IO20 |
|
||||
| GPIO3_IO[24] | SDIO3_DATA2 | Pin 110 | | 1.8V | MX93_PAD_SD3_DATA2__GPIO3_IO24 |
|
||||
| GPIO3_IO[25] | SDIO3_DATA3 | Pin 111 | RF_PA_ENABLE | 1.8V | MX93_PAD_SD3_DATA3__GPIO3_IO25 |
|
||||
| GPIO3_IO[25] | SDIO3_DATA3 | Pin 111 | | 1.8V | MX93_PAD_SD3_DATA3__GPIO3_IO25 |
|
||||
| GPIO3_IO[23] | SDIO3_DATA1 | Pin 112 | EXT_PTT | 1.8V | MX93_PAD_SD3_DATA1__GPIO3_IO23 |
|
||||
| GPIO3_IO[21] | SDIO3_CMD | Pin 113 | INT_PTT | 1.8V | MX93_PAD_SD3_CMD__GPIO3_IO21 |
|
||||
| GPIO3_IO[22] | SDIO3_DATA0 | Pin 114 | SIDE_BTN | 1.8V | MX93_PAD_SD3_DATA0__GPIO3_IO22 |
|
||||
|
|
|
|||
30
panel.json
30
panel.json
|
|
@ -1,30 +0,0 @@
|
|||
{
|
||||
"tabs": {
|
||||
"type": "full",
|
||||
"patchcorners": "False"
|
||||
},
|
||||
"cuts": {
|
||||
"type": "vcuts"
|
||||
},
|
||||
"framing": {
|
||||
"type": "frame",
|
||||
"width": "11mm"
|
||||
},
|
||||
"tooling": {
|
||||
"type": "4hole",
|
||||
"hoffset": "5mm",
|
||||
"voffset": "25mm"
|
||||
},
|
||||
"fiducials": {
|
||||
"type": "3fid",
|
||||
"hoffset": "5mm",
|
||||
"voffset": "20mm"
|
||||
},
|
||||
"text": {
|
||||
"type": "simple",
|
||||
"voffset": "3mm",
|
||||
"width": "2.0mm",
|
||||
"height": "2.0mm",
|
||||
"text": "LinHT PCB"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,930 +0,0 @@
|
|||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('STEP AP214'),'1');
|
||||
FILE_NAME('ANT_ANT8010LL05R1516A_PUL','2025-11-26T08:41:00',(''),(''),'','','');
|
||||
FILE_SCHEMA(('AUTOMOTIVE_DESIGN'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=SHAPE_DEFINITION_REPRESENTATION(#2,#3);
|
||||
#2=PRODUCT_DEFINITION_SHAPE('',$,#4);
|
||||
#3=SHAPE_REPRESENTATION('',(#188,#484,#780,#1077,#19),#11);
|
||||
#4=PRODUCT_DEFINITION('design','example product_definition',#6,#5);
|
||||
#5=PRODUCT_DEFINITION_CONTEXT('3D Mechanical Parts',#10,'design');
|
||||
#6=PRODUCT_DEFINITION_FORMATION('1.0','first version',#8);
|
||||
#7=APPLICATION_PROTOCOL_DEFINITION('international standard','automotive_design',2003,#10);
|
||||
#8=PRODUCT('product','part','',(#9));
|
||||
#9=PRODUCT_CONTEXT('3D Mechanical Parts',#10,'mechanical');
|
||||
#10=APPLICATION_CONTEXT('Core Data for Automotive Mechanical Design Process');
|
||||
#11=(GEOMETRIC_REPRESENTATION_CONTEXT(3) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#12)) GLOBAL_UNIT_ASSIGNED_CONTEXT((#13,#14,#18)) REPRESENTATION_CONTEXT('ID1','3D'));
|
||||
#12=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-005),#13,'DISTANCE_ACCURACY_VALUE','Maximum model space distance between geometric entities at asserted connectivities');
|
||||
#13=(LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.));
|
||||
#14=(CONVERSION_BASED_UNIT('degree',#16) NAMED_UNIT(#15) PLANE_ANGLE_UNIT());
|
||||
#15=DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
|
||||
#16=MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(0.01745329252),#17);
|
||||
#17=(NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.));
|
||||
#18=(NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT());
|
||||
#19=AXIS2_PLACEMENT_3D('',#20,#21,#22);
|
||||
#20=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#21=DIRECTION('',(0.0,0.0,1.0));
|
||||
#22=DIRECTION('',(1.0,0.0,0.0));
|
||||
#25=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION($,(#190,#239,#288,#337,#386,#435,#486,#535,#584,#633,#682,#731,#782,#831,#880,#929,#978,#1027,#1079,#1128,#1177,#1226,#1275,#1344,#1413,#1482,#1551,#1600,#1649,#1698),#11);
|
||||
#26=PRODUCT_CATEGORY_RELATIONSHIP('','',#27,#28);
|
||||
#27=PRODUCT_CATEGORY('part','');
|
||||
#28=PRODUCT_RELATED_PRODUCT_CATEGORY('','',(#8));
|
||||
#34=PRESENTATION_STYLE_ASSIGNMENT((#35,#40));
|
||||
#35=SURFACE_STYLE_USAGE(.BOTH.,#36);
|
||||
#36=SURFACE_SIDE_STYLE('',(#37));
|
||||
#37=SURFACE_STYLE_FILL_AREA(#38);
|
||||
#38=FILL_AREA_STYLE('',(#39));
|
||||
#39=FILL_AREA_STYLE_COLOUR('',#41);
|
||||
#40=CURVE_STYLE('',#42,POSITIVE_LENGTH_MEASURE(0.1),#41);
|
||||
#41=COLOUR_RGB('Aluminum',0.725,0.725,0.725);
|
||||
#42=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#43=PRESENTATION_STYLE_ASSIGNMENT((#44,#49));
|
||||
#44=SURFACE_STYLE_USAGE(.BOTH.,#45);
|
||||
#45=SURFACE_SIDE_STYLE('',(#46));
|
||||
#46=SURFACE_STYLE_FILL_AREA(#47);
|
||||
#47=FILL_AREA_STYLE('',(#48));
|
||||
#48=FILL_AREA_STYLE_COLOUR('',#50);
|
||||
#49=CURVE_STYLE('',#51,POSITIVE_LENGTH_MEASURE(0.1),#50);
|
||||
#50=COLOUR_RGB('Brown',0.459,0.345,0.176);
|
||||
#51=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#52=PRESENTATION_STYLE_ASSIGNMENT((#53,#58));
|
||||
#53=SURFACE_STYLE_USAGE(.BOTH.,#54);
|
||||
#54=SURFACE_SIDE_STYLE('',(#55));
|
||||
#55=SURFACE_STYLE_FILL_AREA(#56);
|
||||
#56=FILL_AREA_STYLE('',(#57));
|
||||
#57=FILL_AREA_STYLE_COLOUR('',#59);
|
||||
#58=CURVE_STYLE('',#60,POSITIVE_LENGTH_MEASURE(0.1),#59);
|
||||
#59=COLOUR_RGB('Pin1Wrap',0.98,0.706,0.176);
|
||||
#60=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#61=PRESENTATION_STYLE_ASSIGNMENT((#62,#67));
|
||||
#62=SURFACE_STYLE_USAGE(.BOTH.,#63);
|
||||
#63=SURFACE_SIDE_STYLE('',(#64));
|
||||
#64=SURFACE_STYLE_FILL_AREA(#65);
|
||||
#65=FILL_AREA_STYLE('',(#66));
|
||||
#66=FILL_AREA_STYLE_COLOUR('',#68);
|
||||
#67=CURVE_STYLE('',#69,POSITIVE_LENGTH_MEASURE(0.1),#68);
|
||||
#68=COLOUR_RGB('HeatTab',0.588,0.588,0.588);
|
||||
#69=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#70=PRESENTATION_STYLE_ASSIGNMENT((#71,#76));
|
||||
#71=SURFACE_STYLE_USAGE(.BOTH.,#72);
|
||||
#72=SURFACE_SIDE_STYLE('',(#73));
|
||||
#73=SURFACE_STYLE_FILL_AREA(#74);
|
||||
#74=FILL_AREA_STYLE('',(#75));
|
||||
#75=FILL_AREA_STYLE_COLOUR('',#77);
|
||||
#76=CURVE_STYLE('',#78,POSITIVE_LENGTH_MEASURE(0.1),#77);
|
||||
#77=COLOUR_RGB('Black',0.196,0.196,0.196);
|
||||
#78=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#79=PRESENTATION_STYLE_ASSIGNMENT((#80,#85));
|
||||
#80=SURFACE_STYLE_USAGE(.BOTH.,#81);
|
||||
#81=SURFACE_SIDE_STYLE('',(#82));
|
||||
#82=SURFACE_STYLE_FILL_AREA(#83);
|
||||
#83=FILL_AREA_STYLE('',(#84));
|
||||
#84=FILL_AREA_STYLE_COLOUR('',#86);
|
||||
#85=CURVE_STYLE('',#87,POSITIVE_LENGTH_MEASURE(0.1),#86);
|
||||
#86=COLOUR_RGB('Gold',0.843,0.686,0.0);
|
||||
#87=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#88=PRESENTATION_STYLE_ASSIGNMENT((#89,#94));
|
||||
#89=SURFACE_STYLE_USAGE(.BOTH.,#90);
|
||||
#90=SURFACE_SIDE_STYLE('',(#91));
|
||||
#91=SURFACE_STYLE_FILL_AREA(#92);
|
||||
#92=FILL_AREA_STYLE('',(#93));
|
||||
#93=FILL_AREA_STYLE_COLOUR('',#95);
|
||||
#94=CURVE_STYLE('',#96,POSITIVE_LENGTH_MEASURE(0.1),#95);
|
||||
#95=COLOUR_RGB('Tan',0.784,0.686,0.51);
|
||||
#96=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#97=PRESENTATION_STYLE_ASSIGNMENT((#98,#103));
|
||||
#98=SURFACE_STYLE_USAGE(.BOTH.,#99);
|
||||
#99=SURFACE_SIDE_STYLE('',(#100));
|
||||
#100=SURFACE_STYLE_FILL_AREA(#101);
|
||||
#101=FILL_AREA_STYLE('',(#102));
|
||||
#102=FILL_AREA_STYLE_COLOUR('',#104);
|
||||
#103=CURVE_STYLE('',#105,POSITIVE_LENGTH_MEASURE(0.1),#104);
|
||||
#104=COLOUR_RGB('Gray',0.431,0.431,0.431);
|
||||
#105=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#106=PRESENTATION_STYLE_ASSIGNMENT((#107,#112));
|
||||
#107=SURFACE_STYLE_USAGE(.BOTH.,#108);
|
||||
#108=SURFACE_SIDE_STYLE('',(#109));
|
||||
#109=SURFACE_STYLE_FILL_AREA(#110);
|
||||
#110=FILL_AREA_STYLE('',(#111));
|
||||
#111=FILL_AREA_STYLE_COLOUR('',#113);
|
||||
#112=CURVE_STYLE('',#114,POSITIVE_LENGTH_MEASURE(0.1),#113);
|
||||
#113=COLOUR_RGB('Red',0.6,0.0,0.0);
|
||||
#114=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#115=PRESENTATION_STYLE_ASSIGNMENT((#116,#121));
|
||||
#116=SURFACE_STYLE_USAGE(.BOTH.,#117);
|
||||
#117=SURFACE_SIDE_STYLE('',(#118));
|
||||
#118=SURFACE_STYLE_FILL_AREA(#119);
|
||||
#119=FILL_AREA_STYLE('',(#120));
|
||||
#120=FILL_AREA_STYLE_COLOUR('',#122);
|
||||
#121=CURVE_STYLE('',#123,POSITIVE_LENGTH_MEASURE(0.1),#122);
|
||||
#122=COLOUR_RGB('Blue',0.157,0.157,0.588);
|
||||
#123=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#124=PRESENTATION_STYLE_ASSIGNMENT((#125,#130));
|
||||
#125=SURFACE_STYLE_USAGE(.BOTH.,#126);
|
||||
#126=SURFACE_SIDE_STYLE('',(#127));
|
||||
#127=SURFACE_STYLE_FILL_AREA(#128);
|
||||
#128=FILL_AREA_STYLE('',(#129));
|
||||
#129=FILL_AREA_STYLE_COLOUR('',#131);
|
||||
#130=CURVE_STYLE('',#132,POSITIVE_LENGTH_MEASURE(0.1),#131);
|
||||
#131=COLOUR_RGB('Maroon',0.294,0.0,0.0);
|
||||
#132=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#133=PRESENTATION_STYLE_ASSIGNMENT((#134,#139));
|
||||
#134=SURFACE_STYLE_USAGE(.BOTH.,#135);
|
||||
#135=SURFACE_SIDE_STYLE('',(#136));
|
||||
#136=SURFACE_STYLE_FILL_AREA(#137);
|
||||
#137=FILL_AREA_STYLE('',(#138));
|
||||
#138=FILL_AREA_STYLE_COLOUR('',#140);
|
||||
#139=CURVE_STYLE('',#141,POSITIVE_LENGTH_MEASURE(0.1),#140);
|
||||
#140=COLOUR_RGB('Green',0.0,0.294,0.0);
|
||||
#141=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#142=PRESENTATION_STYLE_ASSIGNMENT((#143,#148));
|
||||
#143=SURFACE_STYLE_USAGE(.BOTH.,#144);
|
||||
#144=SURFACE_SIDE_STYLE('',(#145));
|
||||
#145=SURFACE_STYLE_FILL_AREA(#146);
|
||||
#146=FILL_AREA_STYLE('',(#147));
|
||||
#147=FILL_AREA_STYLE_COLOUR('',#149);
|
||||
#148=CURVE_STYLE('',#150,POSITIVE_LENGTH_MEASURE(0.1),#149);
|
||||
#149=COLOUR_RGB('Pin1',0.588,0.588,0.059);
|
||||
#150=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#151=PRESENTATION_STYLE_ASSIGNMENT((#152,#157));
|
||||
#152=SURFACE_STYLE_USAGE(.BOTH.,#153);
|
||||
#153=SURFACE_SIDE_STYLE('',(#154));
|
||||
#154=SURFACE_STYLE_FILL_AREA(#155);
|
||||
#155=FILL_AREA_STYLE('',(#156));
|
||||
#156=FILL_AREA_STYLE_COLOUR('',#158);
|
||||
#157=CURVE_STYLE('',#159,POSITIVE_LENGTH_MEASURE(0.1),#158);
|
||||
#158=COLOUR_RGB('Pin1Rad',0.588,0.588,0.588);
|
||||
#159=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#160=PRESENTATION_STYLE_ASSIGNMENT((#161,#166));
|
||||
#161=SURFACE_STYLE_USAGE(.BOTH.,#162);
|
||||
#162=SURFACE_SIDE_STYLE('',(#163));
|
||||
#163=SURFACE_STYLE_FILL_AREA(#164);
|
||||
#164=FILL_AREA_STYLE('',(#165));
|
||||
#165=FILL_AREA_STYLE_COLOUR('',#167);
|
||||
#166=CURVE_STYLE('',#168,POSITIVE_LENGTH_MEASURE(0.1),#167);
|
||||
#167=COLOUR_RGB('Pin1Axial',0.98,0.706,0.176);
|
||||
#168=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#169=PRESENTATION_STYLE_ASSIGNMENT((#170,#175));
|
||||
#170=SURFACE_STYLE_USAGE(.BOTH.,#171);
|
||||
#171=SURFACE_SIDE_STYLE('',(#172));
|
||||
#172=SURFACE_STYLE_FILL_AREA(#173);
|
||||
#173=FILL_AREA_STYLE('',(#174));
|
||||
#174=FILL_AREA_STYLE_COLOUR('',#176);
|
||||
#175=CURVE_STYLE('',#177,POSITIVE_LENGTH_MEASURE(0.1),#176);
|
||||
#176=COLOUR_RGB('Pin1Tant',0.459,0.345,0.176);
|
||||
#177=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#178=PRESENTATION_STYLE_ASSIGNMENT((#179,#184));
|
||||
#179=SURFACE_STYLE_USAGE(.BOTH.,#180);
|
||||
#180=SURFACE_SIDE_STYLE('',(#181));
|
||||
#181=SURFACE_STYLE_FILL_AREA(#182);
|
||||
#182=FILL_AREA_STYLE('',(#183));
|
||||
#183=FILL_AREA_STYLE_COLOUR('',#185);
|
||||
#184=CURVE_STYLE('',#186,POSITIVE_LENGTH_MEASURE(0.1),#185);
|
||||
#185=COLOUR_RGB('Shroud',0.235,0.235,0.235);
|
||||
#186=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
|
||||
#188=MANIFOLD_SOLID_BREP($,#189);
|
||||
#189=CLOSED_SHELL('',(#191,#240,#289,#338,#387,#436));
|
||||
#190=STYLED_ITEM('',(#43),#191);
|
||||
#191=ADVANCED_FACE('',(#197),#192,.T.);
|
||||
#192=PLANE('',#193);
|
||||
#193=AXIS2_PLACEMENT_3D('',#194,#195,#196);
|
||||
#194=CARTESIAN_POINT('',(-3.061,-0.48,0.117));
|
||||
#195=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#196=DIRECTION('',(0.,0.,1.));
|
||||
#197=FACE_OUTER_BOUND('',#198,.T.);
|
||||
#198=EDGE_LOOP('',(#199,#209,#219,#229));
|
||||
#202=CARTESIAN_POINT('',(3.061,-0.48,0.117));
|
||||
#201=VERTEX_POINT('',#202);
|
||||
#204=CARTESIAN_POINT('',(-3.061,-0.48,0.117));
|
||||
#203=VERTEX_POINT('',#204);
|
||||
#200=EDGE_CURVE('',#201,#203,#205,.T.);
|
||||
#205=LINE('',#202,#207);
|
||||
#207=VECTOR('',#208,6.1214);
|
||||
#208=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#199=ORIENTED_EDGE('',*,*,#200,.F.);
|
||||
#212=CARTESIAN_POINT('',(3.061,-0.48,1.077));
|
||||
#211=VERTEX_POINT('',#212);
|
||||
#210=EDGE_CURVE('',#211,#201,#215,.T.);
|
||||
#215=LINE('',#212,#217);
|
||||
#217=VECTOR('',#218,0.959394285714286);
|
||||
#218=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#209=ORIENTED_EDGE('',*,*,#210,.F.);
|
||||
#222=CARTESIAN_POINT('',(-3.061,-0.48,1.077));
|
||||
#221=VERTEX_POINT('',#222);
|
||||
#220=EDGE_CURVE('',#221,#211,#225,.T.);
|
||||
#225=LINE('',#222,#227);
|
||||
#227=VECTOR('',#228,6.1214);
|
||||
#228=DIRECTION('',(1.0,0.0,0.0));
|
||||
#219=ORIENTED_EDGE('',*,*,#220,.F.);
|
||||
#230=EDGE_CURVE('',#203,#221,#235,.T.);
|
||||
#235=LINE('',#204,#237);
|
||||
#237=VECTOR('',#238,0.959394285714286);
|
||||
#238=DIRECTION('',(0.0,0.0,1.0));
|
||||
#229=ORIENTED_EDGE('',*,*,#230,.F.);
|
||||
#239=STYLED_ITEM('',(#43),#240);
|
||||
#240=ADVANCED_FACE('',(#246),#241,.T.);
|
||||
#241=PLANE('',#242);
|
||||
#242=AXIS2_PLACEMENT_3D('',#243,#244,#245);
|
||||
#243=CARTESIAN_POINT('',(3.061,-0.48,0.117));
|
||||
#244=DIRECTION('',(1.0,0.0,0.0));
|
||||
#245=DIRECTION('',(0.,0.,1.));
|
||||
#246=FACE_OUTER_BOUND('',#247,.T.);
|
||||
#247=EDGE_LOOP('',(#248,#258,#268,#278));
|
||||
#251=CARTESIAN_POINT('',(3.061,0.48,0.117));
|
||||
#250=VERTEX_POINT('',#251);
|
||||
#249=EDGE_CURVE('',#250,#201,#254,.T.);
|
||||
#254=LINE('',#251,#256);
|
||||
#256=VECTOR('',#257,0.959394285714286);
|
||||
#257=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#248=ORIENTED_EDGE('',*,*,#249,.F.);
|
||||
#261=CARTESIAN_POINT('',(3.061,0.48,1.077));
|
||||
#260=VERTEX_POINT('',#261);
|
||||
#259=EDGE_CURVE('',#260,#250,#264,.T.);
|
||||
#264=LINE('',#261,#266);
|
||||
#266=VECTOR('',#267,0.959394285714286);
|
||||
#267=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#258=ORIENTED_EDGE('',*,*,#259,.F.);
|
||||
#269=EDGE_CURVE('',#211,#260,#274,.T.);
|
||||
#274=LINE('',#212,#276);
|
||||
#276=VECTOR('',#277,0.959394285714286);
|
||||
#277=DIRECTION('',(0.0,1.0,0.0));
|
||||
#268=ORIENTED_EDGE('',*,*,#269,.F.);
|
||||
#278=ORIENTED_EDGE('',*,*,#210,.T.);
|
||||
#288=STYLED_ITEM('',(#43),#289);
|
||||
#289=ADVANCED_FACE('',(#295),#290,.T.);
|
||||
#290=PLANE('',#291);
|
||||
#291=AXIS2_PLACEMENT_3D('',#292,#293,#294);
|
||||
#292=CARTESIAN_POINT('',(3.061,0.48,0.117));
|
||||
#293=DIRECTION('',(0.0,1.0,0.0));
|
||||
#294=DIRECTION('',(0.,0.,1.));
|
||||
#295=FACE_OUTER_BOUND('',#296,.T.);
|
||||
#296=EDGE_LOOP('',(#297,#307,#317,#327));
|
||||
#300=CARTESIAN_POINT('',(-3.061,0.48,0.117));
|
||||
#299=VERTEX_POINT('',#300);
|
||||
#298=EDGE_CURVE('',#299,#250,#303,.T.);
|
||||
#303=LINE('',#300,#305);
|
||||
#305=VECTOR('',#306,6.1214);
|
||||
#306=DIRECTION('',(1.0,0.0,0.0));
|
||||
#297=ORIENTED_EDGE('',*,*,#298,.F.);
|
||||
#310=CARTESIAN_POINT('',(-3.061,0.48,1.077));
|
||||
#309=VERTEX_POINT('',#310);
|
||||
#308=EDGE_CURVE('',#309,#299,#313,.T.);
|
||||
#313=LINE('',#310,#315);
|
||||
#315=VECTOR('',#316,0.959394285714286);
|
||||
#316=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#307=ORIENTED_EDGE('',*,*,#308,.F.);
|
||||
#318=EDGE_CURVE('',#260,#309,#323,.T.);
|
||||
#323=LINE('',#261,#325);
|
||||
#325=VECTOR('',#326,6.1214);
|
||||
#326=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#317=ORIENTED_EDGE('',*,*,#318,.F.);
|
||||
#327=ORIENTED_EDGE('',*,*,#259,.T.);
|
||||
#337=STYLED_ITEM('',(#43),#338);
|
||||
#338=ADVANCED_FACE('',(#344),#339,.T.);
|
||||
#339=PLANE('',#340);
|
||||
#340=AXIS2_PLACEMENT_3D('',#341,#342,#343);
|
||||
#341=CARTESIAN_POINT('',(-3.061,0.48,0.117));
|
||||
#342=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#343=DIRECTION('',(0.,0.,1.));
|
||||
#344=FACE_OUTER_BOUND('',#345,.T.);
|
||||
#345=EDGE_LOOP('',(#346,#356,#366,#376));
|
||||
#347=EDGE_CURVE('',#203,#299,#352,.T.);
|
||||
#352=LINE('',#204,#354);
|
||||
#354=VECTOR('',#355,0.959394285714286);
|
||||
#355=DIRECTION('',(0.0,1.0,0.0));
|
||||
#346=ORIENTED_EDGE('',*,*,#347,.F.);
|
||||
#356=ORIENTED_EDGE('',*,*,#230,.T.);
|
||||
#367=EDGE_CURVE('',#309,#221,#372,.T.);
|
||||
#372=LINE('',#310,#374);
|
||||
#374=VECTOR('',#375,0.959394285714286);
|
||||
#375=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#366=ORIENTED_EDGE('',*,*,#367,.F.);
|
||||
#376=ORIENTED_EDGE('',*,*,#308,.T.);
|
||||
#386=STYLED_ITEM('',(#43),#387);
|
||||
#387=ADVANCED_FACE('',(#393),#388,.T.);
|
||||
#388=PLANE('',#389);
|
||||
#389=AXIS2_PLACEMENT_3D('',#390,#391,#392);
|
||||
#390=CARTESIAN_POINT('',(-3.061,0.48,0.117));
|
||||
#391=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#392=DIRECTION('',(0.,1.,0.));
|
||||
#393=FACE_OUTER_BOUND('',#394,.T.);
|
||||
#394=EDGE_LOOP('',(#395,#405,#415,#425));
|
||||
#395=ORIENTED_EDGE('',*,*,#298,.T.);
|
||||
#405=ORIENTED_EDGE('',*,*,#249,.T.);
|
||||
#415=ORIENTED_EDGE('',*,*,#200,.T.);
|
||||
#425=ORIENTED_EDGE('',*,*,#347,.T.);
|
||||
#435=STYLED_ITEM('',(#43),#436);
|
||||
#436=ADVANCED_FACE('',(#442),#437,.T.);
|
||||
#437=PLANE('',#438);
|
||||
#438=AXIS2_PLACEMENT_3D('',#439,#440,#441);
|
||||
#439=CARTESIAN_POINT('',(-3.061,-0.48,1.077));
|
||||
#440=DIRECTION('',(0.0,0.0,1.0));
|
||||
#441=DIRECTION('',(0.,1.,0.));
|
||||
#442=FACE_OUTER_BOUND('',#443,.T.);
|
||||
#443=EDGE_LOOP('',(#444,#454,#464,#474));
|
||||
#444=ORIENTED_EDGE('',*,*,#220,.T.);
|
||||
#454=ORIENTED_EDGE('',*,*,#269,.T.);
|
||||
#464=ORIENTED_EDGE('',*,*,#318,.T.);
|
||||
#474=ORIENTED_EDGE('',*,*,#367,.T.);
|
||||
#484=MANIFOLD_SOLID_BREP($,#485);
|
||||
#485=CLOSED_SHELL('',(#487,#536,#585,#634,#683,#732));
|
||||
#486=STYLED_ITEM('',(#34),#487);
|
||||
#487=ADVANCED_FACE('',(#493),#488,.T.);
|
||||
#488=PLANE('',#489);
|
||||
#489=AXIS2_PLACEMENT_3D('',#490,#491,#492);
|
||||
#490=CARTESIAN_POINT('',(3.061,-0.597,0.0));
|
||||
#491=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#492=DIRECTION('',(0.,0.,1.));
|
||||
#493=FACE_OUTER_BOUND('',#494,.T.);
|
||||
#494=EDGE_LOOP('',(#495,#505,#515,#525));
|
||||
#498=CARTESIAN_POINT('',(4.102,-0.597,0.0));
|
||||
#497=VERTEX_POINT('',#498);
|
||||
#500=CARTESIAN_POINT('',(3.061,-0.597,0.0));
|
||||
#499=VERTEX_POINT('',#500);
|
||||
#496=EDGE_CURVE('',#497,#499,#501,.T.);
|
||||
#501=LINE('',#498,#503);
|
||||
#503=VECTOR('',#504,1.0414);
|
||||
#504=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#495=ORIENTED_EDGE('',*,*,#496,.F.);
|
||||
#508=CARTESIAN_POINT('',(4.102,-0.597,1.194));
|
||||
#507=VERTEX_POINT('',#508);
|
||||
#506=EDGE_CURVE('',#507,#497,#511,.T.);
|
||||
#511=LINE('',#508,#513);
|
||||
#513=VECTOR('',#514,1.1938);
|
||||
#514=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#505=ORIENTED_EDGE('',*,*,#506,.F.);
|
||||
#518=CARTESIAN_POINT('',(3.061,-0.597,1.194));
|
||||
#517=VERTEX_POINT('',#518);
|
||||
#516=EDGE_CURVE('',#517,#507,#521,.T.);
|
||||
#521=LINE('',#518,#523);
|
||||
#523=VECTOR('',#524,1.0414);
|
||||
#524=DIRECTION('',(1.0,0.0,0.0));
|
||||
#515=ORIENTED_EDGE('',*,*,#516,.F.);
|
||||
#526=EDGE_CURVE('',#499,#517,#531,.T.);
|
||||
#531=LINE('',#500,#533);
|
||||
#533=VECTOR('',#534,1.1938);
|
||||
#534=DIRECTION('',(0.0,0.0,1.0));
|
||||
#525=ORIENTED_EDGE('',*,*,#526,.F.);
|
||||
#535=STYLED_ITEM('',(#34),#536);
|
||||
#536=ADVANCED_FACE('',(#542),#537,.T.);
|
||||
#537=PLANE('',#538);
|
||||
#538=AXIS2_PLACEMENT_3D('',#539,#540,#541);
|
||||
#539=CARTESIAN_POINT('',(4.102,-0.597,0.0));
|
||||
#540=DIRECTION('',(1.0,0.0,0.0));
|
||||
#541=DIRECTION('',(0.,0.,1.));
|
||||
#542=FACE_OUTER_BOUND('',#543,.T.);
|
||||
#543=EDGE_LOOP('',(#544,#554,#564,#574));
|
||||
#547=CARTESIAN_POINT('',(4.102,0.597,0.0));
|
||||
#546=VERTEX_POINT('',#547);
|
||||
#545=EDGE_CURVE('',#546,#497,#550,.T.);
|
||||
#550=LINE('',#547,#552);
|
||||
#552=VECTOR('',#553,1.1938);
|
||||
#553=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#544=ORIENTED_EDGE('',*,*,#545,.F.);
|
||||
#557=CARTESIAN_POINT('',(4.102,0.597,1.194));
|
||||
#556=VERTEX_POINT('',#557);
|
||||
#555=EDGE_CURVE('',#556,#546,#560,.T.);
|
||||
#560=LINE('',#557,#562);
|
||||
#562=VECTOR('',#563,1.1938);
|
||||
#563=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#554=ORIENTED_EDGE('',*,*,#555,.F.);
|
||||
#565=EDGE_CURVE('',#507,#556,#570,.T.);
|
||||
#570=LINE('',#508,#572);
|
||||
#572=VECTOR('',#573,1.1938);
|
||||
#573=DIRECTION('',(0.0,1.0,0.0));
|
||||
#564=ORIENTED_EDGE('',*,*,#565,.F.);
|
||||
#574=ORIENTED_EDGE('',*,*,#506,.T.);
|
||||
#584=STYLED_ITEM('',(#34),#585);
|
||||
#585=ADVANCED_FACE('',(#591),#586,.T.);
|
||||
#586=PLANE('',#587);
|
||||
#587=AXIS2_PLACEMENT_3D('',#588,#589,#590);
|
||||
#588=CARTESIAN_POINT('',(4.102,0.597,0.0));
|
||||
#589=DIRECTION('',(0.0,1.0,0.0));
|
||||
#590=DIRECTION('',(0.,0.,1.));
|
||||
#591=FACE_OUTER_BOUND('',#592,.T.);
|
||||
#592=EDGE_LOOP('',(#593,#603,#613,#623));
|
||||
#596=CARTESIAN_POINT('',(3.061,0.597,0.0));
|
||||
#595=VERTEX_POINT('',#596);
|
||||
#594=EDGE_CURVE('',#595,#546,#599,.T.);
|
||||
#599=LINE('',#596,#601);
|
||||
#601=VECTOR('',#602,1.0414);
|
||||
#602=DIRECTION('',(1.0,0.0,0.0));
|
||||
#593=ORIENTED_EDGE('',*,*,#594,.F.);
|
||||
#606=CARTESIAN_POINT('',(3.061,0.597,1.194));
|
||||
#605=VERTEX_POINT('',#606);
|
||||
#604=EDGE_CURVE('',#605,#595,#609,.T.);
|
||||
#609=LINE('',#606,#611);
|
||||
#611=VECTOR('',#612,1.1938);
|
||||
#612=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#603=ORIENTED_EDGE('',*,*,#604,.F.);
|
||||
#614=EDGE_CURVE('',#556,#605,#619,.T.);
|
||||
#619=LINE('',#557,#621);
|
||||
#621=VECTOR('',#622,1.0414);
|
||||
#622=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#613=ORIENTED_EDGE('',*,*,#614,.F.);
|
||||
#623=ORIENTED_EDGE('',*,*,#555,.T.);
|
||||
#633=STYLED_ITEM('',(#34),#634);
|
||||
#634=ADVANCED_FACE('',(#640),#635,.T.);
|
||||
#635=PLANE('',#636);
|
||||
#636=AXIS2_PLACEMENT_3D('',#637,#638,#639);
|
||||
#637=CARTESIAN_POINT('',(3.061,0.597,0.0));
|
||||
#638=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#639=DIRECTION('',(0.,0.,1.));
|
||||
#640=FACE_OUTER_BOUND('',#641,.T.);
|
||||
#641=EDGE_LOOP('',(#642,#652,#662,#672));
|
||||
#643=EDGE_CURVE('',#499,#595,#648,.T.);
|
||||
#648=LINE('',#500,#650);
|
||||
#650=VECTOR('',#651,1.1938);
|
||||
#651=DIRECTION('',(0.0,1.0,0.0));
|
||||
#642=ORIENTED_EDGE('',*,*,#643,.F.);
|
||||
#652=ORIENTED_EDGE('',*,*,#526,.T.);
|
||||
#663=EDGE_CURVE('',#605,#517,#668,.T.);
|
||||
#668=LINE('',#606,#670);
|
||||
#670=VECTOR('',#671,1.1938);
|
||||
#671=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#662=ORIENTED_EDGE('',*,*,#663,.F.);
|
||||
#672=ORIENTED_EDGE('',*,*,#604,.T.);
|
||||
#682=STYLED_ITEM('',(#34),#683);
|
||||
#683=ADVANCED_FACE('',(#689),#684,.T.);
|
||||
#684=PLANE('',#685);
|
||||
#685=AXIS2_PLACEMENT_3D('',#686,#687,#688);
|
||||
#686=CARTESIAN_POINT('',(3.061,0.597,0.0));
|
||||
#687=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#688=DIRECTION('',(0.,1.,0.));
|
||||
#689=FACE_OUTER_BOUND('',#690,.T.);
|
||||
#690=EDGE_LOOP('',(#691,#701,#711,#721));
|
||||
#691=ORIENTED_EDGE('',*,*,#594,.T.);
|
||||
#701=ORIENTED_EDGE('',*,*,#545,.T.);
|
||||
#711=ORIENTED_EDGE('',*,*,#496,.T.);
|
||||
#721=ORIENTED_EDGE('',*,*,#643,.T.);
|
||||
#731=STYLED_ITEM('',(#34),#732);
|
||||
#732=ADVANCED_FACE('',(#738),#733,.T.);
|
||||
#733=PLANE('',#734);
|
||||
#734=AXIS2_PLACEMENT_3D('',#735,#736,#737);
|
||||
#735=CARTESIAN_POINT('',(3.061,-0.597,1.194));
|
||||
#736=DIRECTION('',(0.0,0.0,1.0));
|
||||
#737=DIRECTION('',(0.,1.,0.));
|
||||
#738=FACE_OUTER_BOUND('',#739,.T.);
|
||||
#739=EDGE_LOOP('',(#740,#750,#760,#770));
|
||||
#740=ORIENTED_EDGE('',*,*,#516,.T.);
|
||||
#750=ORIENTED_EDGE('',*,*,#565,.T.);
|
||||
#760=ORIENTED_EDGE('',*,*,#614,.T.);
|
||||
#770=ORIENTED_EDGE('',*,*,#663,.T.);
|
||||
#780=MANIFOLD_SOLID_BREP($,#781);
|
||||
#781=CLOSED_SHELL('',(#783,#832,#881,#930,#979,#1028));
|
||||
#782=STYLED_ITEM('',(#34),#783);
|
||||
#783=ADVANCED_FACE('',(#789),#784,.T.);
|
||||
#784=PLANE('',#785);
|
||||
#785=AXIS2_PLACEMENT_3D('',#786,#787,#788);
|
||||
#786=CARTESIAN_POINT('',(-4.102,-0.597,0.0));
|
||||
#787=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#788=DIRECTION('',(0.,0.,1.));
|
||||
#789=FACE_OUTER_BOUND('',#790,.T.);
|
||||
#790=EDGE_LOOP('',(#791,#801,#811,#821));
|
||||
#794=CARTESIAN_POINT('',(-3.061,-0.597,0.0));
|
||||
#793=VERTEX_POINT('',#794);
|
||||
#796=CARTESIAN_POINT('',(-4.102,-0.597,0.0));
|
||||
#795=VERTEX_POINT('',#796);
|
||||
#792=EDGE_CURVE('',#793,#795,#797,.T.);
|
||||
#797=LINE('',#794,#799);
|
||||
#799=VECTOR('',#800,1.0414);
|
||||
#800=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#791=ORIENTED_EDGE('',*,*,#792,.F.);
|
||||
#804=CARTESIAN_POINT('',(-3.061,-0.597,1.194));
|
||||
#803=VERTEX_POINT('',#804);
|
||||
#802=EDGE_CURVE('',#803,#793,#807,.T.);
|
||||
#807=LINE('',#804,#809);
|
||||
#809=VECTOR('',#810,1.1938);
|
||||
#810=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#801=ORIENTED_EDGE('',*,*,#802,.F.);
|
||||
#814=CARTESIAN_POINT('',(-4.102,-0.597,1.194));
|
||||
#813=VERTEX_POINT('',#814);
|
||||
#812=EDGE_CURVE('',#813,#803,#817,.T.);
|
||||
#817=LINE('',#814,#819);
|
||||
#819=VECTOR('',#820,1.0414);
|
||||
#820=DIRECTION('',(1.0,0.0,0.0));
|
||||
#811=ORIENTED_EDGE('',*,*,#812,.F.);
|
||||
#822=EDGE_CURVE('',#795,#813,#827,.T.);
|
||||
#827=LINE('',#796,#829);
|
||||
#829=VECTOR('',#830,1.1938);
|
||||
#830=DIRECTION('',(0.0,0.0,1.0));
|
||||
#821=ORIENTED_EDGE('',*,*,#822,.F.);
|
||||
#831=STYLED_ITEM('',(#34),#832);
|
||||
#832=ADVANCED_FACE('',(#838),#833,.T.);
|
||||
#833=PLANE('',#834);
|
||||
#834=AXIS2_PLACEMENT_3D('',#835,#836,#837);
|
||||
#835=CARTESIAN_POINT('',(-3.061,-0.597,0.0));
|
||||
#836=DIRECTION('',(1.0,0.0,0.0));
|
||||
#837=DIRECTION('',(0.,0.,1.));
|
||||
#838=FACE_OUTER_BOUND('',#839,.T.);
|
||||
#839=EDGE_LOOP('',(#840,#850,#860,#870));
|
||||
#843=CARTESIAN_POINT('',(-3.061,0.597,0.0));
|
||||
#842=VERTEX_POINT('',#843);
|
||||
#841=EDGE_CURVE('',#842,#793,#846,.T.);
|
||||
#846=LINE('',#843,#848);
|
||||
#848=VECTOR('',#849,1.1938);
|
||||
#849=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#840=ORIENTED_EDGE('',*,*,#841,.F.);
|
||||
#853=CARTESIAN_POINT('',(-3.061,0.597,1.194));
|
||||
#852=VERTEX_POINT('',#853);
|
||||
#851=EDGE_CURVE('',#852,#842,#856,.T.);
|
||||
#856=LINE('',#853,#858);
|
||||
#858=VECTOR('',#859,1.1938);
|
||||
#859=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#850=ORIENTED_EDGE('',*,*,#851,.F.);
|
||||
#861=EDGE_CURVE('',#803,#852,#866,.T.);
|
||||
#866=LINE('',#804,#868);
|
||||
#868=VECTOR('',#869,1.1938);
|
||||
#869=DIRECTION('',(0.0,1.0,0.0));
|
||||
#860=ORIENTED_EDGE('',*,*,#861,.F.);
|
||||
#870=ORIENTED_EDGE('',*,*,#802,.T.);
|
||||
#880=STYLED_ITEM('',(#34),#881);
|
||||
#881=ADVANCED_FACE('',(#887),#882,.T.);
|
||||
#882=PLANE('',#883);
|
||||
#883=AXIS2_PLACEMENT_3D('',#884,#885,#886);
|
||||
#884=CARTESIAN_POINT('',(-3.061,0.597,0.0));
|
||||
#885=DIRECTION('',(0.0,1.0,0.0));
|
||||
#886=DIRECTION('',(0.,0.,1.));
|
||||
#887=FACE_OUTER_BOUND('',#888,.T.);
|
||||
#888=EDGE_LOOP('',(#889,#899,#909,#919));
|
||||
#892=CARTESIAN_POINT('',(-4.102,0.597,0.0));
|
||||
#891=VERTEX_POINT('',#892);
|
||||
#890=EDGE_CURVE('',#891,#842,#895,.T.);
|
||||
#895=LINE('',#892,#897);
|
||||
#897=VECTOR('',#898,1.0414);
|
||||
#898=DIRECTION('',(1.0,0.0,0.0));
|
||||
#889=ORIENTED_EDGE('',*,*,#890,.F.);
|
||||
#902=CARTESIAN_POINT('',(-4.102,0.597,1.194));
|
||||
#901=VERTEX_POINT('',#902);
|
||||
#900=EDGE_CURVE('',#901,#891,#905,.T.);
|
||||
#905=LINE('',#902,#907);
|
||||
#907=VECTOR('',#908,1.1938);
|
||||
#908=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#899=ORIENTED_EDGE('',*,*,#900,.F.);
|
||||
#910=EDGE_CURVE('',#852,#901,#915,.T.);
|
||||
#915=LINE('',#853,#917);
|
||||
#917=VECTOR('',#918,1.0414);
|
||||
#918=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#909=ORIENTED_EDGE('',*,*,#910,.F.);
|
||||
#919=ORIENTED_EDGE('',*,*,#851,.T.);
|
||||
#929=STYLED_ITEM('',(#34),#930);
|
||||
#930=ADVANCED_FACE('',(#936),#931,.T.);
|
||||
#931=PLANE('',#932);
|
||||
#932=AXIS2_PLACEMENT_3D('',#933,#934,#935);
|
||||
#933=CARTESIAN_POINT('',(-4.102,0.597,0.0));
|
||||
#934=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#935=DIRECTION('',(0.,0.,1.));
|
||||
#936=FACE_OUTER_BOUND('',#937,.T.);
|
||||
#937=EDGE_LOOP('',(#938,#948,#958,#968));
|
||||
#939=EDGE_CURVE('',#795,#891,#944,.T.);
|
||||
#944=LINE('',#796,#946);
|
||||
#946=VECTOR('',#947,1.1938);
|
||||
#947=DIRECTION('',(0.0,1.0,0.0));
|
||||
#938=ORIENTED_EDGE('',*,*,#939,.F.);
|
||||
#948=ORIENTED_EDGE('',*,*,#822,.T.);
|
||||
#959=EDGE_CURVE('',#901,#813,#964,.T.);
|
||||
#964=LINE('',#902,#966);
|
||||
#966=VECTOR('',#967,1.1938);
|
||||
#967=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#958=ORIENTED_EDGE('',*,*,#959,.F.);
|
||||
#968=ORIENTED_EDGE('',*,*,#900,.T.);
|
||||
#978=STYLED_ITEM('',(#34),#979);
|
||||
#979=ADVANCED_FACE('',(#985),#980,.T.);
|
||||
#980=PLANE('',#981);
|
||||
#981=AXIS2_PLACEMENT_3D('',#982,#983,#984);
|
||||
#982=CARTESIAN_POINT('',(-4.102,0.597,0.0));
|
||||
#983=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#984=DIRECTION('',(0.,1.,0.));
|
||||
#985=FACE_OUTER_BOUND('',#986,.T.);
|
||||
#986=EDGE_LOOP('',(#987,#997,#1007,#1017));
|
||||
#987=ORIENTED_EDGE('',*,*,#890,.T.);
|
||||
#997=ORIENTED_EDGE('',*,*,#841,.T.);
|
||||
#1007=ORIENTED_EDGE('',*,*,#792,.T.);
|
||||
#1017=ORIENTED_EDGE('',*,*,#939,.T.);
|
||||
#1027=STYLED_ITEM('',(#34),#1028);
|
||||
#1028=ADVANCED_FACE('',(#1034),#1029,.T.);
|
||||
#1029=PLANE('',#1030);
|
||||
#1030=AXIS2_PLACEMENT_3D('',#1031,#1032,#1033);
|
||||
#1031=CARTESIAN_POINT('',(-4.102,-0.597,1.194));
|
||||
#1032=DIRECTION('',(0.0,0.0,1.0));
|
||||
#1033=DIRECTION('',(0.,1.,0.));
|
||||
#1034=FACE_OUTER_BOUND('',#1035,.T.);
|
||||
#1035=EDGE_LOOP('',(#1036,#1046,#1056,#1066));
|
||||
#1036=ORIENTED_EDGE('',*,*,#812,.T.);
|
||||
#1046=ORIENTED_EDGE('',*,*,#861,.T.);
|
||||
#1056=ORIENTED_EDGE('',*,*,#910,.T.);
|
||||
#1066=ORIENTED_EDGE('',*,*,#959,.T.);
|
||||
#1077=MANIFOLD_SOLID_BREP($,#1078);
|
||||
#1078=CLOSED_SHELL('',(#1080,#1129,#1178,#1227,#1276,#1345,#1414,#1483,#1552,#1601,#1650,#1699));
|
||||
#1079=STYLED_ITEM('',(#52),#1080);
|
||||
#1080=ADVANCED_FACE('',(#1086),#1081,.T.);
|
||||
#1081=PLANE('',#1082);
|
||||
#1082=AXIS2_PLACEMENT_3D('',#1083,#1084,#1085);
|
||||
#1083=CARTESIAN_POINT('',(-2.449,0.482,0.115));
|
||||
#1084=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#1085=DIRECTION('',(0.,1.,0.));
|
||||
#1086=FACE_OUTER_BOUND('',#1087,.T.);
|
||||
#1087=EDGE_LOOP('',(#1088,#1098,#1108,#1118));
|
||||
#1091=CARTESIAN_POINT('',(-1.836,0.482,0.115));
|
||||
#1090=VERTEX_POINT('',#1091);
|
||||
#1093=CARTESIAN_POINT('',(-2.449,0.482,0.115));
|
||||
#1092=VERTEX_POINT('',#1093);
|
||||
#1089=EDGE_CURVE('',#1090,#1092,#1094,.T.);
|
||||
#1094=LINE('',#1091,#1096);
|
||||
#1096=VECTOR('',#1097,0.61214);
|
||||
#1097=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#1088=ORIENTED_EDGE('',*,*,#1089,.F.);
|
||||
#1101=CARTESIAN_POINT('',(-1.836,-0.482,0.115));
|
||||
#1100=VERTEX_POINT('',#1101);
|
||||
#1099=EDGE_CURVE('',#1100,#1090,#1104,.T.);
|
||||
#1104=LINE('',#1101,#1106);
|
||||
#1106=VECTOR('',#1107,0.964474285714287);
|
||||
#1107=DIRECTION('',(0.0,1.0,0.0));
|
||||
#1098=ORIENTED_EDGE('',*,*,#1099,.F.);
|
||||
#1111=CARTESIAN_POINT('',(-2.449,-0.482,0.115));
|
||||
#1110=VERTEX_POINT('',#1111);
|
||||
#1109=EDGE_CURVE('',#1110,#1100,#1114,.T.);
|
||||
#1114=LINE('',#1111,#1116);
|
||||
#1116=VECTOR('',#1117,0.61214);
|
||||
#1117=DIRECTION('',(1.0,0.0,0.0));
|
||||
#1108=ORIENTED_EDGE('',*,*,#1109,.F.);
|
||||
#1119=EDGE_CURVE('',#1092,#1110,#1124,.T.);
|
||||
#1124=LINE('',#1093,#1126);
|
||||
#1126=VECTOR('',#1127,0.964474285714287);
|
||||
#1127=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#1118=ORIENTED_EDGE('',*,*,#1119,.F.);
|
||||
#1128=STYLED_ITEM('',(#52),#1129);
|
||||
#1129=ADVANCED_FACE('',(#1135),#1130,.T.);
|
||||
#1130=PLANE('',#1131);
|
||||
#1131=AXIS2_PLACEMENT_3D('',#1132,#1133,#1134);
|
||||
#1132=CARTESIAN_POINT('',(-2.449,-0.482,0.115));
|
||||
#1133=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#1134=DIRECTION('',(0.,0.,1.));
|
||||
#1135=FACE_OUTER_BOUND('',#1136,.T.);
|
||||
#1136=EDGE_LOOP('',(#1137,#1147,#1157,#1167));
|
||||
#1137=ORIENTED_EDGE('',*,*,#1109,.T.);
|
||||
#1150=CARTESIAN_POINT('',(-1.836,-0.482,1.079));
|
||||
#1149=VERTEX_POINT('',#1150);
|
||||
#1148=EDGE_CURVE('',#1149,#1100,#1153,.T.);
|
||||
#1153=LINE('',#1150,#1155);
|
||||
#1155=VECTOR('',#1156,0.964474285714287);
|
||||
#1156=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#1147=ORIENTED_EDGE('',*,*,#1148,.F.);
|
||||
#1160=CARTESIAN_POINT('',(-2.449,-0.482,1.079));
|
||||
#1159=VERTEX_POINT('',#1160);
|
||||
#1158=EDGE_CURVE('',#1159,#1149,#1163,.T.);
|
||||
#1163=LINE('',#1160,#1165);
|
||||
#1165=VECTOR('',#1166,0.61214);
|
||||
#1166=DIRECTION('',(1.0,0.0,0.0));
|
||||
#1157=ORIENTED_EDGE('',*,*,#1158,.F.);
|
||||
#1168=EDGE_CURVE('',#1110,#1159,#1173,.T.);
|
||||
#1173=LINE('',#1111,#1175);
|
||||
#1175=VECTOR('',#1176,0.964474285714287);
|
||||
#1176=DIRECTION('',(0.0,0.0,1.0));
|
||||
#1167=ORIENTED_EDGE('',*,*,#1168,.F.);
|
||||
#1177=STYLED_ITEM('',(#52),#1178);
|
||||
#1178=ADVANCED_FACE('',(#1184),#1179,.T.);
|
||||
#1179=PLANE('',#1180);
|
||||
#1180=AXIS2_PLACEMENT_3D('',#1181,#1182,#1183);
|
||||
#1181=CARTESIAN_POINT('',(-1.836,0.482,0.115));
|
||||
#1182=DIRECTION('',(0.0,1.0,0.0));
|
||||
#1183=DIRECTION('',(0.,0.,1.));
|
||||
#1184=FACE_OUTER_BOUND('',#1185,.T.);
|
||||
#1185=EDGE_LOOP('',(#1186,#1196,#1206,#1216));
|
||||
#1186=ORIENTED_EDGE('',*,*,#1089,.T.);
|
||||
#1199=CARTESIAN_POINT('',(-2.449,0.482,1.079));
|
||||
#1198=VERTEX_POINT('',#1199);
|
||||
#1197=EDGE_CURVE('',#1198,#1092,#1202,.T.);
|
||||
#1202=LINE('',#1199,#1204);
|
||||
#1204=VECTOR('',#1205,0.964474285714287);
|
||||
#1205=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#1196=ORIENTED_EDGE('',*,*,#1197,.F.);
|
||||
#1209=CARTESIAN_POINT('',(-1.836,0.482,1.079));
|
||||
#1208=VERTEX_POINT('',#1209);
|
||||
#1207=EDGE_CURVE('',#1208,#1198,#1212,.T.);
|
||||
#1212=LINE('',#1209,#1214);
|
||||
#1214=VECTOR('',#1215,0.61214);
|
||||
#1215=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#1206=ORIENTED_EDGE('',*,*,#1207,.F.);
|
||||
#1217=EDGE_CURVE('',#1090,#1208,#1222,.T.);
|
||||
#1222=LINE('',#1091,#1224);
|
||||
#1224=VECTOR('',#1225,0.964474285714287);
|
||||
#1225=DIRECTION('',(0.0,0.0,1.0));
|
||||
#1216=ORIENTED_EDGE('',*,*,#1217,.F.);
|
||||
#1226=STYLED_ITEM('',(#52),#1227);
|
||||
#1227=ADVANCED_FACE('',(#1233),#1228,.T.);
|
||||
#1228=PLANE('',#1229);
|
||||
#1229=AXIS2_PLACEMENT_3D('',#1230,#1231,#1232);
|
||||
#1230=CARTESIAN_POINT('',(-2.449,-0.482,1.079));
|
||||
#1231=DIRECTION('',(0.0,0.0,1.0));
|
||||
#1232=DIRECTION('',(0.,1.,0.));
|
||||
#1233=FACE_OUTER_BOUND('',#1234,.T.);
|
||||
#1234=EDGE_LOOP('',(#1235,#1245,#1255,#1265));
|
||||
#1235=ORIENTED_EDGE('',*,*,#1158,.T.);
|
||||
#1246=EDGE_CURVE('',#1208,#1149,#1251,.T.);
|
||||
#1251=LINE('',#1209,#1253);
|
||||
#1253=VECTOR('',#1254,0.964474285714287);
|
||||
#1254=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#1245=ORIENTED_EDGE('',*,*,#1246,.F.);
|
||||
#1255=ORIENTED_EDGE('',*,*,#1207,.T.);
|
||||
#1266=EDGE_CURVE('',#1159,#1198,#1271,.T.);
|
||||
#1271=LINE('',#1160,#1273);
|
||||
#1273=VECTOR('',#1274,0.964474285714287);
|
||||
#1274=DIRECTION('',(0.0,1.0,0.0));
|
||||
#1265=ORIENTED_EDGE('',*,*,#1266,.F.);
|
||||
#1275=STYLED_ITEM('',(#52),#1276);
|
||||
#1276=ADVANCED_FACE('',(#1282),#1277,.T.);
|
||||
#1277=PLANE('',#1278);
|
||||
#1278=AXIS2_PLACEMENT_3D('',#1279,#1280,#1281);
|
||||
#1279=CARTESIAN_POINT('',(-1.836,-0.482,0.115));
|
||||
#1280=DIRECTION('',(1.0,0.0,0.0));
|
||||
#1281=DIRECTION('',(0.,0.,1.));
|
||||
#1282=FACE_OUTER_BOUND('',#1283,.T.);
|
||||
#1283=EDGE_LOOP('',(#1284,#1294,#1304,#1314,#1324,#1334));
|
||||
#1284=ORIENTED_EDGE('',*,*,#1099,.T.);
|
||||
#1294=ORIENTED_EDGE('',*,*,#1217,.T.);
|
||||
#1307=CARTESIAN_POINT('',(-1.836,0.48,1.077));
|
||||
#1306=VERTEX_POINT('',#1307);
|
||||
#1305=EDGE_CURVE('',#1306,#1208,#1310,.T.);
|
||||
#1310=LINE('',#1307,#1312);
|
||||
#1312=VECTOR('',#1313,0.00359210244842771);
|
||||
#1313=DIRECTION('',(0.0,0.707,0.707));
|
||||
#1304=ORIENTED_EDGE('',*,*,#1305,.F.);
|
||||
#1317=CARTESIAN_POINT('',(-1.836,0.48,0.117));
|
||||
#1316=VERTEX_POINT('',#1317);
|
||||
#1315=EDGE_CURVE('',#1316,#1306,#1320,.T.);
|
||||
#1320=LINE('',#1317,#1322);
|
||||
#1322=VECTOR('',#1323,0.959394285714286);
|
||||
#1323=DIRECTION('',(0.0,0.0,1.0));
|
||||
#1314=ORIENTED_EDGE('',*,*,#1315,.F.);
|
||||
#1327=CARTESIAN_POINT('',(-1.836,-0.48,0.117));
|
||||
#1326=VERTEX_POINT('',#1327);
|
||||
#1325=EDGE_CURVE('',#1326,#1316,#1330,.T.);
|
||||
#1330=LINE('',#1327,#1332);
|
||||
#1332=VECTOR('',#1333,0.959394285714286);
|
||||
#1333=DIRECTION('',(0.0,1.0,0.0));
|
||||
#1324=ORIENTED_EDGE('',*,*,#1325,.F.);
|
||||
#1335=EDGE_CURVE('',#1100,#1326,#1340,.T.);
|
||||
#1340=LINE('',#1101,#1342);
|
||||
#1342=VECTOR('',#1343,0.00359210244842768);
|
||||
#1343=DIRECTION('',(0.0,0.707,0.707));
|
||||
#1334=ORIENTED_EDGE('',*,*,#1335,.F.);
|
||||
#1344=STYLED_ITEM('',(#52),#1345);
|
||||
#1345=ADVANCED_FACE('',(#1351),#1346,.T.);
|
||||
#1346=PLANE('',#1347);
|
||||
#1347=AXIS2_PLACEMENT_3D('',#1348,#1349,#1350);
|
||||
#1348=CARTESIAN_POINT('',(-1.836,-0.482,0.115));
|
||||
#1349=DIRECTION('',(1.0,0.0,0.0));
|
||||
#1350=DIRECTION('',(0.,0.,1.));
|
||||
#1351=FACE_OUTER_BOUND('',#1352,.T.);
|
||||
#1352=EDGE_LOOP('',(#1353,#1363,#1373,#1383,#1393,#1403));
|
||||
#1353=ORIENTED_EDGE('',*,*,#1335,.T.);
|
||||
#1366=CARTESIAN_POINT('',(-1.836,-0.48,1.077));
|
||||
#1365=VERTEX_POINT('',#1366);
|
||||
#1364=EDGE_CURVE('',#1365,#1326,#1369,.T.);
|
||||
#1369=LINE('',#1366,#1371);
|
||||
#1371=VECTOR('',#1372,0.959394285714286);
|
||||
#1372=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#1363=ORIENTED_EDGE('',*,*,#1364,.F.);
|
||||
#1374=EDGE_CURVE('',#1306,#1365,#1379,.T.);
|
||||
#1379=LINE('',#1307,#1381);
|
||||
#1381=VECTOR('',#1382,0.959394285714286);
|
||||
#1382=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#1373=ORIENTED_EDGE('',*,*,#1374,.F.);
|
||||
#1383=ORIENTED_EDGE('',*,*,#1305,.T.);
|
||||
#1393=ORIENTED_EDGE('',*,*,#1246,.T.);
|
||||
#1403=ORIENTED_EDGE('',*,*,#1148,.T.);
|
||||
#1413=STYLED_ITEM('',(#52),#1414);
|
||||
#1414=ADVANCED_FACE('',(#1420),#1415,.T.);
|
||||
#1415=PLANE('',#1416);
|
||||
#1416=AXIS2_PLACEMENT_3D('',#1417,#1418,#1419);
|
||||
#1417=CARTESIAN_POINT('',(-2.449,0.482,0.115));
|
||||
#1418=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#1419=DIRECTION('',(0.,0.,1.));
|
||||
#1420=FACE_OUTER_BOUND('',#1421,.T.);
|
||||
#1421=EDGE_LOOP('',(#1422,#1432,#1442,#1452,#1462,#1472));
|
||||
#1422=ORIENTED_EDGE('',*,*,#1119,.T.);
|
||||
#1435=CARTESIAN_POINT('',(-2.449,-0.48,0.117));
|
||||
#1434=VERTEX_POINT('',#1435);
|
||||
#1433=EDGE_CURVE('',#1434,#1110,#1438,.T.);
|
||||
#1438=LINE('',#1435,#1440);
|
||||
#1440=VECTOR('',#1441,0.00359210244842768);
|
||||
#1441=DIRECTION('',(0.0,-0.707,-0.707));
|
||||
#1432=ORIENTED_EDGE('',*,*,#1433,.F.);
|
||||
#1445=CARTESIAN_POINT('',(-2.449,0.48,0.117));
|
||||
#1444=VERTEX_POINT('',#1445);
|
||||
#1443=EDGE_CURVE('',#1444,#1434,#1448,.T.);
|
||||
#1448=LINE('',#1445,#1450);
|
||||
#1450=VECTOR('',#1451,0.959394285714286);
|
||||
#1451=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#1442=ORIENTED_EDGE('',*,*,#1443,.F.);
|
||||
#1455=CARTESIAN_POINT('',(-2.449,0.48,1.077));
|
||||
#1454=VERTEX_POINT('',#1455);
|
||||
#1453=EDGE_CURVE('',#1454,#1444,#1458,.T.);
|
||||
#1458=LINE('',#1455,#1460);
|
||||
#1460=VECTOR('',#1461,0.959394285714286);
|
||||
#1461=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#1452=ORIENTED_EDGE('',*,*,#1453,.F.);
|
||||
#1463=EDGE_CURVE('',#1198,#1454,#1468,.T.);
|
||||
#1468=LINE('',#1199,#1470);
|
||||
#1470=VECTOR('',#1471,0.00359210244842771);
|
||||
#1471=DIRECTION('',(0.0,-0.707,-0.707));
|
||||
#1462=ORIENTED_EDGE('',*,*,#1463,.F.);
|
||||
#1472=ORIENTED_EDGE('',*,*,#1197,.T.);
|
||||
#1482=STYLED_ITEM('',(#52),#1483);
|
||||
#1483=ADVANCED_FACE('',(#1489),#1484,.T.);
|
||||
#1484=PLANE('',#1485);
|
||||
#1485=AXIS2_PLACEMENT_3D('',#1486,#1487,#1488);
|
||||
#1486=CARTESIAN_POINT('',(-2.449,-0.48,0.117));
|
||||
#1487=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#1488=DIRECTION('',(0.,0.,1.));
|
||||
#1489=FACE_OUTER_BOUND('',#1490,.T.);
|
||||
#1490=EDGE_LOOP('',(#1491,#1501,#1511,#1521,#1531,#1541));
|
||||
#1491=ORIENTED_EDGE('',*,*,#1433,.T.);
|
||||
#1501=ORIENTED_EDGE('',*,*,#1168,.T.);
|
||||
#1511=ORIENTED_EDGE('',*,*,#1266,.T.);
|
||||
#1521=ORIENTED_EDGE('',*,*,#1463,.T.);
|
||||
#1534=CARTESIAN_POINT('',(-2.449,-0.48,1.077));
|
||||
#1533=VERTEX_POINT('',#1534);
|
||||
#1532=EDGE_CURVE('',#1533,#1454,#1537,.T.);
|
||||
#1537=LINE('',#1534,#1539);
|
||||
#1539=VECTOR('',#1540,0.959394285714286);
|
||||
#1540=DIRECTION('',(0.0,1.0,0.0));
|
||||
#1531=ORIENTED_EDGE('',*,*,#1532,.F.);
|
||||
#1542=EDGE_CURVE('',#1434,#1533,#1547,.T.);
|
||||
#1547=LINE('',#1435,#1549);
|
||||
#1549=VECTOR('',#1550,0.959394285714286);
|
||||
#1550=DIRECTION('',(0.0,0.0,1.0));
|
||||
#1541=ORIENTED_EDGE('',*,*,#1542,.F.);
|
||||
#1551=STYLED_ITEM('',(#52),#1552);
|
||||
#1552=ADVANCED_FACE('',(#1558),#1553,.T.);
|
||||
#1553=PLANE('',#1554);
|
||||
#1554=AXIS2_PLACEMENT_3D('',#1555,#1556,#1557);
|
||||
#1555=CARTESIAN_POINT('',(-2.449,0.48,0.117));
|
||||
#1556=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#1557=DIRECTION('',(0.,0.,1.));
|
||||
#1558=FACE_OUTER_BOUND('',#1559,.T.);
|
||||
#1559=EDGE_LOOP('',(#1560,#1570,#1580,#1590));
|
||||
#1561=EDGE_CURVE('',#1316,#1444,#1566,.T.);
|
||||
#1566=LINE('',#1317,#1568);
|
||||
#1568=VECTOR('',#1569,0.61214);
|
||||
#1569=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#1560=ORIENTED_EDGE('',*,*,#1561,.F.);
|
||||
#1570=ORIENTED_EDGE('',*,*,#1315,.T.);
|
||||
#1581=EDGE_CURVE('',#1454,#1306,#1586,.T.);
|
||||
#1586=LINE('',#1455,#1588);
|
||||
#1588=VECTOR('',#1589,0.61214);
|
||||
#1589=DIRECTION('',(1.0,0.0,0.0));
|
||||
#1580=ORIENTED_EDGE('',*,*,#1581,.F.);
|
||||
#1590=ORIENTED_EDGE('',*,*,#1453,.T.);
|
||||
#1600=STYLED_ITEM('',(#52),#1601);
|
||||
#1601=ADVANCED_FACE('',(#1607),#1602,.T.);
|
||||
#1602=PLANE('',#1603);
|
||||
#1603=AXIS2_PLACEMENT_3D('',#1604,#1605,#1606);
|
||||
#1604=CARTESIAN_POINT('',(-1.836,-0.48,0.117));
|
||||
#1605=DIRECTION('',(0.0,1.0,0.0));
|
||||
#1606=DIRECTION('',(0.,0.,1.));
|
||||
#1607=FACE_OUTER_BOUND('',#1608,.T.);
|
||||
#1608=EDGE_LOOP('',(#1609,#1619,#1629,#1639));
|
||||
#1610=EDGE_CURVE('',#1434,#1326,#1615,.T.);
|
||||
#1615=LINE('',#1435,#1617);
|
||||
#1617=VECTOR('',#1618,0.61214);
|
||||
#1618=DIRECTION('',(1.0,0.0,0.0));
|
||||
#1609=ORIENTED_EDGE('',*,*,#1610,.F.);
|
||||
#1619=ORIENTED_EDGE('',*,*,#1542,.T.);
|
||||
#1630=EDGE_CURVE('',#1365,#1533,#1635,.T.);
|
||||
#1635=LINE('',#1366,#1637);
|
||||
#1637=VECTOR('',#1638,0.61214);
|
||||
#1638=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#1629=ORIENTED_EDGE('',*,*,#1630,.F.);
|
||||
#1639=ORIENTED_EDGE('',*,*,#1364,.T.);
|
||||
#1649=STYLED_ITEM('',(#52),#1650);
|
||||
#1650=ADVANCED_FACE('',(#1656),#1651,.T.);
|
||||
#1651=PLANE('',#1652);
|
||||
#1652=AXIS2_PLACEMENT_3D('',#1653,#1654,#1655);
|
||||
#1653=CARTESIAN_POINT('',(-2.449,-0.48,0.117));
|
||||
#1654=DIRECTION('',(0.0,0.0,1.0));
|
||||
#1655=DIRECTION('',(0.,1.,0.));
|
||||
#1656=FACE_OUTER_BOUND('',#1657,.T.);
|
||||
#1657=EDGE_LOOP('',(#1658,#1668,#1678,#1688));
|
||||
#1658=ORIENTED_EDGE('',*,*,#1610,.T.);
|
||||
#1668=ORIENTED_EDGE('',*,*,#1325,.T.);
|
||||
#1678=ORIENTED_EDGE('',*,*,#1561,.T.);
|
||||
#1688=ORIENTED_EDGE('',*,*,#1443,.T.);
|
||||
#1698=STYLED_ITEM('',(#52),#1699);
|
||||
#1699=ADVANCED_FACE('',(#1705),#1700,.T.);
|
||||
#1700=PLANE('',#1701);
|
||||
#1701=AXIS2_PLACEMENT_3D('',#1702,#1703,#1704);
|
||||
#1702=CARTESIAN_POINT('',(-1.836,-0.48,1.077));
|
||||
#1703=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#1704=DIRECTION('',(0.,1.,0.));
|
||||
#1705=FACE_OUTER_BOUND('',#1706,.T.);
|
||||
#1706=EDGE_LOOP('',(#1707,#1717,#1727,#1737));
|
||||
#1707=ORIENTED_EDGE('',*,*,#1630,.T.);
|
||||
#1717=ORIENTED_EDGE('',*,*,#1532,.T.);
|
||||
#1727=ORIENTED_EDGE('',*,*,#1581,.T.);
|
||||
#1737=ORIENTED_EDGE('',*,*,#1374,.T.);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,141 +0,0 @@
|
|||
#VRML V2.0 utf8
|
||||
# 3D model generated by easyeda2kicad.py (https://github.com/uPesy/easyeda2kicad.py)
|
||||
|
||||
Shape{
|
||||
appearance Appearance {
|
||||
material Material {
|
||||
diffuseColor 1.0 1.0 1.0
|
||||
specularColor 0.5019607843137255 0.5019607843137255 0.5019607843137255
|
||||
ambientIntensity 0.2
|
||||
transparency 0
|
||||
shininess 0.5
|
||||
}
|
||||
}
|
||||
geometry IndexedFaceSet {
|
||||
ccw TRUE
|
||||
solid FALSE
|
||||
coord DEF co Coordinate {
|
||||
point [
|
||||
1.063 0.3937 0.4291, 1.0236 0.3937 0.4291, 1.063 0.1181 0.4291, 1.0236 0.1181 0.4291, 0.6693 0.3937 -0.0039, 1.063 0.3937 -0.0039, 0.6693 -0.3937 -0.0039, 1.063 -0.3937 -0.0039, 0.6693 0.3937 0.0354, 0.6693 -0.3937 0.0354, 1.0236 0.3937 0.0354, 1.0236 -0.3937 0.0354, 1.0236 0.1181 0.3504, 1.0236 -0.1181 0.3504, 1.0236 -0.1181 0.4291, 1.0236 -0.3937 0.4291, 1.063 -0.3937 0.4291, 1.063 -0.1181 0.4291, 1.063 -0.1181 0.3504, 1.063 0.1181 0.3504, -1.0236 0.3937 0.4291, -1.063 0.3937 0.4291, -1.0236 0.1181 0.4291, -1.063 0.1181 0.4291, -1.063 0.3937 -0.0039, -0.6693 0.3937 -0.0039, -1.063 -0.3937 -0.0039, -0.6693 -0.3937 -0.0039, -0.6693 0.3937 0.0354, -0.6693 -0.3937 0.0354, -1.0236 0.3937 0.0354, -1.0236 -0.3937 0.0354, -1.0236 -0.1181 0.4291, -1.0236 -0.3937 0.4291, -1.0236 -0.1181 0.3504, -1.0236 0.1181 0.3504, -1.063 -0.3937 0.4291, -1.063 -0.1181 0.4291, -1.063 0.1181 0.3504, -1.063 -0.1181 0.3504, -1.063 -0.1181 0.3504
|
||||
]
|
||||
}
|
||||
coordIndex [
|
||||
0,1,2,-1,2,1,3,-1,4,5,6,-1,6,5,7,-1,8,4,9,-1,9,4,6,-1,10,8,11,-1,11,8,9,-1,3,1,12,-1,12,1,10,-1,12,10,13,-1,13,10,11,-1,13,11,14,-1,14,11,15,-1,15,16,14,-1,14,16,17,-1,17,16,18,-1,18,16,7,-1,18,7,19,-1,19,7,5,-1,19,5,2,-1,2,5,0,-1,1,0,10,-1,10,0,5,-1,10,5,8,-1,8,5,4,-1,9,6,11,-1,11,6,7,-1,11,7,15,-1,15,7,16,-1,19,2,12,-1,12,2,3,-1,18,19,13,-1,13,19,12,-1,17,18,14,-1,14,18,13,-1,20,21,22,-1,22,21,23,-1,24,25,26,-1,26,25,27,-1,25,28,27,-1,27,28,29,-1,28,30,29,-1,29,30,31,-1,32,33,34,-1,34,33,31,-1,34,31,35,-1,35,31,30,-1,35,30,22,-1,22,30,20,-1,36,33,37,-1,37,33,32,-1,23,21,38,-1,38,21,24,-1,38,24,39,-1,39,24,26,-1,39,26,37,-1,37,26,36,-1,28,25,30,-1,30,25,24,-1,30,24,20,-1,20,24,21,-1,33,36,31,-1,31,36,26,-1,31,26,29,-1,29,26,27,-1,23,38,22,-1,22,38,35,-1,38,39,35,-1,35,39,34,-1,39,37,34,-1,34,37,32,-1,
|
||||
]
|
||||
}
|
||||
}
|
||||
Shape{
|
||||
appearance Appearance {
|
||||
material Material {
|
||||
diffuseColor 0.5019607843137255 0.5019607843137255 0.5019607843137255
|
||||
specularColor 0.25098039215686274 0.25098039215686274 0.25098039215686274
|
||||
ambientIntensity 0.2
|
||||
transparency 0
|
||||
shininess 0.5
|
||||
}
|
||||
}
|
||||
geometry IndexedFaceSet {
|
||||
ccw TRUE
|
||||
solid FALSE
|
||||
coord DEF co Coordinate {
|
||||
point [
|
||||
-0.2222 0.1878 0.7874, -0.2222 -0.0715 0.7874, -0.1646 -0.0715 0.7874, 0.2712 -0.2059 0.7874, 0.2865 -0.132 0.7874, 0.2147 0.1446 0.7874, 0.3151 -0.0463 0.7874, -0.0135 -0.0379 0.7874, -0.0493 -0.0379 0.7874, -0.0493 -0.2059 0.7874, 0.4596 0.1578 0.7874, 0.4 0.0392 0.7874, 1.0236 -0.8071 0.7874, 0.3589 -0.063 0.7874, 0.3342 -0.1476 0.7874, 0.324 -0.2059 0.7874, 0.1379 0.0835 0.7874, 0.1353 0.0567 0.7874, 0.1283 0.0353 0.7874, 0.1173 0.0175 0.7874, 0.3595 0.0546 0.7874, 0.3935 0.1204 0.7874, 0.4068 0.1446 0.7874, 0.4596 0.1878 0.7874, 1.0236 0.8071 0.7874, 1.0169 0.858 0.7874, 0.0526 -0.0218 0.7874, 0.0526 -0.0231 0.7874, 0.0565 -0.0206 0.7874, 0.0704 -0.0335 0.7874, 0.0878 -0.0074 0.7874, 0.9972 0.9055 0.7874, 0.966 0.9463 0.7874, 0.9252 0.9776 0.7874, 0.1085 0.0079 0.7874, 0.0835 -0.0464 0.7874, 0.8268 -1.0039 0.7874, 0.8777 -0.9972 0.7874, 0.1811 -0.2059 0.7874, 0.9252 -0.9776 0.7874, 0.966 -0.9463 0.7874, 0.1067 -0.0797 0.7874, 0.111 -0.0868 0.7874, 0.9972 -0.9055 0.7874, 1.0169 -0.858 0.7874, 0.1235 -0.2059 0.7874, 0.0596 -0.0951 0.7874, 0.0387 -0.0639 0.7874, 0.025 -0.0503 0.7874, 0.013 -0.0431 0.7874, -0.0015 -0.0388 0.7874, -0.2702 -0.2059 0.7874, -0.2702 -0.1147 0.7874, -0.4526 -0.1147 0.7874, -1.0169 0.858 0.7874, -1.0236 0.8071 0.7874, -0.3134 0.1166 0.7874, -0.966 -0.9463 0.7874, -0.2222 -0.2059 0.7874, -0.9972 -0.9055 0.7874, -1.0169 -0.858 0.7874, -0.8268 -1.0039 0.7874, -0.1021 -0.2059 0.7874, -0.8777 -0.9972 0.7874, -0.9252 -0.9776 0.7874, -0.3826 0.0137 0.7874, -1.0236 -0.8071 0.7874, -0.4526 -0.0737 0.7874, 0.0493 0.1852 0.7874, 0.078 0.1771 0.7874, 0.2147 0.1878 0.7874, 0.0994 0.1652 0.7874, -0.1021 0.1878 0.7874, 0.0166 0.1878 0.7874, -0.8268 1.0039 0.7874, 0.8268 1.0039 0.7874, 0.8777 0.9972 0.7874, 0.1099 0.1565 0.7874, 0.1229 0.1407 0.7874, 0.1321 0.1217 0.7874, 0.1374 0.0958 0.7874, -0.8777 0.9972 0.7874, -0.9252 0.9776 0.7874, -0.966 0.9463 0.7874, -0.9972 0.9055 0.7874, -0.2222 -0.1147 0.7874, -0.1646 -0.1147 0.7874, -0.2735 0.1878 0.7874, 0.8268 -1.0039 0.0, -0.0274 -1.0039 0.0, 0.5118 -0.4724 0.0, -0.5118 -0.4724 0.0, -0.5118 -0.0566 0.0, -0.0274 -0.0566 0.0, -1.0169 -0.858 0.0, -1.0236 -0.8071 0.0, -0.8268 -1.0039 0.0, -1.0236 -0.4724 0.0, -0.8777 -0.9972 0.0, -0.9252 -0.9776 0.0, -0.966 -0.9463 0.0, -0.9972 -0.9055 0.0, 0.0951 -0.0566 0.0, 0.0998 -0.0573 0.0, 0.103 -0.0573 0.0, 0.5118 -0.0566 0.0, 1.0236 -0.4724 0.0, 1.0236 -0.8071 0.0, 0.8777 -0.9972 0.0, 0.9252 -0.9776 0.0, 0.966 -0.9463 0.0, 1.0169 -0.858 0.0, 0.9972 -0.9055 0.0, -0.0274 1.0039 0.0, -0.0159 -0.0429 0.0, -0.0159 -0.0559 0.0, 0.0475 -0.0559 0.0, -0.013 0.0493 0.0, 0.0317 0.0493 0.0, 0.0317 0.0104 0.0, 0.0705 -0.0498 0.0, 0.0705 -0.0368 0.0, 0.0475 0.0622 0.0, 0.0831 -0.0549 0.0, 0.5118 0.4724 0.0, 1.0236 0.4724 0.0, 0.8268 1.0039 0.0, 1.0236 0.8071 0.0, 1.0169 0.858 0.0, 0.0317 -0.0026 0.0, 0.0317 -0.0429 0.0, -0.0101 -0.0026 0.0, -0.0101 0.0104 0.0, 0.8777 0.9972 0.0, 0.9252 0.9776 0.0, 0.9972 0.9055 0.0, 0.966 0.9463 0.0, 0.229 -0.0559 0.0, 0.11 -0.0566 0.0, 0.1685 -0.0559 0.0, 0.1176 -0.0558 0.0, 0.129 -0.0519 0.0, -0.013 0.0622 0.0, 0.1098 0.0494 0.0, 0.1187 0.0462 0.0, 0.0727 -0.038 0.0, 0.1269 0.0407 0.0, 0.134 0.0329 0.0, 0.1426 0.0019 0.0, 0.1414 -0.0109 0.0, 0.1382 -0.021 0.0, 0.1119 -0.0431 0.0, 0.1009 -0.0444 0.0, 0.1205 -0.04 0.0, 0.1277 -0.0351 0.0, 0.1333 -0.0292 0.0, 0.0852 -0.0426 0.0, 0.1522 0.0311 0.0, 0.1453 0.0422 0.0, 0.2131 0.0622 0.0, 0.1389 0.0237 0.0, 0.142 0.0111 0.0, 0.1346 0.0524 0.0, 0.229 0.0622 0.0, 0.1385 -0.0458 0.0, 0.1474 -0.0365 0.0, 0.1685 -0.0429 0.0, 0.1537 -0.0252 0.0, 0.2131 -0.0429 0.0, 0.1573 -0.0127 0.0, 0.1584 0.0009 0.0, 0.1567 0.0177 0.0, 0.1234 0.0589 0.0, 0.1102 0.0627 0.0, 0.0983 0.0637 0.0, 0.0842 0.0627 0.0, 0.0705 0.059 0.0, 0.0705 0.0431 0.0, 0.0839 0.0488 0.0, 0.0982 0.0507 0.0, -0.1426 -0.0559 0.0, -0.1281 -0.0235 0.0, -0.1213 -0.0341 0.0, -0.5118 0.4724 0.0, -1.0236 0.4724 0.0, -1.0236 0.8071 0.0, -0.8268 1.0039 0.0, -0.8777 0.9972 0.0, -0.1116 -0.0434 0.0, -0.0993 -0.0505 0.0, -0.0857 -0.0546 0.0, -0.2319 -0.0559 0.0, -0.2492 -0.0559 0.0, -0.2031 0.0622 0.0, -0.1873 0.0622 0.0, -0.071 -0.0559 0.0, -0.0389 -0.0559 0.0, -0.0389 0.0622 0.0, -0.0723 0.0622 0.0, -0.1161 0.0468 0.0, -0.1245 0.0376 0.0, -0.13 0.0274 0.0, -0.1599 -0.0559 0.0, -0.1712 -0.0228 0.0, -0.22 -0.0228 0.0, -0.0893 0.0604 0.0, -0.1031 0.0556 0.0, -0.116 0.0469 0.0, -1.0169 0.858 0.0, -0.9972 0.9055 0.0, -0.9252 0.9776 0.0, -0.966 0.9463 0.0, -0.1331 0.0158 0.0, -0.134 0.0047 0.0, -0.1323 -0.0111 0.0, -1.0236 -0.437 0.0354, -1.0236 0.437 0.0354, 1.0236 0.437 0.0354, 1.0236 -0.437 0.0354, 0.5472 -0.437 0.0354, 0.5472 0.437 0.0354, -0.5472 -0.437 0.0354, -0.5472 0.437 0.0354, -0.5472 0.437 0.0354
|
||||
]
|
||||
}
|
||||
coordIndex [
|
||||
0,1,2,-1,3,4,5,-1,5,4,6,-1,7,8,9,-1,10,11,12,-1,12,11,13,-1,13,14,12,-1,12,14,15,-1,12,15,3,-1,16,17,3,-1,3,17,18,-1,3,18,19,-1,6,20,5,-1,5,20,21,-1,5,21,22,-1,10,12,23,-1,23,12,24,-1,23,24,25,-1,26,27,28,-1,28,27,29,-1,28,29,30,-1,25,31,23,-1,23,31,32,-1,23,32,33,-1,30,29,34,-1,34,29,35,-1,34,35,19,-1,36,37,38,-1,38,37,39,-1,38,39,40,-1,35,41,19,-1,19,41,42,-1,19,42,3,-1,3,42,38,-1,3,38,12,-1,40,43,38,-1,38,43,44,-1,38,44,12,-1,45,46,9,-1,9,46,47,-1,9,47,48,-1,48,49,9,-1,9,49,50,-1,9,50,7,-1,51,52,53,-1,54,55,56,-1,57,58,59,-1,59,58,51,-1,59,51,60,-1,38,45,36,-1,36,45,9,-1,36,9,61,-1,61,9,62,-1,61,62,63,-1,63,62,58,-1,63,58,64,-1,64,58,57,-1,56,55,65,-1,60,51,66,-1,66,51,53,-1,66,53,55,-1,55,53,67,-1,55,67,65,-1,68,69,70,-1,70,69,71,-1,72,73,74,-1,73,68,74,-1,74,68,70,-1,74,70,75,-1,75,70,23,-1,75,23,76,-1,76,23,33,-1,71,77,70,-1,70,77,78,-1,70,78,5,-1,5,78,79,-1,5,79,3,-1,3,79,80,-1,3,80,16,-1,74,81,56,-1,56,81,82,-1,82,83,56,-1,56,83,84,-1,56,84,54,-1,85,58,86,-1,86,58,62,-1,86,62,2,-1,2,62,72,-1,2,72,0,-1,0,72,74,-1,0,74,87,-1,87,74,56,-1,88,89,90,-1,91,92,93,-1,94,95,96,-1,96,95,97,-1,96,97,89,-1,98,99,100,-1,98,100,96,-1,96,100,101,-1,96,101,94,-1,102,103,89,-1,89,103,90,-1,90,103,104,-1,90,104,105,-1,90,106,88,-1,88,106,107,-1,88,107,108,-1,108,107,109,-1,109,107,110,-1,110,107,111,-1,110,111,112,-1,113,114,93,-1,93,114,115,-1,93,115,116,-1,117,118,119,-1,120,116,121,-1,121,116,122,-1,97,91,89,-1,89,91,93,-1,89,93,102,-1,102,93,116,-1,102,116,123,-1,123,116,120,-1,124,113,125,-1,125,113,126,-1,125,126,127,-1,127,126,128,-1,129,130,131,-1,131,130,114,-1,131,114,132,-1,126,133,128,-1,128,133,134,-1,128,134,135,-1,135,134,136,-1,137,138,139,-1,139,138,140,-1,139,140,141,-1,119,132,117,-1,117,132,114,-1,117,114,142,-1,142,114,113,-1,142,113,122,-1,143,144,145,-1,145,144,146,-1,145,146,147,-1,148,149,145,-1,145,149,150,-1,151,152,153,-1,153,152,154,-1,150,155,145,-1,145,155,154,-1,145,154,156,-1,156,154,152,-1,157,158,159,-1,147,160,145,-1,145,160,161,-1,145,161,148,-1,158,162,159,-1,159,162,113,-1,159,113,163,-1,163,113,124,-1,163,124,137,-1,137,124,105,-1,137,105,138,-1,138,105,104,-1,141,164,139,-1,139,164,165,-1,139,165,166,-1,166,165,167,-1,166,167,168,-1,167,169,168,-1,168,169,170,-1,168,170,159,-1,159,170,171,-1,159,171,157,-1,162,172,113,-1,113,172,173,-1,113,173,174,-1,174,175,113,-1,113,175,176,-1,113,176,122,-1,122,176,177,-1,122,177,121,-1,121,177,178,-1,121,178,145,-1,145,178,179,-1,145,179,143,-1,180,181,182,-1,183,184,113,-1,113,184,185,-1,113,185,186,-1,186,185,187,-1,182,188,180,-1,180,188,189,-1,180,189,190,-1,191,93,192,-1,192,93,92,-1,192,92,193,-1,193,92,183,-1,193,183,194,-1,194,183,113,-1,195,196,93,-1,93,196,197,-1,93,197,113,-1,113,197,198,-1,199,200,194,-1,194,200,201,-1,190,195,180,-1,180,195,93,-1,180,93,202,-1,202,93,191,-1,202,191,203,-1,203,191,204,-1,198,205,113,-1,113,205,206,-1,113,206,194,-1,194,206,207,-1,194,207,199,-1,185,208,187,-1,187,208,209,-1,187,209,210,-1,210,209,211,-1,201,212,194,-1,194,212,213,-1,194,213,180,-1,180,213,214,-1,180,214,181,-1,97,95,215,-1,215,95,66,-1,215,66,216,-1,216,66,55,-1,216,55,184,-1,184,55,185,-1,125,127,217,-1,217,127,24,-1,217,24,218,-1,218,24,12,-1,218,12,106,-1,106,12,107,-1,75,126,74,-1,74,126,113,-1,74,113,186,-1,88,36,89,-1,89,36,61,-1,89,61,96,-1,219,220,218,-1,218,220,217,-1,215,216,221,-1,221,216,222,-1,66,95,94,-1,66,94,60,-1,60,94,101,-1,60,101,59,-1,59,101,100,-1,59,100,57,-1,57,100,99,-1,57,99,64,-1,64,99,98,-1,64,98,63,-1,63,98,96,-1,63,96,61,-1,74,186,187,-1,74,187,81,-1,81,187,210,-1,81,210,82,-1,82,210,211,-1,82,211,83,-1,83,211,209,-1,83,209,84,-1,84,209,208,-1,84,208,54,-1,54,208,185,-1,54,185,55,-1,36,88,108,-1,36,108,37,-1,37,108,109,-1,37,109,39,-1,39,109,110,-1,39,110,40,-1,40,110,112,-1,40,112,43,-1,43,112,111,-1,43,111,44,-1,44,111,107,-1,44,107,12,-1,24,127,128,-1,24,128,25,-1,25,128,135,-1,25,135,31,-1,31,135,136,-1,31,136,32,-1,32,136,134,-1,32,134,33,-1,33,134,133,-1,33,133,76,-1,76,133,126,-1,76,126,75,-1,
|
||||
]
|
||||
}
|
||||
}
|
||||
Shape{
|
||||
appearance Appearance {
|
||||
material Material {
|
||||
diffuseColor 0.0 0.0 0.0
|
||||
specularColor 0.0 0.0 0.0
|
||||
ambientIntensity 0.2
|
||||
transparency 0
|
||||
shininess 0.5
|
||||
}
|
||||
}
|
||||
geometry IndexedFaceSet {
|
||||
ccw TRUE
|
||||
solid FALSE
|
||||
coord DEF co Coordinate {
|
||||
point [
|
||||
-0.2031 0.0622 0.0004, -0.2492 -0.0559 0.0004, -0.2031 0.0622 0.0, -0.2492 -0.0559 0.0, -0.2319 -0.0559 0.0004, -0.2319 -0.0559 0.0, -0.22 -0.0228 0.0004, -0.22 -0.0228 0.0, -0.1712 -0.0228 0.0004, -0.1712 -0.0228 0.0, -0.1599 -0.0559 0.0004, -0.1599 -0.0559 0.0, -0.1426 -0.0559 0.0004, -0.1426 -0.0559 0.0, -0.1873 0.0622 0.0004, -0.1873 0.0622 0.0, -0.1752 -0.0098 0.0004, -0.2147 -0.0098 0.0004, -0.1928 0.0395 0.0004, -0.1939 0.0436 0.0004, -0.1947 0.0478 0.0004, -0.1951 0.0478 0.0004, -0.1958 0.0437 0.0004, -0.1969 0.0395 0.0004, -0.1752 -0.0098 0.0, -0.2147 -0.0098 0.0, -0.1928 0.0395 0.0, -0.1939 0.0436 0.0, -0.1947 0.0478 0.0, -0.1951 0.0478 0.0, -0.1958 0.0437 0.0, -0.1969 0.0395 0.0, -0.071 -0.0559 0.0004, -0.0389 -0.0559 0.0004, -0.071 -0.0559 0.0, -0.0389 -0.0559 0.0, -0.0389 0.0622 0.0004, -0.0389 0.0622 0.0, -0.0723 0.0622 0.0004, -0.0723 0.0622 0.0, -0.134 0.0047 0.0004, -0.134 0.0047 0.0, -0.1331 0.0158 0.0, -0.1331 0.0158 0.0004, -0.13 0.0274 0.0, -0.13 0.0274 0.0004, -0.1245 0.0376 0.0, -0.1245 0.0376 0.0004, -0.1161 0.0468 0.0, -0.1161 0.0468 0.0004, -0.116 0.0469 0.0, -0.116 0.0469 0.0004, -0.1031 0.0556 0.0, -0.1031 0.0556 0.0004, -0.0893 0.0604 0.0, -0.0893 0.0604 0.0004, -0.0857 -0.0546 0.0, -0.0857 -0.0546 0.0004, -0.0993 -0.0505 0.0, -0.0993 -0.0505 0.0004, -0.1116 -0.0434 0.0, -0.1116 -0.0434 0.0004, -0.1213 -0.0341 0.0, -0.1213 -0.0341 0.0004, -0.1281 -0.0235 0.0, -0.1281 -0.0235 0.0004, -0.1323 -0.0111 0.0, -0.1323 -0.0111 0.0004, -0.1103 0.0327 0.0004, -0.1045 0.0388 0.0004, -0.0959 0.0444 0.0004, -0.0862 0.0478 0.0004, -0.0722 0.0493 0.0004, -0.0548 0.0493 0.0004, -0.0548 -0.0429 0.0004, -0.0715 -0.0429 0.0004, -0.084 -0.0418 0.0004, -0.0939 -0.0387 0.0004, -0.102 -0.0339 0.0004, -0.1086 -0.0273 0.0004, -0.1136 -0.0192 0.0004, -0.1171 -0.0081 0.0004, -0.1181 0.0043 0.0004, -0.1171 0.0161 0.0004, -0.1144 0.0254 0.0004, -0.0722 0.0493 0.0, -0.0548 0.0493 0.0, -0.0862 0.0478 0.0, -0.0959 0.0444 0.0, -0.1045 0.0388 -0.0, -0.1103 0.0327 0.0, -0.1144 0.0254 -0.0, -0.1171 0.0161 -0.0, -0.1181 0.0043 0.0, -0.1171 -0.0081 0.0, -0.1136 -0.0192 0.0, -0.1086 -0.0273 0.0, -0.102 -0.0339 0.0, -0.0939 -0.0387 0.0, -0.084 -0.0418 0.0, -0.0715 -0.0429 0.0, -0.0548 -0.0429 0.0, -0.0159 -0.0429 0.0004, -0.0159 -0.0559 0.0004, -0.0159 -0.0429 0.0, -0.0159 -0.0559 0.0, 0.0475 -0.0559 0.0004, 0.0475 -0.0559 0.0, 0.0475 0.0622 0.0004, 0.0475 0.0622 0.0, -0.013 0.0622 0.0004, -0.013 0.0622 0.0, -0.013 0.0493 0.0004, -0.013 0.0493 0.0, 0.0317 0.0493 0.0004, 0.0317 0.0493 0.0, 0.0317 0.0104 0.0004, 0.0317 0.0104 0.0, -0.0101 0.0104 0.0004, -0.0101 0.0104 0.0, -0.0101 -0.0026 0.0004, -0.0101 -0.0026 0.0, 0.0317 -0.0026 0.0004, 0.0317 -0.0026 0.0, 0.0317 -0.0429 0.0004, 0.0317 -0.0429 0.0, 0.0705 -0.0368 0.0004, 0.0705 -0.0498 0.0004, 0.0705 -0.0368 0.0, 0.0705 -0.0498 0.0, 0.0831 -0.0549 0.0004, 0.103 -0.0573 0.0004, 0.103 -0.0573 0.0, 0.0998 -0.0573 0.0, 0.0998 -0.0573 0.0004, 0.0951 -0.0566 0.0, 0.0831 -0.0549 0.0, 0.11 -0.0566 0.0, 0.1176 -0.0558 0.0004, 0.1176 -0.0558 0.0, 0.129 -0.0519 0.0004, 0.129 -0.0519 0.0, 0.1385 -0.0458 0.0004, 0.1385 -0.0458 0.0, 0.1474 -0.0365 0.0004, 0.1474 -0.0365 0.0, 0.1537 -0.0252 0.0004, 0.1537 -0.0252 0.0, 0.1573 -0.0127 0.0004, 0.1573 -0.0127 0.0, 0.1584 0.0009 0.0004, 0.1584 0.0009 0.0, 0.0983 0.0637 0.0004, 0.0983 0.0637 0.0, 0.1102 0.0627 0.0, 0.1102 0.0627 0.0004, 0.1234 0.0589 0.0, 0.1234 0.0589 0.0004, 0.1346 0.0524 0.0, 0.1346 0.0524 0.0004, 0.1453 0.0422 0.0, 0.1453 0.0422 0.0004, 0.1522 0.0311 0.0, 0.1522 0.0311 0.0004, 0.1567 0.0177 0.0, 0.1567 0.0177 0.0004, 0.0705 0.059 0.0004, 0.0705 0.059 0.0, 0.0842 0.0627 0.0, 0.0842 0.0627 0.0004, 0.0705 0.0431 0.0004, 0.0705 0.0431 0.0, 0.0982 0.0507 0.0004, 0.0982 0.0507 0.0, 0.0839 0.0488 0.0, 0.0839 0.0488 0.0004, 0.1426 0.0019 0.0004, 0.1426 0.0019 0.0, 0.142 0.0111 0.0, 0.142 0.0111 0.0004, 0.1389 0.0237 0.0, 0.1389 0.0237 0.0004, 0.134 0.0329 0.0, 0.134 0.0329 0.0004, 0.1269 0.0407 0.0, 0.1269 0.0407 0.0004, 0.1187 0.0462 0.0, 0.1187 0.0462 0.0004, 0.1098 0.0494 0.0, 0.1098 0.0494 0.0004, 0.1009 -0.0444 0.0004, 0.1009 -0.0444 0.0, 0.1119 -0.0431 0.0, 0.1119 -0.0431 0.0004, 0.1205 -0.04 0.0, 0.1205 -0.04 0.0004, 0.1277 -0.0351 0.0, 0.1277 -0.0351 0.0004, 0.1333 -0.0292 0.0, 0.1333 -0.0292 0.0004, 0.1382 -0.021 0.0, 0.1382 -0.021 0.0004, 0.1414 -0.0109 0.0, 0.1414 -0.0109 0.0004, 0.0727 -0.038 0.0, 0.0727 -0.038 0.0004, 0.0852 -0.0426 0.0, 0.0852 -0.0426 0.0004, 0.1685 -0.0429 0.0004, 0.1685 -0.0559 0.0004, 0.1685 -0.0429 0.0, 0.1685 -0.0559 0.0, 0.229 -0.0559 0.0004, 0.229 -0.0559 0.0, 0.229 0.0622 0.0004, 0.229 0.0622 0.0, 0.2131 0.0622 0.0004, 0.2131 0.0622 0.0, 0.2131 -0.0429 0.0004, 0.2131 -0.0429 0.0, 0.2131 -0.0429 0.0
|
||||
]
|
||||
}
|
||||
coordIndex [
|
||||
0,1,2,-1,2,1,3,-1,1,4,3,-1,3,4,5,-1,4,6,5,-1,5,6,7,-1,6,8,7,-1,7,8,9,-1,8,10,9,-1,9,10,11,-1,10,12,11,-1,11,12,13,-1,12,14,13,-1,13,14,15,-1,14,0,15,-1,15,0,2,-1,16,8,17,-1,17,8,6,-1,18,14,16,-1,16,14,12,-1,16,12,8,-1,8,12,10,-1,18,19,14,-1,14,19,20,-1,14,20,0,-1,0,20,21,-1,0,21,22,-1,22,23,0,-1,0,23,17,-1,0,17,1,-1,1,17,6,-1,1,6,4,-1,16,17,24,-1,24,17,25,-1,18,16,26,-1,26,16,24,-1,18,26,27,-1,18,27,19,-1,19,27,28,-1,19,28,20,-1,21,20,29,-1,29,20,28,-1,21,29,30,-1,21,30,22,-1,22,30,31,-1,22,31,23,-1,17,23,25,-1,25,23,31,-1,32,33,34,-1,34,33,35,-1,33,36,35,-1,35,36,37,-1,36,38,37,-1,37,38,39,-1,40,41,42,-1,40,42,43,-1,43,42,44,-1,43,44,45,-1,45,44,46,-1,45,46,47,-1,47,46,48,-1,47,48,49,-1,49,48,50,-1,49,50,51,-1,51,50,52,-1,51,52,53,-1,53,52,54,-1,53,54,55,-1,55,54,39,-1,55,39,38,-1,32,34,56,-1,32,56,57,-1,57,56,58,-1,57,58,59,-1,59,58,60,-1,59,60,61,-1,61,60,62,-1,61,62,63,-1,63,62,64,-1,63,64,65,-1,65,64,66,-1,65,66,67,-1,67,66,41,-1,67,41,40,-1,45,47,68,-1,68,47,49,-1,68,49,69,-1,69,49,51,-1,69,51,70,-1,70,51,53,-1,70,53,71,-1,71,53,55,-1,71,55,72,-1,72,55,38,-1,72,38,73,-1,73,38,36,-1,73,36,74,-1,74,36,33,-1,74,33,75,-1,75,33,32,-1,75,32,76,-1,76,32,57,-1,76,57,77,-1,77,57,59,-1,77,59,78,-1,78,59,61,-1,78,61,79,-1,79,61,63,-1,79,63,80,-1,80,63,65,-1,80,65,81,-1,81,65,67,-1,81,67,82,-1,82,67,40,-1,82,40,83,-1,83,40,43,-1,83,43,84,-1,84,43,45,-1,84,45,68,-1,72,73,85,-1,85,73,86,-1,72,85,87,-1,72,87,71,-1,71,87,88,-1,71,88,70,-1,70,88,89,-1,70,89,69,-1,69,89,90,-1,69,90,68,-1,68,90,91,-1,68,91,84,-1,84,91,92,-1,84,92,83,-1,83,92,93,-1,83,93,82,-1,82,93,94,-1,82,94,81,-1,81,94,95,-1,81,95,80,-1,80,95,96,-1,80,96,79,-1,79,96,97,-1,79,97,78,-1,78,97,98,-1,78,98,77,-1,77,98,99,-1,77,99,76,-1,76,99,100,-1,76,100,75,-1,74,75,101,-1,101,75,100,-1,73,74,86,-1,86,74,101,-1,102,103,104,-1,104,103,105,-1,103,106,105,-1,105,106,107,-1,106,108,107,-1,107,108,109,-1,108,110,109,-1,109,110,111,-1,110,112,111,-1,111,112,113,-1,112,114,113,-1,113,114,115,-1,114,116,115,-1,115,116,117,-1,116,118,117,-1,117,118,119,-1,118,120,119,-1,119,120,121,-1,120,122,121,-1,121,122,123,-1,122,124,123,-1,123,124,125,-1,124,102,125,-1,125,102,104,-1,106,103,102,-1,102,124,106,-1,106,124,122,-1,106,122,108,-1,112,110,114,-1,114,110,108,-1,114,108,116,-1,116,108,122,-1,116,122,118,-1,118,122,120,-1,126,127,128,-1,128,127,129,-1,129,127,130,-1,131,132,133,-1,131,133,134,-1,134,133,135,-1,134,135,130,-1,130,135,136,-1,130,136,129,-1,132,131,137,-1,137,131,138,-1,137,138,139,-1,139,138,140,-1,139,140,141,-1,141,140,142,-1,141,142,143,-1,143,142,144,-1,143,144,145,-1,145,144,146,-1,145,146,147,-1,147,146,148,-1,147,148,149,-1,149,148,150,-1,149,150,151,-1,152,153,154,-1,152,154,155,-1,155,154,156,-1,155,156,157,-1,157,156,158,-1,157,158,159,-1,159,158,160,-1,159,160,161,-1,161,160,162,-1,161,162,163,-1,163,162,164,-1,163,164,165,-1,165,164,151,-1,165,151,150,-1,166,167,168,-1,166,168,169,-1,169,168,153,-1,169,153,152,-1,166,170,167,-1,167,170,171,-1,172,173,174,-1,172,174,175,-1,175,174,171,-1,175,171,170,-1,176,177,178,-1,176,178,179,-1,179,178,180,-1,179,180,181,-1,181,180,182,-1,181,182,183,-1,183,182,184,-1,183,184,185,-1,185,184,186,-1,185,186,187,-1,187,186,188,-1,187,188,189,-1,189,188,173,-1,189,173,172,-1,190,191,192,-1,190,192,193,-1,193,192,194,-1,193,194,195,-1,195,194,196,-1,195,196,197,-1,197,196,198,-1,197,198,199,-1,199,198,200,-1,199,200,201,-1,201,200,202,-1,201,202,203,-1,203,202,177,-1,203,177,176,-1,126,128,204,-1,126,204,205,-1,205,204,206,-1,205,206,207,-1,207,206,191,-1,207,191,190,-1,193,131,190,-1,190,131,134,-1,190,134,207,-1,207,134,130,-1,207,130,205,-1,205,130,127,-1,205,127,126,-1,170,166,175,-1,175,166,169,-1,175,169,172,-1,172,169,152,-1,172,152,189,-1,189,152,155,-1,189,155,187,-1,187,155,157,-1,187,157,185,-1,185,157,159,-1,185,159,183,-1,183,159,161,-1,183,161,181,-1,181,161,163,-1,181,163,179,-1,179,163,165,-1,179,165,176,-1,176,165,150,-1,176,150,203,-1,203,150,148,-1,203,148,201,-1,201,148,146,-1,201,146,199,-1,199,146,144,-1,199,144,197,-1,197,144,142,-1,197,142,195,-1,195,142,140,-1,195,140,193,-1,193,140,138,-1,193,138,131,-1,208,209,210,-1,210,209,211,-1,209,212,211,-1,211,212,213,-1,212,214,213,-1,213,214,215,-1,214,216,215,-1,215,216,217,-1,216,218,217,-1,217,218,219,-1,218,208,219,-1,219,208,210,-1,216,214,218,-1,218,214,212,-1,218,212,208,-1,208,212,209,-1,
|
||||
]
|
||||
}
|
||||
}
|
||||
Shape{
|
||||
appearance Appearance {
|
||||
material Material {
|
||||
diffuseColor 0.5019607843137255 0.5019607843137255 0.5019607843137255
|
||||
specularColor 0.25098039215686274 0.25098039215686274 0.25098039215686274
|
||||
ambientIntensity 0.2
|
||||
transparency 0
|
||||
shininess 0.5
|
||||
}
|
||||
}
|
||||
geometry IndexedFaceSet {
|
||||
ccw TRUE
|
||||
solid FALSE
|
||||
coord DEF co Coordinate {
|
||||
point [
|
||||
-0.1752 -0.0098 0.0, -0.2147 -0.0098 0.0, -0.1928 0.0395 0.0, -0.1969 0.0395 0.0, -0.1939 0.0436 0.0, -0.1958 0.0437 0.0, -0.1947 0.0478 0.0, -0.1951 0.0478 0.0, -0.0548 0.0493 0.0, -0.0548 -0.0429 0.0, -0.0722 0.0493 0.0, -0.0715 -0.0429 0.0, -0.084 -0.0418 0.0, -0.1181 0.0043 0.0, -0.1171 0.0161 -0.0, -0.1144 0.0254 -0.0, -0.0862 0.0478 0.0, -0.0939 -0.0387 0.0, -0.102 -0.0339 0.0, -0.1086 -0.0273 0.0, -0.1136 -0.0192 0.0, -0.1171 -0.0081 0.0, -0.1103 0.0327 0.0, -0.1045 0.0388 -0.0, -0.0959 0.0444 0.0, -0.5472 -0.437 0.0354, -0.5118 -0.4724 0.0, -1.0236 -0.437 0.0354, -1.0236 -0.4724 0.0, -0.5118 -0.0566 0.0, -0.5472 0.437 0.0354, -0.5118 0.4724 0.0, -1.0236 0.4724 0.0, -1.0236 0.437 0.0354, 0.5472 0.437 0.0354, 0.5118 0.4724 0.0, 1.0236 0.437 0.0354, 1.0236 0.4724 0.0, 0.5118 -0.0566 0.0, 0.5472 -0.437 0.0354, 0.5118 -0.4724 0.0, 1.0236 -0.437 0.0354, 1.0236 -0.4724 0.0, 1.0236 -0.4724 0.0
|
||||
]
|
||||
}
|
||||
coordIndex [
|
||||
0,1,2,-1,2,1,3,-1,2,3,4,-1,4,3,5,-1,4,5,6,-1,6,5,7,-1,8,9,10,-1,10,9,11,-1,10,11,12,-1,13,14,10,-1,10,14,15,-1,10,15,16,-1,12,17,10,-1,10,17,18,-1,10,18,19,-1,19,20,10,-1,10,20,21,-1,10,21,13,-1,22,23,15,-1,15,23,24,-1,15,24,16,-1,25,26,27,-1,27,26,28,-1,26,25,29,-1,29,25,30,-1,29,30,31,-1,31,30,32,-1,32,30,33,-1,34,35,36,-1,36,35,37,-1,35,34,38,-1,38,34,39,-1,38,39,40,-1,41,42,39,-1,39,42,40,-1,
|
||||
]
|
||||
}
|
||||
}
|
||||
Shape{
|
||||
appearance Appearance {
|
||||
material Material {
|
||||
diffuseColor 0.0 0.0 0.0
|
||||
specularColor 0.0 0.0 0.0
|
||||
ambientIntensity 0.2
|
||||
transparency 0
|
||||
shininess 0.5
|
||||
}
|
||||
}
|
||||
geometry IndexedFaceSet {
|
||||
ccw TRUE
|
||||
solid FALSE
|
||||
coord DEF co Coordinate {
|
||||
point [
|
||||
0.4596 0.1878 0.787, 0.4596 0.1578 0.787, 0.4596 0.1878 0.7874, 0.4596 0.1578 0.7874, 0.324 -0.2059 0.787, 0.324 -0.2059 0.7874, 0.3342 -0.1476 0.7874, 0.3342 -0.1476 0.787, 0.3589 -0.063 0.7874, 0.3589 -0.063 0.787, 0.4 0.0392 0.7874, 0.4 0.0392 0.787, 0.2712 -0.2059 0.787, 0.2712 -0.2059 0.7874, 0.4068 0.1446 0.787, 0.4068 0.1446 0.7874, 0.3935 0.1204 0.7874, 0.3935 0.1204 0.787, 0.3595 0.0546 0.7874, 0.3595 0.0546 0.787, 0.3151 -0.0463 0.7874, 0.3151 -0.0463 0.787, 0.2865 -0.132 0.7874, 0.2865 -0.132 0.787, 0.2147 0.1446 0.787, 0.2147 0.1446 0.7874, 0.2147 0.1878 0.787, 0.2147 0.1878 0.7874, 0.111 -0.0868 0.787, 0.1811 -0.2059 0.787, 0.111 -0.0868 0.7874, 0.1811 -0.2059 0.7874, 0.1235 -0.2059 0.787, 0.1235 -0.2059 0.7874, 0.0596 -0.0951 0.787, 0.0596 -0.0951 0.7874, -0.0135 -0.0379 0.787, -0.0135 -0.0379 0.7874, -0.0015 -0.0388 0.7874, -0.0015 -0.0388 0.787, 0.013 -0.0431 0.7874, 0.013 -0.0431 0.787, 0.025 -0.0503 0.7874, 0.025 -0.0503 0.787, 0.0387 -0.0639 0.7874, 0.0387 -0.0639 0.787, -0.0493 -0.0379 0.787, -0.0493 -0.0379 0.7874, -0.0493 -0.2059 0.787, -0.0493 -0.2059 0.7874, -0.1021 -0.2059 0.787, -0.1021 -0.2059 0.7874, -0.1021 0.1878 0.787, -0.1021 0.1878 0.7874, 0.0166 0.1878 0.787, 0.0166 0.1878 0.7874, 0.1379 0.0835 0.787, 0.1379 0.0835 0.7874, 0.1374 0.0958 0.7874, 0.1374 0.0958 0.787, 0.1321 0.1217 0.7874, 0.1321 0.1217 0.787, 0.1229 0.1407 0.7874, 0.1229 0.1407 0.787, 0.1099 0.1565 0.7874, 0.1099 0.1565 0.787, 0.0994 0.1652 0.7874, 0.0994 0.1652 0.787, 0.078 0.1771 0.7874, 0.078 0.1771 0.787, 0.0493 0.1852 0.7874, 0.0493 0.1852 0.787, 0.0526 -0.0218 0.787, 0.0526 -0.0218 0.7874, 0.0565 -0.0206 0.7874, 0.0565 -0.0206 0.787, 0.0878 -0.0074 0.7874, 0.0878 -0.0074 0.787, 0.1085 0.0079 0.7874, 0.1085 0.0079 0.787, 0.1173 0.0175 0.7874, 0.1173 0.0175 0.787, 0.1283 0.0353 0.7874, 0.1283 0.0353 0.787, 0.1353 0.0567 0.7874, 0.1353 0.0567 0.787, 0.0526 -0.0231 0.787, 0.0526 -0.0231 0.7874, 0.1067 -0.0797 0.7874, 0.1067 -0.0797 0.787, 0.0835 -0.0464 0.7874, 0.0835 -0.0464 0.787, 0.0704 -0.0335 0.7874, 0.0704 -0.0335 0.787, 0.0834 0.0962 0.787, 0.0851 0.0792 0.787, 0.009 0.0053 0.787, 0.084 0.0648 0.787, 0.0797 0.0488 0.787, 0.0711 0.0338 0.787, 0.0791 0.1094 0.787, 0.0723 0.1204 0.787, 0.0633 0.1294 0.787, 0.0518 0.1365 0.787, 0.0338 0.1424 0.787, 0.0097 0.1446 0.787, -0.0493 0.1446 0.787, -0.0493 0.0053 0.787, 0.059 0.0213 0.787, 0.0456 0.0129 0.787, 0.0293 0.0074 0.787, 0.0097 0.1446 0.7874, -0.0493 0.1446 0.7874, 0.0338 0.1424 0.7874, 0.0518 0.1365 0.7874, 0.0633 0.1294 0.7874, 0.0723 0.1204 0.7874, 0.0791 0.1094 0.7874, 0.0834 0.0962 0.7874, 0.0851 0.0792 0.7874, 0.084 0.0648 0.7874, 0.0797 0.0488 0.7874, 0.0711 0.0338 0.7874, 0.059 0.0213 0.7874, 0.0456 0.0129 0.7874, 0.0293 0.0074 0.7874, 0.009 0.0053 0.7874, -0.0493 0.0053 0.7874, -0.2735 0.1878 0.787, -0.2222 0.1878 0.787, -0.2735 0.1878 0.7874, -0.2222 0.1878 0.7874, -0.2222 -0.0715 0.787, -0.2222 -0.0715 0.7874, -0.1646 -0.0715 0.787, -0.1646 -0.0715 0.7874, -0.1646 -0.1147 0.787, -0.1646 -0.1147 0.7874, -0.2222 -0.1147 0.787, -0.2222 -0.1147 0.7874, -0.2222 -0.2059 0.787, -0.2222 -0.2059 0.7874, -0.2702 -0.2059 0.787, -0.2702 -0.2059 0.7874, -0.2702 -0.1147 0.787, -0.2702 -0.1147 0.7874, -0.4526 -0.1147 0.787, -0.4526 -0.1147 0.7874, -0.4526 -0.0737 0.787, -0.4526 -0.0737 0.7874, -0.3134 0.1166 0.7874, -0.3134 0.1166 0.787, -0.3826 0.0137 0.7874, -0.3826 0.0137 0.787, -0.2702 0.1155 0.787, -0.2702 -0.0715 0.787, -0.3294 0.0192 0.787, -0.3969 -0.0715 0.787, -0.3969 -0.0715 0.7874, -0.3294 0.0192 0.7874, -0.2702 0.1155 0.7874, -0.2702 -0.0715 0.7874, -0.2702 -0.0715 0.7874
|
||||
]
|
||||
}
|
||||
coordIndex [
|
||||
0,1,2,-1,2,1,3,-1,4,5,6,-1,4,6,7,-1,7,6,8,-1,7,8,9,-1,9,8,10,-1,9,10,11,-1,11,10,3,-1,11,3,1,-1,4,12,5,-1,5,12,13,-1,14,15,16,-1,14,16,17,-1,17,16,18,-1,17,18,19,-1,19,18,20,-1,19,20,21,-1,21,20,22,-1,21,22,23,-1,23,22,13,-1,23,13,12,-1,14,24,15,-1,15,24,25,-1,24,26,25,-1,25,26,27,-1,26,0,27,-1,27,0,2,-1,26,24,0,-1,0,24,14,-1,12,4,23,-1,23,4,7,-1,23,7,21,-1,21,7,9,-1,21,9,19,-1,19,9,11,-1,19,11,17,-1,17,11,14,-1,14,11,1,-1,14,1,0,-1,28,29,30,-1,30,29,31,-1,29,32,31,-1,31,32,33,-1,32,34,33,-1,33,34,35,-1,36,37,38,-1,36,38,39,-1,39,38,40,-1,39,40,41,-1,41,40,42,-1,41,42,43,-1,43,42,44,-1,43,44,45,-1,45,44,35,-1,45,35,34,-1,36,46,37,-1,37,46,47,-1,46,48,47,-1,47,48,49,-1,48,50,49,-1,49,50,51,-1,50,52,51,-1,51,52,53,-1,52,54,53,-1,53,54,55,-1,56,57,58,-1,56,58,59,-1,59,58,60,-1,59,60,61,-1,61,60,62,-1,61,62,63,-1,63,62,64,-1,63,64,65,-1,65,64,66,-1,65,66,67,-1,67,66,68,-1,67,68,69,-1,69,68,70,-1,69,70,71,-1,71,70,55,-1,71,55,54,-1,72,73,74,-1,72,74,75,-1,75,74,76,-1,75,76,77,-1,77,76,78,-1,77,78,79,-1,79,78,80,-1,79,80,81,-1,81,80,82,-1,81,82,83,-1,83,82,84,-1,83,84,85,-1,85,84,57,-1,85,57,56,-1,72,86,73,-1,73,86,87,-1,28,30,88,-1,28,88,89,-1,89,88,90,-1,89,90,91,-1,91,90,92,-1,91,92,93,-1,93,92,87,-1,93,87,86,-1,94,95,56,-1,52,50,46,-1,46,50,48,-1,96,39,41,-1,56,95,85,-1,85,95,97,-1,85,97,83,-1,83,97,98,-1,83,98,81,-1,81,98,99,-1,81,99,79,-1,96,41,72,-1,72,41,86,-1,86,41,43,-1,86,43,93,-1,93,43,45,-1,93,45,91,-1,91,45,34,-1,91,34,89,-1,89,34,28,-1,28,34,32,-1,28,32,29,-1,56,59,94,-1,94,59,61,-1,94,61,100,-1,100,61,63,-1,100,63,101,-1,101,63,65,-1,101,65,102,-1,102,65,67,-1,102,67,103,-1,103,67,69,-1,103,69,104,-1,104,69,71,-1,104,71,105,-1,105,71,54,-1,105,54,106,-1,106,54,52,-1,106,52,107,-1,107,52,46,-1,107,46,96,-1,96,46,36,-1,96,36,39,-1,79,99,77,-1,77,99,108,-1,77,108,75,-1,75,108,109,-1,75,109,72,-1,72,109,110,-1,72,110,96,-1,105,106,111,-1,111,106,112,-1,105,111,113,-1,105,113,104,-1,104,113,114,-1,104,114,103,-1,103,114,115,-1,103,115,102,-1,102,115,116,-1,102,116,101,-1,101,116,117,-1,101,117,100,-1,100,117,118,-1,100,118,94,-1,94,118,119,-1,94,119,95,-1,95,119,120,-1,95,120,97,-1,97,120,121,-1,97,121,98,-1,98,121,122,-1,98,122,99,-1,99,122,123,-1,99,123,108,-1,108,123,124,-1,108,124,109,-1,109,124,125,-1,109,125,110,-1,110,125,126,-1,110,126,96,-1,107,96,127,-1,127,96,126,-1,106,107,112,-1,112,107,127,-1,128,129,130,-1,130,129,131,-1,129,132,131,-1,131,132,133,-1,132,134,133,-1,133,134,135,-1,134,136,135,-1,135,136,137,-1,136,138,137,-1,137,138,139,-1,138,140,139,-1,139,140,141,-1,140,142,141,-1,141,142,143,-1,142,144,143,-1,143,144,145,-1,144,146,145,-1,145,146,147,-1,146,148,147,-1,147,148,149,-1,128,130,150,-1,128,150,151,-1,151,150,152,-1,151,152,153,-1,153,152,149,-1,153,149,148,-1,129,154,132,-1,132,154,155,-1,142,140,144,-1,144,140,138,-1,129,128,154,-1,154,128,151,-1,154,151,156,-1,156,151,153,-1,156,153,157,-1,136,134,138,-1,138,134,132,-1,138,132,144,-1,144,132,155,-1,144,155,146,-1,146,155,157,-1,146,157,148,-1,148,157,153,-1,157,158,159,-1,157,159,156,-1,156,159,160,-1,156,160,154,-1,155,154,161,-1,161,154,160,-1,157,155,158,-1,158,155,161,-1,
|
||||
]
|
||||
}
|
||||
}
|
||||
Shape{
|
||||
appearance Appearance {
|
||||
material Material {
|
||||
diffuseColor 0.5019607843137255 0.5019607843137255 0.5019607843137255
|
||||
specularColor 0.25098039215686274 0.25098039215686274 0.25098039215686274
|
||||
ambientIntensity 0.2
|
||||
transparency 0
|
||||
shininess 0.5
|
||||
}
|
||||
}
|
||||
geometry IndexedFaceSet {
|
||||
ccw TRUE
|
||||
solid FALSE
|
||||
coord DEF co Coordinate {
|
||||
point [
|
||||
0.0097 0.1446 0.7874, 0.0851 0.0792 0.7874, 0.0834 0.0962 0.7874, -0.0493 0.1446 0.7874, -0.0493 0.0053 0.7874, 0.009 0.0053 0.7874, 0.0293 0.0074 0.7874, 0.0633 0.1294 0.7874, 0.0723 0.1204 0.7874, 0.0791 0.1094 0.7874, 0.0518 0.1365 0.7874, 0.0338 0.1424 0.7874, 0.0456 0.0129 0.7874, 0.059 0.0213 0.7874, 0.0711 0.0338 0.7874, 0.0797 0.0488 0.7874, 0.084 0.0648 0.7874, -0.3969 -0.0715 0.7874, -0.2702 -0.0715 0.7874, -0.3294 0.0192 0.7874, -0.2702 0.1155 0.7874, -0.2702 0.1155 0.7874
|
||||
]
|
||||
}
|
||||
coordIndex [
|
||||
0,1,2,-1,3,4,0,-1,0,4,5,-1,0,5,6,-1,7,2,8,-1,8,2,9,-1,7,10,2,-1,2,10,11,-1,2,11,0,-1,6,12,0,-1,0,12,13,-1,0,13,14,-1,14,15,0,-1,0,15,16,-1,0,16,1,-1,17,18,19,-1,19,18,20,-1,
|
||||
]
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,178 +0,0 @@
|
|||
(footprint "0908SQ-23N"
|
||||
(version 20241229)
|
||||
(generator "pcbnew")
|
||||
(generator_version "9.0")
|
||||
(layer "F.Cu")
|
||||
(property "Reference" "REF**"
|
||||
(at 0.5 -2 0)
|
||||
(unlocked yes)
|
||||
(layer "F.SilkS")
|
||||
(uuid "ff5069db-971e-4012-a8fe-79a0beeecba2")
|
||||
(effects
|
||||
(font
|
||||
(size 0.6 0.6)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "0908SQ-23N"
|
||||
(at 0 2.5 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(uuid "c788aafb-994d-4f0d-a772-19139ed4b02a")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" "https://www.coilcraft.com/getmedia/b4a6ff85-4c1f-448e-aea7-541369538706/sq_spring.pdf"
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "69f6b539-b4d8-480f-bee6-8714df5845b6")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" "Square Air Core Inductor 24 nH, Q>120, I_rms=4.4 A"
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "cbff2ecb-ae54-4bf8-ad5c-7f89f71cb09b")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -0.5 -1.4)
|
||||
(end 0.5 -1.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "89716351-aa68-45c5-9c3e-57a3f007a040")
|
||||
)
|
||||
(fp_line
|
||||
(start -0.5 1.4)
|
||||
(end -0.5 1.5)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "cea89c5b-1ac2-48fe-a52f-4eaaf0b14cf0")
|
||||
)
|
||||
(fp_line
|
||||
(start -0.5 1.4)
|
||||
(end 0.5 1.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "1d3ae979-5ae2-473f-8263-c0f541358936")
|
||||
)
|
||||
(fp_rect
|
||||
(start -1.3 -1.4)
|
||||
(end 1.3 1.4)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type default)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "2381b2f1-d50e-475d-b21e-9824096947db")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.2 -1.3)
|
||||
(end -1.2 1.3)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "4ebbb063-9f45-469d-9765-d35393b51da2")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.2 -1.3)
|
||||
(end 1.2 -1.3)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "a13d60b6-8e9f-4ab4-8d58-b542c5386432")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.2 1.3)
|
||||
(end 1.2 1.3)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "26a9057f-9cb3-4820-8fb7-a169dafbc550")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.2 1.3)
|
||||
(end 1.2 -1.3)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "0895da63-d22e-4748-bfb3-4df06a7f00db")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(uuid "d81c5e90-a27e-4bbc-94be-a0bf45dfe818")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" smd roundrect
|
||||
(at -0.95 0)
|
||||
(size 0.64 2.8)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.15)
|
||||
(thermal_bridge_angle 45)
|
||||
(uuid "1835b1b7-3832-4dc2-9517-716f0ba370c6")
|
||||
)
|
||||
(pad "2" smd roundrect
|
||||
(at 0.95 0)
|
||||
(size 0.64 2.8)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.15)
|
||||
(thermal_bridge_angle 45)
|
||||
(uuid "cf1fda8d-d25a-4927-a438-7274d4ea4823")
|
||||
)
|
||||
(embedded_fonts no)
|
||||
(model "${KIPRJMOD}/parts/parts.3dshapes/Coilcraft-0908SQ-23N.step"
|
||||
(offset
|
||||
(xyz -1 -0.9 0.15)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz -90 -0 -0)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -1,327 +0,0 @@
|
|||
(footprint "ANT8010LL05R1516A"
|
||||
(version 20241229)
|
||||
(generator "pcbnew")
|
||||
(generator_version "9.0")
|
||||
(layer "F.Cu")
|
||||
(descr "8010 GPS/Galileo&GLONASS chip antenna")
|
||||
(tags "ANT8010LL05R1516A ")
|
||||
(property "Reference" "REF**"
|
||||
(at -2.7 -1.5 0)
|
||||
(unlocked yes)
|
||||
(layer "F.SilkS")
|
||||
(uuid "67de59bd-50d3-4153-8a4e-c58c9f058573")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "ANT8010LL05R1516A"
|
||||
(at 0 1.9 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(uuid "21902822-4981-4d76-b82a-56ff1d338bd9")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "d82f4af2-efea-48d6-810c-b6437c2bcc5a")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" "8010 GPS/Galileo&GLONASS chip antenna"
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "a0162afe-b591-4e82-8c03-f2a4918b03eb")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -2.75315 0.7239)
|
||||
(end 2.75315 0.7239)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "fb87d9b3-72d0-4381-a7a6-3f99b07fda55")
|
||||
)
|
||||
(fp_line
|
||||
(start 2.75315 -0.7239)
|
||||
(end -2.75315 -0.7239)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "584abc94-0543-4317-8301-7be4bfffde06")
|
||||
)
|
||||
(fp_circle
|
||||
(center -4.8 0)
|
||||
(end -4.7238 0)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.SilkS")
|
||||
(uuid "0a1074d0-3150-4078-91bd-f934b88f6a92")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.7117 -0.8509)
|
||||
(end 4.7117 -0.8509)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "24f6b07a-557a-49a1-a7e7-67748dd14889")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.7117 0.8509)
|
||||
(end -4.7117 -0.8509)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "84618e66-22e8-49da-8e0c-c9960c6a0f85")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.7117 -0.8509)
|
||||
(end 4.7117 0.8509)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "27a77f1e-c2ef-48b9-b687-674e49c1a581")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.7117 0.8509)
|
||||
(end -4.7117 0.8509)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "aaef7064-f6bb-4f5c-81c1-5b638144387f")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.1021 -0.5969)
|
||||
(end -4.1021 0.5969)
|
||||
(stroke
|
||||
(width 0.0254)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "122c187b-6ae2-4cb6-9eee-acfe815513c7")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.1021 -0.5969)
|
||||
(end -4.1021 0.5969)
|
||||
(stroke
|
||||
(width 0.0254)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "3b4e7593-bc53-4675-a50e-571981bf9a77")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.1021 0.5969)
|
||||
(end -3.0607 0.5969)
|
||||
(stroke
|
||||
(width 0.0254)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "46fc8b4c-6230-4c27-b345-df0c1b0f74ea")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.1021 0.5969)
|
||||
(end 4.1021 0.5969)
|
||||
(stroke
|
||||
(width 0.0254)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "ab67247b-62e8-4b19-91c6-03251b837afd")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.0607 -0.5969)
|
||||
(end -4.1021 -0.5969)
|
||||
(stroke
|
||||
(width 0.0254)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "ea8f05df-6873-433c-b723-188f4297daba")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.0607 0.5969)
|
||||
(end -3.0607 -0.5969)
|
||||
(stroke
|
||||
(width 0.0254)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "69a84e84-26fd-45e7-8a91-d5d3d03e320e")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.0607 -0.5969)
|
||||
(end 3.0607 0.5969)
|
||||
(stroke
|
||||
(width 0.0254)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "87289390-3cf6-46d8-b4fd-21de84fc60ac")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.0607 0.5969)
|
||||
(end 4.1021 0.5969)
|
||||
(stroke
|
||||
(width 0.0254)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "9e0b509f-4f6a-47f3-8e27-b043408466de")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.1021 -0.5969)
|
||||
(end -4.1021 -0.5969)
|
||||
(stroke
|
||||
(width 0.0254)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "0b6afa09-8a18-4b64-8d07-6e812735759c")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.1021 -0.5969)
|
||||
(end 3.0607 -0.5969)
|
||||
(stroke
|
||||
(width 0.0254)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "3dbd06af-f6b6-4b85-a699-be9d9b213986")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.1021 0.5969)
|
||||
(end 4.1021 -0.5969)
|
||||
(stroke
|
||||
(width 0.0254)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "2a578d8d-ba06-4e7c-8a6d-7d24bcb26903")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.1021 0.5969)
|
||||
(end 4.1021 -0.5969)
|
||||
(stroke
|
||||
(width 0.0254)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "7c9618c0-8275-4613-aaf2-595256883d05")
|
||||
)
|
||||
(fp_circle
|
||||
(center -3.6322 0)
|
||||
(end -3.556 0)
|
||||
(stroke
|
||||
(width 0.0254)
|
||||
(type solid)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.Fab")
|
||||
(uuid "49375d77-fd81-4fd9-a68f-5d1bc1e75bc0")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(uuid "95ac6dba-5ee0-4552-a1f1-2d31ef0c3f39")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" smd rect
|
||||
(at -3.7592 0)
|
||||
(size 1.397 1.1938)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(uuid "0229653a-e7b6-4587-8855-9cce52519c5f")
|
||||
)
|
||||
(pad "2" smd rect
|
||||
(at 3.7592 0)
|
||||
(size 1.397 1.1938)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(uuid "2af865ae-2dc5-4ea1-887a-94d7706972a2")
|
||||
)
|
||||
(zone
|
||||
(net 0)
|
||||
(net_name "")
|
||||
(layer "F.Cu")
|
||||
(uuid "d6caf877-bc81-468e-b4b0-dea1ddfa3bcc")
|
||||
(hatch full 0.508)
|
||||
(connect_pads
|
||||
(clearance 0)
|
||||
)
|
||||
(min_thickness 0.254)
|
||||
(filled_areas_thickness no)
|
||||
(keepout
|
||||
(tracks not_allowed)
|
||||
(vias not_allowed)
|
||||
(pads allowed)
|
||||
(copperpour not_allowed)
|
||||
(footprints allowed)
|
||||
)
|
||||
(placement
|
||||
(enabled no)
|
||||
(sheetname "")
|
||||
)
|
||||
(fill
|
||||
(thermal_gap 0.508)
|
||||
(thermal_bridge_width 0.508)
|
||||
)
|
||||
(polygon
|
||||
(pts
|
||||
(xy -3.0099 -0.5461) (xy 3.0099 -0.5461) (xy 3.0099 0.5461) (xy -3.0099 0.5461)
|
||||
)
|
||||
)
|
||||
)
|
||||
(embedded_fonts no)
|
||||
(model "${KIPRJMOD}/parts/parts.3dshapes/ANT8010LL05R1516A.step"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -1,139 +0,0 @@
|
|||
(footprint "Fuse_1812L200"
|
||||
(version 20241229)
|
||||
(generator "pcbnew")
|
||||
(generator_version "9.0")
|
||||
(layer "F.Cu")
|
||||
(descr "16V 2A 100A 4A 20mΩ 1812 PTC Resettable Fuses")
|
||||
(property "Reference" "REF**"
|
||||
(at 0 -2.05 0)
|
||||
(unlocked yes)
|
||||
(layer "F.SilkS")
|
||||
(uuid "af2fd0fe-a6b0-4ede-99e9-afca1a15eabe")
|
||||
(effects
|
||||
(font
|
||||
(size 0.6 0.6)
|
||||
(thickness 0.15)
|
||||
(bold yes)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "1812L200"
|
||||
(at 0 2.4 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(uuid "c2b87a99-99c0-4a9a-92c4-2df3f5800af5")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "c084fba9-c381-4ee9-9f09-3125d2a42c7b")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" "16V 2A 100A 4A 20mΩ 1812 PTC Resettable Fuses"
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "2deff168-1cff-4a8b-8de0-8c1c73a28161")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -1.3 -1.5)
|
||||
(end 1.3 -1.5)
|
||||
(stroke
|
||||
(width 0.2)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "80f3575f-ad24-4bef-8c93-21539d1c40ae")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.3 1.5)
|
||||
(end -1.3 1.5)
|
||||
(stroke
|
||||
(width 0.2)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e795d725-0e38-471c-9559-6d528f447fae")
|
||||
)
|
||||
(fp_rect
|
||||
(start -3.35 -1.7)
|
||||
(end 3.35 1.7)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type default)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "c6a858da-55df-47c9-afc8-8a6ceb14ddf0")
|
||||
)
|
||||
(fp_rect
|
||||
(start -2.25 -1.55)
|
||||
(end 2.25 1.55)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.Fab")
|
||||
(uuid "269c2f99-0ae4-4b3e-9260-e2fe6830033e")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(uuid "7d52f6eb-3607-49d7-b956-aba6f75e540b")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" smd roundrect
|
||||
(at -2.2 0)
|
||||
(size 1.6 3.15)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.1)
|
||||
(uuid "1596402f-1968-4744-8536-4d34377fd0f1")
|
||||
)
|
||||
(pad "2" smd roundrect
|
||||
(at 2.2 0)
|
||||
(size 1.6 3.15)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.1)
|
||||
(uuid "4f990784-974c-4158-9f6c-1dc006e80997")
|
||||
)
|
||||
(embedded_fonts no)
|
||||
(model "${KIPRJMOD}/parts/parts.3dshapes/F1812_L4.5-W3.2-H1.0.step"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -216,7 +216,7 @@
|
|||
)
|
||||
(fp_line
|
||||
(start -3.15 5.35)
|
||||
(end -6 5.35)
|
||||
(end -6.5 5.35)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
|
|
@ -246,7 +246,7 @@
|
|||
)
|
||||
(fp_line
|
||||
(start 3.15 5.35)
|
||||
(end 6 5.35)
|
||||
(end 6.5 5.35)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
|
|
@ -513,35 +513,35 @@
|
|||
(at -5 0)
|
||||
(size 1.2 1.2)
|
||||
(drill 1.2)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(layers "F&B.Cu" "*.Mask")
|
||||
(uuid "2a6783be-49b7-4a5e-8837-fde4f5b6b326")
|
||||
)
|
||||
(pad "" np_thru_hole circle
|
||||
(at -5 2.5)
|
||||
(size 1.2 1.2)
|
||||
(drill 1.2)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(layers "F&B.Cu" "*.Mask")
|
||||
(uuid "43e28b64-3f22-4d06-a9d9-1a6cbaeb55e4")
|
||||
)
|
||||
(pad "" np_thru_hole circle
|
||||
(at 0 -5)
|
||||
(size 1.2 1.2)
|
||||
(drill 1.2)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(layers "F&B.Cu" "*.Mask")
|
||||
(uuid "c28e13f1-55b0-4023-8004-5c43f3cb0c59")
|
||||
)
|
||||
(pad "" np_thru_hole circle
|
||||
(at 5 0)
|
||||
(size 1.2 1.2)
|
||||
(drill 1.2)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(layers "F&B.Cu" "*.Mask")
|
||||
(uuid "a43ddcff-5f56-4ac9-9af6-caeb3e1e6b3b")
|
||||
)
|
||||
(pad "" np_thru_hole circle
|
||||
(at 5 2.5)
|
||||
(size 1.2 1.2)
|
||||
(drill 1.2)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(layers "F&B.Cu" "*.Mask")
|
||||
(uuid "0dcf70ee-cde7-482b-a3e5-44427c25dbc7")
|
||||
)
|
||||
(pad "R" thru_hole oval
|
||||
|
|
|
|||
|
|
@ -1,464 +0,0 @@
|
|||
(footprint "LG77L"
|
||||
(version 20241229)
|
||||
(generator "pcbnew")
|
||||
(generator_version "9.0")
|
||||
(layer "F.Cu")
|
||||
(descr "Footprint of the Quectel LG77L GNSS module")
|
||||
(property "Reference" "REF**"
|
||||
(at -2.6 -4.1 0)
|
||||
(unlocked yes)
|
||||
(layer "F.SilkS")
|
||||
(uuid "5a4a5c43-0705-4e50-a7d4-086544a98c0e")
|
||||
(effects
|
||||
(font
|
||||
(size 0.6 0.6)
|
||||
(thickness 0.1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "LG77L"
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(uuid "f118f25f-baa0-401f-bc89-ad33a73892ae")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "d2c786e6-4cab-4760-950d-efcc0684fb4e")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" "Footprint of the Quectel LG77L GNSS module"
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "d71725b2-61d6-4d32-adb0-a029871e94f4")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -3.7 -3.7)
|
||||
(end -3.15 -3.7)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "998a6c69-d629-4dc8-96a8-f738f45ebe67")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.7 -3.35)
|
||||
(end -3.35 -3.7)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "1273686e-e3e6-4fc8-9308-84fb6efca4df")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.7 -3.15)
|
||||
(end -3.7 -3.7)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "6e1c00a2-8509-4454-ac10-f4b5b854a1dc")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.5 -3.5)
|
||||
(end 3.5 -3.5)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "4fd4c71a-3ee3-42ae-b2d7-1945f1aae112")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.5 3.5)
|
||||
(end -3.5 -3.5)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "7aae71df-5d86-4554-af04-60abf87632d0")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.5 3.5)
|
||||
(end 3.5 3.5)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "48996a6c-9adf-4ef1-8aa5-214cf10145a8")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.5 3.5)
|
||||
(end 3.5 -3.5)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "039ccfb8-4512-4397-944d-6c63f82aebe9")
|
||||
)
|
||||
(fp_rect
|
||||
(start -3.7 -3.7)
|
||||
(end 3.7 3.7)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type default)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "a42469c2-6809-4336-b217-97a467bf35e0")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 1.5 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(uuid "8c8aca7e-4089-4f4a-bd9e-86cba41b2b05")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" smd rect
|
||||
(at -3.15 -2.6)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "8434dda3-042d-4d5f-9e27-84b5860c5093")
|
||||
)
|
||||
(pad "2" smd rect
|
||||
(at -3.15 -1.95)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "c0a13736-a7a3-4fe6-8385-080d9328e44c")
|
||||
)
|
||||
(pad "3" smd rect
|
||||
(at -3.15 -1.3)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "ce1e8130-2d7a-470e-a56d-e6951d72f81c")
|
||||
)
|
||||
(pad "4" smd rect
|
||||
(at -3.15 -0.65)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "d76a556c-d202-4abc-8cf1-f38b2a758bec")
|
||||
)
|
||||
(pad "5" smd rect
|
||||
(at -3.15 0)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "05396c81-0ffc-46e4-944e-9a25178566e9")
|
||||
)
|
||||
(pad "6" smd rect
|
||||
(at -3.15 0.65)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "407ee700-8dcf-4120-9e66-f763afbc5ead")
|
||||
)
|
||||
(pad "7" smd rect
|
||||
(at -3.15 1.3)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "4579ae85-a8d3-4772-9415-0569937fcdda")
|
||||
)
|
||||
(pad "8" smd rect
|
||||
(at -3.15 1.95)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "047fa1e4-514b-42ba-85c1-02c289eb6e90")
|
||||
)
|
||||
(pad "9" smd rect
|
||||
(at -3.15 2.6)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "58b7dda1-8943-4a42-9800-e08f86b4ef9c")
|
||||
)
|
||||
(pad "10" smd rect
|
||||
(at -2.6 3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "50a02efc-846c-4881-8f8c-ca92ff96d451")
|
||||
)
|
||||
(pad "11" smd rect
|
||||
(at -1.95 3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "f4b4525b-28e1-4f80-ae49-2029f055bea0")
|
||||
)
|
||||
(pad "12" smd rect
|
||||
(at -1.3 3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "64d2a0d3-495a-4414-8c8c-1ba56a807045")
|
||||
)
|
||||
(pad "13" smd rect
|
||||
(at -0.65 3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "bb66b982-d048-48e4-9453-a1c3e7267812")
|
||||
)
|
||||
(pad "14" smd rect
|
||||
(at 0 3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "a4ddce47-348e-49ce-bffb-65afb37d16b7")
|
||||
)
|
||||
(pad "15" smd rect
|
||||
(at 0.65 3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "7035dbbc-981d-41ad-84c6-0c3c676a5e5d")
|
||||
)
|
||||
(pad "16" smd rect
|
||||
(at 1.3 3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "37acf533-9106-4968-a12e-5a5f08605f42")
|
||||
)
|
||||
(pad "17" smd rect
|
||||
(at 1.95 3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "e2ec9451-a34b-4910-93c0-fb3b88a0b35d")
|
||||
)
|
||||
(pad "18" smd rect
|
||||
(at 2.6 3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "21d1a3e3-b919-4d59-9641-4f5da2962429")
|
||||
)
|
||||
(pad "19" smd rect
|
||||
(at 3.15 2.6)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "47bc0a58-f13a-4868-a995-85758b92e88e")
|
||||
)
|
||||
(pad "20" smd rect
|
||||
(at 3.15 1.95)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "f41feb9f-7549-429f-8019-f3e7ecccf621")
|
||||
)
|
||||
(pad "21" smd rect
|
||||
(at 3.15 1.3)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "2b09dd2e-bf6c-45d9-a069-b5a2fefa906d")
|
||||
)
|
||||
(pad "22" smd rect
|
||||
(at 3.15 0.65)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "d1ec8d28-096e-480e-94fa-f5a8845d0318")
|
||||
)
|
||||
(pad "23" smd rect
|
||||
(at 3.15 0)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "ec875793-5a2b-40bf-9420-61bc489ad12f")
|
||||
)
|
||||
(pad "24" smd rect
|
||||
(at 3.15 -0.65)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "a97d1315-d260-46cf-8244-ff5eb24204da")
|
||||
)
|
||||
(pad "25" smd rect
|
||||
(at 3.15 -1.3)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "28019ec8-b73a-443f-ba70-a61f82c73447")
|
||||
)
|
||||
(pad "26" smd rect
|
||||
(at 3.15 -1.95)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "58ab1220-483d-45fe-9383-468e81974f43")
|
||||
)
|
||||
(pad "27" smd rect
|
||||
(at 3.15 -2.6)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "18bba525-ac4c-40ac-97af-7ebdf52dac0a")
|
||||
)
|
||||
(pad "28" smd rect
|
||||
(at 2.6 -3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "541b85a6-f955-4be8-aa6e-4e5dce3401c8")
|
||||
)
|
||||
(pad "29" smd rect
|
||||
(at 1.95 -3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "2d4cfb5d-b913-4dc5-8c06-371feb1d4bbc")
|
||||
)
|
||||
(pad "30" smd rect
|
||||
(at 1.3 -3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "29987e7e-274e-49a3-8817-b8378febf272")
|
||||
)
|
||||
(pad "31" smd rect
|
||||
(at 0.65 -3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "d7fd6692-c079-4646-abff-75f2e7df79b9")
|
||||
)
|
||||
(pad "32" smd rect
|
||||
(at 0 -3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "3596584a-a93b-4ad5-a2f2-a73afbe7dbea")
|
||||
)
|
||||
(pad "33" smd rect
|
||||
(at -0.65 -3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "eeab4309-eb26-45db-a549-dfd3690125d3")
|
||||
)
|
||||
(pad "34" smd rect
|
||||
(at -1.3 -3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "6e376d9d-099a-49a4-81f2-5344d7e3cd27")
|
||||
)
|
||||
(pad "35" smd rect
|
||||
(at -1.95 -3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "813acad6-3d64-4053-a12b-80ebb2298b7c")
|
||||
)
|
||||
(pad "36" smd rect
|
||||
(at -2.6 -3.15 90)
|
||||
(size 0.4 0.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "f13c26d2-baef-4b84-9a2d-32df5705f1f8")
|
||||
)
|
||||
(pad "37" smd rect
|
||||
(at -1.3 -1.3)
|
||||
(size 0.5 0.5)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "b6275dd6-7d9e-42a1-81b8-fd408bebb21a")
|
||||
)
|
||||
(pad "38" smd rect
|
||||
(at 0 -1.3)
|
||||
(size 0.5 0.5)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "d8a54cb3-569a-4560-8ab4-9f43260d88ad")
|
||||
)
|
||||
(pad "39" smd rect
|
||||
(at -1.3 0)
|
||||
(size 0.5 0.5)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "7eb9a52c-4fbb-49c3-b036-dfdcc2b61134")
|
||||
)
|
||||
(pad "40" smd rect
|
||||
(at 0 0)
|
||||
(size 0.5 0.5)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "a3da43f2-323c-423e-befa-222fb4d903ce")
|
||||
)
|
||||
(pad "41" smd rect
|
||||
(at -1.3 1.3)
|
||||
(size 0.5 0.5)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "a2c16c35-2246-48ef-8721-736d46cf2d53")
|
||||
)
|
||||
(pad "42" smd rect
|
||||
(at 0 1.3)
|
||||
(size 0.5 0.5)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "5f77703a-3395-4a33-8d43-c8e48a729fa2")
|
||||
)
|
||||
(pad "43" smd rect
|
||||
(at 1.3 1.3)
|
||||
(size 0.5 0.5)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(solder_mask_margin 0.05)
|
||||
(uuid "1713a5bf-e34d-421f-8fd8-c1467d39d23f")
|
||||
)
|
||||
(embedded_fonts no)
|
||||
(model "${KIPRJMOD}/parts/parts.3dshapes/LG77L.step"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz -90 -0 -0)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -1,296 +0,0 @@
|
|||
(footprint "L_TDK_SPM6530"
|
||||
(version 20241229)
|
||||
(generator "pcbnew")
|
||||
(generator_version "9.0")
|
||||
(layer "F.Cu")
|
||||
(descr "Inductor, TDK, SPM6530, 7.1mmx6.5mm")
|
||||
(tags "Inductor TDK_SPM6530")
|
||||
(property "Reference" "REF**"
|
||||
(at -2.4 -4.1 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "73ea877f-3c26-4249-8567-2c147a332783")
|
||||
(effects
|
||||
(font
|
||||
(size 0.6 0.6)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "L_TDK_SPM6530"
|
||||
(at 0 4.4 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "25da4e9b-cf5b-489b-8077-35b21c4b9ff6")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "fb423d1f-6124-4bb4-a23e-d9201a4817fc")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "00d899db-5479-4a84-b8a5-61d7bac83b4e")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -3.55 -3.55)
|
||||
(end 3.55 -3.55)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "fd1cae0b-7518-424a-a653-a2a88468097e")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.55 -2.344)
|
||||
(end -3.55 -3.55)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "af170147-b3d3-49cf-a973-19627c931ac0")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.55 3.55)
|
||||
(end -3.55 1.8)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "0dc4ae72-6559-4a6e-894b-427e6ff83ff9")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.55 -3.55)
|
||||
(end 3.55 -1.8)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "893b775b-00c8-4d1a-99ee-2cd2ed9da719")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.55 1.8)
|
||||
(end 3.55 3.55)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "422da8c6-c590-469f-9ced-4fd9748d38ca")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.55 3.55)
|
||||
(end -3.55 3.55)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "9ef3e704-b132-48ae-a2a2-1e6ddd38687b")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -3.547242 -1.8) (xy -3.9 -1.8) (xy -3.547242 -2.344)
|
||||
)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(fill yes)
|
||||
(layer "F.SilkS")
|
||||
(uuid "4d6a56eb-2192-421d-b61d-35b997aa8504")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.75 -1.8)
|
||||
(end -3.6 -1.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "4d2cf893-7307-4d3b-9547-7cf316a646dc")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.75 1.8)
|
||||
(end -3.75 -1.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "f5fa0654-101c-4867-a3d7-0fcf0a91208b")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.6 -3.6)
|
||||
(end 3.6 -3.6)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "3e13f767-90b6-44d9-b451-2256c55515f9")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.6 -1.8)
|
||||
(end -3.6 -3.6)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "365e080f-0d56-4e65-b286-158ffc027ea7")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.6 1.8)
|
||||
(end -3.75 1.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "eb0725dd-4c26-407a-8d29-6482159b4983")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.6 3.6)
|
||||
(end -3.6 1.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "831ba7da-133c-41d3-af0f-5c0e724792db")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.6 -3.6)
|
||||
(end 3.6 -1.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "fd529a65-3c5f-46c5-82b9-d8ced98977c7")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.6 -1.8)
|
||||
(end 3.75 -1.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "4ccdf759-7dfb-4397-a3d0-3bd24e05a392")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.6 1.8)
|
||||
(end 3.6 3.6)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "d09bf15b-a175-4ebf-987c-013115b0dc7d")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.6 3.6)
|
||||
(end -3.6 3.6)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "6247ba8d-1290-4614-b559-cb562b419441")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.75 -1.8)
|
||||
(end 3.75 1.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "6960d76d-b2af-42e7-a7f4-2e1970afe7c6")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.75 1.8)
|
||||
(end 3.6 1.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "28937305-71a1-457f-8313-f688127b4028")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -3 -2) (xy -3 3) (xy 3 3) (xy 3 -3) (xy -2 -3)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.Fab")
|
||||
(uuid "4266ea0b-a93d-4889-8a3e-30609e1391c7")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "134794af-0d6e-446c-933d-b8a675a7919c")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" smd roundrect
|
||||
(at -2.775 0)
|
||||
(size 1.85 3.4)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.166667)
|
||||
(uuid "ec5576c9-933b-49e2-84aa-bf6f1a6bf0e5")
|
||||
)
|
||||
(pad "2" smd roundrect
|
||||
(at 2.775 0)
|
||||
(size 1.85 3.4)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.166667)
|
||||
(uuid "4e03847a-9b76-4cd4-a634-620b2038afee")
|
||||
)
|
||||
(embedded_fonts no)
|
||||
(model "${KIPRJMOD}/parts/parts.3dshapes/spm6530.step"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz -90 -0 -90)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -3550,17 +3550,6 @@
|
|||
(layer "F.Paste")
|
||||
(uuid "def6af63-afc9-4db6-8566-ea920cccef75")
|
||||
)
|
||||
(fp_rect
|
||||
(start -15.4 -15.4)
|
||||
(end 15.4 15.4)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type default)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "14c2b528-efe8-4e89-bcf1-4731300788e5")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 19.8 -16 0)
|
||||
(unlocked yes)
|
||||
|
|
|
|||
|
|
@ -1,368 +0,0 @@
|
|||
(footprint "QFN-12_L2.0-W2.0-P0.50-BL-EP0.8"
|
||||
(version 20241229)
|
||||
(generator "pcbnew")
|
||||
(generator_version "9.0")
|
||||
(layer "F.Cu")
|
||||
(property "Reference" "REF**"
|
||||
(at -0.2 -1.6 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "a8782719-28f7-4db1-96bf-5c52097446fe")
|
||||
(effects
|
||||
(font
|
||||
(size 0.6 0.6)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "QFN-12_L2.0-W2.0-P0.50-BL-EP0.8"
|
||||
(at 0 2.6 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "4aed39a9-b881-4214-8490-b053b2e15bbc")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "60d57ccb-a582-4496-bbde-d266d018fed4")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "15a50e0a-abb9-45fe-9c63-d7dccdd89aed")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -1.08 -1.08)
|
||||
(end -0.83 -1.08)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "b3ac46b5-8e15-48c3-97bf-071a84fae8d6")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.08 -0.83)
|
||||
(end -1.08 -1.08)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "10be5a6d-f17c-4409-a270-ae5f28a7590f")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.08 0.83)
|
||||
(end -1.08 1.08)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "8f130482-50f0-448c-b49d-bc89d3062701")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.08 1.08)
|
||||
(end -0.83 1.08)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "f4d21aad-ee76-4db6-b582-d5f8f1303a17")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.08 -1.08)
|
||||
(end 0.83 -1.08)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "ffcba15f-85e5-472d-a5bd-070aaf4bc708")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.08 -0.83)
|
||||
(end 1.08 -1.08)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "d3ddd0d4-01b4-4dc8-b887-2e8e3c086d90")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.08 0.83)
|
||||
(end 1.08 1.08)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "4f631bdd-7ff2-418a-bf98-97e73950d1cb")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.08 1.08)
|
||||
(end 0.83 1.08)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "cc0adfc1-a251-4812-9488-f43dcce841a4")
|
||||
)
|
||||
(fp_circle
|
||||
(center -0.5 1.47)
|
||||
(end -0.43 1.47)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.SilkS")
|
||||
(uuid "f5772caa-5350-472b-b828-0e34b5a4bb22")
|
||||
)
|
||||
(fp_circle
|
||||
(center -1 1)
|
||||
(end -0.97 1)
|
||||
(stroke
|
||||
(width 0.06)
|
||||
(type solid)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.Fab")
|
||||
(uuid "19601206-2697-4961-9fd1-d5cde159999f")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "2b5a77c6-7481-4bcd-b837-d30210a97c1f")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" smd custom
|
||||
(at -0.5 0.93)
|
||||
(size 0.01 0.01)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(thermal_bridge_angle 90)
|
||||
(options
|
||||
(clearance outline)
|
||||
(anchor circle)
|
||||
)
|
||||
(primitives
|
||||
(gr_poly
|
||||
(pts
|
||||
(xy -0.12 0.24) (xy 0.12 0.24) (xy 0.12 -0.24) (xy -0.03 -0.24) (xy -0.13 -0.05)
|
||||
)
|
||||
(width 0.1)
|
||||
(fill yes)
|
||||
)
|
||||
)
|
||||
(uuid "dd162c2b-9f32-4eff-ac73-0b92d8076147")
|
||||
)
|
||||
(pad "2" smd rect
|
||||
(at 0 0.93)
|
||||
(size 0.25 0.48)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(uuid "ca2ab885-5f15-4d06-8795-df9769a50a84")
|
||||
)
|
||||
(pad "3" smd custom
|
||||
(at 0.5 0.93)
|
||||
(size 0.01 0.01)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(thermal_bridge_angle 90)
|
||||
(options
|
||||
(clearance outline)
|
||||
(anchor circle)
|
||||
)
|
||||
(primitives
|
||||
(gr_poly
|
||||
(pts
|
||||
(xy 0.12 0.24) (xy -0.12 0.24) (xy -0.12 -0.24) (xy 0.03 -0.24) (xy 0.12 -0.05)
|
||||
)
|
||||
(width 0.1)
|
||||
(fill yes)
|
||||
)
|
||||
)
|
||||
(uuid "4dfc71ca-2265-45f3-8e39-7253a50af51c")
|
||||
)
|
||||
(pad "4" smd custom
|
||||
(at 0.93 0.5)
|
||||
(size 0.01 0.01)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(thermal_bridge_angle 90)
|
||||
(options
|
||||
(clearance outline)
|
||||
(anchor circle)
|
||||
)
|
||||
(primitives
|
||||
(gr_poly
|
||||
(pts
|
||||
(xy 0.24 0.12) (xy 0.24 -0.13) (xy -0.24 -0.13) (xy -0.24 -0.12) (xy -0.24 0.03) (xy -0.05 0.12)
|
||||
)
|
||||
(width 0.1)
|
||||
(fill yes)
|
||||
)
|
||||
)
|
||||
(uuid "abc5d17c-bfd1-4349-897b-5c0ca2f8dde7")
|
||||
)
|
||||
(pad "5" smd rect
|
||||
(at 0.93 0)
|
||||
(size 0.48 0.25)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(uuid "5dc8d355-be9c-42f6-be27-8cd651b5f099")
|
||||
)
|
||||
(pad "6" smd custom
|
||||
(at 0.93 -0.5)
|
||||
(size 0.01 0.01)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(thermal_bridge_angle 90)
|
||||
(options
|
||||
(clearance outline)
|
||||
(anchor circle)
|
||||
)
|
||||
(primitives
|
||||
(gr_poly
|
||||
(pts
|
||||
(xy 0.24 -0.12) (xy 0.24 0.13) (xy -0.24 0.13) (xy -0.24 0.12) (xy -0.24 -0.03) (xy -0.05 -0.12)
|
||||
)
|
||||
(width 0.1)
|
||||
(fill yes)
|
||||
)
|
||||
)
|
||||
(uuid "2a687c68-2d92-4132-9cf6-a94ad3b4ff17")
|
||||
)
|
||||
(pad "7" smd custom
|
||||
(at 0.5 -0.93)
|
||||
(size 0.01 0.01)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(thermal_bridge_angle 90)
|
||||
(options
|
||||
(clearance outline)
|
||||
(anchor circle)
|
||||
)
|
||||
(primitives
|
||||
(gr_poly
|
||||
(pts
|
||||
(xy 0.12 -0.24) (xy -0.13 -0.24) (xy -0.13 0.24) (xy -0.12 0.24) (xy 0.03 0.24) (xy 0.12 0.05)
|
||||
)
|
||||
(width 0.1)
|
||||
(fill yes)
|
||||
)
|
||||
)
|
||||
(uuid "563a62c7-6460-468f-9ed8-3f392e3a66e9")
|
||||
)
|
||||
(pad "8" smd rect
|
||||
(at 0 -0.93)
|
||||
(size 0.25 0.48)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(uuid "786a1091-77e3-4c4c-9fec-91ee152eda63")
|
||||
)
|
||||
(pad "9" smd custom
|
||||
(at -0.5 -0.93)
|
||||
(size 0.01 0.01)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(thermal_bridge_angle 90)
|
||||
(options
|
||||
(clearance outline)
|
||||
(anchor circle)
|
||||
)
|
||||
(primitives
|
||||
(gr_poly
|
||||
(pts
|
||||
(xy -0.12 -0.24) (xy 0.13 -0.24) (xy 0.13 0.24) (xy 0.12 0.24) (xy -0.03 0.24) (xy -0.12 0.05)
|
||||
)
|
||||
(width 0.1)
|
||||
(fill yes)
|
||||
)
|
||||
)
|
||||
(uuid "62334b86-0c16-4adc-a69c-124a79058807")
|
||||
)
|
||||
(pad "10" smd custom
|
||||
(at -0.93 -0.5)
|
||||
(size 0.01 0.01)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(thermal_bridge_angle 90)
|
||||
(options
|
||||
(clearance outline)
|
||||
(anchor circle)
|
||||
)
|
||||
(primitives
|
||||
(gr_poly
|
||||
(pts
|
||||
(xy -0.24 -0.13) (xy -0.24 0.12) (xy 0.24 0.12) (xy 0.24 -0.03) (xy 0.05 -0.13)
|
||||
)
|
||||
(width 0.1)
|
||||
(fill yes)
|
||||
)
|
||||
)
|
||||
(uuid "96053804-0f8e-42f5-9fa9-3ab57c47ded0")
|
||||
)
|
||||
(pad "11" smd rect
|
||||
(at -0.93 0)
|
||||
(size 0.48 0.25)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(uuid "2c8dadd3-e21b-493c-b5df-9afd6866ca88")
|
||||
)
|
||||
(pad "12" smd custom
|
||||
(at -0.93 0.5)
|
||||
(size 0.01 0.01)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(thermal_bridge_angle 90)
|
||||
(options
|
||||
(clearance outline)
|
||||
(anchor circle)
|
||||
)
|
||||
(primitives
|
||||
(gr_poly
|
||||
(pts
|
||||
(xy -0.24 0.12) (xy -0.24 -0.12) (xy 0.24 -0.12) (xy 0.24 0.03) (xy 0.05 0.12)
|
||||
)
|
||||
(width 0.1)
|
||||
(fill yes)
|
||||
)
|
||||
)
|
||||
(uuid "287ad911-9040-43fc-a616-7bb3f66da731")
|
||||
)
|
||||
(pad "13" smd rect
|
||||
(at 0 0)
|
||||
(size 0.85 0.85)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(uuid "5ea7bd86-7f7e-45ee-9a20-b1fa5054d81e")
|
||||
)
|
||||
(embedded_fonts no)
|
||||
(model "${KIPRJMOD}/parts/parts.3dshapes/QFN-12_L2.0-W2.0-P0.50-BL-EP0.8.wrl"
|
||||
(offset
|
||||
(xyz 0 -0 0.83)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz -0 -0 -0)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -1,621 +0,0 @@
|
|||
(footprint "QFN-16-1EP_3x3mm_P0.5mm_EP1.7x1.7mm_ThermalVias"
|
||||
(version 20241229)
|
||||
(generator "pcbnew")
|
||||
(generator_version "9.0")
|
||||
(layer "F.Cu")
|
||||
(descr "QFN, 16 Pin (https://www.st.com/resource/en/datasheet/tsv521.pdf), generated with kicad-footprint-generator ipc_noLead_generator.py")
|
||||
(tags "QFN NoLead")
|
||||
(property "Reference" "REF**"
|
||||
(at 0 -2.83 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "146cb097-3a23-4d30-97e1-02afe1715ff0")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "QFN-16-1EP_3x3mm_P0.5mm_EP1.7x1.7mm_ThermalVias"
|
||||
(at 0 2.83 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "d51956ff-1267-4fa4-aec0-e779bb076052")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "e2650296-9dce-4213-b9ad-c5957d95e9de")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "6e80eac6-0820-4ed8-a62e-21d57212afde")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -1.61 -1.135)
|
||||
(end -1.61 -1.37)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "794740e0-cbde-4527-bb22-0b4a4c74449a")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.61 1.61)
|
||||
(end -1.61 1.135)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "c30118cb-93db-4f00-bbdd-7910b11869d7")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.135 -1.61)
|
||||
(end -1.31 -1.61)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "56f5158c-dd8a-4f6b-a21f-5dd799b5c1d5")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.135 1.61)
|
||||
(end -1.61 1.61)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "f2ff359a-2256-4cd4-9da3-a5271d0a8189")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.135 -1.61)
|
||||
(end 1.61 -1.61)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "c1dcc67e-52ae-449e-9108-f8c4480d93b1")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.135 1.61)
|
||||
(end 1.61 1.61)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "4cdce9dd-a812-4039-8e65-2ae3cd56f9df")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.61 -1.61)
|
||||
(end 1.61 -1.135)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "162babcd-8007-46c5-80bd-bbd89b0f6948")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.61 1.61)
|
||||
(end 1.61 1.135)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "65658de6-bfbe-46ba-95a4-533601177c79")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -1.61 -1.61) (xy -1.85 -1.94) (xy -1.37 -1.94)
|
||||
)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(fill yes)
|
||||
(layer "F.SilkS")
|
||||
(uuid "5056cf90-be6a-434a-a325-4a362c32af51")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.13 -1.13)
|
||||
(end -1.75 -1.13)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "1f671b79-d97e-41ad-93fc-1cf51bfa9cb7")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.13 1.13)
|
||||
(end -2.13 -1.13)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "a08deeeb-cd7c-4232-a316-3dafdfdfd22c")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.75 -1.75)
|
||||
(end -1.13 -1.75)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "662e0b38-7053-4314-a76b-084e7c6272ce")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.75 -1.13)
|
||||
(end -1.75 -1.75)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "d0e2a759-83b1-40db-b43d-005c3d7d23ae")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.75 1.13)
|
||||
(end -2.13 1.13)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "19883e16-6c0d-436f-ba5b-4a05292297c2")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.75 1.75)
|
||||
(end -1.75 1.13)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "186bab08-2bad-43d1-8f48-d50ecde883cb")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.13 -2.13)
|
||||
(end 1.13 -2.13)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "64b466da-5271-4218-b766-7f4aa5c20160")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.13 -1.75)
|
||||
(end -1.13 -2.13)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "f05331ee-774e-4698-b4c8-3d8e70d9b824")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.13 1.75)
|
||||
(end -1.75 1.75)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "fabffa53-ad6d-493c-8f94-421324445e39")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.13 2.13)
|
||||
(end -1.13 1.75)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "a496d30d-77fa-498c-ad3a-d5a1f0bdb36e")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.13 -2.13)
|
||||
(end 1.13 -1.75)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "eedb0013-7f64-4e9b-8709-ac33ef35ba86")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.13 -1.75)
|
||||
(end 1.75 -1.75)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "6965b92e-f026-4522-b39c-d1a84a46ed6f")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.13 1.75)
|
||||
(end 1.13 2.13)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "b8956d33-1761-4836-a804-bbf2b778e549")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.13 2.13)
|
||||
(end -1.13 2.13)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "3627ec72-7ac6-4784-8218-dad7d4bfa806")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.75 -1.75)
|
||||
(end 1.75 -1.13)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "ec936198-d501-46f6-a690-abfa32a3b8cb")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.75 -1.13)
|
||||
(end 2.13 -1.13)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "f219ea12-929d-42d5-98d3-50eb61c80fbc")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.75 1.13)
|
||||
(end 1.75 1.75)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "f7a71f8d-a99f-4e39-9862-af6ac30a7091")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.75 1.75)
|
||||
(end 1.13 1.75)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "817093f7-d70e-4e8d-a938-0d501369996e")
|
||||
)
|
||||
(fp_line
|
||||
(start 2.13 -1.13)
|
||||
(end 2.13 1.13)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "db88c6f6-4b31-4243-9654-30d77b022a33")
|
||||
)
|
||||
(fp_line
|
||||
(start 2.13 1.13)
|
||||
(end 1.75 1.13)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "393772b7-f5af-49e8-9612-4b8bb9d9a9ba")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -1.5 -0.75) (xy -1.5 1.5) (xy 1.5 1.5) (xy 1.5 -1.5) (xy -0.75 -1.5)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.Fab")
|
||||
(uuid "c0565ff4-e04c-4de1-8a69-8b14d4a59ec7")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "69b96c44-6392-4f22-8818-ebb39567f873")
|
||||
(effects
|
||||
(font
|
||||
(size 0.75 0.75)
|
||||
(thickness 0.11)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "" smd roundrect
|
||||
(at -0.425 -0.425)
|
||||
(size 0.69 0.69)
|
||||
(layers "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "edb080ec-f862-442f-a07c-f3f822e92eac")
|
||||
)
|
||||
(pad "" smd roundrect
|
||||
(at -0.425 0.425)
|
||||
(size 0.69 0.69)
|
||||
(layers "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "400bcf57-b44e-4c5a-ab46-c04b3cab419b")
|
||||
)
|
||||
(pad "" smd roundrect
|
||||
(at 0.425 -0.425)
|
||||
(size 0.69 0.69)
|
||||
(layers "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "f168171f-5a00-478e-a94a-74957d998f5a")
|
||||
)
|
||||
(pad "" smd roundrect
|
||||
(at 0.425 0.425)
|
||||
(size 0.69 0.69)
|
||||
(layers "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "a70fb6f2-aa93-4fbd-992d-d2143f65e9aa")
|
||||
)
|
||||
(pad "1" smd roundrect
|
||||
(at -1.4625 -0.75)
|
||||
(size 0.825 0.25)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "f263de75-8f03-4c0d-bbe8-69115199632e")
|
||||
)
|
||||
(pad "2" smd roundrect
|
||||
(at -1.4625 -0.25)
|
||||
(size 0.825 0.25)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "26b64c03-186c-4209-b768-66b3958013f9")
|
||||
)
|
||||
(pad "3" smd roundrect
|
||||
(at -1.4625 0.25)
|
||||
(size 0.825 0.25)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "ad332282-e7de-46d5-8d74-4a20c5bb6abc")
|
||||
)
|
||||
(pad "4" smd roundrect
|
||||
(at -1.4625 0.75)
|
||||
(size 0.825 0.25)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "90175b93-a479-4dd8-9b85-6c77b02a9199")
|
||||
)
|
||||
(pad "5" smd roundrect
|
||||
(at -0.75 1.4625)
|
||||
(size 0.25 0.825)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "38674765-a05d-46f1-becd-9c3168ad661a")
|
||||
)
|
||||
(pad "6" smd roundrect
|
||||
(at -0.25 1.4625)
|
||||
(size 0.25 0.825)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "ce7f813e-4f7e-4157-84af-b30a379f3210")
|
||||
)
|
||||
(pad "7" smd roundrect
|
||||
(at 0.25 1.4625)
|
||||
(size 0.25 0.825)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "eca66c6d-1ffa-440b-bffa-bb087cb75123")
|
||||
)
|
||||
(pad "8" smd roundrect
|
||||
(at 0.75 1.4625)
|
||||
(size 0.25 0.825)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "b38d6cac-61a7-46a7-8872-2596081f1ce3")
|
||||
)
|
||||
(pad "9" smd roundrect
|
||||
(at 1.4625 0.75)
|
||||
(size 0.825 0.25)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "54ab9335-8987-4f76-bf90-b5d0da4be022")
|
||||
)
|
||||
(pad "10" smd roundrect
|
||||
(at 1.4625 0.25)
|
||||
(size 0.825 0.25)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "3fea1b13-3ae4-44a1-83d0-6b9b84e406bf")
|
||||
)
|
||||
(pad "11" smd roundrect
|
||||
(at 1.4625 -0.25)
|
||||
(size 0.825 0.25)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "0bef8fe5-c2dc-4b06-a1ae-68ad9d8423f4")
|
||||
)
|
||||
(pad "12" smd roundrect
|
||||
(at 1.4625 -0.75)
|
||||
(size 0.825 0.25)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "f1f5f2fb-694f-4fdf-ba18-2a55ecdb8b77")
|
||||
)
|
||||
(pad "13" smd roundrect
|
||||
(at 0.75 -1.4625)
|
||||
(size 0.25 0.825)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "70c63b74-ad50-4cf2-b27a-daad0df06ca2")
|
||||
)
|
||||
(pad "14" smd roundrect
|
||||
(at 0.25 -1.4625)
|
||||
(size 0.25 0.825)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "9014df83-ce34-4861-b73d-5f0081a34d0f")
|
||||
)
|
||||
(pad "15" smd roundrect
|
||||
(at -0.25 -1.4625)
|
||||
(size 0.25 0.825)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "a796753a-1977-4937-9ac1-45fdde894bba")
|
||||
)
|
||||
(pad "16" smd roundrect
|
||||
(at -0.75 -1.4625)
|
||||
(size 0.25 0.825)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "f13fdf09-8954-47b4-95d7-5f517ea93f7d")
|
||||
)
|
||||
(pad "17" thru_hole circle
|
||||
(at -0.55 -0.55)
|
||||
(size 0.6 0.6)
|
||||
(drill 0.3)
|
||||
(property pad_prop_heatsink)
|
||||
(layers "*.Cu")
|
||||
(remove_unused_layers no)
|
||||
(uuid "2cf49eb3-69ae-489c-a1a9-fd78a76faff6")
|
||||
)
|
||||
(pad "17" thru_hole circle
|
||||
(at -0.55 0)
|
||||
(size 0.6 0.6)
|
||||
(drill 0.3)
|
||||
(property pad_prop_heatsink)
|
||||
(layers "*.Cu")
|
||||
(remove_unused_layers no)
|
||||
(uuid "940fd9f5-bc60-4156-84bd-47db1f493b07")
|
||||
)
|
||||
(pad "17" thru_hole circle
|
||||
(at -0.55 0.55)
|
||||
(size 0.6 0.6)
|
||||
(drill 0.3)
|
||||
(property pad_prop_heatsink)
|
||||
(layers "*.Cu")
|
||||
(remove_unused_layers no)
|
||||
(uuid "fc118f21-1667-4e35-b534-3bfbff79aab8")
|
||||
)
|
||||
(pad "17" thru_hole circle
|
||||
(at 0 -0.55)
|
||||
(size 0.6 0.6)
|
||||
(drill 0.3)
|
||||
(property pad_prop_heatsink)
|
||||
(layers "*.Cu")
|
||||
(remove_unused_layers no)
|
||||
(uuid "c12a4c25-d958-4e3f-b071-1f45f1378f36")
|
||||
)
|
||||
(pad "17" thru_hole circle
|
||||
(at 0 0)
|
||||
(size 0.6 0.6)
|
||||
(drill 0.3)
|
||||
(property pad_prop_heatsink)
|
||||
(layers "*.Cu")
|
||||
(remove_unused_layers no)
|
||||
(uuid "23510b70-47cb-4362-8a39-9db1315f4f7a")
|
||||
)
|
||||
(pad "17" smd roundrect
|
||||
(at 0 0)
|
||||
(size 1.7 1.7)
|
||||
(property pad_prop_heatsink)
|
||||
(layers "F.Cu" "F.Mask")
|
||||
(roundrect_rratio 0.05882352941)
|
||||
(zone_connect 2)
|
||||
(uuid "4eaa4886-87a8-421e-9a38-c05f26a21d1f")
|
||||
)
|
||||
(pad "17" smd roundrect
|
||||
(at 0 0)
|
||||
(size 1.7 1.7)
|
||||
(property pad_prop_heatsink)
|
||||
(layers "B.Cu")
|
||||
(roundrect_rratio 0.05882352941)
|
||||
(zone_connect 2)
|
||||
(uuid "e511c39e-f8fb-42ad-a37a-e49d7bebf859")
|
||||
)
|
||||
(pad "17" thru_hole circle
|
||||
(at 0 0.55)
|
||||
(size 0.6 0.6)
|
||||
(drill 0.3)
|
||||
(property pad_prop_heatsink)
|
||||
(layers "*.Cu")
|
||||
(remove_unused_layers no)
|
||||
(uuid "45eeca99-2c2c-4d89-8529-b816a2dec996")
|
||||
)
|
||||
(pad "17" thru_hole circle
|
||||
(at 0.55 -0.55)
|
||||
(size 0.6 0.6)
|
||||
(drill 0.3)
|
||||
(property pad_prop_heatsink)
|
||||
(layers "*.Cu")
|
||||
(remove_unused_layers no)
|
||||
(uuid "ec8d14d2-db2f-48d9-a4aa-73b79c5ec504")
|
||||
)
|
||||
(pad "17" thru_hole circle
|
||||
(at 0.55 0)
|
||||
(size 0.6 0.6)
|
||||
(drill 0.3)
|
||||
(property pad_prop_heatsink)
|
||||
(layers "*.Cu")
|
||||
(remove_unused_layers no)
|
||||
(uuid "74e6a742-89cf-4343-bff9-14ed4f09e303")
|
||||
)
|
||||
(pad "17" thru_hole circle
|
||||
(at 0.55 0.55)
|
||||
(size 0.6 0.6)
|
||||
(drill 0.3)
|
||||
(property pad_prop_heatsink)
|
||||
(layers "*.Cu")
|
||||
(remove_unused_layers no)
|
||||
(uuid "484c7ef4-0746-459d-a501-e944bc0a4d11")
|
||||
)
|
||||
(embedded_fonts no)
|
||||
(model "${KICAD9_3DMODEL_DIR}/Package_DFN_QFN.3dshapes/QFN-16-1EP_3x3mm_P0.5mm_EP1.7x1.7mm.step"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -1,433 +0,0 @@
|
|||
(footprint "QFN-29_L4.0-W4.0-P0.40-TL-BQ25792RQMR"
|
||||
(version 20241229)
|
||||
(generator "pcbnew")
|
||||
(generator_version "9.0")
|
||||
(layer "F.Cu")
|
||||
(property "Reference" "REF**"
|
||||
(at -1.1 -2.8 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "6599aade-e261-4ab8-8b8b-15cc68510d40")
|
||||
(effects
|
||||
(font
|
||||
(size 0.6 0.6)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "QFN-29_L4.0-W4.0-P0.40-TL-BQ25792RQMR"
|
||||
(at 0 3.2 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "c140b509-841c-444c-b8de-79c5c34ac8fa")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "90288ff5-9cf7-4f11-91b6-321c6853ebc3")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "3f7a6fa9-3a31-4eb9-a68a-a133d3efeed8")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -2 -2.02)
|
||||
(end -1.6 -2.02)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "f55524ca-94f0-4acd-aa21-ce9804d702ad")
|
||||
)
|
||||
(fp_line
|
||||
(start -2 -1.8)
|
||||
(end -2 -2)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "960a36aa-41e4-402e-8697-b2bfcaf90657")
|
||||
)
|
||||
(fp_line
|
||||
(start -2 1.97)
|
||||
(end -2 1.8)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "8526c0b5-cd2a-47be-bab1-f1dce2f8c4d6")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.6 1.97)
|
||||
(end -2 1.97)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "0319cbea-a76a-4dcd-8733-aee7ec62785c")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.6 -2.02)
|
||||
(end 2 -2.02)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "53f46456-ce3d-4d9e-afa1-8fbf4a934967")
|
||||
)
|
||||
(fp_line
|
||||
(start 2 -2.02)
|
||||
(end 2 -1.8)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "0ff195a4-6e3f-4fd2-b7ac-73dd4adaa4df")
|
||||
)
|
||||
(fp_line
|
||||
(start 2 1.8)
|
||||
(end 2 1.97)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e398322e-1008-453f-a7ab-7bfe29924feb")
|
||||
)
|
||||
(fp_line
|
||||
(start 2 1.97)
|
||||
(end 1.6 1.97)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "bf533144-a334-48af-94ac-77e9083fa407")
|
||||
)
|
||||
(fp_circle
|
||||
(center -2.3 -2)
|
||||
(end -2.26 -2)
|
||||
(stroke
|
||||
(width 0.26)
|
||||
(type solid)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e2c3de30-af42-493d-92da-44c8b2ff05da")
|
||||
)
|
||||
(fp_rect
|
||||
(start -2.2 -2.2)
|
||||
(end 2.2 2.2)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type default)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "fc8e23fe-87c2-4ba4-a56a-e23cc2e1a5b1")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "01ce11ae-6357-4152-b2c7-4bdde2470eb9")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" smd roundrect
|
||||
(at -1.35 -1.6)
|
||||
(size 0.2 0.7)
|
||||
(drill
|
||||
(offset 0 -0.25)
|
||||
)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "ba3a59db-39cd-4e75-8ec1-12bd995b561b")
|
||||
)
|
||||
(pad "1" smd roundrect
|
||||
(at -1.35 -1.6 90)
|
||||
(size 0.2 0.95)
|
||||
(drill
|
||||
(offset 0 -0.375)
|
||||
)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "01b62e0c-048d-4385-bb7e-7c5de008d950")
|
||||
)
|
||||
(pad "2" smd roundrect
|
||||
(at -1.9 -1.2)
|
||||
(size 0.6 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "51ff94ae-67d5-4713-83e3-1616ff0e75eb")
|
||||
)
|
||||
(pad "3" smd roundrect
|
||||
(at -1.9 -0.8)
|
||||
(size 0.6 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "75a543dc-b49a-4a4f-8a8a-6b381d106769")
|
||||
)
|
||||
(pad "4" smd roundrect
|
||||
(at -1.9 -0.4)
|
||||
(size 0.6 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "070ac279-c3bf-4291-9ae2-986d5341f318")
|
||||
)
|
||||
(pad "5" smd roundrect
|
||||
(at -1.9 0)
|
||||
(size 0.6 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "062e8738-fe6c-449a-9e75-a7caa7b35934")
|
||||
)
|
||||
(pad "6" smd roundrect
|
||||
(at -1.9 0.4)
|
||||
(size 0.6 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "7541255c-870c-4419-a89c-b38367322359")
|
||||
)
|
||||
(pad "7" smd roundrect
|
||||
(at -1.9 0.8)
|
||||
(size 0.6 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "78187563-72a7-4a5f-a66c-a1da603d464a")
|
||||
)
|
||||
(pad "8" smd roundrect
|
||||
(at -1.9 1.2)
|
||||
(size 0.6 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "bbbd0b7c-4706-4384-b242-7d362487711a")
|
||||
)
|
||||
(pad "9" smd roundrect
|
||||
(at -1.4 1.6 180)
|
||||
(size 0.2 0.7)
|
||||
(drill
|
||||
(offset 0 -0.25)
|
||||
)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "12df419d-ee54-4c01-8487-3a1ea5efe1be")
|
||||
)
|
||||
(pad "9" smd roundrect
|
||||
(at -1.4 1.6 90)
|
||||
(size 0.2 0.9)
|
||||
(drill
|
||||
(offset 0 -0.35)
|
||||
)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "81f4aaa1-d58c-46f4-952a-971b27422c17")
|
||||
)
|
||||
(pad "10" smd roundrect
|
||||
(at -1 1.9)
|
||||
(size 0.2 0.6)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "6f2540b1-2c03-4620-bd30-c4334c90116e")
|
||||
)
|
||||
(pad "11" smd roundrect
|
||||
(at -0.6 1.9)
|
||||
(size 0.2 0.6)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "5fa4f42a-f380-429e-837d-a3b787b82d79")
|
||||
)
|
||||
(pad "12" smd roundrect
|
||||
(at -0.2 1.9)
|
||||
(size 0.2 0.6)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "678cd046-c882-402b-96b0-5b440ecf0d0e")
|
||||
)
|
||||
(pad "13" smd roundrect
|
||||
(at 0.2 1.9)
|
||||
(size 0.2 0.6)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "7fb2a85e-c298-4a70-9ead-7921c8d436c2")
|
||||
)
|
||||
(pad "14" smd roundrect
|
||||
(at 0.6 1.9)
|
||||
(size 0.2 0.6)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "cbbae3c6-7280-4523-91ef-fa875f02612d")
|
||||
)
|
||||
(pad "15" smd roundrect
|
||||
(at 1 1.9)
|
||||
(size 0.2 0.6)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "ebca0186-36e9-4dd0-ab63-bf622246cb83")
|
||||
)
|
||||
(pad "16" smd roundrect
|
||||
(at 1.4 1.6 180)
|
||||
(size 0.2 0.7)
|
||||
(drill
|
||||
(offset 0 -0.25)
|
||||
)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "c0f77ae7-2244-453d-af17-a76790ad34e3")
|
||||
)
|
||||
(pad "16" smd roundrect
|
||||
(at 1.4 1.6 270)
|
||||
(size 0.2 0.9)
|
||||
(drill
|
||||
(offset 0 -0.35)
|
||||
)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "aef4c759-12b8-4960-9733-e106e9d35ad9")
|
||||
)
|
||||
(pad "17" smd roundrect
|
||||
(at 1.85 1.2)
|
||||
(size 0.7 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "ab71ef63-3ab6-4abb-94e9-975269fd4309")
|
||||
)
|
||||
(pad "18" smd roundrect
|
||||
(at 1.875 0.8)
|
||||
(size 0.65 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "b18382b7-f5ad-417d-917f-35ecc910d919")
|
||||
)
|
||||
(pad "19" smd roundrect
|
||||
(at 1.8625 0.4)
|
||||
(size 0.68 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "6cbf90c5-3ad9-489a-888a-7546142f48cf")
|
||||
)
|
||||
(pad "20" smd roundrect
|
||||
(at 1.9 0)
|
||||
(size 0.6 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "8f0c4ccd-e618-4cc3-94a3-157feab8f387")
|
||||
)
|
||||
(pad "21" smd roundrect
|
||||
(at 1.9 -0.4)
|
||||
(size 0.6 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "4b789dea-abf8-4395-9ed7-95c7b82357fb")
|
||||
)
|
||||
(pad "22" smd roundrect
|
||||
(at 1.9 -0.8)
|
||||
(size 0.6 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "e4017287-9459-429f-abdb-fcddfb80e267")
|
||||
)
|
||||
(pad "23" smd roundrect
|
||||
(at 1.9 -1.2)
|
||||
(size 0.6 0.2)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "0643f254-7f26-4e26-8daa-5c9d63153e8b")
|
||||
)
|
||||
(pad "24" smd roundrect
|
||||
(at 1.35 -1.6)
|
||||
(size 0.2 0.7)
|
||||
(drill
|
||||
(offset 0 -0.25)
|
||||
)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "f6445e30-69d7-445e-9eda-81b5cc58e5a7")
|
||||
)
|
||||
(pad "24" smd roundrect
|
||||
(at 1.35 -1.6 270)
|
||||
(size 0.2 0.95)
|
||||
(drill
|
||||
(offset 0 -0.375)
|
||||
)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.25)
|
||||
(uuid "ccef8ac6-0b40-4eec-8440-85306fd1ece9")
|
||||
)
|
||||
(pad "25" smd roundrect
|
||||
(at 0.9 -1.7)
|
||||
(size 0.22 1)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.2272727273)
|
||||
(uuid "d3275a0a-6a2b-4d35-8a22-49854e02a924")
|
||||
)
|
||||
(pad "26" smd roundrect
|
||||
(at 0.45 -1.7)
|
||||
(size 0.22 1)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.2272727273)
|
||||
(uuid "0b92c444-d36a-4797-8e58-c273c4a27f20")
|
||||
)
|
||||
(pad "27" smd roundrect
|
||||
(at 0 -1.7)
|
||||
(size 0.22 1)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.2272727273)
|
||||
(uuid "9eac8c92-637b-46af-bbe0-6ca3e2e3ebe6")
|
||||
)
|
||||
(pad "28" smd roundrect
|
||||
(at -0.45 -1.7)
|
||||
(size 0.22 1)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.2272727273)
|
||||
(uuid "b154beb7-3216-4f1c-92b7-02a92eeaf9f6")
|
||||
)
|
||||
(pad "29" smd roundrect
|
||||
(at -0.9 -1.725)
|
||||
(size 0.22 0.95)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.2272727273)
|
||||
(uuid "5344e602-4be2-4a71-9cd3-b52d6cf18599")
|
||||
)
|
||||
(embedded_fonts no)
|
||||
(model "${KIPRJMOD}/parts/parts.3dshapes/QFN-29_L4.0-W4.0-P0.40-TL-BQ25792RQMR.wrl"
|
||||
(offset
|
||||
(xyz 0 -0.01 -0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -1,170 +0,0 @@
|
|||
(footprint "SLO0520H1R0MTT"
|
||||
(version 20241229)
|
||||
(generator "pcbnew")
|
||||
(generator_version "9.0")
|
||||
(layer "F.Cu")
|
||||
(property "Reference" "REF**"
|
||||
(at -1.6 -3.1 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "41c7a22f-195d-4286-9376-e35a5beeab80")
|
||||
(effects
|
||||
(font
|
||||
(size 0.6 0.6)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "IND-SMD_L5.4-W5.1"
|
||||
(at 0 4 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "6452beba-b4e8-408b-8ad2-7a40e8095d51")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "6e2b042f-763d-49d7-b25b-64524ec8b839")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "18c8fb2f-6b5a-46e5-92ba-50a0f2c77068")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -2.7 -2.6)
|
||||
(end -2.7 -1.48)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "365a8472-28f6-468c-92ce-632a363ea605")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.7 -2.6)
|
||||
(end 2.7 -2.6)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "23280908-433e-4121-9392-af6302b0616d")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.7 1.48)
|
||||
(end -2.7 2.6)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "d3b5b7c3-6d6e-4c2c-bcaa-c91601929fe4")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.7 2.6)
|
||||
(end 2.7 2.6)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "c0954084-ff72-448b-8a6a-6d8671163165")
|
||||
)
|
||||
(fp_line
|
||||
(start 2.7 -2.6)
|
||||
(end 2.7 -1.48)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "4e6d9180-4936-44da-ac3d-036401c0c417")
|
||||
)
|
||||
(fp_line
|
||||
(start 2.7 1.48)
|
||||
(end 2.7 2.6)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "343e5950-04fa-4f1e-88ac-541dfb3f2733")
|
||||
)
|
||||
(fp_rect
|
||||
(start -3 -2.7)
|
||||
(end 3 2.7)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type default)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "7c58817f-924c-4929-ba1b-710ddd679fd7")
|
||||
)
|
||||
(fp_circle
|
||||
(center -2.7 2.6)
|
||||
(end -2.67 2.6)
|
||||
(stroke
|
||||
(width 0.06)
|
||||
(type solid)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.Fab")
|
||||
(uuid "9fdfa3db-7dc6-479e-8bf3-4786c3dfe67e")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "6bd7b1fc-cb8f-4bd1-a2a6-2c6de7f5aa13")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" smd rect
|
||||
(at -2.4 0)
|
||||
(size 1.25 2.5)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(uuid "ed8eccd9-c6c5-4dcd-9c1d-5d23e4b5f353")
|
||||
)
|
||||
(pad "2" smd rect
|
||||
(at 2.4 0)
|
||||
(size 1.25 2.5)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(uuid "7e6633d2-1ff1-4c50-9cc2-7cfca8d7f459")
|
||||
)
|
||||
(embedded_fonts no)
|
||||
(model "${KIPRJMOD}/parts/parts.3dshapes/SLO0520H1R0MTT.wrl"
|
||||
(offset
|
||||
(xyz 0 -0 -0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
12824
power.kicad_sch
12824
power.kicad_sch
File diff suppressed because it is too large
Load diff
|
|
@ -1,106 +0,0 @@
|
|||
<!--XSL style sheet to convert EESCHEMA XML Partlist Format to grouped CSV BOM Format
|
||||
Copyright (C) 2014, Wolf Walter.
|
||||
Copyright (C) 2013, Stefan Helmert.
|
||||
Copyright (C) 2018, Kicad developers.
|
||||
Copyright (C) 2019, arturo182.
|
||||
GPL v2.
|
||||
|
||||
Functionality:
|
||||
Generation of JLCPCB PCBA compatible BOM
|
||||
|
||||
How to use this is explained in eeschema.pdf chapter 14. You enter a command line into the
|
||||
netlist exporter using a new (custom) tab in the netlist export dialog.
|
||||
The command line is
|
||||
xsltproc -o "%O.csv" "FullPathToFile/bom2grouped_csv_jlcpcb.xsl" "%I"
|
||||
-->
|
||||
<!--
|
||||
@package
|
||||
Generates a JLCPCB PCBA service compatible BOM
|
||||
|
||||
Functionality:
|
||||
* Generate a comma separated value BOM list (csv file type).
|
||||
* Components are sorted by ref and grouped by same value+footprint
|
||||
One value per line
|
||||
Fields are
|
||||
Comment,Designator,Footprint,PN,LCSC
|
||||
|
||||
The command line is
|
||||
xsltproc -o "%O.csv" "full_path/bom2grouped_csv_jlcpcb.xsl" "%I"
|
||||
-->
|
||||
|
||||
|
||||
<!DOCTYPE xsl:stylesheet [
|
||||
<!ENTITY nl "
"> <!--new line CR, LF, or LF, your choice -->
|
||||
]>
|
||||
|
||||
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:output method="text"/>
|
||||
|
||||
<xsl:variable name="digits" select="'1234567890'" />
|
||||
|
||||
<!-- for matching grouping of footprint and value combination -->
|
||||
<xsl:key name="partTypeByValueAndFootprint" match="comp" use="concat(footprint, '-', value)" />
|
||||
|
||||
<!-- for table head and empty table fields-->
|
||||
<xsl:key name="headentr" match="field" use="@name"/>
|
||||
|
||||
<!-- main part -->
|
||||
<xsl:template match="/export">
|
||||
<xsl:text>Comment,Designator,Footprint,Quantity,PN,LCSC</xsl:text>
|
||||
<!-- all table entries -->
|
||||
<xsl:apply-templates select="components"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="components">
|
||||
<!-- for Muenchian grouping of footprint and value combination -->
|
||||
<xsl:for-each select="comp[count(. | key('partTypeByValueAndFootprint', concat(footprint, '-', value))[1]) = 1]">
|
||||
<xsl:sort select="@ref" />
|
||||
<xsl:text>&nl;</xsl:text>
|
||||
<xsl:text>"</xsl:text><xsl:value-of select="value"/><xsl:text>","</xsl:text>
|
||||
<!-- list of all references -->
|
||||
<xsl:for-each select="key('partTypeByValueAndFootprint', concat(footprint, '-', value))">
|
||||
<!-- strip non-digits from reference and sort based on remaining number -->
|
||||
<xsl:sort select="translate(@ref, translate(@ref, $digits, ''), '')" data-type="number" />
|
||||
<xsl:value-of select="@ref"/>
|
||||
<xsl:if test="position() != last()"><xsl:text>,</xsl:text></xsl:if>
|
||||
</xsl:for-each>
|
||||
<xsl:text>","</xsl:text>
|
||||
|
||||
<xsl:value-of select="footprint"/><xsl:text>","</xsl:text>
|
||||
<xsl:value-of select="count(key('partTypeByValueAndFootprint', concat(footprint, '-', value)))"/><xsl:text>","</xsl:text>
|
||||
<xsl:value-of select="fields/field[@name='PN']"/><xsl:text>","</xsl:text>
|
||||
<xsl:value-of select="fields/field[@name='LCSC']"/><xsl:text>"</xsl:text>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<!-- table entries with dynamic table head -->
|
||||
<xsl:template match="fields">
|
||||
|
||||
<!-- remember current fields section -->
|
||||
<xsl:variable name="fieldvar" select="field"/>
|
||||
|
||||
<!-- for all existing head entries -->
|
||||
<xsl:for-each select="/export/components/comp/fields/field[generate-id(.) = generate-id(key('headentr',@name)[1])]">
|
||||
<xsl:variable name="allnames" select="@name"/>
|
||||
<xsl:text>,"</xsl:text>
|
||||
|
||||
<!-- for all field entries in the remembered fields section -->
|
||||
<xsl:for-each select="$fieldvar">
|
||||
|
||||
<!-- only if this field entry exists in this fields section -->
|
||||
<xsl:if test="@name=$allnames">
|
||||
<!-- content of the field -->
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:if>
|
||||
<!--
|
||||
If it does not exist, use an empty cell in output for this row.
|
||||
Every non-blank entry is assigned to its proper column.
|
||||
-->
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:text>"</xsl:text>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
6
present/template/css/bootstrap.min.css
vendored
6
present/template/css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
|
|
@ -1,217 +0,0 @@
|
|||
.render-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
/* Create four equal columns that sits next to each other */
|
||||
.render-col {
|
||||
flex: 50%;
|
||||
max-width: 50%;
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
.render-col img {
|
||||
margin-top: 8px;
|
||||
vertical-align: middle;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
|
||||
@media screen and (max-width: 600px) {
|
||||
.render-col {
|
||||
flex: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.img-rounded {
|
||||
border-radius:10% !important;
|
||||
}
|
||||
|
||||
.card-body {
|
||||
/* Better reading width & spacing */
|
||||
font-size: 1.02rem;
|
||||
line-height: 1.65;
|
||||
}
|
||||
|
||||
/* Reading width only for text content */
|
||||
.card-body > p,
|
||||
.card-body > ul,
|
||||
.card-body > ol,
|
||||
.card-body > blockquote,
|
||||
.card-body > pre,
|
||||
.card-body > h1,
|
||||
.card-body > h2,
|
||||
.card-body > h3,
|
||||
.card-body > h4,
|
||||
.card-body > h5,
|
||||
.card-body > h6 {
|
||||
max-width: 80ch;
|
||||
}
|
||||
|
||||
/* Headings: better rhythm, slightly heavier, nicer spacing */
|
||||
.card-body h1,
|
||||
.card-body h2,
|
||||
.card-body h3,
|
||||
.card-body h4,
|
||||
.card-body h5,
|
||||
.card-body h6 {
|
||||
margin-top: 1.6em;
|
||||
margin-bottom: 0.6em;
|
||||
line-height: 1.25;
|
||||
font-weight: 650;
|
||||
letter-spacing: -0.015em;
|
||||
}
|
||||
|
||||
.card-body h1 { font-size: 2.0rem; margin-top: 0.4em; }
|
||||
.card-body h2 { font-size: 1.5rem; border-bottom: 1px solid var(--bs-border-color); padding-bottom: .35rem; }
|
||||
.card-body h3 { font-size: 1.25rem; }
|
||||
.card-body h4 { font-size: 1.1rem; }
|
||||
|
||||
/* Paragraphs + lists: consistent spacing */
|
||||
.card-body p {
|
||||
margin: 0 0 0.9rem 0;
|
||||
}
|
||||
|
||||
.card-body ul,
|
||||
.card-body ol {
|
||||
margin: 0 0 1rem 1.1rem;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.card-body li {
|
||||
margin-bottom: 0.25rem;
|
||||
}
|
||||
|
||||
/* Make nested list indentation feel nicer */
|
||||
.card-body ul ul,
|
||||
.card-body ol ol,
|
||||
.card-body ul ol,
|
||||
.card-body ol ul {
|
||||
margin-top: 0.35rem;
|
||||
margin-bottom: 0.35rem;
|
||||
}
|
||||
|
||||
/* Links: subtle, readable */
|
||||
.card-body a {
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid rgba(13,110,253,.35); /* bootstrap primary-ish */
|
||||
}
|
||||
.card-body a:hover {
|
||||
border-bottom-color: rgba(13,110,253,.8);
|
||||
}
|
||||
|
||||
/* Blockquotes: turn into a clean “note” box */
|
||||
.card-body blockquote {
|
||||
margin: 1rem 0;
|
||||
padding: 0.75rem 1rem;
|
||||
border-left: 4px solid var(--bs-border-color);
|
||||
background: var(--bs-tertiary-bg);
|
||||
border-radius: 0.5rem;
|
||||
}
|
||||
.card-body blockquote p:last-child { margin-bottom: 0; }
|
||||
|
||||
/* Inline code: subtle pill */
|
||||
.card-body code {
|
||||
padding: 0.15em 0.35em;
|
||||
border-radius: 0.35rem;
|
||||
background: rgba(0,0,0,.05);
|
||||
font-size: 0.95em;
|
||||
}
|
||||
|
||||
/* Code blocks (```): good spacing, background, scroll if needed */
|
||||
.card-body pre {
|
||||
margin: 1rem 0;
|
||||
padding: 0.9rem 1rem;
|
||||
border: 1px solid var(--bs-border-color);
|
||||
border-radius: 0.75rem;
|
||||
background: var(--bs-tertiary-bg);
|
||||
overflow: auto;
|
||||
}
|
||||
.card-body pre code {
|
||||
padding: 0;
|
||||
background: transparent;
|
||||
font-size: 0.95em;
|
||||
line-height: 1.5;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Tables: readable borders + zebra stripes + padding */
|
||||
.card-body table {
|
||||
width: 100%;
|
||||
margin: 1rem 0;
|
||||
border-collapse: separate;
|
||||
border-spacing: 0;
|
||||
border: 1px solid var(--bs-border-color);
|
||||
border-radius: 0.75rem;
|
||||
overflow: hidden; /* makes rounded corners work */
|
||||
}
|
||||
|
||||
.card-body thead th {
|
||||
background: var(--bs-tertiary-bg);
|
||||
font-weight: 650;
|
||||
border-bottom: 1px solid var(--bs-border-color);
|
||||
}
|
||||
|
||||
.card-body th,
|
||||
.card-body td {
|
||||
padding: 0.6rem 0.75rem;
|
||||
vertical-align: top;
|
||||
border-right: 1px solid var(--bs-border-color);
|
||||
}
|
||||
|
||||
.card-body th:last-child,
|
||||
.card-body td:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.card-body tbody tr:not(:last-child) td {
|
||||
border-bottom: 1px solid var(--bs-border-color);
|
||||
}
|
||||
|
||||
/* Zebra stripes */
|
||||
.card-body tbody tr:nth-child(2n) td {
|
||||
background: rgba(0,0,0,.02);
|
||||
}
|
||||
|
||||
/* If tables are wide, allow horizontal scrolling on small screens */
|
||||
.card-body table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.card-body table {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
}
|
||||
}
|
||||
|
||||
/* Images inside markdown: look consistent */
|
||||
.card-body img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
border-radius: 0.75rem;
|
||||
}
|
||||
|
||||
/* Horizontal rule: subtle */
|
||||
.card-body hr {
|
||||
margin: 2rem 0;
|
||||
border-top: 1px solid var(--bs-border-color);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* Optional: badge images should align nicely and not be huge */
|
||||
.card-body p img {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* Fix your flashing code block: currently it's inside <p><code>... */
|
||||
.card-body p > code {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
/* Improve the "card" reading feel a bit (optional) */
|
||||
.card .card-body {
|
||||
padding: 1.75rem;
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 917 B |
|
|
@ -1,26 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="189.5063mm" height="117.32051mm" viewBox="0 0 189.5063 117.32051" version="1.1" id="svg8" inkscape:version="0.92.4 (5da689c313, 2019-01-14)" sodipodi:docname="M17_logo_shadow.svg" inkscape:export-filename="C:\Users\SP5WWP\Documents\M17_logo_simple_400.png" inkscape:export-xdpi="399.95294" inkscape:export-ydpi="399.95294">
|
||||
<defs id="defs2"/>
|
||||
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.98994949" inkscape:cx="380.91114" inkscape:cy="226.43171" inkscape:document-units="mm" inkscape:current-layer="layer1" showgrid="false" showguides="false" inkscape:guide-bbox="true" fit-margin-top="10" fit-margin-bottom="10" fit-margin-left="10" fit-margin-right="10" inkscape:window-width="1280" inkscape:window-height="962" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:snap-global="false">
|
||||
<sodipodi:guide position="70.590358,88.660254" orientation="0,1" id="guide10" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
|
||||
<sodipodi:guide position="73.129418,28.660253" orientation="0,1" id="guide12" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
|
||||
</sodipodi:namedview>
|
||||
<metadata id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
|
||||
<dc:title/>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(-41.529203,-88.339744)">
|
||||
<path style="fill:none;stroke:#999999;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 57.857748,178.73185 34.641012,-60 v 60 l 34.64101,-60 v 60" id="path879-0" inkscape:connector-curvature="0"/>
|
||||
<path style="fill:none;stroke:#999999;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 161.78079,178.73185 v -60 l -17.2733,29.91823" id="path821-2" inkscape:connector-curvature="0"/>
|
||||
<path style="fill:none;stroke:#999999;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 179.73264,178.73185 34.64102,-60 h -33.97049" id="path825-1" inkscape:connector-curvature="0"/>
|
||||
<path style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 55.85933,177 34.641017,-60 v 60 l 34.641013,-60 v 60" id="path879" inkscape:connector-curvature="0"/>
|
||||
<path style="fill:none;stroke:#ff0000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 159.78238,177 v -60 l -17.2733,29.91823" id="path821" inkscape:connector-curvature="0"/>
|
||||
<path style="fill:none;stroke:#ff0000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 177.73423,177 34.64102,-60 h -33.97049" id="path825" inkscape:connector-curvature="0"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.6 KiB |
|
|
@ -1,100 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" data-bs-theme="auto">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="M17 Foundation">
|
||||
<title>{{ name }}</title>
|
||||
<link rel="stylesheet" href="css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<link rel="icon" href="imgs/favicon.png">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<section class="py-1 text-center container">
|
||||
<div class="row py-2 py-lg-3 mx-auto">
|
||||
<div class="col-lg-4 col-md-4 ">
|
||||
<img class="img-rounded" src="imgs/m17-logo.svg" alt="Logo M17 Foundation" width="200px">
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 pt-2">
|
||||
<h1>{{ title }}</h1>
|
||||
<p>{{ description }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<div class="py-5 bg-body-tertiary">
|
||||
<div class="container">
|
||||
<div class="card mb-3">
|
||||
<div class="row g-0">
|
||||
<div class="col-md-8">
|
||||
<div class="card-body">
|
||||
{% include 'README.html' %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
{% for r in renders %}
|
||||
{% if loop.first %}
|
||||
<a href="imgs/{{ name }}-{{ r.suffix }}.png">
|
||||
<img src="imgs/{{ name }}-{{ r.suffix }}.png" class="img-fluid rounded-start mb-2" alt="3D render PCB {{ name }}, {{ r.alt }}.">
|
||||
</a>
|
||||
<div class="render-row">
|
||||
{% else %}
|
||||
<div class="render-col">
|
||||
<a href="imgs/{{ name }}-{{ r.suffix }}.png">
|
||||
<img src="imgs/{{ name }}-{{ r.suffix }}.png" class="img-fluid rounded-start" alt="3D render PCB {{ name }}, {{ r.alt }}.">
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if loop.last %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<div class="">
|
||||
<h3>Files:</h3>
|
||||
<ul>
|
||||
{% for item in files %}
|
||||
<li>
|
||||
<a href="files/{{ item.file }}">{{ item.description }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
<vrml-viewer src="files/{{ name }}_model.vrml.gz" autoload="false" model-size="1.2" responsive="true"></vrml-viewer>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<footer class="text-body-secondary py-5">
|
||||
<div class="container">
|
||||
<p class="float-end mb-1">
|
||||
<a href="#">Back to top</a>
|
||||
</p>
|
||||
<p class="mb-1"><a href="https://m17foundation.org/">m17foundation.org</a>, last update: {{ datetime }}.</p>
|
||||
</div>
|
||||
</footer>
|
||||
<div class="w-full mt-16 mb-1 p-2 bg-gray-200 text-center txt-xs rounded">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="js/bootstrap.bundle.min.js"></script>
|
||||
<script type="importmap">
|
||||
{
|
||||
"imports": {
|
||||
"three": "https://cdn.jsdelivr.net/npm/three@0.160.1/build/three.module.js",
|
||||
"three/addons/": "https://cdn.jsdelivr.net/npm/three@0.160.1/examples/jsm/"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="module" src="js/vrml-viewer.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"title": "LinHT Hardware",
|
||||
"name": "linht-hw",
|
||||
"description": "This is the hardware project page for LINHT-HW board.",
|
||||
"files": [
|
||||
{"file": "gerbers_jlcpcb.zip", "description": "Gerber Files for JLCPCB (ZIP)"},
|
||||
{"file": "gerbers_pcbway.zip", "description": "Gerber Files for PCBWay (ZIP)"},
|
||||
{"file": "linht-hw_pos.csv", "description": "Position File (CSV)"},
|
||||
{"file": "linht-hw_pos.txt", "description": "Position File (ASCII)"},
|
||||
{"file": "linht-hw_pos_jlcpcb.csv", "description": "Position File for JLCPCB (CSV)"},
|
||||
{"file": "linht-hw_bom.txt", "description": "Bill of Materials (ASCII)"},
|
||||
{"file": "linht-hw_bom.csv", "description": "Bill of Materials for JLCPCB (CSV)"},
|
||||
{"file": "linht-hw_schematic.pdf", "description": "Schematic (PDF)"},
|
||||
{"file": "linht-hw_schematic_bw.pdf", "description": "Schematic without Colors (PDF)"},
|
||||
{"file": "linht-hw_model.step.xz", "description": "3D Model (STEP.XZ)"},
|
||||
{"file": "linht-hw_model.vrml.xz", "description": "3D Model (VRML.XZ)"}
|
||||
],
|
||||
"renders": [
|
||||
{"suffix": "preview", "alt": "Isometric view of the PCB"},
|
||||
{"suffix": "front", "alt": "Top side of the PCB"},
|
||||
{"suffix": "back", "alt": "Bottom side of the PCB"}
|
||||
]
|
||||
}
|
||||
7
present/template/js/bootstrap.bundle.min.js
vendored
7
present/template/js/bootstrap.bundle.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -1,785 +0,0 @@
|
|||
/**
|
||||
* VRML Viewer Custom Element
|
||||
* Web component for displaying VRML files using ThreeJS with responsive design and touch support
|
||||
*/
|
||||
|
||||
import {
|
||||
Scene,
|
||||
PerspectiveCamera,
|
||||
WebGLRenderer,
|
||||
AmbientLight,
|
||||
DirectionalLight,
|
||||
Box3,
|
||||
Vector3,
|
||||
LinearToneMapping
|
||||
} from 'three';
|
||||
import { VRMLLoader } from 'three/addons/loaders/VRMLLoader.js';
|
||||
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
|
||||
|
||||
const DEFAULT_WIDTH = 800;
|
||||
const DEFAULT_HEIGHT = 600;
|
||||
const DEFAULT_BACKGROUND = '#f8f8f8';
|
||||
|
||||
// Inject embedded CSS styles once to avoid duplicates
|
||||
if (!document.querySelector('style[data-vrml-viewer]')) {
|
||||
const style = document.createElement('style');
|
||||
style.setAttribute('data-vrml-viewer', 'true');
|
||||
style.textContent = `
|
||||
/* VRML Viewer Embedded Styles */
|
||||
vrml-viewer {
|
||||
display: block;
|
||||
position: relative;
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
background: #fafafa;
|
||||
|
||||
/* Default fixed size */
|
||||
width: var(--vrml-width, 800px);
|
||||
height: var(--vrml-height, 600px);
|
||||
}
|
||||
|
||||
/* Responsive viewer - simplified approach */
|
||||
vrml-viewer[responsive="true"],
|
||||
vrml-viewer.responsive-viewer {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
aspect-ratio: var(--vrml-aspect-ratio, 3/2);
|
||||
min-height: clamp(250px, 40vh, 400px);
|
||||
max-height: 85vh;
|
||||
}
|
||||
|
||||
/* Container and canvas */
|
||||
.vrml-viewer-container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.vrml-viewer-canvas {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* Controls */
|
||||
.vrml-viewer-controls {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
right: 8px;
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.vrml-viewer-btn {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
color: #333;
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: 3px;
|
||||
padding: 6px 10px;
|
||||
cursor: pointer;
|
||||
font-size: 11px;
|
||||
font-weight: 500;
|
||||
transition: all 0.2s ease;
|
||||
min-height: 32px;
|
||||
min-width: 50px;
|
||||
}
|
||||
|
||||
.vrml-viewer-btn:hover {
|
||||
background: rgba(255, 255, 255, 1);
|
||||
border-color: rgba(0, 0, 0, 0.2);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.vrml-viewer-btn:active {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
/* Load button */
|
||||
.vrml-viewer-load-btn {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
background: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
padding: 12px 24px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.vrml-viewer-load-btn:hover {
|
||||
background: #0056b3;
|
||||
transform: translate(-50%, -50%) translateY(-1px);
|
||||
}
|
||||
|
||||
/* Loading and error states */
|
||||
.vrml-viewer-loading,
|
||||
.vrml-viewer-error {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
padding: 20px;
|
||||
border-radius: 6px;
|
||||
text-align: center;
|
||||
z-index: 1001;
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
max-width: 80%;
|
||||
}
|
||||
|
||||
.vrml-viewer-error {
|
||||
color: #d32f2f;
|
||||
border-color: rgba(211, 47, 47, 0.2);
|
||||
}
|
||||
|
||||
.vrml-viewer-spinner {
|
||||
border: 2px solid #f3f3f3;
|
||||
border-top: 2px solid #007bff;
|
||||
border-radius: 50%;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
animation: vrml-spin 1s linear infinite;
|
||||
margin: 0 auto 10px;
|
||||
}
|
||||
|
||||
@keyframes vrml-spin {
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
|
||||
.vrml-viewer-loading div:last-child {
|
||||
color: #666;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.vrml-viewer-error h3 {
|
||||
margin: 0 0 8px 0;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.vrml-viewer-error p {
|
||||
margin: 0;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
/* Fullscreen styles */
|
||||
vrml-viewer:fullscreen {
|
||||
width: 100vw !important;
|
||||
height: 100vh !important;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* Simplified responsive breakpoints - only 2 instead of 5 */
|
||||
@media (max-width: 768px) {
|
||||
/* Mobile and tablet adjustments */
|
||||
vrml-viewer[responsive="true"],
|
||||
vrml-viewer.responsive-viewer {
|
||||
aspect-ratio: 4/3; /* More square for mobile */
|
||||
min-height: clamp(250px, 35vh, 350px);
|
||||
max-height: 70vh;
|
||||
}
|
||||
|
||||
.vrml-viewer-controls {
|
||||
top: 6px;
|
||||
right: 6px;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.vrml-viewer-btn {
|
||||
padding: 8px 12px;
|
||||
font-size: 11px;
|
||||
min-width: 60px;
|
||||
min-height: 36px;
|
||||
}
|
||||
|
||||
.vrml-viewer-load-btn {
|
||||
padding: 14px 20px;
|
||||
font-size: 15px;
|
||||
min-width: 120px;
|
||||
min-height: 44px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Touch-friendly enhancements */
|
||||
@media (hover: none) and (pointer: coarse) {
|
||||
.vrml-viewer-btn {
|
||||
min-height: 44px;
|
||||
min-width: 44px;
|
||||
padding: 10px 14px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.vrml-viewer-load-btn {
|
||||
min-height: 48px;
|
||||
min-width: 140px;
|
||||
padding: 16px 24px;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Dark theme support */
|
||||
@media (prefers-color-scheme: dark) {
|
||||
vrml-viewer {
|
||||
border-color: rgba(255, 255, 255, 0.1);
|
||||
background: #1a1a1a;
|
||||
}
|
||||
|
||||
.vrml-viewer-btn {
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
color: #fff;
|
||||
border-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.vrml-viewer-btn:hover {
|
||||
background: rgba(0, 0, 0, 0.9);
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
|
||||
.vrml-viewer-loading,
|
||||
.vrml-viewer-load-btn {
|
||||
background: rgba(0, 0, 0, 0.9);
|
||||
border-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.vrml-viewer-loading div:last-child {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.vrml-viewer-error {
|
||||
background: rgba(0, 0, 0, 0.9);
|
||||
color: #ff6b6b;
|
||||
border-color: rgba(255, 107, 107, 0.2);
|
||||
}
|
||||
}
|
||||
|
||||
/* High DPI displays */
|
||||
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
|
||||
vrml-viewer {
|
||||
border-width: 0.5px;
|
||||
}
|
||||
|
||||
.vrml-viewer-btn {
|
||||
border-width: 0.5px;
|
||||
}
|
||||
}
|
||||
`;
|
||||
document.head.appendChild(style);
|
||||
}
|
||||
|
||||
// GZIP detection and decompression utilities
|
||||
function isGzipFile(url) {
|
||||
return url.toLowerCase().endsWith('.gz');
|
||||
}
|
||||
|
||||
// Handle both modern DecompressionStream and fallback for older browsers
|
||||
async function fetchAndDecompress(url) {
|
||||
try {
|
||||
const response = await fetch(url);
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
||||
}
|
||||
|
||||
if ('DecompressionStream' in window) {
|
||||
// Modern browsers: use native streaming decompression
|
||||
const decompressedStream = response.body
|
||||
.pipeThrough(new DecompressionStream('gzip'));
|
||||
const decompressedResponse = new Response(decompressedStream);
|
||||
return await decompressedResponse.text();
|
||||
} else {
|
||||
// Legacy browsers: rely on server-side decompression
|
||||
const fallbackResponse = await fetch(url, {
|
||||
headers: { 'Accept-Encoding': 'gzip' }
|
||||
});
|
||||
if (!fallbackResponse.ok) {
|
||||
throw new Error(`HTTP ${fallbackResponse.status}: ${fallbackResponse.statusText}`);
|
||||
}
|
||||
return await fallbackResponse.text();
|
||||
}
|
||||
} catch (error) {
|
||||
throw new Error(`Failed to fetch/decompress file: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
async function fetchVRMLFile(url) {
|
||||
if (isGzipFile(url)) {
|
||||
return await fetchAndDecompress(url);
|
||||
} else {
|
||||
const response = await fetch(url);
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
||||
}
|
||||
return await response.text();
|
||||
}
|
||||
}
|
||||
|
||||
// Basic VRML content validation - checks for common VRML keywords
|
||||
function validateVRMLContent(content) {
|
||||
if (!content || typeof content !== 'string') return false;
|
||||
const trimmed = content.trim();
|
||||
return trimmed.startsWith('#VRML') ||
|
||||
trimmed.includes('VRML') ||
|
||||
trimmed.includes('Shape') ||
|
||||
trimmed.includes('geometry') ||
|
||||
trimmed.includes('IndexedFaceSet');
|
||||
}
|
||||
|
||||
class VRMLViewer extends HTMLElement {
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
// ThreeJS core components
|
||||
this.scene = null;
|
||||
this.camera = null;
|
||||
this.renderer = null;
|
||||
this.controls = null;
|
||||
this.model = null;
|
||||
this.isLoading = false;
|
||||
this.initialCameraPosition = null;
|
||||
this.initialCameraTarget = null;
|
||||
|
||||
// Render-on-demand optimization to improve performance
|
||||
this.needsRender = true;
|
||||
this.resizeTimeout = null;
|
||||
|
||||
// Bind event handlers to maintain correct 'this' context
|
||||
this.handleResize = this.handleResize.bind(this);
|
||||
this.resetView = this.resetView.bind(this);
|
||||
this.toggleFullscreen = this.toggleFullscreen.bind(this);
|
||||
|
||||
this.createDOM();
|
||||
}
|
||||
|
||||
static get observedAttributes() {
|
||||
return ['src', 'width', 'height', 'background-color', 'autoload', 'model-size', 'responsive'];
|
||||
}
|
||||
|
||||
createDOM() {
|
||||
this.innerHTML = `
|
||||
<div class="vrml-viewer-container">
|
||||
<canvas class="vrml-viewer-canvas"></canvas>
|
||||
<div class="vrml-viewer-controls">
|
||||
<button class="vrml-viewer-btn" id="reset-btn" title="Reset View">Reset</button>
|
||||
<button class="vrml-viewer-btn fullscreen" id="fullscreen-btn" title="Toggle Fullscreen">Fullscreen</button>
|
||||
</div>
|
||||
<button class="vrml-viewer-load-btn" id="load-btn" style="display: none;">Load Model</button>
|
||||
<div class="vrml-viewer-loading" style="display: none;">
|
||||
<div class="vrml-viewer-spinner"></div>
|
||||
<div>Loading VRML...</div>
|
||||
</div>
|
||||
<div class="vrml-viewer-error" style="display: none;">
|
||||
<h3>Error Loading VRML</h3>
|
||||
<p id="error-message"></p>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
// Get references
|
||||
this.canvas = this.querySelector('.vrml-viewer-canvas');
|
||||
this.loadingEl = this.querySelector('.vrml-viewer-loading');
|
||||
this.errorEl = this.querySelector('.vrml-viewer-error');
|
||||
this.errorMessageEl = this.querySelector('#error-message');
|
||||
this.loadBtnEl = this.querySelector('#load-btn');
|
||||
|
||||
// Add event listeners
|
||||
this.querySelector('#reset-btn').addEventListener('click', this.resetView);
|
||||
this.querySelector('#fullscreen-btn').addEventListener('click', this.toggleFullscreen);
|
||||
this.loadBtnEl.addEventListener('click', () => this.handleLoadButtonClick());
|
||||
}
|
||||
|
||||
async connectedCallback() {
|
||||
try {
|
||||
await this.initViewer();
|
||||
|
||||
// Wait for CSS layout completion before sizing calculations
|
||||
requestAnimationFrame(() => {
|
||||
this.updateSize();
|
||||
this.updateBackgroundColor();
|
||||
|
||||
// Handle autoload behavior
|
||||
const src = this.getAttribute('src');
|
||||
const autoload = this.getAttribute('autoload');
|
||||
const shouldAutoload = autoload === null || autoload === '' || autoload === 'true';
|
||||
|
||||
if (src && shouldAutoload) {
|
||||
this.loadModel(src);
|
||||
} else if (src && !shouldAutoload) {
|
||||
this.showLoadButton();
|
||||
}
|
||||
});
|
||||
|
||||
this.startRenderLoop();
|
||||
window.addEventListener('resize', this.handleResize);
|
||||
|
||||
// Cross-browser fullscreen event listeners
|
||||
document.addEventListener('fullscreenchange', () => this.handleFullscreenChange());
|
||||
document.addEventListener('webkitfullscreenchange', () => this.handleFullscreenChange());
|
||||
document.addEventListener('mozfullscreenchange', () => this.handleFullscreenChange());
|
||||
document.addEventListener('MSFullscreenChange', () => this.handleFullscreenChange());
|
||||
} catch (error) {
|
||||
this.showError(`Failed to initialize viewer: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
disconnectedCallback() {
|
||||
window.removeEventListener('resize', this.handleResize);
|
||||
document.removeEventListener('fullscreenchange', () => this.handleFullscreenChange());
|
||||
document.removeEventListener('webkitfullscreenchange', () => this.handleFullscreenChange());
|
||||
document.removeEventListener('mozfullscreenchange', () => this.handleFullscreenChange());
|
||||
document.removeEventListener('MSFullscreenChange', () => this.handleFullscreenChange());
|
||||
|
||||
this.stopRenderLoop();
|
||||
|
||||
if (this.renderer) this.renderer.dispose();
|
||||
if (this.controls) this.controls.dispose();
|
||||
}
|
||||
|
||||
attributeChangedCallback(name, oldValue, newValue) {
|
||||
if (oldValue === newValue) return;
|
||||
|
||||
switch (name) {
|
||||
case 'src':
|
||||
if (newValue && this.renderer) {
|
||||
const autoload = this.getAttribute('autoload');
|
||||
const shouldAutoload = autoload === null || autoload === '' || autoload === 'true';
|
||||
|
||||
if (shouldAutoload) {
|
||||
this.hideLoadButton();
|
||||
this.loadModel(newValue);
|
||||
} else {
|
||||
this.showLoadButton();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'autoload':
|
||||
const src = this.getAttribute('src');
|
||||
const shouldAutoload = newValue === null || newValue === '' || newValue === 'true';
|
||||
|
||||
if (shouldAutoload && src && this.renderer) {
|
||||
this.hideLoadButton();
|
||||
this.loadModel(src);
|
||||
} else if (!shouldAutoload && src) {
|
||||
this.showLoadButton();
|
||||
} else {
|
||||
this.hideLoadButton();
|
||||
}
|
||||
break;
|
||||
case 'width':
|
||||
case 'height':
|
||||
case 'responsive':
|
||||
this.updateSize();
|
||||
break;
|
||||
case 'background-color':
|
||||
this.updateBackgroundColor();
|
||||
break;
|
||||
case 'model-size':
|
||||
if (this.model) this.fitCameraToModel();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
async initViewer() {
|
||||
this.scene = new Scene();
|
||||
|
||||
const width = this.getWidth();
|
||||
const height = this.getHeight();
|
||||
this.camera = new PerspectiveCamera(60, width / height, 0.01, 1000);
|
||||
this.camera.position.set(0, 0, 5);
|
||||
|
||||
// Configure renderer for optimal PCB visualization
|
||||
this.renderer = new WebGLRenderer({
|
||||
canvas: this.canvas,
|
||||
antialias: true,
|
||||
alpha: true,
|
||||
powerPreference: 'high-performance'
|
||||
});
|
||||
this.renderer.setSize(width, height);
|
||||
this.renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2)); // Cap at 2x for performance
|
||||
this.renderer.shadowMap.enabled = false; // Shadows not needed for PCB viewing
|
||||
this.renderer.toneMapping = LinearToneMapping;
|
||||
this.renderer.toneMappingExposure = 1.2;
|
||||
this.renderer.outputColorSpace = 'srgb';
|
||||
|
||||
this.setupLighting();
|
||||
|
||||
// Configure orbit controls for 3D model interaction
|
||||
this.controls = new OrbitControls(this.camera, this.canvas);
|
||||
this.controls.enableDamping = true;
|
||||
this.controls.dampingFactor = 0.05;
|
||||
this.controls.screenSpacePanning = false;
|
||||
this.controls.minDistance = 0.01;
|
||||
this.controls.maxDistance = 100;
|
||||
this.controls.maxPolarAngle = Math.PI;
|
||||
|
||||
// Touch device optimizations
|
||||
if ('ontouchstart' in window) {
|
||||
this.controls.rotateSpeed = 0.8;
|
||||
this.controls.zoomSpeed = 1.2;
|
||||
this.controls.panSpeed = 0.8;
|
||||
}
|
||||
|
||||
this.controls.addEventListener('change', () => {
|
||||
this.needsRender = true;
|
||||
});
|
||||
}
|
||||
|
||||
setupLighting() {
|
||||
// Three-point lighting setup optimized for PCB visualization
|
||||
const ambientLight = new AmbientLight(0x808080, 1.2); // Base illumination
|
||||
this.scene.add(ambientLight);
|
||||
|
||||
const directionalLight = new DirectionalLight(0xffffff, 1.5); // Key light
|
||||
directionalLight.position.set(10, 10, 8);
|
||||
this.scene.add(directionalLight);
|
||||
|
||||
const fillLight = new DirectionalLight(0xffffff, 0.8); // Fill light from opposite side
|
||||
fillLight.position.set(-8, -8, -6);
|
||||
this.scene.add(fillLight);
|
||||
}
|
||||
|
||||
async loadModel(src) {
|
||||
if (this.isLoading) return;
|
||||
|
||||
this.isLoading = true;
|
||||
this.showLoading();
|
||||
this.hideError();
|
||||
|
||||
try {
|
||||
this.disposeModel();
|
||||
|
||||
const vrmlContent = await fetchVRMLFile(src);
|
||||
|
||||
if (!validateVRMLContent(vrmlContent)) {
|
||||
throw new Error('Invalid VRML content');
|
||||
}
|
||||
|
||||
const loader = new VRMLLoader();
|
||||
this.model = loader.parse(vrmlContent);
|
||||
this.scene.add(this.model);
|
||||
this.fitCameraToModel();
|
||||
|
||||
this.hideLoading();
|
||||
this.hideLoadButton();
|
||||
this.needsRender = true;
|
||||
} catch (error) {
|
||||
this.hideLoading();
|
||||
this.showError(`Failed to load VRML: ${error.message}`);
|
||||
} finally {
|
||||
this.isLoading = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Proper WebGL resource cleanup to prevent memory leaks
|
||||
disposeModel() {
|
||||
if (this.model) {
|
||||
this.model.traverse((child) => {
|
||||
if (child.geometry) child.geometry.dispose();
|
||||
if (child.material) {
|
||||
if (Array.isArray(child.material)) {
|
||||
child.material.forEach(material => material.dispose());
|
||||
} else {
|
||||
child.material.dispose();
|
||||
}
|
||||
}
|
||||
if (child.texture) child.texture.dispose();
|
||||
});
|
||||
this.scene.remove(this.model);
|
||||
this.model = null;
|
||||
}
|
||||
}
|
||||
|
||||
// Calculate optimal camera position based on model bounding box
|
||||
fitCameraToModel() {
|
||||
if (!this.model) return;
|
||||
|
||||
const box = new Box3().setFromObject(this.model);
|
||||
const size = box.getSize(new Vector3());
|
||||
const center = box.getCenter(new Vector3());
|
||||
|
||||
// Calculate camera distance using field of view and model size
|
||||
const modelSizeMultiplier = parseFloat(this.getAttribute('model-size')) || 1.0;
|
||||
const maxDim = Math.max(size.x, size.y, size.z);
|
||||
const fov = this.camera.fov * (Math.PI / 180);
|
||||
let cameraDistance = Math.abs(maxDim / Math.sin(fov / 2)) * 0.8 * modelSizeMultiplier;
|
||||
cameraDistance = Math.max(cameraDistance, maxDim * 1.5); // Ensure minimum distance
|
||||
|
||||
// Position camera with slight elevation for better PCB viewing angle
|
||||
this.camera.position.copy(center);
|
||||
this.camera.position.z += cameraDistance;
|
||||
this.camera.position.y += cameraDistance * 0.1;
|
||||
this.camera.lookAt(center);
|
||||
|
||||
this.controls.target.copy(center);
|
||||
this.controls.update();
|
||||
|
||||
// Store initial position for reset functionality
|
||||
this.initialCameraPosition = this.camera.position.clone();
|
||||
this.initialCameraTarget = center.clone();
|
||||
this.needsRender = true;
|
||||
}
|
||||
|
||||
resetView() {
|
||||
if (this.initialCameraPosition && this.initialCameraTarget) {
|
||||
this.camera.position.copy(this.initialCameraPosition);
|
||||
this.controls.target.copy(this.initialCameraTarget);
|
||||
this.controls.update();
|
||||
this.needsRender = true;
|
||||
} else if (this.model) {
|
||||
this.fitCameraToModel();
|
||||
}
|
||||
}
|
||||
|
||||
toggleFullscreen() {
|
||||
if (!document.fullscreenElement) {
|
||||
this.requestFullscreen().catch(err => {
|
||||
console.warn('Could not enter fullscreen:', err);
|
||||
});
|
||||
} else {
|
||||
document.exitFullscreen();
|
||||
}
|
||||
}
|
||||
|
||||
// Render-on-demand loop for optimal performance
|
||||
startRenderLoop() {
|
||||
const animate = () => {
|
||||
this.animationId = requestAnimationFrame(animate);
|
||||
|
||||
let hasChanges = false;
|
||||
if (this.controls && this.controls.enabled) {
|
||||
hasChanges = this.controls.update() || hasChanges;
|
||||
}
|
||||
|
||||
// Only render when changes occur to save GPU resources
|
||||
if (this.needsRender || hasChanges) {
|
||||
if (this.renderer && this.scene && this.camera) {
|
||||
this.renderer.render(this.scene, this.camera);
|
||||
this.needsRender = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
animate();
|
||||
}
|
||||
|
||||
stopRenderLoop() {
|
||||
if (this.animationId) {
|
||||
cancelAnimationFrame(this.animationId);
|
||||
this.animationId = null;
|
||||
}
|
||||
}
|
||||
|
||||
// Debounced resize handler to prevent excessive recalculations
|
||||
handleResize() {
|
||||
clearTimeout(this.resizeTimeout);
|
||||
this.resizeTimeout = setTimeout(() => {
|
||||
this.updateSize();
|
||||
if (this.isResponsive() && this.model) {
|
||||
this.fitCameraToModel();
|
||||
}
|
||||
}, 150);
|
||||
}
|
||||
|
||||
handleFullscreenChange() {
|
||||
setTimeout(() => this.updateSize(), 100);
|
||||
}
|
||||
|
||||
updateSize() {
|
||||
if (!this.renderer || !this.camera) return;
|
||||
|
||||
const width = this.getWidth();
|
||||
const height = this.getHeight();
|
||||
|
||||
this.camera.aspect = width / height;
|
||||
this.camera.updateProjectionMatrix();
|
||||
this.renderer.setSize(width, height);
|
||||
this.needsRender = true;
|
||||
}
|
||||
|
||||
updateBackgroundColor() {
|
||||
if (!this.renderer) return;
|
||||
const color = this.getAttribute('background-color') || DEFAULT_BACKGROUND;
|
||||
this.renderer.setClearColor(color);
|
||||
this.needsRender = true;
|
||||
}
|
||||
|
||||
getWidth() {
|
||||
if (this.isFullscreen()) return window.innerWidth;
|
||||
if (this.isResponsive()) return this.clientWidth || this.getBoundingClientRect().width || DEFAULT_WIDTH;
|
||||
return parseInt(this.getAttribute('width')) || DEFAULT_WIDTH;
|
||||
}
|
||||
|
||||
getHeight() {
|
||||
if (this.isFullscreen()) return window.innerHeight;
|
||||
if (this.isResponsive()) return this.clientHeight || this.getBoundingClientRect().height || DEFAULT_HEIGHT;
|
||||
return parseInt(this.getAttribute('height')) || DEFAULT_HEIGHT;
|
||||
}
|
||||
|
||||
isFullscreen() {
|
||||
return document.fullscreenElement === this ||
|
||||
document.webkitFullscreenElement === this ||
|
||||
document.mozFullScreenElement === this ||
|
||||
document.msFullscreenElement === this;
|
||||
}
|
||||
|
||||
isResponsive() {
|
||||
return this.getAttribute('responsive') === 'true' || this.classList.contains('responsive-viewer');
|
||||
}
|
||||
|
||||
// UI state management
|
||||
showLoading() { this.loadingEl.style.display = 'block'; }
|
||||
hideLoading() { this.loadingEl.style.display = 'none'; }
|
||||
showError(message) {
|
||||
this.errorMessageEl.textContent = message;
|
||||
this.errorEl.style.display = 'block';
|
||||
}
|
||||
hideError() { this.errorEl.style.display = 'none'; }
|
||||
showLoadButton() { if (this.loadBtnEl) this.loadBtnEl.style.display = 'block'; }
|
||||
hideLoadButton() { if (this.loadBtnEl) this.loadBtnEl.style.display = 'none'; }
|
||||
|
||||
// Public API
|
||||
async load(src = null) {
|
||||
const sourceUrl = src || this.getAttribute('src');
|
||||
if (!sourceUrl) {
|
||||
throw new Error('No source URL provided and no src attribute set');
|
||||
}
|
||||
|
||||
if (src && src !== this.getAttribute('src')) {
|
||||
this.setAttribute('src', src);
|
||||
}
|
||||
|
||||
await this.loadModel(sourceUrl);
|
||||
}
|
||||
|
||||
clear() {
|
||||
this.disposeModel();
|
||||
this.hideError();
|
||||
this.hideLoading();
|
||||
|
||||
const src = this.getAttribute('src');
|
||||
const autoload = this.getAttribute('autoload');
|
||||
const shouldAutoload = autoload === null || autoload === '' || autoload === 'true';
|
||||
|
||||
if (src && !shouldAutoload) {
|
||||
this.showLoadButton();
|
||||
}
|
||||
|
||||
this.needsRender = true;
|
||||
}
|
||||
|
||||
async handleLoadButtonClick() {
|
||||
const src = this.getAttribute('src');
|
||||
if (src) await this.load(src);
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define('vrml-viewer', VRMLViewer);
|
||||
|
|
@ -1,324 +0,0 @@
|
|||
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
||||
html{
|
||||
line-height:1.15;
|
||||
-webkit-text-size-adjust:100%
|
||||
}
|
||||
body{
|
||||
margin:0
|
||||
}
|
||||
h1{
|
||||
font-size:2em;
|
||||
margin:.67em 0
|
||||
}
|
||||
pre{
|
||||
font-family:monospace,monospace;
|
||||
font-size:1em
|
||||
}
|
||||
a{
|
||||
background-color:transparent
|
||||
}
|
||||
b,strong{
|
||||
font-weight:bolder
|
||||
}
|
||||
code{
|
||||
font-family:monospace,monospace;
|
||||
font-size:1em
|
||||
}
|
||||
small{
|
||||
font-size:80%
|
||||
}
|
||||
img{
|
||||
border-style:none
|
||||
}
|
||||
input{
|
||||
font-family:inherit;
|
||||
font-size:100%;
|
||||
line-height:1.15;
|
||||
margin:0
|
||||
}
|
||||
input{
|
||||
overflow:visible
|
||||
}
|
||||
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{
|
||||
height:auto
|
||||
}
|
||||
[type=search]{
|
||||
-webkit-appearance:textfield;
|
||||
outline-offset:-2px
|
||||
}
|
||||
[type=search]::-webkit-search-decoration{
|
||||
-webkit-appearance:none
|
||||
}
|
||||
[hidden]{
|
||||
display:none
|
||||
}
|
||||
h1,h2,h3,h4,h5,h6,p,pre{
|
||||
margin:0
|
||||
}
|
||||
ul{
|
||||
margin:0;
|
||||
padding:0
|
||||
}
|
||||
ul{
|
||||
list-style:none
|
||||
}
|
||||
html{
|
||||
font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
|
||||
line-height:1.5
|
||||
}
|
||||
*{
|
||||
box-sizing:border-box;
|
||||
border:0 solid #e2e8f0
|
||||
}
|
||||
img{
|
||||
border-style:solid
|
||||
}
|
||||
input::-webkit-input-placeholder{
|
||||
color:#a0aec0
|
||||
}
|
||||
input::-moz-placeholder{
|
||||
color:#a0aec0
|
||||
}
|
||||
input:-ms-input-placeholder{
|
||||
color:#a0aec0
|
||||
}
|
||||
input::-ms-input-placeholder{
|
||||
color:#a0aec0
|
||||
}
|
||||
input::placeholder{
|
||||
color:#a0aec0
|
||||
}
|
||||
table{
|
||||
border-collapse:collapse
|
||||
}
|
||||
tbody td {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
|
||||
tbody tr:nth-child(even) {
|
||||
background-color: #edf2f7;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6{
|
||||
font-size:inherit;
|
||||
font-weight:inherit
|
||||
}
|
||||
a{
|
||||
color:inherit;
|
||||
text-decoration:inherit
|
||||
}
|
||||
input{
|
||||
padding:0;
|
||||
line-height:inherit;
|
||||
color:inherit
|
||||
}
|
||||
code,pre{
|
||||
font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace
|
||||
overflow-x: scroll;
|
||||
}
|
||||
.container{
|
||||
width:100%
|
||||
}
|
||||
@media (min-width:640px){
|
||||
.container{
|
||||
max-width:640px
|
||||
}
|
||||
}
|
||||
@media (min-width:768px){
|
||||
.container{
|
||||
max-width:768px
|
||||
}
|
||||
}
|
||||
@media (min-width:1024px){
|
||||
.container{
|
||||
max-width:1024px
|
||||
}
|
||||
}
|
||||
@media (min-width:1280px){
|
||||
.container{
|
||||
max-width:1280px
|
||||
}
|
||||
}
|
||||
.bg-gray-200{
|
||||
background-color:#edf2f7
|
||||
}
|
||||
.rounded{
|
||||
border-radius:.25rem
|
||||
}
|
||||
.block{
|
||||
display:block
|
||||
}
|
||||
.inline{
|
||||
display:inline
|
||||
}
|
||||
.flex{
|
||||
display:flex
|
||||
}
|
||||
.table{
|
||||
display:table
|
||||
}
|
||||
.hidden{
|
||||
display:none
|
||||
}
|
||||
.flex-wrap{
|
||||
flex-wrap:wrap
|
||||
}
|
||||
.flex-auto{
|
||||
flex:1 1 auto
|
||||
}
|
||||
.clearfix:after{
|
||||
content:"";
|
||||
display:table;
|
||||
clear:both
|
||||
}
|
||||
.my-2{
|
||||
margin-top:.5rem;
|
||||
margin-bottom:.5rem
|
||||
}
|
||||
.my-3{
|
||||
margin-top:.75rem;
|
||||
margin-bottom:.75rem
|
||||
}
|
||||
.mx-auto{
|
||||
margin-left:auto;
|
||||
margin-right:auto
|
||||
}
|
||||
.mb-1{
|
||||
margin-bottom:.25rem
|
||||
}
|
||||
.mt-16{
|
||||
margin-top:4rem
|
||||
}
|
||||
.overflow-auto{
|
||||
overflow:auto
|
||||
}
|
||||
.overflow-hidden{
|
||||
overflow:hidden
|
||||
}
|
||||
.p-2{
|
||||
padding:.5rem
|
||||
}
|
||||
.py-1{
|
||||
padding-top:.25rem;
|
||||
padding-bottom:.25rem
|
||||
}
|
||||
.py-3{
|
||||
padding-top:.75rem;
|
||||
padding-bottom:.75rem
|
||||
}
|
||||
.px-3{
|
||||
padding-left:.75rem;
|
||||
padding-right:.75rem
|
||||
}
|
||||
.px-4{
|
||||
padding-left:1rem;
|
||||
padding-right:1rem
|
||||
}
|
||||
.fixed{
|
||||
position:fixed
|
||||
}
|
||||
.absolute{
|
||||
position:absolute
|
||||
}
|
||||
.relative{
|
||||
position:relative
|
||||
}
|
||||
.top-0{
|
||||
top:0
|
||||
}
|
||||
.right-0{
|
||||
right:0
|
||||
}
|
||||
.bottom-0{
|
||||
bottom:0
|
||||
}
|
||||
.left-0{
|
||||
left:0
|
||||
}
|
||||
.text-center{
|
||||
text-align:center
|
||||
}
|
||||
.text-right{
|
||||
text-align:right
|
||||
}
|
||||
.text-sm{
|
||||
font-size:.875rem
|
||||
}
|
||||
.w-full{
|
||||
width:100%
|
||||
}
|
||||
body{
|
||||
font-size:1rem;
|
||||
font-weight:400;
|
||||
color:#718096
|
||||
}
|
||||
h1{
|
||||
font-size:1.875rem
|
||||
}
|
||||
h1,h2{
|
||||
font-weight:700;
|
||||
font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
|
||||
overflow-wrap:normal;
|
||||
word-break:normal;
|
||||
color:#1a202c;
|
||||
padding-top:1.5rem;
|
||||
padding-bottom:.5rem
|
||||
}
|
||||
h2{
|
||||
font-size:1.5rem
|
||||
}
|
||||
h3{
|
||||
font-weight:700;
|
||||
font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
|
||||
overflow-wrap:normal;
|
||||
word-break:normal;
|
||||
color:#1a202c;
|
||||
padding-top:1.5rem;
|
||||
padding-bottom:.5rem;
|
||||
font-size:1.25rem
|
||||
}
|
||||
p{
|
||||
text-align:justify
|
||||
}
|
||||
a{
|
||||
color:#63b3ed
|
||||
}
|
||||
a:hover{
|
||||
color:#2b6cb0
|
||||
}
|
||||
ul{
|
||||
list-style-type:disc;
|
||||
list-style-position:inside;
|
||||
margin-top:.25rem;
|
||||
margin-bottom:.25rem
|
||||
}
|
||||
code{
|
||||
padding:.25rem
|
||||
}
|
||||
code,pre code{
|
||||
background-color:#edf2f7
|
||||
}
|
||||
pre code{
|
||||
display:block;
|
||||
margin-top:1rem;
|
||||
margin-bottom:1rem;
|
||||
padding:1rem .75rem;
|
||||
width:100%
|
||||
}
|
||||
|
||||
.boardPreview{
|
||||
display:block;
|
||||
max-width:100%;
|
||||
max-height:400px;
|
||||
width:auto;
|
||||
height:auto;
|
||||
margin-left:auto;
|
||||
margin-right:auto
|
||||
}
|
||||
@media (min-width:768px){
|
||||
.md\:w-1\/3{
|
||||
width:33.333333%
|
||||
}
|
||||
}
|
||||
12177
rf.kicad_sch
12177
rf.kicad_sch
File diff suppressed because it is too large
Load diff
2035
soc.kicad_sch
2035
soc.kicad_sch
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue