7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-18 11:39:18 +00:00
Commit Graph

131 Commits

Author SHA1 Message Date
dsa-t
352e0035cf OCCT 3D model export: fix copper fusing issues on StickHub GND and
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20515


(cherry picked from commit 2cebea3b04)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-04-14 00:16:31 +03:00
dsa-t
4faa00e262 OCCT 3D model export: don't skip pads with duplicate pad numbers for pad points data.
(cherry picked from commit dfb66e2fdb)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-04-13 22:42:39 +03:00
dsa-t
9111a65302 OCCT 3D model export: don't show fusing errors for non-copper pads.
(cherry picked from commit 09da370512)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-04-13 08:18:55 +03:00
Jeff Young
142f8265c5 Simplify (and fix) plated copper differentiation.
Also a few fixes for 3D rendering textboxes and
tables.
2025-03-17 20:11:20 +00:00
jean-pierre charras
60f65e68c1 Step export: handle castellated pads.
Only pads having the fab property "Castellated" are handled.
2025-03-17 11:14:53 +01:00
Jeff Young
50174ec528 Beware of infinite recursion on colliding hatched shapes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20264
2025-03-08 21:23:14 +00:00
Jeff Young
f951497a4f Code brevity. 2025-03-01 21:58:31 +00:00
Seth Hillbrand
0b2d4d4879 Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo.  Avoids needing to
repeatly update.

Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
jean-pierre charras
11f94283ef STEP exporter: export solder mask on tracks having a solder mask option.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18881
2025-01-01 15:14:23 +01:00
Seth Hillbrand
e9bc8cfe9d Give Clipper1 a Viking funeral
Clears out the last spot where we were only using Clipper1 (how'd I
miss that?) and remove all calls to the Clipper1 structures
2024-12-23 17:12:09 -08:00
Alex Shvartzkop
418c8592aa Allow to control via hole cutting in board body/copper.
- "Fill all vias" option disables the cut in copper layers which is
  important to speed up EM simulations.
- "Cut vias in board body" enables cutting even if copper layer export
  is disabled, which is useful if you're using vias as mounting holes.

Related: https://gitlab.com/kicad/code/kicad/-/issues/18735
2024-12-20 23:28:46 +03:00
Jan Wichmann
8d015b2967 pcbnew: Respect options when STEP exporting graphical and text items
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19116
2024-12-10 13:54:47 +00:00
Jon Evans
4f4a8dec24 Remove OCC version build warning 2024-12-01 23:39:56 -05:00
Alex Shvartzkop
1838b2656d Print pad areas for XAO export. 2024-11-15 11:47:25 +08:00
Alex Shvartzkop
3b987776c7 ADDED: STL and PLY (since OCCT 7.7.0) 3D model export. 2024-11-04 16:15:02 +03:00
Alex Shvartzkop
1b540752d9 OCCT (STEP) export: fuse pad shapes earlier.
Because OCCT doesn't like fusing track segments with 3-part TH pads sometimes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18799
2024-10-06 12:28:29 +03:00
Jon Evans
56e0811516 Phase 2 of padstack support
CHANGED: PCB file format now supports saving/loading complex padstacks

CHANGED: PTH pads are now rendered per copper layer in the copper color;
         the PTH pad color is no longer used.

ADDED: support for importing complex pad stacks from Altium PCBs

Enforce padstack-aware access to pad properties across KiCad

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8182
2024-10-01 19:55:03 -04:00
Alex Shvartzkop
68ca80d876 Fix copper Z positioning for OCCT export.
https://gitlab.com/kicad/code/kicad/-/issues/18741
2024-09-19 11:27:08 +05:00
jean-pierre charras
87cf37c847 wip 2024-08-31 11:38:51 +02:00
jean-pierre charras
19ee73e7f7 STEP exporter: fix some issues:
* do not try to load vrml files for file formats that do not use them
* more tolerant test for step file: search header using up to 3 first lines
instead of only the first line
* dialog export: ensure the file ext is synchronized with the file format
the first time the dialog is opened
* more info messages: now a message is printed if the actual file format of
a 3D file is not recognized
2024-08-31 11:12:12 +02:00
jean-pierre charras
e6f9907246 STEP exporter: fix Z position of 3D shapes.
Previously the Z pos was the position of dielectric body. Now it is the position
of top of copper layers, like in the 3D viewer.
2024-08-21 18:42:15 +02:00
Jon Evans
7349d79096 ADDED: Component filter for STEP export
Also refactor to avoid duplication of settings

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18290
2024-08-03 21:56:48 -04:00
Seth Hillbrand
77797103f7 Add ability to embed files in various elements
Schematics, symbols, boards and footprints all get the ability to store
files inside their file structures.  File lookups now have a
kicad-embed:// URI to allow various parts of KiCad to refer to files
stored in this manner.

kicad-embed://datasheet.pdf references the file named "datasheet.pdf"
embedded in the document.  Embeds are allowed in schematics, boards,
symbols and footprints.  Currently supported embeddings are Datasheets,
3D Models and drawingsheets

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6918

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2376

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17827
2024-07-15 16:06:55 -07:00
Seth Hillbrand
cc850d0da0 Split out LSEQ/LSET from LAYER_ID
Separate the layer grouping classes for easier modification
2024-07-08 20:59:46 -07:00
Alex Shvartzkop
dc2a63d146 STEP export: don't put copper on non-flashed pad layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18267
2024-06-27 06:40:11 +03:00
Alex Shvartzkop
fa5b6d7929 If there's a single shape in fuseShapesOrCompound input, just return it. 2024-06-25 14:56:33 +03:00
jean-pierre charras
16e708a0e7 Fix minor compil and Coverity warnings. 2024-06-15 11:20:21 +02:00
jean-pierre charras
fb3730a9c0 STEP export: fix missing zones (they were added too late in code)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18177
2024-06-09 17:32:34 +02:00
Alex Shvartzkop
e55da55e04 Remove debugging code from STEP exporter. 2024-05-26 08:05:25 +03:00
Alex Shvartzkop
b89d4a7f20 3D model export improvements:
- Option to export pads separately from tracks+vias
- Options export silkscreen and soldermask as flat faces
- Improve 3D model export dialog layout
- Use VisMaterialTool to specify metallic-roughness for glTF.
- Less OCCT boolean operations (faster, less bugs)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2072
2024-05-25 22:27:01 +03:00
Alex Shvartzkop
615f216ef6 STEP export: don't double-check the wire. 2024-05-19 04:08:43 +03:00
Alex Shvartzkop
1a0ce67155 STEP export: reverse Wire when adding it to Face as a hole.
Better fix for https://gitlab.com/kicad/code/kicad/-/issues/17446

(cherry picked from commit 1264230973)
2024-05-19 04:02:35 +03:00
Alex Shvartzkop
e00219f459 STEP export: allow closing (and constructing) the wire with 1nm edges.
This is ok (and required) because we don't mess with BRepBuilderAPI::Precision nowadays.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18030

(cherry picked from commit 5b1c84b5dd)
2024-05-18 22:52:41 +03:00
Alex Shvartzkop
0772739cf1 3D model export: Improve 3D layer placement calculation algorithm.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18035
2024-05-17 18:20:24 +03:00
Alex Shvartzkop
fd438cb8e0 VRML to XCAFDoc reader is only available in OCCT 7.7.0+ 2024-05-16 22:52:19 +03:00
Alex Shvartzkop
8fd12d8b7e Allow reading VRML models for glTF export.
Note that some VRML 2.0 models fill fail until our patches are integrated into OCCT 7.9.0.
2024-05-16 21:57:48 +03:00
Alex Shvartzkop
2179685dd2 STEP export: Use TDocStd_XLinkTool to copy model with colors instead of our DIY routine.
Now supports older OCCT versions.
Also puts components at a higher level in the hierarchy.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17549
2024-05-16 13:01:40 +03:00
dsa-t
e2294a769a Revert "STEP export: Use TDocStd_XLinkTool to copy model with colors instead of our DIY routine."
This reverts commit f735c9bdc2
2024-05-15 22:55:19 +00:00
Alex Shvartzkop
f735c9bdc2 STEP export: Use TDocStd_XLinkTool to copy model with colors instead of our DIY routine.
Also puts components at a higher level in the hierarchy.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17549
2024-05-16 01:33:06 +03:00
Alex Shvartzkop
0e58f1bad4 Improve approximateLineChainWithArcs algorithm. 2024-05-14 18:07:53 +03:00
Alex Shvartzkop
7d37cebfdf Fix orientations of some footprint STEP models.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17631
2024-04-28 23:11:26 +03:00
Alex Shvartzkop
b3bc352c57 Use default stackup if stackup is not defined in STEP/BREP/XAO export. 2024-04-26 15:25:48 +03:00
Alex Shvartzkop
c8db8d087e Remove debug line. 2024-04-26 02:40:22 +03:00
Alex Shvartzkop
9e673bb891 Polyfill GetOneShape from OCCT. 2024-04-26 02:36:17 +03:00
Alex Shvartzkop
1ae9e9b676 ADDED: XAO export for SALOME / Gmsh workflows.
Pad surfaces are assigned as face groups.
2024-04-26 01:53:43 +03:00
Alex Shvartzkop
da1926d723 STEP/BREP export: ensure pad surface is a separate face.
Useful for FEM simulation.
2024-04-25 15:34:52 +03:00
Alex Shvartzkop
5f81e01f43 ADDED: --net-filter option to STEP/BREP export CLI. 2024-04-24 18:28:53 +03:00
Alex Shvartzkop
3f32f0c2d8 STEP/BREP export: approximate zone polygons with arcs.
- Speeds up processing significantly
- STEP file size reduction to 30%
2024-04-23 19:25:23 +03:00
Alex Shvartzkop
bbab5a979a STEP export: Remove autosave prefix from label names.
The autosave file is used if the board was modified.
2024-04-22 04:06:04 +03:00
Alex Shvartzkop
c68e3ceb44 ADDED: Export inner PCB copper layers to STEP / BREP / GLTF.
Also adds options to exclude board body and components.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16855
2024-04-22 03:39:46 +03:00