Compare commits

...

46 Commits

Author SHA1 Message Date
King Kévin 2c2a0e0082 doc: add v3 changes 2024-04-27 10:38:34 +02:00
King Kévin e9ac311e61 brd: add panelization info 2024-04-27 10:32:10 +02:00
King Kévin e55b31382e make: improve panelization 2024-04-22 03:42:33 +02:00
King Kévin 8fd378b72c sch: fix placement 2024-04-22 03:42:11 +02:00
King Kévin 5217391548 brd: improve for panelization 2024-04-20 18:12:45 +02:00
King Kévin 341fe7a0a0 brd: move button to back side 2024-04-20 10:31:01 +02:00
King Kévin ddae75b28d sch: remove fuse to save space 2024-04-20 10:29:52 +02:00
King Kévin 96ad523ef3 switch to version 3 2024-04-20 05:24:25 +02:00
King Kévin 09f7bccca4 doc: fix pictures 2024-04-19 03:37:20 +02:00
King Kévin ffb6998c1c doc: fix pictures 2024-04-19 03:36:18 +02:00
King Kévin 3b488df3e6 doc: add picture 2024-04-19 03:32:57 +02:00
King Kévin e6b5028133 doc: add mode of operation 2024-04-19 03:29:54 +02:00
King Kévin 8d45bcfa60 lib: update repo 2024-04-18 15:01:59 +02:00
King Kévin 983fb5ddbf sch: add bottloader info 2024-04-18 15:00:20 +02:00
King Kévin f11f551eaf sch: change LED resistor to 10k 2024-04-18 14:57:54 +02:00
King Kévin 3895f9cf93 doc: add USB mirrored issue 2024-04-18 14:56:44 +02:00
King Kévin 27f61fb9b2 sch: fix placement info 2024-04-18 14:56:10 +02:00
King Kévin f137388727 brd: fix USB-A footprint 2024-04-05 05:09:53 +02:00
King Kévin 01a67ae560 make: fix clean 2024-03-29 00:25:01 +01:00
King Kévin 9523be94ea lib: update repo 2024-03-29 00:05:09 +01:00
King Kévin 41db5d5f8e doc: add v2 changes 2024-03-28 23:58:55 +01:00
King Kévin 5717d4f650 brd: pass DRC 2024-03-28 23:57:24 +01:00
King Kévin 1b0def3a36 brd: add hole for string 2024-03-28 11:40:45 +01:00
King Kévin 64a04c3698 brd: improve USB routing 2024-03-28 11:07:39 +01:00
King Kévin 7462e5d59a doc: fix typos and add re-enumeration 2024-03-28 05:58:46 +01:00
King Kévin 1d06f98af3 doc: update dev notes to KiCAD v8 2024-03-28 05:55:56 +01:00
King Kévin de368d73d1 make: add svg render 2024-03-28 05:45:04 +01:00
King Kévin 955c4c22fb make: use ibom from kicad8 2024-03-28 05:44:41 +01:00
King Kévin 211b42907e brd: fix corner 2024-03-28 05:43:55 +01:00
King Kévin f6bf295ab0 brd: improve ground 2024-03-27 13:16:32 +01:00
King Kévin e3e93629c3 brd: fix board thickness 2024-03-27 06:03:37 +01:00
King Kévin b5e49b4dec sch: fix BoM 2024-03-27 06:02:07 +01:00
King Kévin db2b809066 sch/brd: add fuse 2024-03-27 06:00:33 +01:00
King Kévin 43bc02aa17 lib: add fuse 2024-03-27 06:00:04 +01:00
King Kévin c71f7b127f brd: round corners 2024-03-27 04:54:21 +01:00
King Kévin 3fea2334eb sch/brd: replace MCU to STM32F042 2024-03-27 04:48:52 +01:00
King Kévin c39b2e034e lib: add STM32F042 2024-03-27 04:48:15 +01:00
King Kévin e6baae83de switch to v2 2024-03-27 03:19:10 +01:00
King Kévin 869fe8a728 doc: add v1 changes 2024-03-27 03:17:19 +01:00
King Kévin a8e778fbfb doc: add configuration 2024-03-27 03:17:00 +01:00
King Kévin 40e17d3119 sch/brd: also connect second USB port 2024-03-20 22:36:33 +01:00
King Kévin bcebd44198 brd: complete smaller routing 2024-03-20 12:48:24 +01:00
King Kévin a3a7b86086 lib: fix parts 2024-03-20 12:46:20 +01:00
King Kévin 2e9f81f071 sch: use fewer and smaller parts 2024-03-20 05:10:08 +01:00
King Kévin 73ad55a41b lib: add smaller parts 2024-03-20 05:09:37 +01:00
King Kévin c6490c2b68 switch to version 1 2024-03-20 05:09:01 +01:00
27 changed files with 19639 additions and 12830 deletions

View File

@ -15,8 +15,13 @@ library:
- capacitor/c0603
- diode/led0805
- mcu/st_stm32f103xb@lqfp48
- mcu/wch_ch32v203@cxt
- mcu/wch_ch32v203@G6U
- mechanical/smd-button_tx-1187a
- oscillator/x5032
- vreg/ldo_torex_xc6206@mr
- connector/usb-a-plug
- mechanical/smd-button_hyp_1ts003b
- diode/led0603
- mcu/st_stm32f042@gxu
- mcu/st_stm32f042@fxp
- vreg/fuse_1206sfh

View File

@ -1,6 +1,41 @@
v3
==
mainly a manufacturing update.
all parts are on one side.
the schematic remains fully compatible with v2.
changes:
- remove fuse as the designed has been proved, and the glues should prevent shorts
- put buttons on back side
- use button mounting holes as test points
v2
==
same USB type-A plug form factor.
change MCU to STM32F042 since it provides read out protection, can recover 48 MHz clock from USB, and is easy to solder.
v1
==
smaller form factor.
fits in USB type-A port.
uses CH32V203 as it is smaller, cheaper, and requires less external parts (DP pull-up, crystal).
issues:
- USB pins are mirrored
v0
==
this is a large development board.
it accepts the classical STM32F103 (which I'm more familiar with), and CH32V203 (cheaper).
it has a proper debug port and buttons.
issues:
- USB pins are mirrored

View File

@ -6,7 +6,7 @@ requirements
to be able to generate the outputs, you need following software:
- [QEDA](http://qeda.org/): to generate footprints for the parts
- [KiCad v7](https://www.kicad.org/): EDA software used for schematic capture and board layout
- [KiCad v8](https://www.kicad.org/): EDA software used for schematic capture and board layout
- [PcbDraw](https://github.com/yaqwsx/PcbDraw): to generate board layout rendering
- [KiKit](https://github.com/yaqwsx/KiKit): to generate fabrications files (Gerber, Excellon)
- [KiBoM](https://github.com/SchrodingersGat/KiBoM): to generate Bill of Material (CSV)

View File

@ -8,7 +8,7 @@ QEDA := qeda
# path to KiBOM
KIBOM := kibom
# path to InteractiveHtmlBom
IBOMGEN := ~/.local/share/kicad/7.0/3rdparty/plugins/org_openscopeproject_InteractiveHtmlBom/generate_interactive_bom.py
IBOMGEN := ~/.local/share/kicad/8.0/3rdparty/plugins/org_openscopeproject_InteractiveHtmlBom/generate_interactive_bom.py
# read project version
VERSION := $(shell cat version)
@ -33,10 +33,12 @@ VERSIONED_SHEET = $(foreach SHEET,$(NAME) $(SUBSHEET),$(SHEET).versioned.kicad_s
FABRICATION_DIR := fabrication
IBOM := ${FABRICATION_DIR}/ibom.html
all: $(VERSIONED_SHEET) ${NAME}.sch.pdf ${NAME}.brd-top.png ${NAME}.brd-bot.png ${NAME}.bom.csv ${NAME}.3d.step fab
all: $(VERSIONED_SHEET) ${NAME}.sch.pdf ${NAME}.bom.csv render fab
fab: ${FABRICATION_DIR} ${IBOM}
render: ${NAME}.brd-top.png ${NAME}.brd-bot.png ${NAME}.brd-top.svg ${NAME}.brd-bot.svg ${NAME}.3d.step
# generate fabrication files (gerbers/drill/BoM/PnP)
${FABRICATION_DIR}: ${NAME}.versioned.kicad_sch ${NAME}.versioned.kicad_pcb
kikit fab jlcpcb --no-drc --assembly --field JLCPCB,LCSC --schematic $^ $@
@ -68,6 +70,14 @@ lib:
%.brd-bot.png: %.versioned.kicad_pcb
pcbdraw plot --silent --no-components --dpi 600 --side back $< $@
# generate render from layout (top side)
%.brd-top.svg: %.versioned.kicad_pcb
$(KICAD) pcb export svg --layers F.Cu,F.Paste,F.Silkscreen,Edge.Cuts --page-size-mode 2 --exclude-drawing-sheet --output $@ $<
# generate render from layout (bottom side)
%.brd-bot.svg: %.versioned.kicad_pcb
$(KICAD) pcb export svg --layers B.Cu,B.Paste,B.Silkscreen,Edge.Cuts --mirror --page-size-mode 2 --exclude-drawing-sheet --output $@ $<
# export Bill of Material (as CSV)
%.bom.xml: %.versioned.kicad_sch %.versioned.kicad_pro
$(KICAD) sch export python-bom --output $@ $<
@ -81,20 +91,22 @@ lib:
$(KIBOM) $< $@
# generate panel
PANEL_DIR := panel
panel: panel.kicad_pcb
panel.kicad_pcb: ${NAME}.versioned.kicad_pcb ${NAME}.versioned.kicad_pro ${NAME}.versioned.kicad_sch ${NAME}.versioned.json
kikit panelize -p ${NAME}.versioned.json ${NAME}.versioned.kicad_pcb $@
PANEL_DIR := panel_fab
panel: panel.kicad_pcb panel.brd-top.svg panel.brd-bot.svg panel.brd-top.png panel.brd-bot.png ${PANEL_DIR}
panel.kicad_pcb: ${NAME}.versioned.kicad_pcb ${NAME}.versioned.kicad_pro ${NAME}.versioned.kicad_sch panel.versioned.json
kikit panelize -p panel.versioned.json ${NAME}.versioned.kicad_pcb $@
sed --in-place 's/\"missing_courtyard\": \"warning\"/\"missing_courtyard\": \"ignore\"/g' $(patsubst %.kicad_pcb,%.kicad_pro,$@) # the mouse bites don't have a courtyard
kikit fab jlcpcb --assembly --missingError --field JLCPCB,LCSC --schematic ${NAME}.versioned.kicad_sch $@ ${PANEL_DIR}
pcbdraw --silent $@ --dpi 600 panel.brd-top.png
pcbdraw --silent $@ --dpi 600 --back panel.brd-bot.png
${PANEL_DIR}: ${NAME}.versioned.kicad_sch panel.kicad_pcb
kikit fab jlcpcb --assembly --missingError --field JLCPCB,LCSC --schematic $^ $@
clean:
rm -f $(foreach EXT,$(VERSIONED_EXT),${NAME}.versioned.$(EXT))
rm -f ${NAME}.sch.pdf ${NAME}.brd-top.png ${NAME}.brd-bot.png ${NAME}.versioned.xml ${NAME}.bom.csv
rm -f ${NAME}.sch.pdf ${NAME}.brd-top.png ${NAME}.brd-bot.png ${NAME}.brd-top.svg ${NAME}.brd-bot.svg ${NAME}.versioned.xml ${NAME}.bom.csv
rm -f ${NAME}.versioned.kicad_prl ${NAME}.versioned.kicad_pro-bak ${NAME}.versioned.xml ${NAME}.versioned.csv
rm -f ${IBOM}
rm -rf ${FABRICATION_DIR}
rm -f panel.kicad_pcb panel.kicad_pro
rm -f panel.versioned.json panel.kicad_pcb panel.kicad_pro panel.brd-top.svg panel.brd-bot.svg panel.brd-top.png panel.brd-bot.png
rm -rf ${PANEL_DIR}

View File

@ -1,20 +1,64 @@
passkey type your credentials for you.
passkey types your credentials upon button press.
<img src="picture/v2_front.jpg" title="front" width="750"/>
.
<img src="picture/v2_back.jpg" title="back" width="750"/>
purpose
=======
This USB dongle will help you out if you have to enter your credentials frequently.
This USB dongle will help out if you have to enter your credentials frequently.
Temporarily store the credential on it, and press a button for passkey to enter it for you.
usage
=====
- passkey will appear as USB serial port and keyboard
- connect to it using a serial terminal (baud rate it not important)
- connect to it using a serial terminal (baud rate is not important)
- enter the credentials you often have to input
- press on the U button for passkey to input the username and password
- press on the P button for passkey to input password
- press on one button for passkey to input the username and password
- press on the other button for passkey to input password
The credentials are save in RAM and will clear as soon a power is removed.
You can also clear the credentials by pressing on both buttons.
The passkey will blink until credentials are saved.
More details are provided in the [firmware](https://git.cuvoodoo.info/kingkevin/passkey_fw/src/branch/passkey).
hardware
========
The passkey is a USB dongle that fits within a USB type-A port.
Only the two buttons stick out to you can press on them.
An LED indicates if credentials are stored in the dongle.
Cover the back of the PCB assembly with hot glue so it fits well the USB port and does not create shorts.
mode of operation
=================
The core of the device is a micro-controller that supports native USB.
I will act as serial port, to input the credentials, and HID keyboard, to paste back the credentials.
After several trials, I chose the STM32F042F6P for the following reasons:
- small enough to fit in USB port
- TSSOP package easy to hand solder
- does not need an external crystal, as it can recover the 48 MHz clock from the USB communication, saving board space
- has embedded balancing and pull-up USB resistors, saving board space
- is readily available and cheap, hoping the next chip shortage will affect it less
- has little embedded flash (32 kB), but enough to run tinyUSB (not libopencm3 though)
- provides readout protection, to lock the flash and disable the debug interface
- requires little power, to use a small LDO, saving board space
The board has test points on the back for SWD (labeled C for SWCLK and D for SWDIO), and UART debug (labeled G for ground and T for RX).
A fuse is added to the board, just to prevent shorts when the dongle is plugged in but the glue is not applied correctly on the back of the board.
Physical tactile switches are used instead of capacitive touch to avoid accidental credential pasting.
A hole between the two buttons allows to put it on a string.
This makes removing the dongle from the port more easy.
This way you can also put it on your key-ring, so it is less likely you forget the dongle when leaving the computer unattended.
The MCU and readout protection have no security certification.
They could probably by bypassed using fault injection.
This could allow an attacker to install malicious firmware, saving the credentials in non-volatile memory for later retrieval.
Thus, it you notice any tampering of the device such as different glue pattern, just toss the device away.
The under $2 cost for this device makes it not worth the risk.
If you don't trust the source where you got the device from, since the hardware and firmware are open-source, just build the device yourself.

View File

@ -0,0 +1,199 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Simplified model for FUSC3215X117N'),'2;1');
FILE_NAME('FUSC3215X117N','1970-01-01T00:00:00.00',(''),(''),
'QEDA','QEDA','Unknown');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
'automotive_design',2000,#2);
#2 = APPLICATION_CONTEXT(
'core data for automotive mechanical design processes');
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
#5 = PRODUCT_DEFINITION('design','',#6,#9);
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
#7 = PRODUCT('FUSC3215X117N','FUSC3215X117N','',(#8));
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#165);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.,0.,0.));
#13 = DIRECTION('',(0.,0.,1.));
#14 = DIRECTION('',(1.,0.,-0.));
#15 = MANIFOLD_SOLID_BREP('',#16);
#16 = CLOSED_SHELL('',(#17,#57,#97,#119,#141,#153));
#17 = ADVANCED_FACE('',(#18),#52,.F.);
#18 = FACE_BOUND('',#19,.F.);
#19 = EDGE_LOOP('',(#20,#30,#38,#46));
#20 = ORIENTED_EDGE('',*,*,#21,.F.);
#21 = EDGE_CURVE('',#22,#24,#26,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(0.,0.,0.));
#24 = VERTEX_POINT('',#25);
#25 = CARTESIAN_POINT('',(0.,0.,1.17));
#26 = LINE('',#27,#28);
#27 = CARTESIAN_POINT('',(0.,0.,0.));
#28 = VECTOR('',#29,1.);
#29 = DIRECTION('',(0.,0.,1.));
#30 = ORIENTED_EDGE('',*,*,#31,.T.);
#31 = EDGE_CURVE('',#22,#32,#34,.T.);
#32 = VERTEX_POINT('',#33);
#33 = CARTESIAN_POINT('',(0.,3.2,0.));
#34 = LINE('',#35,#36);
#35 = CARTESIAN_POINT('',(0.,0.,0.));
#36 = VECTOR('',#37,1.);
#37 = DIRECTION('',(-0.,1.,0.));
#38 = ORIENTED_EDGE('',*,*,#39,.T.);
#39 = EDGE_CURVE('',#32,#40,#42,.T.);
#40 = VERTEX_POINT('',#41);
#41 = CARTESIAN_POINT('',(0.,3.2,1.17));
#42 = LINE('',#43,#44);
#43 = CARTESIAN_POINT('',(0.,3.2,0.));
#44 = VECTOR('',#45,1.);
#45 = DIRECTION('',(0.,0.,1.));
#46 = ORIENTED_EDGE('',*,*,#47,.F.);
#47 = EDGE_CURVE('',#24,#40,#48,.T.);
#48 = LINE('',#49,#50);
#49 = CARTESIAN_POINT('',(0.,0.,1.17));
#50 = VECTOR('',#51,1.);
#51 = DIRECTION('',(-0.,1.,0.));
#52 = PLANE('',#53);
#53 = AXIS2_PLACEMENT_3D('',#54,#55,#56);
#54 = CARTESIAN_POINT('',(0.,0.,0.));
#55 = DIRECTION('',(1.,0.,-0.));
#56 = DIRECTION('',(0.,0.,1.));
#57 = ADVANCED_FACE('',(#58),#92,.T.);
#58 = FACE_BOUND('',#59,.T.);
#59 = EDGE_LOOP('',(#60,#70,#78,#86));
#60 = ORIENTED_EDGE('',*,*,#61,.F.);
#61 = EDGE_CURVE('',#62,#64,#66,.T.);
#62 = VERTEX_POINT('',#63);
#63 = CARTESIAN_POINT('',(1.5,0.,0.));
#64 = VERTEX_POINT('',#65);
#65 = CARTESIAN_POINT('',(1.5,0.,1.17));
#66 = LINE('',#67,#68);
#67 = CARTESIAN_POINT('',(1.5,0.,0.));
#68 = VECTOR('',#69,1.);
#69 = DIRECTION('',(0.,0.,1.));
#70 = ORIENTED_EDGE('',*,*,#71,.T.);
#71 = EDGE_CURVE('',#62,#72,#74,.T.);
#72 = VERTEX_POINT('',#73);
#73 = CARTESIAN_POINT('',(1.5,3.2,0.));
#74 = LINE('',#75,#76);
#75 = CARTESIAN_POINT('',(1.5,0.,0.));
#76 = VECTOR('',#77,1.);
#77 = DIRECTION('',(-0.,1.,0.));
#78 = ORIENTED_EDGE('',*,*,#79,.T.);
#79 = EDGE_CURVE('',#72,#80,#82,.T.);
#80 = VERTEX_POINT('',#81);
#81 = CARTESIAN_POINT('',(1.5,3.2,1.17));
#82 = LINE('',#83,#84);
#83 = CARTESIAN_POINT('',(1.5,3.2,0.));
#84 = VECTOR('',#85,1.);
#85 = DIRECTION('',(0.,0.,1.));
#86 = ORIENTED_EDGE('',*,*,#87,.F.);
#87 = EDGE_CURVE('',#64,#80,#88,.T.);
#88 = LINE('',#89,#90);
#89 = CARTESIAN_POINT('',(1.5,0.,1.17));
#90 = VECTOR('',#91,1.);
#91 = DIRECTION('',(-0.,1.,0.));
#92 = PLANE('',#93);
#93 = AXIS2_PLACEMENT_3D('',#94,#95,#96);
#94 = CARTESIAN_POINT('',(1.5,0.,0.));
#95 = DIRECTION('',(1.,0.,-0.));
#96 = DIRECTION('',(0.,0.,1.));
#97 = ADVANCED_FACE('',(#98),#114,.F.);
#98 = FACE_BOUND('',#99,.F.);
#99 = EDGE_LOOP('',(#100,#106,#107,#113));
#100 = ORIENTED_EDGE('',*,*,#101,.F.);
#101 = EDGE_CURVE('',#22,#62,#102,.T.);
#102 = LINE('',#103,#104);
#103 = CARTESIAN_POINT('',(0.,0.,0.));
#104 = VECTOR('',#105,1.);
#105 = DIRECTION('',(1.,0.,-0.));
#106 = ORIENTED_EDGE('',*,*,#21,.T.);
#107 = ORIENTED_EDGE('',*,*,#108,.T.);
#108 = EDGE_CURVE('',#24,#64,#109,.T.);
#109 = LINE('',#110,#111);
#110 = CARTESIAN_POINT('',(0.,0.,1.17));
#111 = VECTOR('',#112,1.);
#112 = DIRECTION('',(1.,0.,-0.));
#113 = ORIENTED_EDGE('',*,*,#61,.F.);
#114 = PLANE('',#115);
#115 = AXIS2_PLACEMENT_3D('',#116,#117,#118);
#116 = CARTESIAN_POINT('',(0.,0.,0.));
#117 = DIRECTION('',(-0.,1.,0.));
#118 = DIRECTION('',(0.,0.,1.));
#119 = ADVANCED_FACE('',(#120),#136,.T.);
#120 = FACE_BOUND('',#121,.T.);
#121 = EDGE_LOOP('',(#122,#128,#129,#135));
#122 = ORIENTED_EDGE('',*,*,#123,.F.);
#123 = EDGE_CURVE('',#32,#72,#124,.T.);
#124 = LINE('',#125,#126);
#125 = CARTESIAN_POINT('',(0.,3.2,0.));
#126 = VECTOR('',#127,1.);
#127 = DIRECTION('',(1.,0.,-0.));
#128 = ORIENTED_EDGE('',*,*,#39,.T.);
#129 = ORIENTED_EDGE('',*,*,#130,.T.);
#130 = EDGE_CURVE('',#40,#80,#131,.T.);
#131 = LINE('',#132,#133);
#132 = CARTESIAN_POINT('',(0.,3.2,1.17));
#133 = VECTOR('',#134,1.);
#134 = DIRECTION('',(1.,0.,-0.));
#135 = ORIENTED_EDGE('',*,*,#79,.F.);
#136 = PLANE('',#137);
#137 = AXIS2_PLACEMENT_3D('',#138,#139,#140);
#138 = CARTESIAN_POINT('',(0.,3.2,0.));
#139 = DIRECTION('',(-0.,1.,0.));
#140 = DIRECTION('',(0.,0.,1.));
#141 = ADVANCED_FACE('',(#142),#148,.F.);
#142 = FACE_BOUND('',#143,.F.);
#143 = EDGE_LOOP('',(#144,#145,#146,#147));
#144 = ORIENTED_EDGE('',*,*,#31,.F.);
#145 = ORIENTED_EDGE('',*,*,#101,.T.);
#146 = ORIENTED_EDGE('',*,*,#71,.T.);
#147 = ORIENTED_EDGE('',*,*,#123,.F.);
#148 = PLANE('',#149);
#149 = AXIS2_PLACEMENT_3D('',#150,#151,#152);
#150 = CARTESIAN_POINT('',(0.,0.,0.));
#151 = DIRECTION('',(0.,0.,1.));
#152 = DIRECTION('',(1.,0.,-0.));
#153 = ADVANCED_FACE('',(#154),#160,.T.);
#154 = FACE_BOUND('',#155,.T.);
#155 = EDGE_LOOP('',(#156,#157,#158,#159));
#156 = ORIENTED_EDGE('',*,*,#47,.F.);
#157 = ORIENTED_EDGE('',*,*,#108,.T.);
#158 = ORIENTED_EDGE('',*,*,#87,.T.);
#159 = ORIENTED_EDGE('',*,*,#130,.F.);
#160 = PLANE('',#161);
#161 = AXIS2_PLACEMENT_3D('',#162,#163,#164);
#162 = CARTESIAN_POINT('',(0.,0.,1.17));
#163 = DIRECTION('',(0.,0.,1.));
#164 = DIRECTION('',(1.,0.,-0.));
#165 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#169)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#166,#167,#168)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#166 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#167 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#168 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#169 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#166,
'distance_accuracy_value','confusion accuracy');
#170 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
#171 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#172)
,#165);
#172 = STYLED_ITEM('color',(#173),#15);
#173 = PRESENTATION_STYLE_ASSIGNMENT((#174,#180));
#174 = SURFACE_STYLE_USAGE(.BOTH.,#175);
#175 = SURFACE_SIDE_STYLE('',(#176));
#176 = SURFACE_STYLE_FILL_AREA(#177);
#177 = FILL_AREA_STYLE('',(#178));
#178 = FILL_AREA_STYLE_COLOUR('',#179);
#179 = COLOUR_RGB('',0.23,0.23,0.23);
#180 = CURVE_STYLE('',#181,POSITIVE_LENGTH_MEASURE(0.1),#182);
#181 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#182 = DRAUGHTING_PRE_DEFINED_COLOUR('black');
ENDSEC;
END-ISO-10303-21;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,199 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Simplified model for QFN40P400X400X75-29N'),'2;1');
FILE_NAME('QFN40P400X400X75-29N','1970-01-01T00:00:00.00',(''),(''),
'QEDA','QEDA','Unknown');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
'automotive_design',2000,#2);
#2 = APPLICATION_CONTEXT(
'core data for automotive mechanical design processes');
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
#5 = PRODUCT_DEFINITION('design','',#6,#9);
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
#7 = PRODUCT('QFN40P400X400X75-29N','QFN40P400X400X75-29N','',(#8));
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#165);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.,0.,0.));
#13 = DIRECTION('',(0.,0.,1.));
#14 = DIRECTION('',(1.,0.,-0.));
#15 = MANIFOLD_SOLID_BREP('',#16);
#16 = CLOSED_SHELL('',(#17,#57,#97,#119,#141,#153));
#17 = ADVANCED_FACE('',(#18),#52,.F.);
#18 = FACE_BOUND('',#19,.F.);
#19 = EDGE_LOOP('',(#20,#30,#38,#46));
#20 = ORIENTED_EDGE('',*,*,#21,.F.);
#21 = EDGE_CURVE('',#22,#24,#26,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(0.,0.,0.));
#24 = VERTEX_POINT('',#25);
#25 = CARTESIAN_POINT('',(0.,0.,0.75));
#26 = LINE('',#27,#28);
#27 = CARTESIAN_POINT('',(0.,0.,0.));
#28 = VECTOR('',#29,1.);
#29 = DIRECTION('',(0.,0.,1.));
#30 = ORIENTED_EDGE('',*,*,#31,.T.);
#31 = EDGE_CURVE('',#22,#32,#34,.T.);
#32 = VERTEX_POINT('',#33);
#33 = CARTESIAN_POINT('',(0.,4.,0.));
#34 = LINE('',#35,#36);
#35 = CARTESIAN_POINT('',(0.,0.,0.));
#36 = VECTOR('',#37,1.);
#37 = DIRECTION('',(-0.,1.,0.));
#38 = ORIENTED_EDGE('',*,*,#39,.T.);
#39 = EDGE_CURVE('',#32,#40,#42,.T.);
#40 = VERTEX_POINT('',#41);
#41 = CARTESIAN_POINT('',(0.,4.,0.75));
#42 = LINE('',#43,#44);
#43 = CARTESIAN_POINT('',(0.,4.,0.));
#44 = VECTOR('',#45,1.);
#45 = DIRECTION('',(0.,0.,1.));
#46 = ORIENTED_EDGE('',*,*,#47,.F.);
#47 = EDGE_CURVE('',#24,#40,#48,.T.);
#48 = LINE('',#49,#50);
#49 = CARTESIAN_POINT('',(0.,0.,0.75));
#50 = VECTOR('',#51,1.);
#51 = DIRECTION('',(-0.,1.,0.));
#52 = PLANE('',#53);
#53 = AXIS2_PLACEMENT_3D('',#54,#55,#56);
#54 = CARTESIAN_POINT('',(0.,0.,0.));
#55 = DIRECTION('',(1.,0.,-0.));
#56 = DIRECTION('',(0.,0.,1.));
#57 = ADVANCED_FACE('',(#58),#92,.T.);
#58 = FACE_BOUND('',#59,.T.);
#59 = EDGE_LOOP('',(#60,#70,#78,#86));
#60 = ORIENTED_EDGE('',*,*,#61,.F.);
#61 = EDGE_CURVE('',#62,#64,#66,.T.);
#62 = VERTEX_POINT('',#63);
#63 = CARTESIAN_POINT('',(4.,0.,0.));
#64 = VERTEX_POINT('',#65);
#65 = CARTESIAN_POINT('',(4.,0.,0.75));
#66 = LINE('',#67,#68);
#67 = CARTESIAN_POINT('',(4.,0.,0.));
#68 = VECTOR('',#69,1.);
#69 = DIRECTION('',(0.,0.,1.));
#70 = ORIENTED_EDGE('',*,*,#71,.T.);
#71 = EDGE_CURVE('',#62,#72,#74,.T.);
#72 = VERTEX_POINT('',#73);
#73 = CARTESIAN_POINT('',(4.,4.,0.));
#74 = LINE('',#75,#76);
#75 = CARTESIAN_POINT('',(4.,0.,0.));
#76 = VECTOR('',#77,1.);
#77 = DIRECTION('',(-0.,1.,0.));
#78 = ORIENTED_EDGE('',*,*,#79,.T.);
#79 = EDGE_CURVE('',#72,#80,#82,.T.);
#80 = VERTEX_POINT('',#81);
#81 = CARTESIAN_POINT('',(4.,4.,0.75));
#82 = LINE('',#83,#84);
#83 = CARTESIAN_POINT('',(4.,4.,0.));
#84 = VECTOR('',#85,1.);
#85 = DIRECTION('',(0.,0.,1.));
#86 = ORIENTED_EDGE('',*,*,#87,.F.);
#87 = EDGE_CURVE('',#64,#80,#88,.T.);
#88 = LINE('',#89,#90);
#89 = CARTESIAN_POINT('',(4.,0.,0.75));
#90 = VECTOR('',#91,1.);
#91 = DIRECTION('',(-0.,1.,0.));
#92 = PLANE('',#93);
#93 = AXIS2_PLACEMENT_3D('',#94,#95,#96);
#94 = CARTESIAN_POINT('',(4.,0.,0.));
#95 = DIRECTION('',(1.,0.,-0.));
#96 = DIRECTION('',(0.,0.,1.));
#97 = ADVANCED_FACE('',(#98),#114,.F.);
#98 = FACE_BOUND('',#99,.F.);
#99 = EDGE_LOOP('',(#100,#106,#107,#113));
#100 = ORIENTED_EDGE('',*,*,#101,.F.);
#101 = EDGE_CURVE('',#22,#62,#102,.T.);
#102 = LINE('',#103,#104);
#103 = CARTESIAN_POINT('',(0.,0.,0.));
#104 = VECTOR('',#105,1.);
#105 = DIRECTION('',(1.,0.,-0.));
#106 = ORIENTED_EDGE('',*,*,#21,.T.);
#107 = ORIENTED_EDGE('',*,*,#108,.T.);
#108 = EDGE_CURVE('',#24,#64,#109,.T.);
#109 = LINE('',#110,#111);
#110 = CARTESIAN_POINT('',(0.,0.,0.75));
#111 = VECTOR('',#112,1.);
#112 = DIRECTION('',(1.,0.,-0.));
#113 = ORIENTED_EDGE('',*,*,#61,.F.);
#114 = PLANE('',#115);
#115 = AXIS2_PLACEMENT_3D('',#116,#117,#118);
#116 = CARTESIAN_POINT('',(0.,0.,0.));
#117 = DIRECTION('',(-0.,1.,0.));
#118 = DIRECTION('',(0.,0.,1.));
#119 = ADVANCED_FACE('',(#120),#136,.T.);
#120 = FACE_BOUND('',#121,.T.);
#121 = EDGE_LOOP('',(#122,#128,#129,#135));
#122 = ORIENTED_EDGE('',*,*,#123,.F.);
#123 = EDGE_CURVE('',#32,#72,#124,.T.);
#124 = LINE('',#125,#126);
#125 = CARTESIAN_POINT('',(0.,4.,0.));
#126 = VECTOR('',#127,1.);
#127 = DIRECTION('',(1.,0.,-0.));
#128 = ORIENTED_EDGE('',*,*,#39,.T.);
#129 = ORIENTED_EDGE('',*,*,#130,.T.);
#130 = EDGE_CURVE('',#40,#80,#131,.T.);
#131 = LINE('',#132,#133);
#132 = CARTESIAN_POINT('',(0.,4.,0.75));
#133 = VECTOR('',#134,1.);
#134 = DIRECTION('',(1.,0.,-0.));
#135 = ORIENTED_EDGE('',*,*,#79,.F.);
#136 = PLANE('',#137);
#137 = AXIS2_PLACEMENT_3D('',#138,#139,#140);
#138 = CARTESIAN_POINT('',(0.,4.,0.));
#139 = DIRECTION('',(-0.,1.,0.));
#140 = DIRECTION('',(0.,0.,1.));
#141 = ADVANCED_FACE('',(#142),#148,.F.);
#142 = FACE_BOUND('',#143,.F.);
#143 = EDGE_LOOP('',(#144,#145,#146,#147));
#144 = ORIENTED_EDGE('',*,*,#31,.F.);
#145 = ORIENTED_EDGE('',*,*,#101,.T.);
#146 = ORIENTED_EDGE('',*,*,#71,.T.);
#147 = ORIENTED_EDGE('',*,*,#123,.F.);
#148 = PLANE('',#149);
#149 = AXIS2_PLACEMENT_3D('',#150,#151,#152);
#150 = CARTESIAN_POINT('',(0.,0.,0.));
#151 = DIRECTION('',(0.,0.,1.));
#152 = DIRECTION('',(1.,0.,-0.));
#153 = ADVANCED_FACE('',(#154),#160,.T.);
#154 = FACE_BOUND('',#155,.T.);
#155 = EDGE_LOOP('',(#156,#157,#158,#159));
#156 = ORIENTED_EDGE('',*,*,#47,.F.);
#157 = ORIENTED_EDGE('',*,*,#108,.T.);
#158 = ORIENTED_EDGE('',*,*,#87,.T.);
#159 = ORIENTED_EDGE('',*,*,#130,.F.);
#160 = PLANE('',#161);
#161 = AXIS2_PLACEMENT_3D('',#162,#163,#164);
#162 = CARTESIAN_POINT('',(0.,0.,0.75));
#163 = DIRECTION('',(0.,0.,1.));
#164 = DIRECTION('',(1.,0.,-0.));
#165 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#169)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#166,#167,#168)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#166 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#167 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#168 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#169 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#166,
'distance_accuracy_value','confusion accuracy');
#170 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
#171 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#172)
,#165);
#172 = STYLED_ITEM('color',(#173),#15);
#173 = PRESENTATION_STYLE_ASSIGNMENT((#174,#180));
#174 = SURFACE_STYLE_USAGE(.BOTH.,#175);
#175 = SURFACE_SIDE_STYLE('',(#176));
#176 = SURFACE_STYLE_FILL_AREA(#177);
#177 = FILL_AREA_STYLE('',(#178));
#178 = FILL_AREA_STYLE_COLOUR('',#179);
#179 = COLOUR_RGB('',0.23,0.23,0.23);
#180 = CURVE_STYLE('',#181,POSITIVE_LENGTH_MEASURE(0.1),#182);
#181 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#182 = DRAUGHTING_PRE_DEFINED_COLOUR('black');
ENDSEC;
END-ISO-10303-21;

View File

@ -0,0 +1,199 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Simplified model for QFN50P400X400X60-28N'),'2;1');
FILE_NAME('QFN50P400X400X60-28N','1970-01-01T00:00:00.00',(''),(''),
'QEDA','QEDA','Unknown');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
'automotive_design',2000,#2);
#2 = APPLICATION_CONTEXT(
'core data for automotive mechanical design processes');
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
#5 = PRODUCT_DEFINITION('design','',#6,#9);
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
#7 = PRODUCT('QFN50P400X400X60-28N','QFN50P400X400X60-28N','',(#8));
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#165);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.,0.,0.));
#13 = DIRECTION('',(0.,0.,1.));
#14 = DIRECTION('',(1.,0.,-0.));
#15 = MANIFOLD_SOLID_BREP('',#16);
#16 = CLOSED_SHELL('',(#17,#57,#97,#119,#141,#153));
#17 = ADVANCED_FACE('',(#18),#52,.F.);
#18 = FACE_BOUND('',#19,.F.);
#19 = EDGE_LOOP('',(#20,#30,#38,#46));
#20 = ORIENTED_EDGE('',*,*,#21,.F.);
#21 = EDGE_CURVE('',#22,#24,#26,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(0.,0.,0.));
#24 = VERTEX_POINT('',#25);
#25 = CARTESIAN_POINT('',(0.,0.,0.6));
#26 = LINE('',#27,#28);
#27 = CARTESIAN_POINT('',(0.,0.,0.));
#28 = VECTOR('',#29,1.);
#29 = DIRECTION('',(0.,0.,1.));
#30 = ORIENTED_EDGE('',*,*,#31,.T.);
#31 = EDGE_CURVE('',#22,#32,#34,.T.);
#32 = VERTEX_POINT('',#33);
#33 = CARTESIAN_POINT('',(0.,4.,0.));
#34 = LINE('',#35,#36);
#35 = CARTESIAN_POINT('',(0.,0.,0.));
#36 = VECTOR('',#37,1.);
#37 = DIRECTION('',(-0.,1.,0.));
#38 = ORIENTED_EDGE('',*,*,#39,.T.);
#39 = EDGE_CURVE('',#32,#40,#42,.T.);
#40 = VERTEX_POINT('',#41);
#41 = CARTESIAN_POINT('',(0.,4.,0.6));
#42 = LINE('',#43,#44);
#43 = CARTESIAN_POINT('',(0.,4.,0.));
#44 = VECTOR('',#45,1.);
#45 = DIRECTION('',(0.,0.,1.));
#46 = ORIENTED_EDGE('',*,*,#47,.F.);
#47 = EDGE_CURVE('',#24,#40,#48,.T.);
#48 = LINE('',#49,#50);
#49 = CARTESIAN_POINT('',(0.,0.,0.6));
#50 = VECTOR('',#51,1.);
#51 = DIRECTION('',(-0.,1.,0.));
#52 = PLANE('',#53);
#53 = AXIS2_PLACEMENT_3D('',#54,#55,#56);
#54 = CARTESIAN_POINT('',(0.,0.,0.));
#55 = DIRECTION('',(1.,0.,-0.));
#56 = DIRECTION('',(0.,0.,1.));
#57 = ADVANCED_FACE('',(#58),#92,.T.);
#58 = FACE_BOUND('',#59,.T.);
#59 = EDGE_LOOP('',(#60,#70,#78,#86));
#60 = ORIENTED_EDGE('',*,*,#61,.F.);
#61 = EDGE_CURVE('',#62,#64,#66,.T.);
#62 = VERTEX_POINT('',#63);
#63 = CARTESIAN_POINT('',(4.,0.,0.));
#64 = VERTEX_POINT('',#65);
#65 = CARTESIAN_POINT('',(4.,0.,0.6));
#66 = LINE('',#67,#68);
#67 = CARTESIAN_POINT('',(4.,0.,0.));
#68 = VECTOR('',#69,1.);
#69 = DIRECTION('',(0.,0.,1.));
#70 = ORIENTED_EDGE('',*,*,#71,.T.);
#71 = EDGE_CURVE('',#62,#72,#74,.T.);
#72 = VERTEX_POINT('',#73);
#73 = CARTESIAN_POINT('',(4.,4.,0.));
#74 = LINE('',#75,#76);
#75 = CARTESIAN_POINT('',(4.,0.,0.));
#76 = VECTOR('',#77,1.);
#77 = DIRECTION('',(-0.,1.,0.));
#78 = ORIENTED_EDGE('',*,*,#79,.T.);
#79 = EDGE_CURVE('',#72,#80,#82,.T.);
#80 = VERTEX_POINT('',#81);
#81 = CARTESIAN_POINT('',(4.,4.,0.6));
#82 = LINE('',#83,#84);
#83 = CARTESIAN_POINT('',(4.,4.,0.));
#84 = VECTOR('',#85,1.);
#85 = DIRECTION('',(0.,0.,1.));
#86 = ORIENTED_EDGE('',*,*,#87,.F.);
#87 = EDGE_CURVE('',#64,#80,#88,.T.);
#88 = LINE('',#89,#90);
#89 = CARTESIAN_POINT('',(4.,0.,0.6));
#90 = VECTOR('',#91,1.);
#91 = DIRECTION('',(-0.,1.,0.));
#92 = PLANE('',#93);
#93 = AXIS2_PLACEMENT_3D('',#94,#95,#96);
#94 = CARTESIAN_POINT('',(4.,0.,0.));
#95 = DIRECTION('',(1.,0.,-0.));
#96 = DIRECTION('',(0.,0.,1.));
#97 = ADVANCED_FACE('',(#98),#114,.F.);
#98 = FACE_BOUND('',#99,.F.);
#99 = EDGE_LOOP('',(#100,#106,#107,#113));
#100 = ORIENTED_EDGE('',*,*,#101,.F.);
#101 = EDGE_CURVE('',#22,#62,#102,.T.);
#102 = LINE('',#103,#104);
#103 = CARTESIAN_POINT('',(0.,0.,0.));
#104 = VECTOR('',#105,1.);
#105 = DIRECTION('',(1.,0.,-0.));
#106 = ORIENTED_EDGE('',*,*,#21,.T.);
#107 = ORIENTED_EDGE('',*,*,#108,.T.);
#108 = EDGE_CURVE('',#24,#64,#109,.T.);
#109 = LINE('',#110,#111);
#110 = CARTESIAN_POINT('',(0.,0.,0.6));
#111 = VECTOR('',#112,1.);
#112 = DIRECTION('',(1.,0.,-0.));
#113 = ORIENTED_EDGE('',*,*,#61,.F.);
#114 = PLANE('',#115);
#115 = AXIS2_PLACEMENT_3D('',#116,#117,#118);
#116 = CARTESIAN_POINT('',(0.,0.,0.));
#117 = DIRECTION('',(-0.,1.,0.));
#118 = DIRECTION('',(0.,0.,1.));
#119 = ADVANCED_FACE('',(#120),#136,.T.);
#120 = FACE_BOUND('',#121,.T.);
#121 = EDGE_LOOP('',(#122,#128,#129,#135));
#122 = ORIENTED_EDGE('',*,*,#123,.F.);
#123 = EDGE_CURVE('',#32,#72,#124,.T.);
#124 = LINE('',#125,#126);
#125 = CARTESIAN_POINT('',(0.,4.,0.));
#126 = VECTOR('',#127,1.);
#127 = DIRECTION('',(1.,0.,-0.));
#128 = ORIENTED_EDGE('',*,*,#39,.T.);
#129 = ORIENTED_EDGE('',*,*,#130,.T.);
#130 = EDGE_CURVE('',#40,#80,#131,.T.);
#131 = LINE('',#132,#133);
#132 = CARTESIAN_POINT('',(0.,4.,0.6));
#133 = VECTOR('',#134,1.);
#134 = DIRECTION('',(1.,0.,-0.));
#135 = ORIENTED_EDGE('',*,*,#79,.F.);
#136 = PLANE('',#137);
#137 = AXIS2_PLACEMENT_3D('',#138,#139,#140);
#138 = CARTESIAN_POINT('',(0.,4.,0.));
#139 = DIRECTION('',(-0.,1.,0.));
#140 = DIRECTION('',(0.,0.,1.));
#141 = ADVANCED_FACE('',(#142),#148,.F.);
#142 = FACE_BOUND('',#143,.F.);
#143 = EDGE_LOOP('',(#144,#145,#146,#147));
#144 = ORIENTED_EDGE('',*,*,#31,.F.);
#145 = ORIENTED_EDGE('',*,*,#101,.T.);
#146 = ORIENTED_EDGE('',*,*,#71,.T.);
#147 = ORIENTED_EDGE('',*,*,#123,.F.);
#148 = PLANE('',#149);
#149 = AXIS2_PLACEMENT_3D('',#150,#151,#152);
#150 = CARTESIAN_POINT('',(0.,0.,0.));
#151 = DIRECTION('',(0.,0.,1.));
#152 = DIRECTION('',(1.,0.,-0.));
#153 = ADVANCED_FACE('',(#154),#160,.T.);
#154 = FACE_BOUND('',#155,.T.);
#155 = EDGE_LOOP('',(#156,#157,#158,#159));
#156 = ORIENTED_EDGE('',*,*,#47,.F.);
#157 = ORIENTED_EDGE('',*,*,#108,.T.);
#158 = ORIENTED_EDGE('',*,*,#87,.T.);
#159 = ORIENTED_EDGE('',*,*,#130,.F.);
#160 = PLANE('',#161);
#161 = AXIS2_PLACEMENT_3D('',#162,#163,#164);
#162 = CARTESIAN_POINT('',(0.,0.,0.6));
#163 = DIRECTION('',(0.,0.,1.));
#164 = DIRECTION('',(1.,0.,-0.));
#165 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#169)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#166,#167,#168)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#166 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#167 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#168 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#169 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#166,
'distance_accuracy_value','confusion accuracy');
#170 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
#171 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#172)
,#165);
#172 = STYLED_ITEM('color',(#173),#15);
#173 = PRESENTATION_STYLE_ASSIGNMENT((#174,#180));
#174 = SURFACE_STYLE_USAGE(.BOTH.,#175);
#175 = SURFACE_SIDE_STYLE('',(#176));
#176 = SURFACE_STYLE_FILL_AREA(#177);
#177 = FILL_AREA_STYLE('',(#178));
#178 = FILL_AREA_STYLE_COLOUR('',#179);
#179 = COLOUR_RGB('',0.23,0.23,0.23);
#180 = CURVE_STYLE('',#181,POSITIVE_LENGTH_MEASURE(0.1),#182);
#181 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#182 = DRAUGHTING_PRE_DEFINED_COLOUR('black');
ENDSEC;
END-ISO-10303-21;

View File

@ -0,0 +1,199 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Simplified model for SOP65P640X120-20N'),'2;1');
FILE_NAME('SOP65P640X120-20N','1970-01-01T00:00:00.00',(''),(''),
'QEDA','QEDA','Unknown');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
'automotive_design',2000,#2);
#2 = APPLICATION_CONTEXT(
'core data for automotive mechanical design processes');
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
#5 = PRODUCT_DEFINITION('design','',#6,#9);
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
#7 = PRODUCT('SOP65P640X120-20N','SOP65P640X120-20N','',(#8));
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#165);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.,0.,0.));
#13 = DIRECTION('',(0.,0.,1.));
#14 = DIRECTION('',(1.,0.,-0.));
#15 = MANIFOLD_SOLID_BREP('',#16);
#16 = CLOSED_SHELL('',(#17,#57,#97,#119,#141,#153));
#17 = ADVANCED_FACE('',(#18),#52,.F.);
#18 = FACE_BOUND('',#19,.F.);
#19 = EDGE_LOOP('',(#20,#30,#38,#46));
#20 = ORIENTED_EDGE('',*,*,#21,.F.);
#21 = EDGE_CURVE('',#22,#24,#26,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(0.,0.,0.));
#24 = VERTEX_POINT('',#25);
#25 = CARTESIAN_POINT('',(0.,0.,1.2));
#26 = LINE('',#27,#28);
#27 = CARTESIAN_POINT('',(0.,0.,0.));
#28 = VECTOR('',#29,1.);
#29 = DIRECTION('',(0.,0.,1.));
#30 = ORIENTED_EDGE('',*,*,#31,.T.);
#31 = EDGE_CURVE('',#22,#32,#34,.T.);
#32 = VERTEX_POINT('',#33);
#33 = CARTESIAN_POINT('',(0.,6.5,0.));
#34 = LINE('',#35,#36);
#35 = CARTESIAN_POINT('',(0.,0.,0.));
#36 = VECTOR('',#37,1.);
#37 = DIRECTION('',(-0.,1.,0.));
#38 = ORIENTED_EDGE('',*,*,#39,.T.);
#39 = EDGE_CURVE('',#32,#40,#42,.T.);
#40 = VERTEX_POINT('',#41);
#41 = CARTESIAN_POINT('',(0.,6.5,1.2));
#42 = LINE('',#43,#44);
#43 = CARTESIAN_POINT('',(0.,6.5,0.));
#44 = VECTOR('',#45,1.);
#45 = DIRECTION('',(0.,0.,1.));
#46 = ORIENTED_EDGE('',*,*,#47,.F.);
#47 = EDGE_CURVE('',#24,#40,#48,.T.);
#48 = LINE('',#49,#50);
#49 = CARTESIAN_POINT('',(0.,0.,1.2));
#50 = VECTOR('',#51,1.);
#51 = DIRECTION('',(-0.,1.,0.));
#52 = PLANE('',#53);
#53 = AXIS2_PLACEMENT_3D('',#54,#55,#56);
#54 = CARTESIAN_POINT('',(0.,0.,0.));
#55 = DIRECTION('',(1.,0.,-0.));
#56 = DIRECTION('',(0.,0.,1.));
#57 = ADVANCED_FACE('',(#58),#92,.T.);
#58 = FACE_BOUND('',#59,.T.);
#59 = EDGE_LOOP('',(#60,#70,#78,#86));
#60 = ORIENTED_EDGE('',*,*,#61,.F.);
#61 = EDGE_CURVE('',#62,#64,#66,.T.);
#62 = VERTEX_POINT('',#63);
#63 = CARTESIAN_POINT('',(4.4,0.,0.));
#64 = VERTEX_POINT('',#65);
#65 = CARTESIAN_POINT('',(4.4,0.,1.2));
#66 = LINE('',#67,#68);
#67 = CARTESIAN_POINT('',(4.4,0.,0.));
#68 = VECTOR('',#69,1.);
#69 = DIRECTION('',(0.,0.,1.));
#70 = ORIENTED_EDGE('',*,*,#71,.T.);
#71 = EDGE_CURVE('',#62,#72,#74,.T.);
#72 = VERTEX_POINT('',#73);
#73 = CARTESIAN_POINT('',(4.4,6.5,0.));
#74 = LINE('',#75,#76);
#75 = CARTESIAN_POINT('',(4.4,0.,0.));
#76 = VECTOR('',#77,1.);
#77 = DIRECTION('',(-0.,1.,0.));
#78 = ORIENTED_EDGE('',*,*,#79,.T.);
#79 = EDGE_CURVE('',#72,#80,#82,.T.);
#80 = VERTEX_POINT('',#81);
#81 = CARTESIAN_POINT('',(4.4,6.5,1.2));
#82 = LINE('',#83,#84);
#83 = CARTESIAN_POINT('',(4.4,6.5,0.));
#84 = VECTOR('',#85,1.);
#85 = DIRECTION('',(0.,0.,1.));
#86 = ORIENTED_EDGE('',*,*,#87,.F.);
#87 = EDGE_CURVE('',#64,#80,#88,.T.);
#88 = LINE('',#89,#90);
#89 = CARTESIAN_POINT('',(4.4,0.,1.2));
#90 = VECTOR('',#91,1.);
#91 = DIRECTION('',(-0.,1.,0.));
#92 = PLANE('',#93);
#93 = AXIS2_PLACEMENT_3D('',#94,#95,#96);
#94 = CARTESIAN_POINT('',(4.4,0.,0.));
#95 = DIRECTION('',(1.,0.,-0.));
#96 = DIRECTION('',(0.,0.,1.));
#97 = ADVANCED_FACE('',(#98),#114,.F.);
#98 = FACE_BOUND('',#99,.F.);
#99 = EDGE_LOOP('',(#100,#106,#107,#113));
#100 = ORIENTED_EDGE('',*,*,#101,.F.);
#101 = EDGE_CURVE('',#22,#62,#102,.T.);
#102 = LINE('',#103,#104);
#103 = CARTESIAN_POINT('',(0.,0.,0.));
#104 = VECTOR('',#105,1.);
#105 = DIRECTION('',(1.,0.,-0.));
#106 = ORIENTED_EDGE('',*,*,#21,.T.);
#107 = ORIENTED_EDGE('',*,*,#108,.T.);
#108 = EDGE_CURVE('',#24,#64,#109,.T.);
#109 = LINE('',#110,#111);
#110 = CARTESIAN_POINT('',(0.,0.,1.2));
#111 = VECTOR('',#112,1.);
#112 = DIRECTION('',(1.,0.,-0.));
#113 = ORIENTED_EDGE('',*,*,#61,.F.);
#114 = PLANE('',#115);
#115 = AXIS2_PLACEMENT_3D('',#116,#117,#118);
#116 = CARTESIAN_POINT('',(0.,0.,0.));
#117 = DIRECTION('',(-0.,1.,0.));
#118 = DIRECTION('',(0.,0.,1.));
#119 = ADVANCED_FACE('',(#120),#136,.T.);
#120 = FACE_BOUND('',#121,.T.);
#121 = EDGE_LOOP('',(#122,#128,#129,#135));
#122 = ORIENTED_EDGE('',*,*,#123,.F.);
#123 = EDGE_CURVE('',#32,#72,#124,.T.);
#124 = LINE('',#125,#126);
#125 = CARTESIAN_POINT('',(0.,6.5,0.));
#126 = VECTOR('',#127,1.);
#127 = DIRECTION('',(1.,0.,-0.));
#128 = ORIENTED_EDGE('',*,*,#39,.T.);
#129 = ORIENTED_EDGE('',*,*,#130,.T.);
#130 = EDGE_CURVE('',#40,#80,#131,.T.);
#131 = LINE('',#132,#133);
#132 = CARTESIAN_POINT('',(0.,6.5,1.2));
#133 = VECTOR('',#134,1.);
#134 = DIRECTION('',(1.,0.,-0.));
#135 = ORIENTED_EDGE('',*,*,#79,.F.);
#136 = PLANE('',#137);
#137 = AXIS2_PLACEMENT_3D('',#138,#139,#140);
#138 = CARTESIAN_POINT('',(0.,6.5,0.));
#139 = DIRECTION('',(-0.,1.,0.));
#140 = DIRECTION('',(0.,0.,1.));
#141 = ADVANCED_FACE('',(#142),#148,.F.);
#142 = FACE_BOUND('',#143,.F.);
#143 = EDGE_LOOP('',(#144,#145,#146,#147));
#144 = ORIENTED_EDGE('',*,*,#31,.F.);
#145 = ORIENTED_EDGE('',*,*,#101,.T.);
#146 = ORIENTED_EDGE('',*,*,#71,.T.);
#147 = ORIENTED_EDGE('',*,*,#123,.F.);
#148 = PLANE('',#149);
#149 = AXIS2_PLACEMENT_3D('',#150,#151,#152);
#150 = CARTESIAN_POINT('',(0.,0.,0.));
#151 = DIRECTION('',(0.,0.,1.));
#152 = DIRECTION('',(1.,0.,-0.));
#153 = ADVANCED_FACE('',(#154),#160,.T.);
#154 = FACE_BOUND('',#155,.T.);
#155 = EDGE_LOOP('',(#156,#157,#158,#159));
#156 = ORIENTED_EDGE('',*,*,#47,.F.);
#157 = ORIENTED_EDGE('',*,*,#108,.T.);
#158 = ORIENTED_EDGE('',*,*,#87,.T.);
#159 = ORIENTED_EDGE('',*,*,#130,.F.);
#160 = PLANE('',#161);
#161 = AXIS2_PLACEMENT_3D('',#162,#163,#164);
#162 = CARTESIAN_POINT('',(0.,0.,1.2));
#163 = DIRECTION('',(0.,0.,1.));
#164 = DIRECTION('',(1.,0.,-0.));
#165 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#169)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#166,#167,#168)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#166 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#167 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#168 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#169 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#166,
'distance_accuracy_value','confusion accuracy');
#170 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
#171 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#172)
,#165);
#172 = STYLED_ITEM('color',(#173),#15);
#173 = PRESENTATION_STYLE_ASSIGNMENT((#174,#180));
#174 = SURFACE_STYLE_USAGE(.BOTH.,#175);
#175 = SURFACE_SIDE_STYLE('',(#176));
#176 = SURFACE_STYLE_FILL_AREA(#177);
#177 = FILL_AREA_STYLE('',(#178));
#178 = FILL_AREA_STYLE_COLOUR('',#179);
#179 = COLOUR_RGB('',0.23,0.23,0.23);
#180 = CURVE_STYLE('',#181,POSITIVE_LENGTH_MEASURE(0.1),#182);
#181 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#182 = DRAUGHTING_PRE_DEFINED_COLOUR('black');
ENDSEC;
END-ISO-10303-21;

View File

@ -0,0 +1,199 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Simplified model for UPC1608X90N'),'2;1');
FILE_NAME('UPC1608X90N','1970-01-01T00:00:00.00',(''),(''),
'QEDA','QEDA','Unknown');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
'automotive_design',2000,#2);
#2 = APPLICATION_CONTEXT(
'core data for automotive mechanical design processes');
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
#5 = PRODUCT_DEFINITION('design','',#6,#9);
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
#7 = PRODUCT('UPC1608X90N','UPC1608X90N','',(#8));
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#165);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.,0.,0.));
#13 = DIRECTION('',(0.,0.,1.));
#14 = DIRECTION('',(1.,0.,-0.));
#15 = MANIFOLD_SOLID_BREP('',#16);
#16 = CLOSED_SHELL('',(#17,#57,#97,#119,#141,#153));
#17 = ADVANCED_FACE('',(#18),#52,.F.);
#18 = FACE_BOUND('',#19,.F.);
#19 = EDGE_LOOP('',(#20,#30,#38,#46));
#20 = ORIENTED_EDGE('',*,*,#21,.F.);
#21 = EDGE_CURVE('',#22,#24,#26,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(0.,0.,0.));
#24 = VERTEX_POINT('',#25);
#25 = CARTESIAN_POINT('',(0.,0.,0.9));
#26 = LINE('',#27,#28);
#27 = CARTESIAN_POINT('',(0.,0.,0.));
#28 = VECTOR('',#29,1.);
#29 = DIRECTION('',(0.,0.,1.));
#30 = ORIENTED_EDGE('',*,*,#31,.T.);
#31 = EDGE_CURVE('',#22,#32,#34,.T.);
#32 = VERTEX_POINT('',#33);
#33 = CARTESIAN_POINT('',(0.,1.6,0.));
#34 = LINE('',#35,#36);
#35 = CARTESIAN_POINT('',(0.,0.,0.));
#36 = VECTOR('',#37,1.);
#37 = DIRECTION('',(-0.,1.,0.));
#38 = ORIENTED_EDGE('',*,*,#39,.T.);
#39 = EDGE_CURVE('',#32,#40,#42,.T.);
#40 = VERTEX_POINT('',#41);
#41 = CARTESIAN_POINT('',(0.,1.6,0.9));
#42 = LINE('',#43,#44);
#43 = CARTESIAN_POINT('',(0.,1.6,0.));
#44 = VECTOR('',#45,1.);
#45 = DIRECTION('',(0.,0.,1.));
#46 = ORIENTED_EDGE('',*,*,#47,.F.);
#47 = EDGE_CURVE('',#24,#40,#48,.T.);
#48 = LINE('',#49,#50);
#49 = CARTESIAN_POINT('',(0.,0.,0.9));
#50 = VECTOR('',#51,1.);
#51 = DIRECTION('',(-0.,1.,0.));
#52 = PLANE('',#53);
#53 = AXIS2_PLACEMENT_3D('',#54,#55,#56);
#54 = CARTESIAN_POINT('',(0.,0.,0.));
#55 = DIRECTION('',(1.,0.,-0.));
#56 = DIRECTION('',(0.,0.,1.));
#57 = ADVANCED_FACE('',(#58),#92,.T.);
#58 = FACE_BOUND('',#59,.T.);
#59 = EDGE_LOOP('',(#60,#70,#78,#86));
#60 = ORIENTED_EDGE('',*,*,#61,.F.);
#61 = EDGE_CURVE('',#62,#64,#66,.T.);
#62 = VERTEX_POINT('',#63);
#63 = CARTESIAN_POINT('',(0.8,0.,0.));
#64 = VERTEX_POINT('',#65);
#65 = CARTESIAN_POINT('',(0.8,0.,0.9));
#66 = LINE('',#67,#68);
#67 = CARTESIAN_POINT('',(0.8,0.,0.));
#68 = VECTOR('',#69,1.);
#69 = DIRECTION('',(0.,0.,1.));
#70 = ORIENTED_EDGE('',*,*,#71,.T.);
#71 = EDGE_CURVE('',#62,#72,#74,.T.);
#72 = VERTEX_POINT('',#73);
#73 = CARTESIAN_POINT('',(0.8,1.6,0.));
#74 = LINE('',#75,#76);
#75 = CARTESIAN_POINT('',(0.8,0.,0.));
#76 = VECTOR('',#77,1.);
#77 = DIRECTION('',(-0.,1.,0.));
#78 = ORIENTED_EDGE('',*,*,#79,.T.);
#79 = EDGE_CURVE('',#72,#80,#82,.T.);
#80 = VERTEX_POINT('',#81);
#81 = CARTESIAN_POINT('',(0.8,1.6,0.9));
#82 = LINE('',#83,#84);
#83 = CARTESIAN_POINT('',(0.8,1.6,0.));
#84 = VECTOR('',#85,1.);
#85 = DIRECTION('',(0.,0.,1.));
#86 = ORIENTED_EDGE('',*,*,#87,.F.);
#87 = EDGE_CURVE('',#64,#80,#88,.T.);
#88 = LINE('',#89,#90);
#89 = CARTESIAN_POINT('',(0.8,0.,0.9));
#90 = VECTOR('',#91,1.);
#91 = DIRECTION('',(-0.,1.,0.));
#92 = PLANE('',#93);
#93 = AXIS2_PLACEMENT_3D('',#94,#95,#96);
#94 = CARTESIAN_POINT('',(0.8,0.,0.));
#95 = DIRECTION('',(1.,0.,-0.));
#96 = DIRECTION('',(0.,0.,1.));
#97 = ADVANCED_FACE('',(#98),#114,.F.);
#98 = FACE_BOUND('',#99,.F.);
#99 = EDGE_LOOP('',(#100,#106,#107,#113));
#100 = ORIENTED_EDGE('',*,*,#101,.F.);
#101 = EDGE_CURVE('',#22,#62,#102,.T.);
#102 = LINE('',#103,#104);
#103 = CARTESIAN_POINT('',(0.,0.,0.));
#104 = VECTOR('',#105,1.);
#105 = DIRECTION('',(1.,0.,-0.));
#106 = ORIENTED_EDGE('',*,*,#21,.T.);
#107 = ORIENTED_EDGE('',*,*,#108,.T.);
#108 = EDGE_CURVE('',#24,#64,#109,.T.);
#109 = LINE('',#110,#111);
#110 = CARTESIAN_POINT('',(0.,0.,0.9));
#111 = VECTOR('',#112,1.);
#112 = DIRECTION('',(1.,0.,-0.));
#113 = ORIENTED_EDGE('',*,*,#61,.F.);
#114 = PLANE('',#115);
#115 = AXIS2_PLACEMENT_3D('',#116,#117,#118);
#116 = CARTESIAN_POINT('',(0.,0.,0.));
#117 = DIRECTION('',(-0.,1.,0.));
#118 = DIRECTION('',(0.,0.,1.));
#119 = ADVANCED_FACE('',(#120),#136,.T.);
#120 = FACE_BOUND('',#121,.T.);
#121 = EDGE_LOOP('',(#122,#128,#129,#135));
#122 = ORIENTED_EDGE('',*,*,#123,.F.);
#123 = EDGE_CURVE('',#32,#72,#124,.T.);
#124 = LINE('',#125,#126);
#125 = CARTESIAN_POINT('',(0.,1.6,0.));
#126 = VECTOR('',#127,1.);
#127 = DIRECTION('',(1.,0.,-0.));
#128 = ORIENTED_EDGE('',*,*,#39,.T.);
#129 = ORIENTED_EDGE('',*,*,#130,.T.);
#130 = EDGE_CURVE('',#40,#80,#131,.T.);
#131 = LINE('',#132,#133);
#132 = CARTESIAN_POINT('',(0.,1.6,0.9));
#133 = VECTOR('',#134,1.);
#134 = DIRECTION('',(1.,0.,-0.));
#135 = ORIENTED_EDGE('',*,*,#79,.F.);
#136 = PLANE('',#137);
#137 = AXIS2_PLACEMENT_3D('',#138,#139,#140);
#138 = CARTESIAN_POINT('',(0.,1.6,0.));
#139 = DIRECTION('',(-0.,1.,0.));
#140 = DIRECTION('',(0.,0.,1.));
#141 = ADVANCED_FACE('',(#142),#148,.F.);
#142 = FACE_BOUND('',#143,.F.);
#143 = EDGE_LOOP('',(#144,#145,#146,#147));
#144 = ORIENTED_EDGE('',*,*,#31,.F.);
#145 = ORIENTED_EDGE('',*,*,#101,.T.);
#146 = ORIENTED_EDGE('',*,*,#71,.T.);
#147 = ORIENTED_EDGE('',*,*,#123,.F.);
#148 = PLANE('',#149);
#149 = AXIS2_PLACEMENT_3D('',#150,#151,#152);
#150 = CARTESIAN_POINT('',(0.,0.,0.));
#151 = DIRECTION('',(0.,0.,1.));
#152 = DIRECTION('',(1.,0.,-0.));
#153 = ADVANCED_FACE('',(#154),#160,.T.);
#154 = FACE_BOUND('',#155,.T.);
#155 = EDGE_LOOP('',(#156,#157,#158,#159));
#156 = ORIENTED_EDGE('',*,*,#47,.F.);
#157 = ORIENTED_EDGE('',*,*,#108,.T.);
#158 = ORIENTED_EDGE('',*,*,#87,.T.);
#159 = ORIENTED_EDGE('',*,*,#130,.F.);
#160 = PLANE('',#161);
#161 = AXIS2_PLACEMENT_3D('',#162,#163,#164);
#162 = CARTESIAN_POINT('',(0.,0.,0.9));
#163 = DIRECTION('',(0.,0.,1.));
#164 = DIRECTION('',(1.,0.,-0.));
#165 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#169)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#166,#167,#168)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#166 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#167 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#168 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#169 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#166,
'distance_accuracy_value','confusion accuracy');
#170 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
#171 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#172)
,#165);
#172 = STYLED_ITEM('color',(#173),#15);
#173 = PRESENTATION_STYLE_ASSIGNMENT((#174,#180));
#174 = SURFACE_STYLE_USAGE(.BOTH.,#175);
#175 = SURFACE_SIDE_STYLE('',(#176));
#176 = SURFACE_STYLE_FILL_AREA(#177);
#177 = FILL_AREA_STYLE('',(#178));
#178 = FILL_AREA_STYLE_COLOUR('',#179);
#179 = COLOUR_RGB('',0.23,0.23,0.23);
#180 = CURVE_STYLE('',#181,POSITIVE_LENGTH_MEASURE(0.1),#182);
#181 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#182 = DRAUGHTING_PRE_DEFINED_COLOUR('black');
ENDSEC;
END-ISO-10303-21;

View File

@ -360,14 +360,14 @@
)
)
)
(symbol "CH32V203CxT" (in_bom yes) (on_board yes)
(symbol "CH32V203G6U" (in_bom yes) (on_board yes)
(property "Reference" "U" (at 0.000 0.762 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Value" "CH32V203CxT" (at 21.082 -56.642 0)
(property "Value" "CH32V203G6U" (at 16.002 -49.022 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(property "Footprint" "qeda:QFP50P900X900X150-48N" (at 0 0 0)
(property "Footprint" "qeda:QFN40P400X400X75-29N" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "http://www.wch-ic.com/downloads/CH32V203DS0_PDF.html" (at 0 0 0)
@ -379,202 +379,127 @@
(property "ki_keywords" "MCU, Micro-Controller" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "CH32V203CxT_1_1"
(rectangle (start 0.000 0.000) (end 41.910 -55.880)
(symbol "CH32V203G6U_1_1"
(rectangle (start 0.000 0.000) (end 27.940 -48.260)
(stroke (width 0.305) (type default))
(fill (type background))
)
(pin input line (at -5.080 -2.540 0) (length 5.080)
(name "BOOT0" (effects (font (size 1.27 1.27))))
(number "44" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.080 -5.080 0) (length 5.080)
(pin passive line (at -5.080 -2.540 0) (length 5.080)
(name "OSC_IN" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.080 -7.620 0) (length 5.080)
(name "OSC_OUT" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin input inverted (at -5.080 -10.160 0) (length 5.080)
(name "NRST" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -15.240 0) (length 5.080)
(name "PA0-WKUP" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -17.780 0) (length 5.080)
(name "PA1" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -20.320 0) (length 5.080)
(name "PA2" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -22.860 0) (length 5.080)
(name "PA3" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -25.400 0) (length 5.080)
(name "PA4" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -27.940 0) (length 5.080)
(name "PA5" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -30.480 0) (length 5.080)
(name "PA6" (effects (font (size 1.27 1.27))))
(number "16" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -33.020 0) (length 5.080)
(name "PA7" (effects (font (size 1.27 1.27))))
(number "17" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -35.560 0) (length 5.080)
(name "PA8" (effects (font (size 1.27 1.27))))
(number "29" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -38.100 0) (length 5.080)
(name "PA9" (effects (font (size 1.27 1.27))))
(number "30" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -40.640 0) (length 5.080)
(name "PA10" (effects (font (size 1.27 1.27))))
(number "31" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -43.180 0) (length 5.080)
(name "PA11" (effects (font (size 1.27 1.27))))
(number "32" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -45.720 0) (length 5.080)
(name "PA12" (effects (font (size 1.27 1.27))))
(number "33" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -48.260 0) (length 5.080)
(name "PA13" (effects (font (size 1.27 1.27))))
(number "34" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -50.800 0) (length 5.080)
(name "PA14" (effects (font (size 1.27 1.27))))
(number "37" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -53.340 0) (length 5.080)
(name "PA15" (effects (font (size 1.27 1.27))))
(number "38" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -3.810 180) (length 5.080)
(name "PB0" (effects (font (size 1.27 1.27))))
(number "18" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -6.350 180) (length 5.080)
(name "PB1" (effects (font (size 1.27 1.27))))
(number "19" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -8.890 180) (length 5.080)
(name "PB2" (effects (font (size 1.27 1.27))))
(number "20" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -11.430 180) (length 5.080)
(name "PB3" (effects (font (size 1.27 1.27))))
(number "39" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -13.970 180) (length 5.080)
(name "PB4" (effects (font (size 1.27 1.27))))
(number "40" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -16.510 180) (length 5.080)
(name "PB5" (effects (font (size 1.27 1.27))))
(number "41" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -19.050 180) (length 5.080)
(name "PB6" (effects (font (size 1.27 1.27))))
(number "42" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -21.590 180) (length 5.080)
(name "PB7" (effects (font (size 1.27 1.27))))
(number "43" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -24.130 180) (length 5.080)
(name "PB8" (effects (font (size 1.27 1.27))))
(number "45" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -26.670 180) (length 5.080)
(name "PB9" (effects (font (size 1.27 1.27))))
(number "46" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -29.210 180) (length 5.080)
(name "PB10" (effects (font (size 1.27 1.27))))
(number "21" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -31.750 180) (length 5.080)
(name "PB11" (effects (font (size 1.27 1.27))))
(number "22" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -34.290 180) (length 5.080)
(name "PB12" (effects (font (size 1.27 1.27))))
(number "25" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -36.830 180) (length 5.080)
(name "PB13" (effects (font (size 1.27 1.27))))
(number "26" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -39.370 180) (length 5.080)
(name "PB14" (effects (font (size 1.27 1.27))))
(number "27" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -41.910 180) (length 5.080)
(name "PB15" (effects (font (size 1.27 1.27))))
(number "28" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -46.990 180) (length 5.080)
(name "PC13-TAMPER-RTC" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -49.530 180) (length 5.080)
(name "PC14-OSC32_IN" (effects (font (size 1.27 1.27))))
(pin passive line (at -5.080 -5.080 0) (length 5.080)
(name "OSC_OUT" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 46.990 -52.070 180) (length 5.080)
(name "PC15-OSC32_OUT" (effects (font (size 1.27 1.27))))
(pin input inverted (at -5.080 -7.620 0) (length 5.080)
(name "NRST" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 11.430 5.080 270) (length 5.080)
(name "VDD" (effects (font (size 1.27 1.27))))
(number "24" (effects (font (size 1.27 1.27))))
(pin bidirectional line (at -5.080 -12.700 0) (length 5.080)
(name "PA0-WKUP" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 13.970 5.080 270) (length 5.080)
(name "VDD" (effects (font (size 1.27 1.27))))
(number "36" (effects (font (size 1.27 1.27))))
(pin bidirectional line (at -5.080 -15.240 0) (length 5.080)
(name "PA1" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 16.510 5.080 270) (length 5.080)
(name "VDD" (effects (font (size 1.27 1.27))))
(number "48" (effects (font (size 1.27 1.27))))
(pin bidirectional line (at -5.080 -17.780 0) (length 5.080)
(name "PA2" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 19.050 5.080 270) (length 5.080)
(name "VDDA" (effects (font (size 1.27 1.27))))
(pin bidirectional line (at -5.080 -20.320 0) (length 5.080)
(name "PA3" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 21.590 5.080 270) (length 5.080)
(name "VBAT" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
(pin bidirectional line (at -5.080 -22.860 0) (length 5.080)
(name "PA4" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 12.700 -60.960 90) (length 5.080)
(name "VSS" (effects (font (size 1.27 1.27))))
(pin bidirectional line (at -5.080 -25.400 0) (length 5.080)
(name "PA5" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -27.940 0) (length 5.080)
(name "PA6" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -30.480 0) (length 5.080)
(name "PA7" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -33.020 0) (length 5.080)
(name "PA9" (effects (font (size 1.27 1.27))))
(number "18" (effects (font (size 1.27 1.27))))
)
(pin unspecified line (at -5.080 -35.560 0) (length 5.080)
(name "PA10/PA11" (effects (font (size 1.27 1.27))))
(number "19" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -38.100 0) (length 5.080)
(name "PA12" (effects (font (size 1.27 1.27))))
(number "20" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -40.640 0) (length 5.080)
(name "PA13" (effects (font (size 1.27 1.27))))
(number "21" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -43.180 0) (length 5.080)
(name "PA14" (effects (font (size 1.27 1.27))))
(number "22" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -5.080 -45.720 0) (length 5.080)
(name "PA15" (effects (font (size 1.27 1.27))))
(number "23" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 15.240 -60.960 90) (length 5.080)
(name "VSS" (effects (font (size 1.27 1.27))))
(number "35" (effects (font (size 1.27 1.27))))
(pin bidirectional line (at 33.020 -15.240 180) (length 5.080)
(name "PB0" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 17.780 -60.960 90) (length 5.080)
(name "VSS" (effects (font (size 1.27 1.27))))
(number "47" (effects (font (size 1.27 1.27))))
(pin bidirectional line (at 33.020 -17.780 180) (length 5.080)
(name "PB1" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 20.320 -60.960 90) (length 5.080)
(name "VSSA" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
(pin bidirectional line (at 33.020 -20.320 180) (length 5.080)
(name "PB3" (effects (font (size 1.27 1.27))))
(number "24" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 33.020 -22.860 180) (length 5.080)
(name "PB4" (effects (font (size 1.27 1.27))))
(number "25" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 33.020 -25.400 180) (length 5.080)
(name "PB5" (effects (font (size 1.27 1.27))))
(number "26" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 33.020 -27.940 180) (length 5.080)
(name "PB6" (effects (font (size 1.27 1.27))))
(number "27" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 33.020 -30.480 180) (length 5.080)
(name "PB7" (effects (font (size 1.27 1.27))))
(number "28" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 33.020 -33.020 180) (length 5.080)
(name "PB8/BOOT0" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
(alternate "BOOT0" bidirectional line)
)
(pin power_in line (at 12.700 5.080 270) (length 5.080)
(name "VDD" (effects (font (size 1.27 1.27))))
(number "17" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 15.240 5.080 270) (length 5.080)
(name "VDDA" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 12.700 -53.340 90) (length 5.080)
(name "VSS" (effects (font (size 1.27 1.27))))
(number "16" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 15.240 -53.340 90) (length 5.080)
(name "VSS" (effects (font (size 1.27 1.27))))
(number "29" (effects (font (size 1.27 1.27))))
)
)
)
@ -740,4 +665,387 @@
)
)
)
(symbol "1TS003B" (in_bom yes) (on_board yes)
(property "Reference" "J" (at 6.350 0.762 0)
(effects (font (size 1.27 1.27)) (justify bottom))
)
(property "Value" "1TS003B" (at 6.350 -5.842 0)
(effects (font (size 1.27 1.27)) (justify top))
)
(property "Footprint" "qeda:MECHANICAL_1TS003B" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "https://www.tophyp.com/products_detail/1TS003B.html" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)