Compare commits
138 commits
layout_wor
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1cc19fe5c1 | ||
|
|
7c18235311 | ||
|
|
7a42282157 | ||
|
|
4d0def57d9 | ||
|
|
76f83fc253 | ||
|
|
40d4ca9e89 | ||
|
|
2656147b33 | ||
|
|
90674a0f85 | ||
|
|
2977c3a3d4 | ||
|
|
550fb368a5 | ||
|
|
b786ac9b7e | ||
|
|
7d2e20e9f3 | ||
|
|
85814dcab1 | ||
|
|
1dd2a9f940 | ||
|
|
f52bcad816 | ||
|
|
08c5c439c9 | ||
|
|
70d07941ac | ||
|
|
84ff57cafe | ||
|
|
fd3ef76e4b | ||
|
|
d05137b91d | ||
|
|
01e1dd834f | ||
|
|
a938d4f515 | ||
|
|
67f96ec234 | ||
|
|
a7eb8aff75 | ||
|
|
493b8ef219 | ||
|
|
63094e2b41 | ||
|
|
df0bbd8cfb | ||
|
|
c50bc3806b | ||
|
|
d6dc7d62dd | ||
|
|
83a4ad6d3f | ||
|
|
5e10ab97e9 | ||
|
|
2b1a109265 | ||
|
|
1045f31de5 | ||
|
|
e027e5f183 | ||
|
|
00075110c7 | ||
|
|
8072eb3c63 | ||
|
|
02844ab23f | ||
|
|
948c37ff06 | ||
|
|
8cf8226d6b | ||
|
|
044ac974d1 | ||
|
|
dba2268b71 | ||
|
|
7133a883a6 | ||
|
|
8b3c81fe76 | ||
|
|
b3b9a84787 | ||
|
|
90201b2195 | ||
|
|
5d974a7170 | ||
|
|
e6c4f79742 | ||
|
|
49254d578c | ||
|
|
a98f74f13f | ||
|
|
70acae8a4c | ||
|
|
763aeb081e | ||
|
|
ec89809b65 | ||
|
|
2cc6e47803 | ||
|
|
631b44fd5c | ||
|
|
553713cdb0 | ||
|
|
1a6c436dd4 | ||
|
|
5d4fa17be1 | ||
|
|
7be6a7a659 | ||
|
|
648ac12a01 | ||
|
|
b54ec7e958 | ||
|
|
c4ccd7cfb9 | ||
|
|
a2a7dab905 | ||
|
|
abd2511511 | ||
|
|
abbd0af731 | ||
|
|
be245ff411 | ||
|
|
bd0655d921 | ||
|
|
438c5bfef5 | ||
|
|
a1de4e23e6 | ||
|
|
44ce501a89 | ||
|
|
bf485b8795 | ||
|
|
5b64c6ddd0 | ||
|
|
4e47e85ccf | ||
|
|
0bf36053a8 | ||
|
|
51a6ed04ae | ||
|
|
981314ff52 | ||
|
|
a795f48831 | ||
|
|
683f1ef7d1 | ||
|
|
5a18f2f31a | ||
|
|
6711c0c110 | ||
|
|
db61958958 | ||
|
|
32564d867a | ||
|
|
dc6ed73d73 | ||
|
|
f784b5a8a6 | ||
|
|
8840e3fa0d | ||
|
|
a7ac1844e1 | ||
|
|
b808110bee | ||
|
|
ce03a52af7 | ||
|
|
9f44ff04f5 | ||
|
|
069e86d921 | ||
|
|
f891fbeec4 | ||
|
|
ee4920c1d3 | ||
|
|
ddb70aa593 | ||
|
|
a55d1fbacd | ||
|
|
8cd713a8b3 | ||
|
|
83a305c57d | ||
|
|
e80deca250 | ||
|
|
fee98d917e | ||
|
|
d80b2bdfc4 | ||
|
|
ee584c027a | ||
|
|
7dbc1397e9 | ||
|
|
0cb667a9d4 | ||
|
|
5ceb169aa0 | ||
|
|
f86341ef56 | ||
|
|
cc714a7ebe | ||
|
|
3bd1c8fe0d | ||
|
|
103fc45bef | ||
|
|
c4f2c3bf8b | ||
|
|
0eae68dfae | ||
|
|
74896bcf16 | ||
|
|
b202f16f33 | ||
|
|
dccf54a41e | ||
|
|
f18ea484e8 | ||
|
|
8b0d309ee9 | ||
|
|
7465b693e3 | ||
|
|
9f22b15a0d | ||
|
|
e367ab4c4b | ||
|
|
a9584d65b5 | ||
|
|
f369475c96 | ||
|
|
e4cd38725a | ||
|
|
a7f825d046 | ||
|
|
a602204754 | ||
|
|
42cd1cb314 | ||
|
|
b8413e6fb0 | ||
|
|
7ada320776 | ||
|
|
d7ef1a6732 | ||
|
|
09441c8ca0 | ||
|
|
00801c7ce1 | ||
|
|
f183342342 | ||
|
|
44fb812e66 | ||
|
|
b86fc3095c | ||
|
|
a6525bceab | ||
|
|
1e12e05291 | ||
|
|
c38361edcb | ||
|
|
49f5e1c6f7 | ||
|
|
3f6bbc1195 | ||
|
|
50ef9b7905 | ||
|
|
f2776fc459 | ||
|
|
12bf07995f |
55 changed files with 176872 additions and 31951 deletions
62
.github/workflows/main.yml
vendored
Normal file
62
.github/workflows/main.yml
vendored
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
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,31 +1,34 @@
|
|||
# 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
|
||||
# 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/
|
||||
|
|
|
|||
1
CNAME
Normal file
1
CNAME
Normal file
|
|
@ -0,0 +1 @@
|
|||
linht-radio.eu
|
||||
89
Makefile
Normal file
89
Makefile
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
.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
|
||||
342
README.md
342
README.md
|
|
@ -1,42 +1,332 @@
|
|||
[![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]
|
||||
|
||||
# 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.
|
||||
|
||||
## 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.
|
||||
**Open-source, Linux-based, SDR handheld transceiver**
|
||||
|
||||
### 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)
|
||||
[![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]
|
||||

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

|
||||
|
||||
**Memory:**
|
||||
- 2GB LPDDR4
|
||||
- 64GB eMMC
|
||||
## What is LinHT?
|
||||
|
||||
**RF:**
|
||||
- 500kHz bandwidth complete IQ transceiver
|
||||
**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.
|
||||
|
||||
## 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.
|
||||
It is the **successor of the OpenHT project**, with focus on:
|
||||
|
||||
### Supported modes (so far):
|
||||
* M17 - transmission and reception,
|
||||
* TETRA - reception only,
|
||||
* Demo 64QAM transmission at 2Mbps
|
||||
* 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.
|
||||
|
||||
Other modes can be added later (analog FM/AM/SSB, FreeDV, APRS, etc.).
|
||||
LinHT is developed by members of the [**M17 community**](https://m17project.org) and is intended primarily
|
||||
for **radio amateurs, SDR experimenters, and developers**.
|
||||
|
||||
This repository contains the **hardware design files** for LinHT.
|
||||
|
||||
> ⚠️ **Important**<br>
|
||||
> LinHT is **not a consumer product** yet.<br>
|
||||
> It is an experimental, community-driven open hardware project.
|
||||
|
||||
## 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.
|
||||
|
||||
## License
|
||||
This work is licensed under a
|
||||
[Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License][cc-by-nc-sa].
|
||||
|
||||
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
|
||||
|
||||
[![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
|
||||
|
||||
|
|
|
|||
10316
audio.kicad_sch
10316
audio.kicad_sch
File diff suppressed because it is too large
Load diff
3250
connectors.kicad_sch
3250
connectors.kicad_sch
File diff suppressed because it is too large
Load diff
1186
display.kicad_sch
1186
display.kicad_sch
File diff suppressed because it is too large
Load diff
4909
gnss.kicad_sch
Normal file
4909
gnss.kicad_sch
Normal file
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 "21 July 2025")
|
||||
(rev "A")
|
||||
(date "2025-12-03")
|
||||
(rev "B")
|
||||
(company "M17 Foundation")
|
||||
(comment 1 "Author: Wojciech SP5WWP, Andy OE3ANC, Vlastimil OK5VAS")
|
||||
)
|
||||
|
|
@ -838,6 +838,7 @@
|
|||
)
|
||||
(symbol "Transistor_FET:BSS138"
|
||||
(pin_names
|
||||
(offset 0)
|
||||
(hide yes)
|
||||
)
|
||||
(exclude_from_sim no)
|
||||
|
|
@ -1053,7 +1054,7 @@
|
|||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 2.794 0.508) (xy 2.921 0.381) (xy 3.683 0.381) (xy 3.81 0.254)
|
||||
(xy 2.921 0.381) (xy 3.683 0.381)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
|
|
@ -1467,6 +1468,15 @@
|
|||
)
|
||||
(uuid "3d61a873-7837-4c5d-a885-5b7af28670ff")
|
||||
)
|
||||
(bus_entry
|
||||
(at 138.43 80.01)
|
||||
(size -2.54 2.54)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(uuid "41ce0292-28c0-492d-863e-f0ed99bdf8ac")
|
||||
)
|
||||
(bus_entry
|
||||
(at 138.43 82.55)
|
||||
(size -2.54 2.54)
|
||||
|
|
@ -1485,15 +1495,6 @@
|
|||
)
|
||||
(uuid "4e3833e6-475a-48f6-8dbb-046f0fa6eb97")
|
||||
)
|
||||
(bus_entry
|
||||
(at 138.43 80.01)
|
||||
(size -2.54 2.54)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(uuid "73c54284-2c21-4bed-8a2d-234efdb6a7e8")
|
||||
)
|
||||
(bus_entry
|
||||
(at 138.43 92.71)
|
||||
(size -2.54 2.54)
|
||||
|
|
@ -1581,16 +1582,6 @@
|
|||
)
|
||||
(uuid "122819c6-f57d-42e4-abbf-51c0e86e55d1")
|
||||
)
|
||||
(bus
|
||||
(pts
|
||||
(xy 138.43 82.55) (xy 138.43 85.09)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(uuid "16b6d971-e8fc-4b46-8c01-e6df6ca94ae8")
|
||||
)
|
||||
(wire
|
||||
(pts
|
||||
(xy 130.81 119.38) (xy 130.81 120.65)
|
||||
|
|
@ -1741,6 +1732,16 @@
|
|||
)
|
||||
(uuid "53ea28b7-80bc-4f92-9faf-6cc571742bd0")
|
||||
)
|
||||
(wire
|
||||
(pts
|
||||
(xy 128.27 82.55) (xy 135.89 82.55)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(uuid "5654ea1f-bb19-4afd-8697-62de48a4be10")
|
||||
)
|
||||
(wire
|
||||
(pts
|
||||
(xy 60.96 100.33) (xy 63.5 100.33)
|
||||
|
|
@ -1811,16 +1812,6 @@
|
|||
)
|
||||
(uuid "83ed8917-06db-485c-b66f-1a27951f2443")
|
||||
)
|
||||
(wire
|
||||
(pts
|
||||
(xy 128.27 82.55) (xy 135.89 82.55)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(uuid "8641ccf9-16fb-4d97-a919-b7db1190b882")
|
||||
)
|
||||
(bus
|
||||
(pts
|
||||
(xy 138.43 90.17) (xy 138.43 92.71)
|
||||
|
|
@ -1961,6 +1952,16 @@
|
|||
)
|
||||
(uuid "e69e6356-8827-4a13-b56f-a122a8b708c2")
|
||||
)
|
||||
(bus
|
||||
(pts
|
||||
(xy 138.43 82.55) (xy 138.43 85.09)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(uuid "eb86925e-d28a-4d79-926d-4d94499805b7")
|
||||
)
|
||||
(wire
|
||||
(pts
|
||||
(xy 154.94 77.47) (xy 154.94 80.01)
|
||||
|
|
@ -2041,15 +2042,15 @@
|
|||
)
|
||||
(uuid "38fb9ac0-7ee6-471f-9128-5926bf8601e8")
|
||||
)
|
||||
(label "{KBD}"
|
||||
(at 138.43 82.55 0)
|
||||
(label "D9"
|
||||
(at 132.08 82.55 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left bottom)
|
||||
)
|
||||
(uuid "442dae26-0518-449c-aa02-1b0930091367")
|
||||
(uuid "5d6fd1a5-7fc0-4ccb-9b8b-2ae728bc66a6")
|
||||
)
|
||||
(label "D8"
|
||||
(at 132.08 85.09 0)
|
||||
|
|
@ -2081,16 +2082,6 @@
|
|||
)
|
||||
(uuid "c96bc0d3-abe1-4c8e-a405-dfea01741ef8")
|
||||
)
|
||||
(label "D9"
|
||||
(at 132.08 82.55 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left bottom)
|
||||
)
|
||||
(uuid "cdcf4a88-e9eb-437d-ad97-9fed97db680f")
|
||||
)
|
||||
(label "D3"
|
||||
(at 132.08 97.79 0)
|
||||
(effects
|
||||
|
|
@ -2155,7 +2146,7 @@
|
|||
)
|
||||
(uuid "ae9101f6-8046-4193-b280-b7540523b492")
|
||||
)
|
||||
(hierarchical_label "KBD"
|
||||
(hierarchical_label "{KBD}"
|
||||
(shape bidirectional)
|
||||
(at 140.97 102.87 0)
|
||||
(effects
|
||||
|
|
@ -2288,6 +2279,42 @@
|
|||
(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")
|
||||
)
|
||||
|
|
@ -2423,6 +2450,15 @@
|
|||
(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")
|
||||
)
|
||||
|
|
@ -2488,6 +2524,15 @@
|
|||
(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")
|
||||
)
|
||||
|
|
@ -2555,6 +2600,42 @@
|
|||
(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")
|
||||
)
|
||||
|
|
@ -2825,6 +2906,42 @@
|
|||
(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")
|
||||
)
|
||||
|
|
@ -2959,6 +3076,15 @@
|
|||
(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")
|
||||
)
|
||||
|
|
@ -3024,6 +3150,15 @@
|
|||
(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")
|
||||
)
|
||||
|
|
@ -3116,6 +3251,15 @@
|
|||
(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")
|
||||
)
|
||||
|
|
@ -3229,6 +3373,15 @@
|
|||
(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")
|
||||
)
|
||||
|
|
@ -3299,6 +3452,42 @@
|
|||
(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")
|
||||
)
|
||||
|
|
|
|||
103117
linht-hw.kicad_pcb
103117
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.0,
|
||||
"height": 4.0,
|
||||
"width": 4.0
|
||||
"drill": 0.4,
|
||||
"height": 2.2,
|
||||
"width": 1.2
|
||||
},
|
||||
"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.25
|
||||
"min_clearance": 0.3
|
||||
}
|
||||
},
|
||||
"diff_pair_dimensions": [
|
||||
|
|
@ -58,7 +58,16 @@
|
|||
"width": 0.0
|
||||
}
|
||||
],
|
||||
"drc_exclusions": [],
|
||||
"drc_exclusions": [
|
||||
[
|
||||
"clearance|108775500|119310000|02a1131b-98f8-4e77-8f06-f91a9c7aba4e|17b7483f-1cbe-4de4-ba83-99e1a907f329",
|
||||
""
|
||||
],
|
||||
[
|
||||
"clearance|110455000|119230500|74cf3d9e-d74b-46d4-83e5-241b865105e9|074758df-e958-4e73-be7f-4dfd6804f3ff",
|
||||
""
|
||||
]
|
||||
],
|
||||
"meta": {
|
||||
"version": 2
|
||||
},
|
||||
|
|
@ -66,7 +75,7 @@
|
|||
"annular_width": "error",
|
||||
"clearance": "error",
|
||||
"connection_width": "warning",
|
||||
"copper_edge_clearance": "error",
|
||||
"copper_edge_clearance": "ignore",
|
||||
"copper_sliver": "warning",
|
||||
"courtyards_overlap": "error",
|
||||
"creepage": "error",
|
||||
|
|
@ -79,7 +88,7 @@
|
|||
"footprint_filters_mismatch": "ignore",
|
||||
"footprint_symbol_mismatch": "warning",
|
||||
"footprint_type_mismatch": "ignore",
|
||||
"hole_clearance": "error",
|
||||
"hole_clearance": "ignore",
|
||||
"hole_to_hole": "warning",
|
||||
"holes_co_located": "warning",
|
||||
"invalid_outline": "error",
|
||||
|
|
@ -100,8 +109,8 @@
|
|||
"padstack": "warning",
|
||||
"pth_inside_courtyard": "ignore",
|
||||
"shorting_items": "error",
|
||||
"silk_edge_clearance": "warning",
|
||||
"silk_over_copper": "warning",
|
||||
"silk_edge_clearance": "ignore",
|
||||
"silk_over_copper": "ignore",
|
||||
"silk_overlap": "warning",
|
||||
"skew_out_of_range": "error",
|
||||
"solder_mask_bridge": "error",
|
||||
|
|
@ -125,9 +134,9 @@
|
|||
"max_error": 0.005,
|
||||
"min_clearance": 0.0,
|
||||
"min_connection": 0.0,
|
||||
"min_copper_edge_clearance": 0.25,
|
||||
"min_copper_edge_clearance": 0.2,
|
||||
"min_groove_width": 0.0,
|
||||
"min_hole_clearance": 0.25,
|
||||
"min_hole_clearance": 0.2,
|
||||
"min_hole_to_hole": 0.25,
|
||||
"min_microvia_diameter": 0.2,
|
||||
"min_microvia_drill": 0.1,
|
||||
|
|
@ -135,7 +144,7 @@
|
|||
"min_silk_clearance": 0.0,
|
||||
"min_text_height": 0.6,
|
||||
"min_text_thickness": 0.08,
|
||||
"min_through_hole_diameter": 0.3,
|
||||
"min_through_hole_diameter": 0.2,
|
||||
"min_track_width": 0.15,
|
||||
"min_via_annular_width": 0.15,
|
||||
"min_via_diameter": 0.3,
|
||||
|
|
@ -453,6 +462,7 @@
|
|||
"single_global_label": "ignore",
|
||||
"unannotated": "error",
|
||||
"unconnected_wire_endpoint": "warning",
|
||||
"undefined_netclass": "error",
|
||||
"unit_value_mismatch": "error",
|
||||
"unresolved_variable": "error",
|
||||
"wire_dangling": "error"
|
||||
|
|
@ -470,7 +480,7 @@
|
|||
"classes": [
|
||||
{
|
||||
"bus_width": 12,
|
||||
"clearance": 0.2,
|
||||
"clearance": 0.11,
|
||||
"diff_pair_gap": 0.25,
|
||||
"diff_pair_via_gap": 0.25,
|
||||
"diff_pair_width": 0.2,
|
||||
|
|
@ -488,11 +498,21 @@
|
|||
},
|
||||
{
|
||||
"clearance": 0.1,
|
||||
"name": "RF",
|
||||
"name": "Narrow",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"priority": 0,
|
||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||
"track_width": 0.16,
|
||||
"via_diameter": 0.6,
|
||||
"via_drill": 0.3
|
||||
},
|
||||
{
|
||||
"clearance": 0.17,
|
||||
"name": "RF",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"priority": 1,
|
||||
"schematic_color": "rgb(132, 0, 132)",
|
||||
"track_width": 0.234,
|
||||
"track_width": 0.2,
|
||||
"via_diameter": 0.6,
|
||||
"via_drill": 0.3
|
||||
},
|
||||
|
|
@ -502,7 +522,7 @@
|
|||
"diff_pair_width": 0.165,
|
||||
"name": "USB",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"priority": 1,
|
||||
"priority": 2,
|
||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||
"track_width": 0.165,
|
||||
"via_diameter": 0.6,
|
||||
|
|
@ -526,12 +546,30 @@
|
|||
"/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"
|
||||
],
|
||||
|
|
@ -544,14 +582,45 @@
|
|||
"Net-(IC1-RFO_P)": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(U1-USB1_DN)": [
|
||||
"USB"
|
||||
],
|
||||
"Net-(U1-USB1_DP)": [
|
||||
"USB"
|
||||
],
|
||||
"Net-(U2-RF_IN)": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(U2-RF_OUT_1)": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(U2-RF_OUT_2)": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(U9-RF1)": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(U9-RF2)": [
|
||||
"RF"
|
||||
],
|
||||
"Net-(U9-RF3)": [
|
||||
"RF"
|
||||
]
|
||||
},
|
||||
"netclass_patterns": []
|
||||
"netclass_patterns": [
|
||||
{
|
||||
"netclass": "Narrow",
|
||||
"pattern": "/Keyboard/D."
|
||||
},
|
||||
{
|
||||
"netclass": "Narrow",
|
||||
"pattern": "GND"
|
||||
},
|
||||
{
|
||||
"netclass": "Default",
|
||||
"pattern": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
"pcbnew": {
|
||||
"last_paths": {
|
||||
|
|
@ -691,11 +760,35 @@
|
|||
"label": "Sim.Pins",
|
||||
"name": "Sim.Pins",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"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": true,
|
||||
"include_excluded_from_bom": false,
|
||||
"name": "",
|
||||
"sort_asc": true,
|
||||
"sort_field": "Reference"
|
||||
|
|
@ -772,6 +865,10 @@
|
|||
[
|
||||
"5f168690-b6ac-4b3d-aad0-4e97277dc85d",
|
||||
"Connectors"
|
||||
],
|
||||
[
|
||||
"0b7c638a-0bf4-4df2-9e8c-e9dd4f727b29",
|
||||
"GNSS"
|
||||
]
|
||||
],
|
||||
"text_variables": {}
|
||||
|
|
|
|||
2006
linht-hw.kicad_sch
2006
linht-hw.kicad_sch
File diff suppressed because it is too large
Load diff
BIN
linht-hw.pdf
BIN
linht-hw.pdf
Binary file not shown.
|
|
@ -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 | | 1.8V | MX93_PAD_ENET2_MDIO__GPIO4_IO15 |
|
||||
| GPIO4_IO[15] | ENET2_MDIO | Pin 49 | JACK_DETECT | 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 | 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[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[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 | | 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[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[7] | ENET1_TXC | Pin 86 | | 1.8V | MX93_PAD_ENET1_TXC__GPIO4_IO07 |
|
||||
| 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[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[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 | | 3.3V | MX93_PAD_GPIO_IO25__GPIO2_IO25 |
|
||||
| GPIO2_IO[25] | GPIO2_IO[25] | Pin 95 | KBD_PWM | 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 | 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 | | 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 |
|
||||
| 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 |
|
||||
| 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 | | 1.8V | MX93_PAD_SD3_DATA3__GPIO3_IO25 |
|
||||
| GPIO3_IO[25] | SDIO3_DATA3 | Pin 111 | RF_PA_ENABLE | 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
Normal file
30
panel.json
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
|
@ -3042,6 +3042,82 @@
|
|||
)
|
||||
)
|
||||
)
|
||||
(pin no_connect line
|
||||
(at 49.53 -45.72 180)
|
||||
(length 3.81)
|
||||
(hide yes)
|
||||
(name "NC"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "G28"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin no_connect line
|
||||
(at 49.53 -46.99 180)
|
||||
(length 3.81)
|
||||
(hide yes)
|
||||
(name "NC"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "G25"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin no_connect line
|
||||
(at 49.53 -48.26 180)
|
||||
(length 3.81)
|
||||
(hide yes)
|
||||
(name "NC"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "G26"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin no_connect line
|
||||
(at 49.53 -49.53 180)
|
||||
(length 3.81)
|
||||
(hide yes)
|
||||
(name "NC"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "G27"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(embedded_fonts no)
|
||||
)
|
||||
|
|
|
|||
930
parts/parts.3dshapes/ANT8010LL05R1516A.step
Normal file
930
parts/parts.3dshapes/ANT8010LL05R1516A.step
Normal file
|
|
@ -0,0 +1,930 @@
|
|||
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;
|
||||
5238
parts/parts.3dshapes/Coilcraft-0908SQ-23N.step
Normal file
5238
parts/parts.3dshapes/Coilcraft-0908SQ-23N.step
Normal file
File diff suppressed because it is too large
Load diff
17517
parts/parts.3dshapes/F1812_L4.5-W3.2-H1.0.step
Normal file
17517
parts/parts.3dshapes/F1812_L4.5-W3.2-H1.0.step
Normal file
File diff suppressed because it is too large
Load diff
19694
parts/parts.3dshapes/LG77L.step
Normal file
19694
parts/parts.3dshapes/LG77L.step
Normal file
File diff suppressed because it is too large
Load diff
394
parts/parts.3dshapes/QFN-12_L2.0-W2.0-P0.50-BL-EP0.8.wrl
Normal file
394
parts/parts.3dshapes/QFN-12_L2.0-W2.0-P0.50-BL-EP0.8.wrl
Normal file
File diff suppressed because one or more lines are too long
118
parts/parts.3dshapes/QFN-29_L4.0-W4.0-P0.40-TL-BQ25792RQMR.wrl
Normal file
118
parts/parts.3dshapes/QFN-29_L4.0-W4.0-P0.40-TL-BQ25792RQMR.wrl
Normal file
File diff suppressed because one or more lines are too long
141
parts/parts.3dshapes/SLO0520H1R0MTT.wrl
Normal file
141
parts/parts.3dshapes/SLO0520H1R0MTT.wrl
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
#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,
|
||||
]
|
||||
}
|
||||
}
|
||||
2040
parts/parts.3dshapes/spm6530.step
Normal file
2040
parts/parts.3dshapes/spm6530.step
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
178
parts/parts.pretty/0908SQ-23N.kicad_mod
Normal file
178
parts/parts.pretty/0908SQ-23N.kicad_mod
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
(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)
|
||||
)
|
||||
)
|
||||
)
|
||||
327
parts/parts.pretty/ANT8010LL05R1516A.kicad_mod
Normal file
327
parts/parts.pretty/ANT8010LL05R1516A.kicad_mod
Normal file
|
|
@ -0,0 +1,327 @@
|
|||
(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)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -203,7 +203,7 @@
|
|||
)
|
||||
(pad "1" smd roundrect
|
||||
(at -4.1 0)
|
||||
(size 2.9 9.3)
|
||||
(size 2.8 9.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.05172413793)
|
||||
(thermal_bridge_angle 45)
|
||||
|
|
@ -219,7 +219,7 @@
|
|||
)
|
||||
(pad "3" smd roundrect
|
||||
(at 4.1 0)
|
||||
(size 2.9 9.3)
|
||||
(size 2.8 9.3)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.05172413793)
|
||||
(thermal_bridge_angle 45)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
(at 0 -3 0)
|
||||
(unlocked yes)
|
||||
(layer "F.SilkS")
|
||||
(uuid "9af3315f-3760-4431-a6d3-c961daf93e0a")
|
||||
(uuid "80102fe9-2f24-4f9f-af06-d957a2339c3f")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
(at 0 2.2 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(uuid "9d3c0d20-9c00-4712-8c97-a71c278c659a")
|
||||
(uuid "a34d2d62-0765-4da1-ac9b-635ed076b59b")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "c28d025e-402e-4cd7-87a2-b885ccf131d2")
|
||||
(uuid "48f94bd9-c136-4e26-9877-e2fb97835e49")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "4e4892f0-6178-4cfa-9179-fe538b4e4f39")
|
||||
(uuid "905148bf-d207-4ac9-b1d9-6ecfe4380d18")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
|
|
@ -55,27 +55,25 @@
|
|||
)
|
||||
)
|
||||
(attr through_hole)
|
||||
(fp_rect
|
||||
(fp_line
|
||||
(start -5 -8.1)
|
||||
(end 5 -4.1)
|
||||
(end 5 -8.1)
|
||||
(stroke
|
||||
(width 0.2)
|
||||
(type solid)
|
||||
(type default)
|
||||
)
|
||||
(fill yes)
|
||||
(layer "F.Cu")
|
||||
(uuid "1ff807b3-8eae-4b5a-8e89-e82ec4751ea9")
|
||||
(layer "F.SilkS")
|
||||
(uuid "18f6e088-da08-4668-8d80-c7d79016a9fc")
|
||||
)
|
||||
(fp_rect
|
||||
(start -5 -8.1)
|
||||
(end 5 -4.1)
|
||||
(fp_line
|
||||
(start -5 -5.95)
|
||||
(end -5 -8.1)
|
||||
(stroke
|
||||
(width 0.2)
|
||||
(type solid)
|
||||
(type default)
|
||||
)
|
||||
(fill yes)
|
||||
(layer "F.Mask")
|
||||
(uuid "57a24409-9f7c-4928-9e1a-216ce6332f1e")
|
||||
(layer "F.SilkS")
|
||||
(uuid "fa4fe366-408f-40d3-9128-0e4577149e01")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.5 -13.2)
|
||||
|
|
@ -88,7 +86,7 @@
|
|||
(uuid "badf7925-5582-499b-9c06-d9bc6933b1fc")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.5 -8.3)
|
||||
(start -4.5 -8.15)
|
||||
(end -4.5 -13.2)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
|
|
@ -98,7 +96,7 @@
|
|||
(uuid "27cdc8fc-256e-4503-a5d1-d81e2654d22c")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.5 -3.9)
|
||||
(start -4.5 -4.1)
|
||||
(end -4.5 -2.1)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
|
|
@ -137,9 +135,19 @@
|
|||
(layer "F.SilkS")
|
||||
(uuid "433ca06d-cd4f-40a0-9f39-38c104bc18b2")
|
||||
)
|
||||
(fp_line
|
||||
(start 3 -4.1)
|
||||
(end -3 -4.1)
|
||||
(stroke
|
||||
(width 0.2)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "2d8c67bf-57cd-4c7b-b11b-0b9090a11228")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.5 -13.2)
|
||||
(end 4.5 -8.3)
|
||||
(end 4.5 -8.1)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
|
|
@ -149,7 +157,7 @@
|
|||
)
|
||||
(fp_line
|
||||
(start 4.5 -2.1)
|
||||
(end 4.5 -3.9)
|
||||
(end 4.5 -4.1)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
|
|
@ -157,6 +165,16 @@
|
|||
(layer "F.SilkS")
|
||||
(uuid "b506e301-9ea3-460a-beda-b6c8179b844e")
|
||||
)
|
||||
(fp_line
|
||||
(start 5 -8.1)
|
||||
(end 5 -5.95)
|
||||
(stroke
|
||||
(width 0.2)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "bca821a7-5e69-45e2-8cd9-19084b97066c")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 3.7 0)
|
||||
(unlocked yes)
|
||||
|
|
|
|||
139
parts/parts.pretty/Fuse_1812L200.kicad_mod
Normal file
139
parts/parts.pretty/Fuse_1812L200.kicad_mod
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
(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)
|
||||
)
|
||||
)
|
||||
)
|
||||
599
parts/parts.pretty/Jack_3.5mm_CUI_SJ1-3525N_Modified.kicad_mod
Normal file
599
parts/parts.pretty/Jack_3.5mm_CUI_SJ1-3525N_Modified.kicad_mod
Normal file
|
|
@ -0,0 +1,599 @@
|
|||
(footprint "Jack_3.5mm_CUI_SJ1-3525N_Modified"
|
||||
(version 20241229)
|
||||
(generator "pcbnew")
|
||||
(generator_version "9.0")
|
||||
(layer "F.Cu")
|
||||
(descr "TRS 3.5mm, horizontal, through-hole, https://www.cuidevices.com/product/resource/pdf/sj1-352xn.pdf")
|
||||
(tags "TRS audio jack stereo horizontal")
|
||||
(property "Reference" "REF**"
|
||||
(at 0 -8.8 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "1add7dcf-a760-4acf-a8df-7191842316d8")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "Jack_3.5mm_CUI_SJ1-3525N_Modified"
|
||||
(at 0 -10 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "6612f225-863e-4980-926d-c81f7a4c0ba5")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "87b43f88-e722-4fe0-a9f0-7872afe98c67")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "fcc3ef8c-8425-4c05-ab28-aa0bbbe4a25a")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr through_hole exclude_from_pos_files exclude_from_bom)
|
||||
(fp_line
|
||||
(start -6 -7.7)
|
||||
(end 6 -7.7)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "c4ed921b-5978-4907-b8ae-6b0640f1dea6")
|
||||
)
|
||||
(fp_line
|
||||
(start -6 3.3)
|
||||
(end -6 -7.7)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "11374064-f99a-4833-9a35-64656a6379df")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.5 3.3)
|
||||
(end -6 3.3)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "fcc64e02-2983-4a1e-a31b-27dcbbb26eb0")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.5 4.5)
|
||||
(end -4.5 3.3)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "5973c661-5067-4d11-9c7c-eb9ecb3fcf1e")
|
||||
)
|
||||
(fp_line
|
||||
(start -3 4.5)
|
||||
(end -4.5 4.5)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "5f44e682-5a0e-4909-91c5-de6e1fd3e758")
|
||||
)
|
||||
(fp_line
|
||||
(start -3 6.3)
|
||||
(end -3 4.5)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "12804b3f-e88a-4b05-8f3f-5e0cea0160bf")
|
||||
)
|
||||
(fp_line
|
||||
(start -2 3.3)
|
||||
(end -2 6.3)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "fe268b09-68ad-41a9-be41-1a6da3eae22d")
|
||||
)
|
||||
(fp_line
|
||||
(start 2 3.3)
|
||||
(end -2 3.3)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "d6f8847e-63f1-4d60-b6d0-26b3d97acaf0")
|
||||
)
|
||||
(fp_line
|
||||
(start 2 6.3)
|
||||
(end 2 3.3)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "b6f51c18-3efd-4627-a77f-6d7cc1dccb64")
|
||||
)
|
||||
(fp_line
|
||||
(start 3 4.5)
|
||||
(end 3 6.3)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "d0f77083-129b-4203-807d-640854c1c549")
|
||||
)
|
||||
(fp_line
|
||||
(start 3 6.3)
|
||||
(end -3 6.3)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "2f7a40ad-250c-4f5a-8245-765c568de5c7")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.5 3.3)
|
||||
(end 4.5 4.5)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "17b9415d-4048-4dad-a12f-0690dcdf82b5")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.5 4.5)
|
||||
(end 3 4.5)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "dfb46782-e4ff-42a6-8adb-edd75045139d")
|
||||
)
|
||||
(fp_line
|
||||
(start 6 -7.7)
|
||||
(end 6 3.3)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "dcf98f86-aaf6-490c-98c3-b153f5552ef1")
|
||||
)
|
||||
(fp_line
|
||||
(start 6 3.3)
|
||||
(end 4.5 3.3)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "ad62fed3-471e-4fc4-a7a0-4482ab1ce7ee")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.15 3.500002)
|
||||
(end -3.15 5.35)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "Edge.Cuts")
|
||||
(uuid "48f41604-a6e1-4446-881f-772a3ab9e3cf")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.15 5.35)
|
||||
(end -6 5.35)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "Edge.Cuts")
|
||||
(uuid "910d111c-8356-4b3a-a4cd-22f14c2881a3")
|
||||
)
|
||||
(fp_line
|
||||
(start 2.75 3.1)
|
||||
(end -2.75 3.1)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "Edge.Cuts")
|
||||
(uuid "5a978aba-42e4-4034-9a73-91bf03f2f54d")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.15 3.5)
|
||||
(end 3.15 5.35)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "Edge.Cuts")
|
||||
(uuid "cef4abab-1d99-4638-bfd7-bf65ee264ed6")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.15 5.35)
|
||||
(end 6 5.35)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "Edge.Cuts")
|
||||
(uuid "1f9968e1-0eee-4dd9-9f60-e366337fcb8a")
|
||||
)
|
||||
(fp_arc
|
||||
(start -3.15 3.5)
|
||||
(mid -3.032842 3.217158)
|
||||
(end -2.75 3.1)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "Edge.Cuts")
|
||||
(uuid "79a8ddb1-bca0-4377-810d-bba745d0d47a")
|
||||
)
|
||||
(fp_arc
|
||||
(start 2.75 3.1)
|
||||
(mid 3.032843 3.217157)
|
||||
(end 3.15 3.5)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "Edge.Cuts")
|
||||
(uuid "fe3354f4-538b-4062-a2ed-7998da18de18")
|
||||
)
|
||||
(fp_line
|
||||
(start -6.25 -7.95)
|
||||
(end -6.25 4.75)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "e37c8ee8-778f-4fb1-a382-58b7f13327aa")
|
||||
)
|
||||
(fp_line
|
||||
(start -6.25 4.75)
|
||||
(end -3.25 4.75)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "ff22bc1d-7252-46c8-aa56-2fcf3b0aed98")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.25 4.75)
|
||||
(end -3.25 6.55)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "d9f9bc89-eae5-48cd-8b86-84d6abf51ccf")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.25 6.55)
|
||||
(end 3.25 6.55)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "518d3713-0903-49d2-b864-26e173b8a0f9")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.25 4.75)
|
||||
(end 6.25 4.75)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "f84130ff-a1e0-4834-9cae-bfae1372f93a")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.25 6.55)
|
||||
(end 3.25 4.75)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "ed8ec206-fcda-446a-9175-18a5c3a8bbe7")
|
||||
)
|
||||
(fp_line
|
||||
(start 6.25 -7.95)
|
||||
(end -6.25 -7.95)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "e5bc91ed-6863-431b-8065-13df5a5a19bf")
|
||||
)
|
||||
(fp_line
|
||||
(start 6.25 4.5)
|
||||
(end 6.25 -7.95)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "8a1bbd25-8cbb-424a-9b43-5d9e23660e59")
|
||||
)
|
||||
(fp_line
|
||||
(start 6.25 4.75)
|
||||
(end 6.25 4.5)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "fea8efb1-2ef5-475a-af92-65909d0f7abe")
|
||||
)
|
||||
(fp_line
|
||||
(start -6 -7.7)
|
||||
(end 6 -7.7)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "d3c3fba2-2c99-4639-82b3-def615a0a111")
|
||||
)
|
||||
(fp_line
|
||||
(start -6 3.3)
|
||||
(end -6 -7.7)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "67f0fbee-d2a9-4d1e-b5f5-53c6e26db37e")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.5 3.3)
|
||||
(end -6 3.3)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "6c9e6964-8f4f-4037-9cfa-40ec74f90ccb")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.5 4.5)
|
||||
(end -4.5 3.3)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "d2eed008-515f-4d80-8797-64a02ee1a5fb")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.5 4.5)
|
||||
(end -3 4.5)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "433d632b-1af0-4c6d-b40c-06543e114522")
|
||||
)
|
||||
(fp_line
|
||||
(start -3 4.5)
|
||||
(end -3 6.3)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "60c30c46-20da-47d2-8dde-e79a9730c8eb")
|
||||
)
|
||||
(fp_line
|
||||
(start -3 6.3)
|
||||
(end 3 6.3)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "290850ed-73e2-4ba6-869e-4fef127cbb88")
|
||||
)
|
||||
(fp_line
|
||||
(start 3 4.5)
|
||||
(end 3 6.3)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "3498781e-a632-473a-8750-c7318af73043")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.5 3.3)
|
||||
(end 6 3.3)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "9f408fd4-cdec-42a6-b29a-045b39095465")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.5 4.5)
|
||||
(end 3 4.5)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "8c470310-04d8-41c3-adc3-7a545498423f")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.5 4.5)
|
||||
(end 4.5 3.3)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "a299908d-8fba-44bb-b5be-a7436df93aae")
|
||||
)
|
||||
(fp_line
|
||||
(start 6 3.3)
|
||||
(end 6 -7.7)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "c692bdd3-7f87-4426-a4f0-4d6ad56edfad")
|
||||
)
|
||||
(fp_text user "PCB edge"
|
||||
(at 0 6.3 0)
|
||||
(unlocked yes)
|
||||
(layer "Dwgs.User")
|
||||
(uuid "280aa230-a25f-414c-9d84-47f182621149")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 -1.5 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "085988cb-9879-4ac3-a25a-5a2bd7285627")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "" np_thru_hole circle
|
||||
(at -5 0)
|
||||
(size 1.2 1.2)
|
||||
(drill 1.2)
|
||||
(layers "*.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")
|
||||
(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")
|
||||
(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")
|
||||
(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")
|
||||
(uuid "0dcf70ee-cde7-482b-a3e5-44427c25dbc7")
|
||||
)
|
||||
(pad "R" thru_hole oval
|
||||
(at -5 -5)
|
||||
(size 1.2 2.2)
|
||||
(drill oval 0.4 1.4)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "e54c28a1-dfb5-4e3f-8b5a-7dd641ca7f3c")
|
||||
)
|
||||
(pad "RN" thru_hole oval
|
||||
(at -2.5 -5)
|
||||
(size 1.6 2.3)
|
||||
(drill oval 0.8 1.5)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "02b5eb1d-379e-426e-a14c-f52b3a21405a")
|
||||
)
|
||||
(pad "S" thru_hole oval
|
||||
(at 0 0)
|
||||
(size 2.2 1.2)
|
||||
(drill oval 1.4 0.4)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "3ed7e64f-b114-42be-9bef-9a493d918a48")
|
||||
)
|
||||
(pad "T" thru_hole oval
|
||||
(at 5 -5 180)
|
||||
(size 1.2 2.2)
|
||||
(drill oval 0.4 1.4)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "9fc83e1c-4425-4cec-92d0-a925a45db0ce")
|
||||
)
|
||||
(pad "TN" thru_hole oval
|
||||
(at 2.5 -5 180)
|
||||
(size 1.6 2.5)
|
||||
(drill oval 0.8 1.5)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "1e85fd63-1943-4c11-8b94-66b8fbf95e55")
|
||||
)
|
||||
(embedded_fonts no)
|
||||
(model "${KICAD9_3DMODEL_DIR}/Connector_Audio.3dshapes/Jack_3.5mm_CUI_SJ1-3525N_Horizontal.step"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
464
parts/parts.pretty/LG77L.kicad_mod
Normal file
464
parts/parts.pretty/LG77L.kicad_mod
Normal file
|
|
@ -0,0 +1,464 @@
|
|||
(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)
|
||||
)
|
||||
)
|
||||
)
|
||||
296
parts/parts.pretty/L_TDK_SPM6530.kicad_mod
Normal file
296
parts/parts.pretty/L_TDK_SPM6530.kicad_mod
Normal file
|
|
@ -0,0 +1,296 @@
|
|||
(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)
|
||||
)
|
||||
)
|
||||
)
|
||||
File diff suppressed because it is too large
Load diff
148
parts/parts.pretty/Oscillator_SMD_4Pin_2.0x1.6mm.kicad_mod
Normal file
148
parts/parts.pretty/Oscillator_SMD_4Pin_2.0x1.6mm.kicad_mod
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
(footprint "Oscillator_SMD_4Pin_2.0x1.6mm"
|
||||
(version 20241229)
|
||||
(generator "pcbnew")
|
||||
(generator_version "9.0")
|
||||
(layer "F.Cu")
|
||||
(descr "1.62V~3.63V ±10ppm 10mA ±30ppm CMOS 12.288MHz SMD2016-4P Crystal Oscillators ROHS")
|
||||
(property "Reference" "REF**"
|
||||
(at 0 -2 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "be437e0f-012f-4cd0-b200-efba2be11bc4")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "Oscillator_SMD_4Pin_2.0x1.6mm"
|
||||
(at 0 2 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "5a4d1c47-94e0-4472-9436-43d086d9727d")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "afd46d69-e97e-40cf-8b4f-e83a242c837a")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "6ac4c4fc-6be2-4a2b-b015-95d5e8962218")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -1.25 -0.95)
|
||||
(end -1.25 1)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "3c8be53e-a263-47d0-8958-b0ad65c6eb12")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.25 1)
|
||||
(end 1.2 1)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "92d1fa7b-d138-475e-8f88-7fa8b97547fa")
|
||||
)
|
||||
(fp_rect
|
||||
(start -1.4 -1.15)
|
||||
(end 1.35 1.15)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "5a34ab9d-0b94-47b8-b867-15b39ed84b71")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -1 -0.8) (xy -1 0.4) (xy -0.6 0.8) (xy 1 0.8) (xy 1 -0.8)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.Fab")
|
||||
(uuid "429f6141-b0dd-468d-9e46-2e1c5734b7e5")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "35134a7d-cc6c-464d-a050-fcfcaf01825e")
|
||||
(effects
|
||||
(font
|
||||
(size 0.5 0.5)
|
||||
(thickness 0.08)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" smd roundrect
|
||||
(at -0.7 0.5)
|
||||
(size 0.9 0.8)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.0625)
|
||||
(uuid "83ab7010-03bf-4222-b550-6f6692623073")
|
||||
)
|
||||
(pad "2" smd roundrect
|
||||
(at 0.7 0.5)
|
||||
(size 0.9 0.8)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.0625)
|
||||
(uuid "90fe8ac0-6adc-4b84-8d6d-146b040d96fe")
|
||||
)
|
||||
(pad "3" smd roundrect
|
||||
(at 0.7 -0.5)
|
||||
(size 0.9 0.8)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.0625)
|
||||
(uuid "4f56af08-021f-4f20-a6ed-a35f8c445ca9")
|
||||
)
|
||||
(pad "4" smd roundrect
|
||||
(at -0.7 -0.5)
|
||||
(size 0.9 0.8)
|
||||
(layers "F.Cu" "F.Mask" "F.Paste")
|
||||
(roundrect_rratio 0.0625)
|
||||
(uuid "4a766761-b248-48f9-abe0-e5134f3e09de")
|
||||
)
|
||||
(embedded_fonts no)
|
||||
(model "${KICAD9_3DMODEL_DIR}/Oscillator.3dshapes/Oscillator_SMD_SiT_PQFN-4Pin_2.0x1.6mm.step"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
368
parts/parts.pretty/QFN-12_L2.0-W2.0-P0.50-BL-EP0.8.kicad_mod
Normal file
368
parts/parts.pretty/QFN-12_L2.0-W2.0-P0.50-BL-EP0.8.kicad_mod
Normal file
|
|
@ -0,0 +1,368 @@
|
|||
(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)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -0,0 +1,621 @@
|
|||
(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)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -0,0 +1,433 @@
|
|||
(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)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -364,7 +364,7 @@
|
|||
(uuid "c41c7820-e06b-4bea-a2f0-b70a6e5c02bd")
|
||||
)
|
||||
(embedded_fonts no)
|
||||
(model "SX1255IWLTRT.stp"
|
||||
(model "${KICAD9_3DMODEL_DIR}/Package_DFN_QFN.3dshapes/QFN-32-1EP_5x5mm_P0.5mm_EP3.45x3.45mm.wrl"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
|
|
|
|||
170
parts/parts.pretty/SLO0520H1R0MTT.kicad_mod
Normal file
170
parts/parts.pretty/SLO0520H1R0MTT.kicad_mod
Normal file
|
|
@ -0,0 +1,170 @@
|
|||
(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)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -54,6 +54,46 @@
|
|||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -0.6 -0.4)
|
||||
(end -0.6 0.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "3d37ef7f-8599-4bf9-9c8c-91e87602fec8")
|
||||
)
|
||||
(fp_line
|
||||
(start -0.6 0.4)
|
||||
(end 0.6 0.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "a33bb430-f018-4354-81a7-2feb19fc6c4d")
|
||||
)
|
||||
(fp_line
|
||||
(start 0.6 -0.4)
|
||||
(end -0.6 -0.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "6206b217-745f-41b5-8927-3a6521fbca39")
|
||||
)
|
||||
(fp_line
|
||||
(start 0.6 0.4)
|
||||
(end 0.6 -0.4)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "2c0478b5-8d08-406f-b948-308850df27d6")
|
||||
)
|
||||
(fp_circle
|
||||
(center -0.4 0.6)
|
||||
(end -0.35 0.6)
|
||||
|
|
@ -65,6 +105,17 @@
|
|||
(layer "F.SilkS")
|
||||
(uuid "209f785e-4e73-40e1-99b2-22eef1dbf8a5")
|
||||
)
|
||||
(fp_rect
|
||||
(start -0.6 -0.4)
|
||||
(end 0.6 0.4)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type default)
|
||||
)
|
||||
(fill no)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "397f203a-b7bb-4093-bf45-a70ef770ea73")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 2 0)
|
||||
(unlocked yes)
|
||||
|
|
|
|||
13323
power.kicad_sch
13323
power.kicad_sch
File diff suppressed because it is too large
Load diff
106
present/bom2grouped_csv_jlcpcb.xsl
Normal file
106
present/bom2grouped_csv_jlcpcb.xsl
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
<!--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
Normal file
6
present/template/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
217
present/template/css/style.css
Normal file
217
present/template/css/style.css
Normal file
|
|
@ -0,0 +1,217 @@
|
|||
.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;
|
||||
}
|
||||
BIN
present/template/imgs/favicon.png
Normal file
BIN
present/template/imgs/favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 917 B |
26
present/template/imgs/m17-logo.svg
Normal file
26
present/template/imgs/m17-logo.svg
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
<?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>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
100
present/template/index.html.j2
Normal file
100
present/template/index.html.j2
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
<!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>
|
||||
23
present/template/index.json
Normal file
23
present/template/index.json
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"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
Normal file
7
present/template/js/bootstrap.bundle.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
785
present/template/js/vrml-viewer.js
Normal file
785
present/template/js/vrml-viewer.js
Normal file
|
|
@ -0,0 +1,785 @@
|
|||
/**
|
||||
* 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);
|
||||
324
present/template/style.css
Normal file
324
present/template/style.css
Normal file
|
|
@ -0,0 +1,324 @@
|
|||
/*! 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%
|
||||
}
|
||||
}
|
||||
12282
rf.kicad_sch
12282
rf.kicad_sch
File diff suppressed because it is too large
Load diff
2325
soc.kicad_sch
2325
soc.kicad_sch
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue