From a69fc766511e13b896f470a93f587fb942529644 Mon Sep 17 00:00:00 2001 From: Daniel Rojas Date: Tue, 21 Jul 2020 22:08:25 +0200 Subject: [PATCH] Rebuild examples --- examples/demo01.html | 2 +- examples/demo02.html | 2 +- examples/ex01.html | 2 +- examples/ex02.html | 2 +- examples/ex03.html | 2 +- examples/ex04.html | 2 +- examples/ex05.html | 2 +- examples/ex06.html | 2 +- examples/ex09.html | 2 +- examples/readme.md | 91 +++++++-------- tutorial/readme.md | 241 +++++++++++++++++---------------------- tutorial/tutorial01.gv | 2 +- tutorial/tutorial01.html | 118 +++++++++---------- tutorial/tutorial01.png | Bin 19274 -> 17116 bytes tutorial/tutorial01.svg | 118 +++++++++---------- tutorial/tutorial02.html | 2 +- tutorial/tutorial03.html | 2 +- tutorial/tutorial05.html | 2 +- tutorial/tutorial06.html | 2 +- tutorial/tutorial07.html | 2 +- tutorial/tutorial08.html | 2 +- 21 files changed, 281 insertions(+), 319 deletions(-) diff --git a/examples/demo01.html b/examples/demo01.html index fe2fe42..f613f50 100644 --- a/examples/demo01.html +++ b/examples/demo01.html @@ -171,4 +171,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, D-Sub, female, 9 pins1X1
Connector, Molex KK 254, female, 3 pins1X2
Cable, 3 x 0.25 mm² shielded0.2mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, D-Sub, female, 9 pins1X1
Connector, Molex KK 254, female, 3 pins1X2
Cable, 3 x 0.25 mm² shielded0.2mW1
\ No newline at end of file diff --git a/examples/demo02.html b/examples/demo02.html index 4ee4e00..9c3d15a 100644 --- a/examples/demo02.html +++ b/examples/demo02.html @@ -509,4 +509,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule, 0.25 mm², YE2
Connector, Molex KK 254, female, 4 pins2X2, X3
Connector, Molex KK 254, female, 5 pins1X4
Connector, Molex KK 254, female, 8 pins1X1
Cable, 2 x 0.25 mm²0.3mW4
Wire, 0.14 mm², BK0.9mW1, W2, W3
Wire, 0.14 mm², BU0.3mW3
Wire, 0.14 mm², GN0.6mW1, W2
Wire, 0.14 mm², OG0.3mW3
Wire, 0.14 mm², RD0.6mW1, W2
Wire, 0.14 mm², VT0.3mW3
Wire, 0.14 mm², YE0.6mW1, W2
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule, 0.25 mm², YE2
Connector, Molex KK 254, female, 4 pins2X2, X3
Connector, Molex KK 254, female, 5 pins1X4
Connector, Molex KK 254, female, 8 pins1X1
Cable, 2 x 0.25 mm²0.3mW4
Wire, 0.14 mm², BK0.9mW1, W2, W3
Wire, 0.14 mm², BU0.3mW3
Wire, 0.14 mm², GN0.6mW1, W2
Wire, 0.14 mm², OG0.3mW3
Wire, 0.14 mm², RD0.6mW1, W2
Wire, 0.14 mm², VT0.3mW3
Wire, 0.14 mm², YE0.6mW1, W2
\ No newline at end of file diff --git a/examples/ex01.html b/examples/ex01.html index 3a07507..c03eef9 100644 --- a/examples/ex01.html +++ b/examples/ex01.html @@ -177,4 +177,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins2X1, X2
Cable, Serial, 4 x 0.25 mm² shielded0.2mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins2X1, X2
Cable, Serial, 4 x 0.25 mm² shielded0.2mW1
\ No newline at end of file diff --git a/examples/ex02.html b/examples/ex02.html index 83ab6d6..1991a26 100644 --- a/examples/ex02.html +++ b/examples/ex02.html @@ -258,4 +258,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex Micro-Fit, female, 2 pins3X2, X3, X4
Connector, Molex Micro-Fit, male, 2 pins1X1
Cable, 2 x 0.25 mm²0.4mW1, W2
Cable, 2 x 20 AWG0.2mW3
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex Micro-Fit, female, 2 pins3X2, X3, X4
Connector, Molex Micro-Fit, male, 2 pins1X1
Cable, 2 x 0.25 mm²0.4mW1, W2
Cable, 2 x 20 AWG0.2mW3
\ No newline at end of file diff --git a/examples/ex03.html b/examples/ex03.html index d274705..91a79ff 100644 --- a/examples/ex03.html +++ b/examples/ex03.html @@ -228,4 +228,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex Micro-Fit, female, 2 pins3X2, X3, X4
Connector, Molex Micro-Fit, male, 2 pins1X1
Wire, 0.25 mm², BK0.6mW1
Wire, 0.25 mm², RD0.6mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex Micro-Fit, female, 2 pins3X2, X3, X4
Connector, Molex Micro-Fit, male, 2 pins1X1
Wire, 0.25 mm², BK0.6mW1
Wire, 0.25 mm², RD0.6mW1
\ No newline at end of file diff --git a/examples/ex04.html b/examples/ex04.html index cd3680c..d77034a 100644 --- a/examples/ex04.html +++ b/examples/ex04.html @@ -216,4 +216,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule12
Wire, 0.25 mm², BN0.2mW1
Wire, 0.25 mm², BU0.2mW1
Wire, 0.25 mm², GN0.2mW1
Wire, 0.25 mm², OG0.2mW1
Wire, 0.25 mm², RD0.2mW1
Wire, 0.25 mm², YE0.2mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule12
Wire, 0.25 mm², BN0.2mW1
Wire, 0.25 mm², BU0.2mW1
Wire, 0.25 mm², GN0.2mW1
Wire, 0.25 mm², OG0.2mW1
Wire, 0.25 mm², RD0.2mW1
Wire, 0.25 mm², YE0.2mW1
\ No newline at end of file diff --git a/examples/ex05.html b/examples/ex05.html index 8711bc0..b47a291 100644 --- a/examples/ex05.html +++ b/examples/ex05.html @@ -298,4 +298,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins3X1, X2, X3
Wire, I2C, 0.25 mm², PK0.4mW1, W2
Wire, I2C, 0.25 mm², TQ0.4mW1, W2
Wire, I2C, 0.25 mm², VT0.4mW1, W2
Wire, I2C, 0.25 mm², YE0.4mW1, W2
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins3X1, X2, X3
Wire, I2C, 0.25 mm², PK0.4mW1, W2
Wire, I2C, 0.25 mm², TQ0.4mW1, W2
Wire, I2C, 0.25 mm², VT0.4mW1, W2
Wire, I2C, 0.25 mm², YE0.4mW1, W2
\ No newline at end of file diff --git a/examples/ex06.html b/examples/ex06.html index b7ba5ff..6f921c9 100644 --- a/examples/ex06.html +++ b/examples/ex06.html @@ -658,4 +658,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins6X1, X2, X3, X4, X5, X6
Wire, 0.25 mm², PK1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², TQ1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², VT1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², YE1.0mW1, W2, W3, W4, W5
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins6X1, X2, X3, X4, X5, X6
Wire, 0.25 mm², PK1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², TQ1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², VT1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², YE1.0mW1, W2, W3, W4, W5
\ No newline at end of file diff --git a/examples/ex09.html b/examples/ex09.html index d86c6b8..a710467 100644 --- a/examples/ex09.html +++ b/examples/ex09.html @@ -523,4 +523,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, D-Sub, male, 25 pins1X1
Connector, F48, female, 48 pins1X2
Cable, 12 x 0.25 mm² shielded0.2mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, D-Sub, male, 25 pins1X1
Connector, F48, female, 48 pins1X2
Cable, 12 x 0.25 mm² shielded0.2mW1
\ No newline at end of file diff --git a/examples/readme.md b/examples/readme.md index 8093a45..145ee5a 100644 --- a/examples/readme.md +++ b/examples/readme.md @@ -1,61 +1,62 @@ -# Example gallery -## Example 09 -![](../../examples/ex09.png) - -[Source](ex09.yml) - [Bill of Materials](../../examples/ex09.bom.tsv) - - -## Example 08 -![](../../examples/ex08.png) - -[Source](ex08.yml) - [Bill of Materials](../../examples/ex08.bom.tsv) - +# Example Gallery ## Example 01 -![](../../examples/ex01.png) +![](ex01.png) -[Source](ex01.yml) - [Bill of Materials](../../examples/ex01.bom.tsv) - - -## Example 03 -![](../../examples/ex03.png) - -[Source](ex03.yml) - [Bill of Materials](../../examples/ex03.bom.tsv) +[Source](ex01.yml) - [Bill of Materials](ex01.bom.tsv) ## Example 02 -![](../../examples/ex02.png) +![](ex02.png) -[Source](ex02.yml) - [Bill of Materials](../../examples/ex02.bom.tsv) +[Source](ex02.yml) - [Bill of Materials](ex02.bom.tsv) -## Example 06 -![](../../examples/ex06.png) +## Example 03 +![](ex03.png) -[Source](ex06.yml) - [Bill of Materials](../../examples/ex06.bom.tsv) - - -## Example 07 -![](../../examples/ex07.png) - -[Source](ex07.yml) - [Bill of Materials](../../examples/ex07.bom.tsv) - - -## Example 05 -![](../../examples/ex05.png) - -[Source](ex05.yml) - [Bill of Materials](../../examples/ex05.bom.tsv) - - -## Example 10 -![](../../examples/ex10.png) - -[Source](ex10.yml) - [Bill of Materials](../../examples/ex10.bom.tsv) +[Source](ex03.yml) - [Bill of Materials](ex03.bom.tsv) ## Example 04 -![](../../examples/ex04.png) +![](ex04.png) -[Source](ex04.yml) - [Bill of Materials](../../examples/ex04.bom.tsv) +[Source](ex04.yml) - [Bill of Materials](ex04.bom.tsv) + + +## Example 05 +![](ex05.png) + +[Source](ex05.yml) - [Bill of Materials](ex05.bom.tsv) + + +## Example 06 +![](ex06.png) + +[Source](ex06.yml) - [Bill of Materials](ex06.bom.tsv) + + +## Example 07 +![](ex07.png) + +[Source](ex07.yml) - [Bill of Materials](ex07.bom.tsv) + + +## Example 08 +![](ex08.png) + +[Source](ex08.yml) - [Bill of Materials](ex08.bom.tsv) + + +## Example 09 +![](ex09.png) + +[Source](ex09.yml) - [Bill of Materials](ex09.bom.tsv) + + +## Example 10 +![](ex10.png) + +[Source](ex10.yml) - [Bill of Materials](ex10.bom.tsv) diff --git a/tutorial/readme.md b/tutorial/readme.md index 32ec2e5..4fcf033 100644 --- a/tutorial/readme.md +++ b/tutorial/readme.md @@ -1,62 +1,33 @@ # WireViz Tutorial -## 08 - Part numbers -* Part number information can be added to parts - * Only provided fields will be added to the diagram and bom -* Bundles can have part information specified by wire +## 01 - Bare-bones example + +* Minimum working example +* Only 1-to-1 sequential wiring -[Source](tutorial08.yml): ```yaml connectors: - X1: &template1 # define a template for later use - type: Molex KK 254 + X1: pincount: 4 - subtype: female - manufacturer: Molex - manufacturer_part_number: 22013047 X2: - <<: *template1 # reuse template - internal_part_number: CON4 - X3: - <<: *template1 # reuse template + pincount: 4 cables: W1: wirecount: 4 length: 1 - gauge: 0.25 mm2 - color_code: IEC - manufacturer: CablesCo - manufacturer_part_number: ABC123 - internal_part_number: CAB1 - W2: - category: bundle - length: 1 - gauge: 0.25 mm2 - colors: [YE, BK, BK, RD] - manufacturer: [WiresCo,WiresCo,WiresCo,WiresCo] - manufacturer_part_number: [W1-YE,W1-BK,W1-BK,W1-RD] - internal_part_number: [WIRE1,WIRE2,WIRE2,WIRE3] - connections: - - X1: [1-4] - W1: [1-4] - X2: [1-4] - - - - X1: [1-4] - - W2: [1-4] - - X3: [1-4] ``` +![](tutorial01.png) -Output: - -![](tutorial../../tutorial/tutorial08.png) - -[Bill of Materials](tutorial../../tutorial/tutorial08.bom.tsv) +[Source](tutorial01.yml) - [Bill of Materials](tutorial01.bom.tsv) ## 02 - Adding parameters and colors @@ -65,7 +36,6 @@ Output: * Auto-calculate equivalent AWG from mm2 * Non-sequential wiring -[Source](tutorial02.yml): ```yaml connectors: @@ -96,12 +66,9 @@ connections: - X2: [1,2,4,3] ``` +![](tutorial02.png) -Output: - -![](tutorial../../tutorial/tutorial02.png) - -[Bill of Materials](tutorial../../tutorial/tutorial02.bom.tsv) +[Source](tutorial02.yml) - [Bill of Materials](tutorial02.bom.tsv) ## 03 - Pinouts, shielding, templates (I) @@ -112,12 +79,11 @@ Output: * Cable shielding, shield wiring * Templates -[Source](tutorial03.yml): ```yaml connectors: X1: &template1 # define a template for later use - pinout: [GND, VCC, RX, TX] # pincount implicit in pinout + pinlabels: [GND, VCC, RX, TX] # pincount implicit in pinout type: Molex KK 254 subtype: female X2: @@ -142,46 +108,9 @@ connections: - W1: s ``` +![](tutorial03.png) -Output: - -![](tutorial../../tutorial/tutorial03.png) - -[Bill of Materials](tutorial../../tutorial/tutorial03.bom.tsv) - - -## 01 - Bare-bones example - -* Minimum working example -* Only 1-to-1 sequential wiring - -[Source](tutorial01.yml): - -```yaml -connectors: - X1: - pincount: 4 - X2: - pincount: 4 - -cables: - W1: - wirecount: 4 - length: 1 - -connections: - - - - X1: [1-4] - - W1: [1-4] - - X2: [1-4] -``` - - -Output: - -![](tutorial../../tutorial/tutorial01.png) - -[Bill of Materials](tutorial../../tutorial/tutorial01.bom.tsv) +[Source](tutorial03.yml) - [Bill of Materials](tutorial03.bom.tsv) ## 04 - Templates (II), notes, American standards, daisy chaining (I) @@ -192,12 +121,11 @@ Output: * Linear daisy-chain * Convenient for shorter chains -[Source](tutorial04.yml): ```yaml connectors: X1: &template_con - pinout: [GND, VCC, SCL, SDA] + pinlabels: [GND, VCC, SCL, SDA] type: Molex KK 254 subtype: male notes: to microcontroller # add notes @@ -233,12 +161,9 @@ connections: - X3: [1-4] ``` +![](tutorial04.png) -Output: - -![](tutorial../../tutorial/tutorial04.png) - -[Bill of Materials](tutorial../../tutorial/tutorial04.bom.tsv) +[Source](tutorial04.yml) - [Bill of Materials](tutorial04.bom.tsv) ## 05 - Ferrules, wire bundles, custom wire colors @@ -255,12 +180,11 @@ Output: * Custom wire colors * Wirecount can be implicit in color list -[Source](tutorial05.yml): ```yaml connectors: X1: - pinout: [+12V, GND, GND, +5V] + pinlabels: [+12V, GND, GND, +5V] type: Molex 8981 subtype: female F1: @@ -284,12 +208,54 @@ connections: - X1: [1-4] ``` +![](tutorial05.png) -Output: +[Source](tutorial05.yml) - [Bill of Materials](tutorial05.bom.tsv) -![](tutorial../../tutorial/tutorial05.png) -[Bill of Materials](tutorial../../tutorial/tutorial05.bom.tsv) +## 06 - Custom ferrules + +* Custom ferrules + * Allows attaching more than one wire to a ferrule + * Requires defining them as regular connectors with unique designators, adding `category: ferrule` parameter + + +```yaml +connectors: + X1: + pinlabels: [+12V, GND, GND, +5V] + type: Molex 8981 + subtype: female + F_10: # this is a unique ferrule + style: simple + show_name: false # non-autogenerated connectors show their name by default; override + type: Crimp ferrule + subtype: 1.0 mm² + color: YE # optional color + F_05: # this is a ferrule that will be auto-generated on demand + style: simple + autogenerate: true + type: Crimp ferrule + subtype: 0.5 mm² + color: OG + +cables: + W1: + category: bundle # bundle + length: 0.3 + gauge: 0.5 mm2 + colors: [YE, BK, BK, RD] # custom colors, wirecount is implicit + +connections: + - + - [F_05, F_10, F_10, F_05] + - W1: [1-4] + - X1: [1-4] +``` + +![](tutorial06.png) + +[Source](tutorial06.yml) - [Bill of Materials](tutorial06.bom.tsv) ## 07 - Daisy chaining (II) @@ -297,14 +263,13 @@ Output: * Zig-zag daisy chain * Convenient for longer chains -[Source](tutorial07.yml): ```yaml connectors: X1: &template_con type: Molex KK 254 subtype: female - pinout: [GND, VCC, SCL, SDA] + pinlabels: [GND, VCC, SCL, SDA] X2: <<: *template_con X3: @@ -354,60 +319,64 @@ connections: - X6: [1-4] ``` +![](tutorial07.png) -Output: - -![](tutorial../../tutorial/tutorial07.png) - -[Bill of Materials](tutorial../../tutorial/tutorial07.bom.tsv) +[Source](tutorial07.yml) - [Bill of Materials](tutorial07.bom.tsv) -## 06 - Custom ferrules +## 08 - Part numbers -* Custom ferrules - * Allows attaching more than one wire to a ferrule - * Requires defining them as regular connectors with unique designators, adding `category: ferrule` parameter +* Part number information can be added to parts + * Only provided fields will be added to the diagram and bom +* Bundles can have part information specified by wire -[Source](tutorial06.yml): ```yaml connectors: - X1: - pinout: [+12V, GND, GND, +5V] - type: Molex 8981 + X1: &template1 # define a template for later use + type: Molex KK 254 + pincount: 4 subtype: female - F_10: # this is a unique ferrule - style: simple - show_name: false # non-autogenerated connectors show their name by default; override - type: Crimp ferrule - subtype: 1.0 mm² - color: YE # optional color - F_05: # this is a ferrule that will be auto-generated on demand - style: simple - autogenerate: true - type: Crimp ferrule - subtype: 0.5 mm² - color: OG + manufacturer: Molex + manufacturer_part_number: 22013047 + X2: + <<: *template1 # reuse template + internal_part_number: CON4 + X3: + <<: *template1 # reuse template cables: W1: - category: bundle # bundle - length: 0.3 - gauge: 0.5 mm2 - colors: [YE, BK, BK, RD] # custom colors, wirecount is implicit + wirecount: 4 + length: 1 + gauge: 0.25 mm2 + color_code: IEC + manufacturer: CablesCo + manufacturer_part_number: ABC123 + internal_part_number: CAB1 + W2: + category: bundle + length: 1 + gauge: 0.25 mm2 + colors: [YE, BK, BK, RD] + manufacturer: [WiresCo,WiresCo,WiresCo,WiresCo] + manufacturer_part_number: [W1-YE,W1-BK,W1-BK,W1-RD] + internal_part_number: [WIRE1,WIRE2,WIRE2,WIRE3] + connections: - - - - [F_05, F_10, F_10, F_05] - - W1: [1-4] - - X1: [1-4] + - + - X1: [1-4] + - W1: [1-4] + - X2: [1-4] + - + - X1: [1-4] + - W2: [1-4] + - X3: [1-4] ``` +![](tutorial08.png) -Output: - -![](tutorial../../tutorial/tutorial06.png) - -[Bill of Materials](tutorial../../tutorial/tutorial06.bom.tsv) +[Source](tutorial08.yml) - [Bill of Materials](tutorial08.bom.tsv) diff --git a/tutorial/tutorial01.gv b/tutorial/tutorial01.gv index d81c9bc..43bcf57 100644 --- a/tutorial/tutorial01.gv +++ b/tutorial/tutorial01.gv @@ -18,5 +18,5 @@ graph { edge [color="#000000:#ffffff:#000000"] X1:p4r:e -- W1:w4:w W1:w4:e -- X2:p4l:w - W1 [label=<
W1
4x1 m
 
X1:1#ffffffX2:1
X1:2#ffffffX2:2
X1:3#ffffffX2:3
X1:4#ffffffX2:4
 
> fillcolor=white margin=0 shape=box style=""] + W1 [label=<
W1
4x1 m
 
X1:1X2:1
X1:2X2:2
X1:3X2:3
X1:4X2:4
 
> fillcolor=white margin=0 shape=box style=""] } diff --git a/tutorial/tutorial01.html b/tutorial/tutorial01.html index 2cfba08..758af38 100644 --- a/tutorial/tutorial01.html +++ b/tutorial/tutorial01.html @@ -3,10 +3,10 @@ - + - + X1 @@ -27,39 +27,35 @@ W1 - - -W1 - -4x - -1 m -  -X1:1 -#ffffff -X2:1 - - - -X1:2 -#ffffff -X2:2 - - - -X1:3 -#ffffff -X2:3 - - - -X1:4 -#ffffff -X2:4 - - - -  + + +W1 + +4x + +1 m +  +X1:1 +X2:1 + + + +X1:2 +X2:2 + + + +X1:3 +X2:3 + + + +X1:4 +X2:4 + + + +  @@ -92,47 +88,47 @@ X2 - - -X2 - -4-pin - -1 - -2 - -3 - -4 + + +X2 + +4-pin + +1 + +2 + +3 + +4 W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + diff --git a/tutorial/tutorial01.png b/tutorial/tutorial01.png index acf2096c701e7da278c56bd095eef126dc42305e..47cd8c1fd9a367df3af541052a935e878ff87191 100644 GIT binary patch literal 17116 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 X>SSc_?mhV7ScuYPRfW7uMt=VT&7q>3 diff --git a/tutorial/tutorial01.svg b/tutorial/tutorial01.svg index 5be93ea..0eb74d4 100644 --- a/tutorial/tutorial01.svg +++ b/tutorial/tutorial01.svg @@ -4,10 +4,10 @@ - + - + X1 @@ -28,39 +28,35 @@ W1 - - -W1 - -4x - -1 m -  -X1:1 -#ffffff -X2:1 - - - -X1:2 -#ffffff -X2:2 - - - -X1:3 -#ffffff -X2:3 - - - -X1:4 -#ffffff -X2:4 - - - -  + + +W1 + +4x + +1 m +  +X1:1 +X2:1 + + + +X1:2 +X2:2 + + + +X1:3 +X2:3 + + + +X1:4 +X2:4 + + + +  @@ -93,47 +89,47 @@ X2 - - -X2 - -4-pin - -1 - -2 - -3 - -4 + + +X2 + +4-pin + +1 + +2 + +3 + +4 W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + diff --git a/tutorial/tutorial02.html b/tutorial/tutorial02.html index 89c5236..54364a4 100644 --- a/tutorial/tutorial02.html +++ b/tutorial/tutorial02.html @@ -146,4 +146,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins2X1, X2
Cable, 4 x 0.25 mm²1mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins2X1, X2
Cable, 4 x 0.25 mm²1mW1
\ No newline at end of file diff --git a/tutorial/tutorial03.html b/tutorial/tutorial03.html index 29a97ef..be0c951 100644 --- a/tutorial/tutorial03.html +++ b/tutorial/tutorial03.html @@ -175,4 +175,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins2X1, X2
Cable, 4 x 0.25 mm² shielded1mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins2X1, X2
Cable, 4 x 0.25 mm² shielded1mW1
\ No newline at end of file diff --git a/tutorial/tutorial05.html b/tutorial/tutorial05.html index dc25bad..9b565ab 100644 --- a/tutorial/tutorial05.html +++ b/tutorial/tutorial05.html @@ -181,4 +181,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule, 0.5 mm², OG4
Connector, Molex 8981, female, 4 pins1X1
Wire, 0.5 mm², BK0.6mW1
Wire, 0.5 mm², RD0.3mW1
Wire, 0.5 mm², YE0.3mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule, 0.5 mm², OG4
Connector, Molex 8981, female, 4 pins1X1
Wire, 0.5 mm², BK0.6mW1
Wire, 0.5 mm², RD0.3mW1
Wire, 0.5 mm², YE0.3mW1
\ No newline at end of file diff --git a/tutorial/tutorial06.html b/tutorial/tutorial06.html index db4c2f6..551c93f 100644 --- a/tutorial/tutorial06.html +++ b/tutorial/tutorial06.html @@ -168,4 +168,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule, 0.5 mm², OG2
Connector, Crimp ferrule, 1.0 mm², YE1
Connector, Molex 8981, female, 4 pins1X1
Wire, 0.5 mm², BK0.6mW1
Wire, 0.5 mm², RD0.3mW1
Wire, 0.5 mm², YE0.3mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule, 0.5 mm², OG2
Connector, Crimp ferrule, 1.0 mm², YE1
Connector, Molex 8981, female, 4 pins1X1
Wire, 0.5 mm², BK0.6mW1
Wire, 0.5 mm², RD0.3mW1
Wire, 0.5 mm², YE0.3mW1
\ No newline at end of file diff --git a/tutorial/tutorial07.html b/tutorial/tutorial07.html index fa2bb2a..61efdca 100644 --- a/tutorial/tutorial07.html +++ b/tutorial/tutorial07.html @@ -658,4 +658,4 @@ -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins6X1, X2, X3, X4, X5, X6
Wire, 0.25 mm², PK1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², TQ1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², VT1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², YE1.0mW1, W2, W3, W4, W5
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins6X1, X2, X3, X4, X5, X6
Wire, 0.25 mm², PK1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², TQ1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², VT1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², YE1.0mW1, W2, W3, W4, W5
\ No newline at end of file diff --git a/tutorial/tutorial08.html b/tutorial/tutorial08.html index 7c42f8b..bd5e824 100644 --- a/tutorial/tutorial08.html +++ b/tutorial/tutorial08.html @@ -294,4 +294,4 @@ -

Bill of Materials

ItemQtyUnitDesignatorsManufacturerManufacturer part numberInternal part number
Connector, Molex KK 254, female, 4 pins2X1, X3Molex22013047
Connector, Molex KK 254, female, 4 pins1X2Molex22013047CON4
Cable, 4 x 0.25 mm²1mW1CablesCoABC123CAB1
Wire, 0.25 mm², BK2mW2WiresCoW1-BKWIRE2
Wire, 0.25 mm², RD1mW2WiresCoW1-RDWIRE3
Wire, 0.25 mm², YE1mW2WiresCoW1-YEWIRE1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignatorsManufacturerManufacturer part numberInternal part number
Connector, Molex KK 254, female, 4 pins2X1, X3Molex22013047
Connector, Molex KK 254, female, 4 pins1X2Molex22013047CON4
Cable, 4 x 0.25 mm²1mW1CablesCoABC123CAB1
Wire, 0.25 mm², BK2mW2WiresCoW1-BKWIRE2
Wire, 0.25 mm², RD1mW2WiresCoW1-RDWIRE3
Wire, 0.25 mm², YE1mW2WiresCoW1-YEWIRE1
\ No newline at end of file