90 Commits

Author SHA1 Message Date
Alex Shvartzkop
5900f6baa4 Do not call MakeShapes in AddCopperPolygonShapes when polyset is empty.
Ease of debugging.

(cherry picked from commit 0184dfb625450200be729524dba4587cbbdb539c)
2024-02-23 22:15:17 +03:00
Alex Shvartzkop
4a1245e85a STEP: export copper plating for vias/pads (25 micrometers).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16694
2024-02-02 00:29:03 +03:00
Alex Shvartzkop
3ed196859f STEP export: build a segment from last point for segment case as well.
https://gitlab.com/kicad/code/kicad/-/issues/16807
2024-01-29 19:59:41 +03:00
Alex Shvartzkop
9345b73af5 Don't crash when OCC fails to read a model and didn't open the doc. 2023-12-06 03:16:46 +03:00
Alex Shvartzkop
5de55b8c4a STEP export: fix a Bnd_BoundSortBox usage bug. 2023-11-21 14:21:12 +03:00
Alex Shvartzkop
58b9d68084 STEP export: make use of footprint names instead of "SOLID".
Should help when importing into software that does deduplication
based on label names (e.g. SolidWorks).
2023-11-21 14:11:16 +03:00
Alex Shvartzkop
f3fdfa73e6 STEP export: Do not set BRepBuilderAPI precision.
This caused issues when loading some STEP models.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15485
2023-11-21 00:47:38 +03:00
Alex Shvartzkop
8dfad68d69 ADDED: option to optimize exported STEP files (disable pcurves) 2023-11-19 15:23:17 +03:00
Alex Shvartzkop
1321c8c6af STEP export: fix an issue when cutting circular holes in zones. 2023-11-19 14:04:31 +03:00
Alex Shvartzkop
254c8accc2 Remove some debugging messages. 2023-10-15 03:28:25 +03:00
Jeff Young
62d959ed0e Don't assume an error location for PAD::GetEffectivePolygon().
While ERROR_INSIDE was good for plotting, 3D generation, etc., it's
not good for generating router hulls.

Also reverts part of the change to always use polygons for PNS::SOLIDs.  A single shape in a SHAPE_COMPOUND will be faster (and
more accurate).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14898
2023-10-13 13:59:26 +01:00
Alex Shvartzkop
f8dac43325 STEP export: add short segments as circles.
Because OCC can't connect two arcs together sometimes.
2023-08-29 23:58:25 +03:00
jean-pierre charras
114ff054d3 STEP exporter: export track segments as thick segments with rounded end using arcs.
They are no longer exported as polygons.
Export time is slightly faster and file sizes slightly smaller.
Track arcs are still exported as polygons.
2023-08-27 19:37:41 +02:00
jean-pierre charras
15f5a14217 Fix minor compil warnings 2023-08-27 11:11:08 +02:00
Alex Shvartzkop
f842e6ac7a STEP: export arcs in board contours as curves, not polygons.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13825
2023-08-24 21:53:53 +03:00
Alex Shvartzkop
b8ce97b532 STEP export: fix circles. 2023-08-24 14:57:15 +03:00
Alex Shvartzkop
83e9d87cde STEP export: fix hole cutting counter message. 2023-08-24 14:26:27 +03:00
jean-pierre charras
eb8c1d2a90 Fix compil issues (and probably a bug). Also display calculation time info. 2023-08-24 13:02:10 +02:00
Alex Shvartzkop
cb54bdfa84 STEP export: add bounding box optimizations for cutting holes. 2023-08-24 05:42:56 +03:00
Alex Shvartzkop
458d5fbeb8 STEP export: use unfractured polygons.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15486
2023-08-24 03:47:55 +03:00
jean-pierre charras
196fc67ece Step exporter: generate oblong pad holes using 2 arcs + 2 segments.
Previously, the oblong shapes were polygons.
2023-08-23 18:16:25 +02:00
jean-pierre charras
84fa4532b9 DIALOG_EXPORT_STEP: fix some issues:
- add missing inits (the zones were never created)
- fix a incorrect tool tip
- minor enhancements (add afew messages during export)
2023-08-21 09:36:25 +02:00
Marek Roszko
b52b05ebbb Add zone export to step export
Mileage may vary on performance, decent enough for my board.
Warning, freecad chokes on boards with zones, but commerical tools are fine

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15234
2023-08-20 22:11:45 -04:00
Marek Roszko
50ac5db8d2 Add binary GLTF export option to kicad-cli
Not by any means finished
2023-08-19 16:47:42 -04:00
Seth Hillbrand
48ecd742eb Maintain file permissions when renaming
Temporary and autosave files do not neccessarily have the correct
permissions set to replace existing project files.  This updates the
permissions to match the existing values where possible

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13574
2023-05-24 17:09:38 -07:00
jean-pierre charras
66651327bd STEP export: in board outlines, export Circles as Cylinders, round 2.
Other arcs (not 360 deg arcs) are still exported as polylines
2023-05-16 13:39:16 +02:00
jean-pierre charras
99bdb82dff Revert "STEP export: in board outlines, export Circles as Cylinders."
This reverts commit 09515fe821cf1049e98ab90a0b992b631fbdc648.
It does not pass a QA test
2023-05-16 09:59:53 +02:00
jean-pierre charras
09515fe821 STEP export: in board outlines, export Circles as Cylinders.
Other arcs (not 360 deg arcs) are still exported as polylines
2023-05-16 08:46:34 +02:00
jean-pierre charras
0c26014eaa step exporter: fix missing initialization of a member (m_pcbName)
in EXPORTER_STEP rename m_pcbName to m_pcbBaseName, to avoid using
the same name used also in STEP_PCB_MODEL.
2023-03-21 09:30:11 +01:00
Marek Roszko
edf6828cf1 Put the project name back into the step pcb label.
Software like Solidworks and other CAD treat STEP labels as unique entries.
When you import multi STEP files into the same project, it'll start deduplicating your design by those name.
So two completely unrelated PCBs with the same "PCB" name will result in one being replaced by another.
2023-03-20 21:11:28 -04:00
jean-pierre charras
636e63f0c5 more about step exporter (export more copper graphic objects). 2023-03-06 16:36:37 +01:00
jean-pierre charras
eeee3adb94 Step exporter: code cleaning and merge connected tracks in polygons 2023-03-06 11:59:09 +01:00
jean-pierre charras
a3d834bef1 Step exporter: optimization: export round pad/via shapes as cylinders. 2023-03-05 14:54:16 +01:00
jean-pierre charras
f569cffa8e Step exporter fixes and enhancements:
- fix duplicate code and a few bugs (some are due to changes in code over the years)
- ADDED: option to export tracks and vias on external layers Exporting tracks is *very* time consuming,
and need a bit of optimization.
2023-03-05 12:55:15 +01:00
jean-pierre charras
6dc1c9b0b7 Step exporter: filter very small segments when exporting them.
very small segments create issues in step export.
Add also more messages and more controls.
Fixes #13038
https://gitlab.com/kicad/code/kicad/issues/13038
Fixes #12905
2022-11-30 14:56:02 +01:00
jean-pierre charras
f13ffa8276 Step export: fix incorrect export of a pcb with multiple main outlines.
The code was existing but did not work fine with more than one outline
Fixes #6684
https://gitlab.com/kicad/code/kicad/issues/6684
2022-11-15 16:37:00 +01:00
jean-pierre charras
f51db4e093 Fix some Coverity and compil warnings. 2022-11-14 09:02:40 +01:00
Marek Roszko
0a8db3bb88 Fix forgotten handling of origin offsets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12889
2022-11-13 09:22:59 -05:00
Marek Roszko
066a609b39 Cleanup warnings in the step exporter 2022-11-12 21:52:54 -05:00
Marek Roszko
3dd2ae762d Refactor step export to use our normal board processing routines 2022-11-12 21:27:10 -05:00