Commit Graph

566 Commits

Author SHA1 Message Date
Wayne Stambaugh 28776f5745 Text attributes object improvements.
* Add compare method to COLOR4D object.
* Add unit test to validate COLOR4D comparison method.
* Add missing color test in text attribute comparison method.
* Add unit test for text attribute object.
* Remove unnecessary headers from text attribute header.
* Move text attribute code into separate source file.
2023-03-29 12:53:45 -04:00
jean-pierre charras 65eb84265b Fix a compil warning issue (mingw specific)
also avoid to include wx/wx.h in kicad_cli.cpp, it is compil time consuming.
2023-03-22 08:49:26 +01: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
Seth Hillbrand f24deac017 Consider oblong holes with x/y equal size as drills
An oblong hole with drillsizex = drillsizey is the same as a circular
drill hit and should be converted to such in outputs (both excellon and
DRC)
2023-03-03 00:42:44 +01:00
Seth Hillbrand daf70f9b6a Export footprint pad holes to STEP regardless
Footprint pad holes form a part of the board outline regardless of
whether the footprint is in the BOM or not

Fixes https://gitlab.com/kicad/code/kicad/issues/14013
2023-02-28 12:02:08 -08:00
jean-pierre charras 7256a51e8e Fixes in build board outlines as polygon and convert_shape_list_to_polygon:
- Ensure Bezier curves have their polygon build before use it.
- When building board outlines as polygon the same chaining epsilon value
for DRC, export step and 3D view (default 0.01mm).
Fixes #14115
https://gitlab.com/kicad/code/kicad/issues/14115
Fixes #14009
https://gitlab.com/kicad/code/kicad/issues/14009
2023-02-28 16:45:03 +01:00
jean-pierre charras 4766175d60 EXPORTER_STEP: handle sub-layers in dielectric layer.
A dielectric layer (between 2 copper layers) can be made by more than one
layer (composite dielectric).  Not frequent, but possible.
sub-layers where previously ignored.
2023-02-27 16:11:58 +01:00
jean-pierre charras 51d46c0e73 plotters rework: add plot fct to use TEXT_ATTRIBUTES class to pass text settings
Old PLOTTER::Text is not (yet) removed, but it use negative text size
to mirrored text, which is not really compatible with some plotters (especially PDF).
Using TEXT_ATTRIBUTES is much easy and much better,
so PLOTTER::PlotText() is added.
Note: "old" PLOTTER::Text() is not removed yet.
2023-02-26 14:44:53 +01:00
jean-pierre charras e30e510354 gen drill map: fix duplicate suffix in map filenames if gbr drill fmt is selected
Fixes #14026
https://gitlab.com/kicad/code/kicad/issues/14026
2023-02-21 14:22:50 +01:00
Marek Roszko aacc9746e3 Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
Chris Morgan ce06171561 Convert additional sprintf to snprintf 2023-01-30 16:22:03 +00:00
Marek Roszko e928d72c3b Fix relative step file export
Forgot to set the project relative path, and the library search path

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13696
2023-01-29 22:19:37 -05:00
Jeff Young f90b04c715 Nullptr safety. (Sentry KICAD-5N) 2023-01-18 01:05:27 +00:00
Marek Roszko c2e7524cb6 Surpress the giant opencascade stats print unless we are tracing
Also catch Warn level messages to set a flag and print the relevant there were warning message

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8613
2023-01-02 18:34:32 -05:00
jean-pierre charras 593dc9e8b6 Some fixes in Gerber job file:
- Ensure colors use a normalized value (normalized name or RnnGnnBnn notation).
- Better code.
2022-12-06 17:01:37 +01:00
jean-pierre charras d7368588db stackup manager: fix incorrect handling of colors for multi-layer dielectrics
The dialog allows a color selection for each dielectric layer.
However for a "dielectric" defined by more than one layer, the color was handled
only for the first layer, and not for the other sub-layers.
2022-12-01 16:19:13 +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 50dcf258e6 Adjust the position file comment header 2022-11-13 18:43:49 -05:00
Jeff Young f4944f0db3 Quiet clang getting its knickers in a knot over case fallthroughs. 2022-11-13 23:01:48 +00: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
jean-pierre charras 9c5fbdb040 Fix compatibility with OCC version 7.4 and older 2022-11-13 08:18:10 +01: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
Marek Roszko d8e9436d92 Fix step export not resolving variables
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12754
2022-11-07 23:21:48 -05:00
Marek Roszko cd30da179a Round out the cli with position file export 2022-11-07 19:53:35 -05:00
Jon Evans dd94b2d3a7 Rename PROPERTIES to STRING_UTF8_MAP for clarity
This class has nothing to do with the properties system
2022-11-06 11:51:52 -05:00
Marek Roszko bc45ae1b72 Move a dialog that was hiding in the filetree 2022-11-02 22:30:46 -04:00
Marek Roszko 0a134788d0 Implement cli for gerber, drill, pdf export of pcb 2022-10-29 11:56:10 -04:00
Jeff Young d6fca11419 Finish up work on PlaceFile settings persistence.
We were missing several flags, and using the Plot output directory
instead of saving our own.

Fixes https://gitlab.com/kicad/code/kicad/issues/12715

Fixes https://gitlab.com/kicad/code/kicad/issues/12714
2022-10-24 22:23:11 +01:00
Jeff Young fa2a36b74e Add SMD and TH settings to config, and get rid of intermediate vars.
Fixes https://gitlab.com/kicad/code/kicad/issues/12715
2022-10-24 19:50:59 +01:00
jean-pierre charras a855c9a40c Fix not handled exceptions. 2022-10-15 10:27:00 +02:00
Marek Roszko 3b63ce8a48 Don't use the 3d resolver config anymore 2022-10-08 14:27:10 -04:00
jean-pierre charras faae4f9eea kicad2step: force immediate printing of messages (mingw issue: we need to flush the stdout buffer) 2022-10-08 16:43:14 +02:00
Marek Roszko aaa1d166a7 Redirect step export output to a pretty window 2022-10-08 09:48:00 -04:00
jean-pierre charras b8dfbe02ad Fix some issues in STEP exporter 2022-10-07 18:53:31 +02:00
Mark Roszko fb8a4c10f7 Shove kicad2step into pcbnew itself with a new cli 2022-10-04 01:53:37 +00:00
Marek Roszko cfa26fb706 Fix footprint relative path resolution for idf/vrml export 2022-09-25 23:40:25 -04:00
Marek Roszko c50b4fb04f Add relative to footprint 3d model path resolution
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2073
2022-09-25 22:56:16 -04:00
Marek Roszko 3d5913c825 Remove convert_to_biu.h, merge contents to base_units.h 2022-09-16 21:09:28 -04:00
Marek Roszko 66e8931405 Remove IU_PER_MM thats standalone 2022-09-16 21:09:27 -04:00
Marek Roszko e6ed275c25 Repoint IU_PER_MILS 2022-09-16 21:09:26 -04:00
Marek Roszko 33f8161799 Merge in MM_PER_IU to EDA_IU_SCALE 2022-09-16 21:09:26 -04:00
Marek Roszko a8613ee80f Combine Iu2Millimeter & remove PcbMm2iu 2022-09-16 21:09:26 -04:00