Alex Shvartzkop
338914c7cf
Restore Fix Discontinuities default tolerance; enable it by default.
...
There's no artifacts anymore due to CalcArcCenter fixes.
2024-01-16 12:13:08 +03:00
Wayne Stambaugh
ffbb7fde74
Improve footprint editor import graphics dialog layout.
2023-12-19 07:39:57 -05:00
Wayne Stambaugh
8687d5092f
String and dialog layout fixes.
2023-12-13 11:49:34 -05:00
jean-pierre charras
7fd9226bec
Fix issue in CalcArcCenter( VECTOR2D& aStart, VECTOR2D& aMid, VECTOR2D& aEnd )
...
It happens when the segment (aStart, aMid) is horizontal
Probably also when the segment (aEnd, aMid) is horizontal
Slopes with value 0.0 are set to double:: epsilon(), but it was a too small values
generating broken calculations.
Now set to 1e-10 (it seems working).
Fixes #16089
https://gitlab.com/kicad/code/kicad/-/issues/16089
2023-11-18 20:08:26 +01:00
jean-pierre charras
83ee2ffdab
Pcbnew, dialog import graphics: add tool-tips and minor cosmetic enhancements.
2023-11-16 12:50:45 +01:00
jean-pierre charras
a663dd7ec4
Pcbnew, import graphics: fixes and enhancements:
...
- fix regression: allow grouping or not imported items
- store more settings in Pcbnew settings: all options are now stored.
- default tolerance to connect items is now 0.01 mm. 1 mm is a too big value,
and can create serious artifacts in imported outlines.
2023-11-15 20:26:05 +01:00
Jeff Young
435e3fab8d
Support text variables in STEP export filename.
...
Also fixes some other file browser titles to match Kicad's overall style.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15927
2023-10-23 18:01:47 +01:00
Jon Evans
eb5b3db063
Add bitmap bundle support to BITMAP_SCALE
...
Change a bunch of buttons and toolbars to use it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14119
2023-10-22 14:02:06 -04:00
Jeff Young
b089630b4c
Simplify Import Graphics.
...
Removed no-longer-required differentiation between importing
footprint vs board objects.
Renamed files to match the dialog.
Made Position At and Set Layer optional checkboxes.
Removed Group Items checkbox. (In the unlikely event that you don't
want a group, do an UnGroup after importing.)
Flattened out labelled-sizers in the dialog.
Removed importers blacklist, which hasn't been active for at least 4
years.
Fixed undo/redo bug that caused items to be no-longer-grouped after
a redo.
2023-10-19 01:31:13 +01:00
Wayne Stambaugh
f629898c8b
Coding policy fixes.
2023-10-17 08:07:15 -04:00
Alex Shvartzkop
be1008cbd8
ADDED: Heal Shapes; Fix discontinuities in gfx import and Cleanup dialog.
2023-10-17 10:29:43 +03:00
Wayne Stambaugh
b5eee9dd7e
Coverity warning fixes.
2023-10-16 17:04:14 -04:00
Alex Shvartzkop
21adc0aac5
ADDED: Import vector graphics into Schematic editor (SVG, DXF).
2023-10-09 07:04:50 +03:00
Alex Shvartzkop
60d069757a
ADDED: Import vector graphics into Symbol editor (SVG, DXF).
2023-10-09 07:04:50 +03:00
Alex Shvartzkop
f4f8523c59
Rename pcbnew DIALOG_IMPORT_GFX -> DIALOG_IMPORT_GFX_PCB
2023-10-09 07:04:50 +03:00
Alex Shvartzkop
5131dae568
Graphics import improvements/fixes:
...
- add support for color
- support non-uniform scale
- add GetImageBBox()
- fix SVG GetImageWidth/Height not being in mm
- fix import offset not being in mm
- add graphics importer for LIB_SYMBOL
2023-08-18 22:52:49 +03:00
Alex Shvartzkop
26a52ecfe9
Move parts of import_gfx to common.
2023-08-18 22:43:54 +03:00
Mike Williams
6d93950dcc
PCB: abolish TEXT_TYPE::TEXT_is_*
...
PCB_TEXT is now always what was formerly TEXT_is_DIVERS and PCB_FIELDs
now what mandatory field type they are already.
2023-06-20 18:34:52 +00:00
jean-pierre charras
9537fd4e45
Pcbnew, graphic importer: convert arc with large radius to segment.
...
Arcs having a too large radius cannot be safely handled.
The criteria (not perfect) is radius < INT_MAX/2 to use arcs
Fixes #14210
https://gitlab.com/kicad/code/kicad/-/issues/14210
2023-06-19 10:43:30 +02:00
Seth Hillbrand
b56db30019
Ensure that even open paths with fills are filled
...
SVG paths that are "open" can still have a fill internally, so avoid
dropping fills for these non-standard polygons
Fixes https://gitlab.com/kicad/code/kicad/issues/14518
2023-04-20 12:31:04 -07:00
Jeff Young
bbd6c80507
Collapse FP_* down into their PCB_* equivalents.
2023-03-31 22:57:46 +01:00
Marek Roszko
aacc9746e3
Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere
2023-02-18 22:57:18 -05:00
Kliment
68eac74458
pcbnew: Fix strokeWidth truncation to integer mm in SVG polygons import
...
The polygon conversion algorithm mistakenly stored the stroke width of
filled polygons in an integer variable. As a result, all stroke widths
were rounded down to the next smaller integer mm size. This commit changes
the types in the relevant functions and variables from int to double.
2023-01-31 20:34:25 +00:00
Wayne Stambaugh
022c913e8f
Fix another broken graphics import file filter.
2023-01-17 11:34:51 -05:00
Marek Roszko
fa7205ebbc
Handle block insert scaling a little better but incompletely
...
https://gitlab.com/kicad/code/kicad/-/issues/11614
2023-01-04 21:22:36 -05:00
Marek Roszko
0e42cb19f2
Realize we can just describe the dxf arb axis with our MATRIX3x3 class
2023-01-04 20:42:56 -05:00
Jon Evans
b85fab9ab6
Support DXF ellipses and elliptical arcs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12563
2022-12-24 22:46:07 -05:00
Jeff Young
c0872364d4
Get rid of bloated bitmap buttons on wxWidgets 3.2.
2022-12-13 20:48:02 +00:00
jean-pierre charras
88038907fa
Pcbnew, graphic importer: do not import 0 length segments and smaller than 20 nm Bezier curves.
...
Degenerated Bezier curves (i.e. straight lines) are imported as segments.
They create issues in kicad because they are hard to edit and manage.
2022-12-13 20:23:40 +01:00
Marek Roszko
aa537fe559
Change bezier curve iteration to be easier to read
...
Fix #https://gitlab.com/kicad/code/kicad/-/issues/11153 somewhat
2022-12-06 23:25:04 -05:00
Marek Roszko
24ca892afb
Update tinysplice to latest
...
A few years worth of bug fixes
2022-12-06 22:28:23 -05:00
Seth Hillbrand
0ee7f8e2bd
Fix 436f95e02e
...
NanoSVG does handle opacity (thanks Mark) but the check needs to be
unsigned if we are comparing the resulting down-shifted value against
zero
Fixes https://gitlab.com/kicad/code/kicad/issues/13033
2022-11-29 11:21:16 -08:00
Seth Hillbrand
436f95e02e
Don't look for alpha in nanosvg color
...
Nanosvg colors are only RGB, so we will never get an alpha value here.
Fixes https://gitlab.com/kicad/code/kicad/issues/13033
2022-11-29 10:44:03 -08:00
Kliment
c5fe265eb4
Take axis inversion into account when importing graphics. Fixes #9351 .
2022-11-19 17:25:27 +01:00
jean-pierre charras
85e44c2dae
pcbnew, SVG import: fix an issue for SVG files using a CR+LF end of file
...
The issue was in a validity test working only if CR+LF is not replaced by LF
Fixes #10096
https://gitlab.com/kicad/code/kicad/issues/10096
2022-11-09 09:33:51 +01:00
Jeff Young
92f1ee556f
Don't fill drawing sheet rects with transparent fill.
...
It might make sense to do that with board and/or schematic items for
hit-testing or something, but it definitely doesn't make any sense for
the drawing sheet border.
Also, when reading in items with a transparent fill, treat them as
unfilled (otherwise we get filled with layer colour in at least PCBNew).
2022-10-17 17:51:11 +01:00
aris-kimi
6bc00eabaf
dialog_dxf_import dialog minor UI fixes
2022-10-10 02:51:24 +00:00
Jeff Young
1a812727cb
Fix some logic errors in importing SVG polygons with holes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11479
2022-09-27 17:45:21 +01: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
a8613ee80f
Combine Iu2Millimeter & remove PcbMm2iu
2022-09-16 21:09:26 -04:00
Mark Roszko
b00178adb3
Nuke base_units from orbit
2022-09-16 04:38:10 +00:00
Jeff Young
8ae0ddf09d
Move import graphics dialog to UNIT_BINDER.
...
Also fixes a bug where the position gets scaled (because we're
applying it to the imported values, which are automatically scaled).
Fixes https://gitlab.com/kicad/code/kicad/issues/10483
2022-09-13 00:59:56 +01:00
Marek Roszko
bf964d8678
Commonize page_info by simply making the Iu scale a parameter on call.
2022-08-27 13:36:00 -04:00
Marek Roszko
98b3904c51
Fix reserve call with the wrong source for size
2022-08-16 23:38:08 -04:00
Jeff Young
763c77eab8
DXF parameters are for DXF (only).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12021
2022-07-18 17:51:20 +01:00
luz paz
af6ba1a16e
Fix typos in pcbnew sub-directory
...
Found via `codespell -q 3 -S *.po,./thirdparty,./Documentation/changelogs -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,ba,busses,dout,einstance,leaded,modul,ontext,ot,overide,serie,te,,tesselate,tesselator,tht`
2022-06-30 09:39:45 -04:00
Marek Roszko
b18e441a88
Free memory in dxf import sooner on bad_alloc
2022-04-02 09:57:30 -04:00
Marek Roszko
9f8c0a8185
Catch memory exhaustion trying to import large DXFs
...
See https://gitlab.com/kicad/code/kicad/-/issues/11308
2022-04-01 23:15:06 -04:00
Marek Roszko
d74a0cdaa3
Don't pre-scale the line width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11122
2022-03-13 23:08:28 -04:00