Commit Graph

169 Commits

Author SHA1 Message Date
Maciej Suminski 7ef97e0bca kicad2step: Simplified unit conversion
Instead of using 'm_inch' flag, dimensions are converted in place.
2018-06-19 10:37:07 +02:00
Maciej Suminski 04a462e48f kicad2step: Converted #defines to constexprs 2018-06-19 10:37:07 +02:00
Maciej Suminski 1541cbdf04 kicad2step: Add short segments to fix outline contiguity for arcs
STEP exporter keeps outline contiguous by storing the last point
coordinates and using them as the starting point for the next segment. It
might create a problem for arcs, as one of the arc end points may become
translated (changed to the last outline point), while the remaining
points (center and the other endpoint) are kept original. For large
deltas it renders an arc invalid, as it cannot pass through a modified
endpoint anymore.

To fix this, short segments are added to link the last outline point
with an arc endpoint, but only if the distance between the two is below
a certain threshold. This way the outline is kept contiguous and the arc
end point is unmodified, warranting its correctness.

Fixes: lp:1774351
* https://bugs.launchpad.net/kicad/+bug/1774351
2018-06-19 10:29:18 +02:00
Maciej Suminski ba3f2b30ee kicad2step: More diagnostic messages to determine export issues 2018-06-18 17:51:22 +02:00
Seth Hillbrand e95d06e811 OCC: Fix issues for OpenCascade 7.3
OpenCascade 7.3 deprecates some TK libraries that were not required by
KiCad, therefore we should not include them in the compile.

Also correct missing compiles for STEP import/export induced by 584409b2e when using OCCT.  There is no effect on OCE to this change.
2018-06-12 10:03:13 -07:00
jean-pierre charras 6d77e594b5 Python binding: fix pcbnew.Refresh() to make a better re-initialization.
Minor fixes in comments.

Fixes: lp:1775003
https://bugs.launchpad.net/kicad/+bug/1775003
2018-06-07 10:04:29 +02:00
Jeff Young 6a2dc8d4eb Roll back last 2 commits meant for the other resolver only.
Fixes: lp:1772255
* https://bugs.launchpad.net/kicad/+bug/1772255
2018-05-21 16:25:44 +01:00
Jeff Young 10ec39a107 Move 3D file error messages to tracePathsAndFiles key.
Fixes: lp:1772255
* https://bugs.launchpad.net/kicad/+bug/1772255
2018-05-21 13:18:41 +01:00
Jeff Young c48e5b6423 Remove unhelpful warning message.
It appears far too often with the new libraries.

Fixes: lp:1772255
* https://bugs.launchpad.net/kicad/+bug/1772255
2018-05-20 23:48:29 +01:00
Seth Hillbrand 584409b2ef Make OpenCascade more secondary
The opencascade patch intrusively checked against libraries but broke
some build scripts.  This restores the default cmake OCE behavior that was
changed by 2bab30d9a and makes the OpenCascade search truly secondary.
2018-05-15 06:40:25 -07:00
Maciej Suminski 161b4a56fc kicad2step: Handle escaped quotes in sexpr parser 2018-05-14 17:58:24 +02:00
Seth Hillbrand 2bab30d9ac Allow Kicad to use OpenCascade
Adds the option of using OpenCascade not just the community edition.

Fixes: lp:1628950
* https://bugs.launchpad.net/kicad/+bug/1628950
2018-05-11 17:04:32 -07:00
Jeff Young aa7da5dfcd Treat ${...} and $(...) envvar references uniformly.
Fixes: lp:1769282
* https://bugs.launchpad.net/kicad/+bug/1769282
2018-05-05 23:40:40 +01:00
jean-pierre charras 91209e194c Remove useless tests after operator new 2018-04-25 12:07:43 +02:00
Maciej Suminski eebabf165b kicad2step: Report lack of model definition rather than empty file names 2018-03-19 17:04:38 +01:00
Maciej Suminski 47e4798423 kicad2step: Report function name and line number only in debug builds 2018-03-19 17:04:38 +01:00
Maciej Suminski ce610f33a2 Coverity fixes
resource leak: #172233
negative array index write: #102363
uninitialized scalar field: #174540 #174539
structurally dead code: #169334 #169331
2018-03-19 10:02:05 +01:00
Seth Hillbrand c69db6cf8f Adding rounded rect and custom pad shapes to VRML export
Fixes: lp:1753552
* https://bugs.launchpad.net/kicad/+bug/1753552
2018-03-06 16:40:08 -08:00
jean-pierre charras b327da6e5a Fix incorrect parsing in kicad2step when a footprint has both locked and placed options activated.
Fixes: lp:1742700
https://bugs.launchpad.net/kicad/+bug/1742700
2018-01-15 11:24:09 +01:00
Camille 9ff66a5274 Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
Oliver 76f5df8a43 Decode "offset" in STEP export tool
- Read "at" as inches
- Read "offset" as mm
2017-12-01 16:21:50 +01:00
Oliver b80449b069 Fixes for 3D model offset
- Display offset units in 3D preview window (inches or mm)
- Fix offset in 3D renderer
- Fix offset in Raytracing renderer
- Fix offset in STEP export
- Fix offset in VRML export
2017-11-20 17:46:03 -05:00
Wayne Stambaugh f3908bd87c Revert premature commit of 17ab319b, "Fixes for 3D model offset".
This reverts commit 17ab319b99.
2017-11-11 20:04:46 -05:00
Oliver 17ab319b99 Fixes for 3D model offset
- Display offset units in 3D preview window (inches or mm)
- Fix offset in 3D renderer
- Fix offset in Raytracing renderer
- Fix offset in STEP export
- Fix offset in VRML export
2017-11-11 15:08:08 -05:00
Oliver c932e4af1b Added IGES replacement option
- If no STEP substitute is found, look for IGES
2017-11-07 08:34:38 -05:00
Oliver 30455092c8 Replace WRL files with STEP equivalent
- Use simple filename matching
- If a STEP file is found, use that instead
- Similar behaviour to the infamous StepUp tool

Fixes lp:1710796

https://bugs.launchpad.net/kicad/+bug/1710796
2017-11-06 18:41:40 -05:00
Wayne Stambaugh 15478bda41 Fix various STEP export dialog issues.
The file filter wild card was defined incorrectly causing the file picker
to not display *.stp and *.step file extensions.  Change the wildcard per
wxFileDialog documentation.

Prevent the file extension from being forced to .stp even when the user
defined a different extension in the file picker.

Override TransferDataFromWindow to test for file existence and warn user
only once if a file overwrite can occur.

Minor STEP export dialog string and layout improvements.

Make kicad2step honor user's file extension rather than always setting it
to .stp.

Fixes lp:1709636

https://bugs.launchpad.net/kicad/+bug/1709636
2017-08-09 13:41:07 -04:00
jean-pierre charras 33e0758636 Fixes: lp:1696204 3D STEP export doesn't handle B.Cu rename
https://bugs.launchpad.net/kicad/+bug/1696204
2017-06-08 08:33:14 +02:00
Bernhard Stegmaier df2ff50aa2 Fix OSX bundling issue.
Bundle kicad-ogltest as a console tool into the main KiCad bundle where
the other tools reside.
2017-05-17 08:14:18 -04:00
Mathias Grimmberger 097f89dcbc Use wxSetAssertHandler() instead of changing wxTheAssertHandler 2017-05-02 11:16:48 +02:00
Simon Richter 7b4ea2a382 Mark kicad-ogltest as GUI binary for Windows and MacOS 2017-04-07 08:14:54 -04:00
Simon Richter 5d48d8a2f8 Fix signature of dummy Pgm() function 2017-04-07 07:43:49 -04:00
Simon Richter c845a9c88d Add missing GLEW and GLM include dirs for ogltest 2017-04-07 07:43:49 -04:00
Chris Pavlina e8b811bab7 kicad-ogltest: use OPENGL_GAL 2017-03-29 19:00:24 -04:00
Chris Pavlina 23590d8d3f kicad-ogltest: if version can't be interpreted, print it 2017-03-29 16:25:32 -04:00
Chris Pavlina c8ef5208ee Add initial ogltest tool for user testing
This tool is currently very rudimentary. I pushed it because I need to
collect responses from it from users with diverse graphics
configurations, so I want the tool to be in the nightly builds.

This affects no KiCad code.
2017-03-29 16:19:43 -04:00
jean-pierre charras 713d475df6 mark override 2 virtual methods. 2017-03-18 09:39:56 +01:00
Chris Pavlina b535303a0a kicad2step: unused variable 2017-03-17 22:45:41 -04:00
Chris Pavlina 527c98fe15 kicad2step: shadowed virtual because of wrong qualifiers 2017-03-17 22:45:28 -04:00
Cirilo Bernardo 960c139064 Fix UTF8 filename issues in kicad2step 2017-03-14 18:33:14 -04:00
Cirilo Bernardo 68bcdec87e Workaround for non-ASCII filenames in Windows 2017-03-03 14:30:47 -05:00
jean-pierre charras 11dcb76fc9 Add -Wshadow compil option, if exists to warn about shadowed variables.
Swig auto generated .cxx file has a lot of shadowed variables, so this option cannot be used to compil all files.
2017-02-23 13:17:23 +01:00
Cirilo Bernardo 227ef64212 Fix coding style of 'sexpr' code in kicad2step 2017-02-02 08:58:35 +01:00
Cirilo Bernardo 4a1e2644a4 kicad2step was not accepting module names which are valid numbers.
Fixes: lp:1660841

https://bugs.launchpad.net/kicad/+bug/1660841
2017-02-01 20:14:57 -05:00
Cirilo Bernardo d29f39dce4 Fix line number tracking in sexpr parser 2017-02-01 19:43:44 -05:00
Cirilo Bernardo cf1003955d Added more info to kicad2step parsing failures 2017-02-01 19:43:44 -05:00
Morgan Quigley 1b9c8676df Fix bug in STEP import with curve intersections.
Set BRL precision to 10 nanometers to prevent floating point round errors
from creating arcs that leave gaps in the board outlines.  Note: it may
be prudent to make this setting 100 nanometers if there are gerber export
issues.

Fixes lp:1652406

https://bugs.launchpad.net/kicad/+bug/1652406
2017-02-01 19:32:27 -05:00
Simon Richter b0f9864bc4 Clean up warnings from exception handlers
The exception objects caught are either not referenced at all, or only in
debug builds. This avoids the warnings for the unused variables.
2016-10-10 11:08:49 -04:00
Cirilo Bernardo 451cbedd2c Change KICADMODEL definition from struct to class for consistency 2016-09-26 23:54:34 -04:00
jean-pierre charras 2717c63c6a Add missing override to 4 virtual methods in kicad2step.cpp. 2016-09-26 08:40:12 +02:00
Simon Wells 7a1d39ccc6 Add system to OCE includes, Change order of local includes for kicad2step 2016-09-26 08:17:57 +02:00
Simon Richter 59c81976dc Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
Simon Wells 44d3018125 Added explicit conversion from wxstring to cstring 2016-09-22 10:59:40 -04:00
Cirilo Bernardo 8b8626ceeb Removed wxT() from kicad2step modules and made modifications to the STEP Export GUI 2016-09-22 08:37:16 -04:00
Cirilo Bernardo 34fef23bd4 Reworked cmdline options and added output filename option 2016-09-22 08:37:16 -04:00
Cirilo Bernardo a9cb10c947 Added --no-virtual option to suppress inclusion of 3D models from components with the virtual attribute 2016-09-22 08:37:16 -04:00
Cirilo Bernardo 375741eeaa Modified parser to skip drill specifications for SMD pads 2016-09-22 08:37:16 -04:00
Cirilo Bernardo ad7302358b Fixed install path for OSX 2016-09-22 08:37:16 -04:00
Cirilo Bernardo 1848a87844 Fixed build conditions to depend on KICAD_USE_OCE (formerly USE_OCE) and removed extra spaces 2016-09-22 08:37:16 -04:00
Cirilo Bernardo 11a44388ee Added options to use Drill or Grid origin for outptu STEP file 2016-09-22 08:37:16 -04:00
Cirilo Bernardo 231b08e58f Added kicad2step tool. 2016-09-22 08:37:16 -04:00
Cirilo Bernardo 809b0040ea Added mroszko's SEXPR parser (ref: https://github.com/marekr/sexpr) 2016-09-22 08:37:16 -04:00
Cirilo Bernardo d3771d53ef Updated VRML exporter and fixed some VRML related bugs 2016-09-21 09:31:52 -04:00
Maciej Suminski 71aade6b51 Fixed a few warnings (mostly gcc6 -Wmisleading-indent). 2016-06-07 14:42:42 +02:00
Simon Richter 3e5443166e Use wxIMPLEMENT_APP_CONSOLE for console apps 2016-05-28 13:14:35 -04:00
Cirilo Bernardo 8c116d1a21 Convert idf2vrml to use wxApp etc for option processing 2016-05-28 13:14:31 -04:00
Simon Richter 71bbddc30c Drop <libgen.h> and <unistd.h>, no longer needed 2016-05-28 13:11:30 -04:00
Simon Richter 96ec9db5d6 Add missing C++ stdlib headers
The GCC standard library headers often include other headers, which makes
some code compile that forgets to include several headers.
2016-05-28 12:46:29 -04:00
Cirilo Bernardo c2a60d14d7 3D: fix issues reported by Coverity scan
*** CID 143752:  Incorrect expression  (USELESS_CALL)
*** CID 143751:  Incorrect expression  (UNUSED_VALUE)
*** CID 143749:  Uninitialized members  (UNINIT_CTOR)
*** CID 143748:  Uninitialized members  (UNINIT_CTOR)
*** CID 143747:  Uninitialized members  (UNINIT_CTOR)
*** CID 143746:  Uninitialized members  (UNINIT_CTOR)
*** CID 143745:  Uninitialized members  (UNINIT_CTOR)
*** CID 143744:  Uninitialized members  (UNINIT_CTOR)
*** CID 143740:  Null pointer dereferences  (NULL_RETURNS)
*** CID 143739:  Memory - corruptions  (MISMATCHED_ITERATOR)
*** CID 143735:  Integer handling issues  (CONSTANT_EXPRESSION_RESULT)
*** CID 143734:  Error handling issues  (CHECKED_RETURN)
2016-04-06 21:41:52 -04:00
Cirilo Bernardo 978268250e Removed temporary printout used for debug 2016-03-21 21:32:26 +11:00
Cirilo Bernardo e4b074f04f Added PolyLine support and units scaling to the dxf2idf tool 2016-03-21 18:48:35 +11:00
Cirilo Bernardo fc5556c811 Sync with main branch r6513 2016-01-26 10:35:16 +11:00
Simon Richter ba66f0360a Avoid comparing filepos with integers
The filepos type is not necessarily an integer type, because it also needs
to save the multibyte character state in case we're reading from a stream
with shift states.

The convention of using -1 as a special value is from Unix ftell(), and not
portable. Instead, the stream's failbit needs to be examined after the call
to tellg().
2016-01-17 10:59:08 -05:00
Cirilo Bernardo e185b29baa Resync with main branch r6482 2016-01-16 19:10:53 +11:00
Cirilo Bernardo 4919f2ba75 Fix IDF parse error when final EOL is missing 2016-01-11 23:02:12 -05:00
Cirilo Bernardo 7dd4bd9f09 Improving VRML1/2 parsers 2016-01-07 15:43:32 +11:00
Cirilo Bernardo 43c2c7223b Sync with main branch r6421 2016-01-05 16:37:52 +11:00
Wayne Stambaugh c751bf60bc Remove Boost library building and other build improvements.
* Remove download and build Boost from source and all CMake boost source build
  dependencies.
* Make FindCairo.cmake use pkg-config when it's available not just all
  platforms except windows.
* Add version checking to FindCairo.cmake.
* Change find GML version to 0.9.5.1 which is the current version in Ubuntu
  14.04 LTS.
* Update required Cairo version to 1.12.1.
2016-01-03 15:33:09 -05:00
Cirilo Bernardo 548b54d75d + resync with main branch r6409
+ work in progress: new VRML2 3D plugin
2015-12-31 09:28:39 +11:00
jean-pierre charras c4ea4dc0df Fix some warnings (looking like potential bugs) detected by cppcheck, (a few from a patch from Julien Nabet <serval2412@yahoo.fr>), remove not used vars and a few coding style fixes. 2015-12-27 13:16:46 +01:00
Cirilo Bernardo 86c54ce636 Modified IDF plugin to support IDF assemblies (*.emn) in addition to component outlines (*.idf) 2015-12-18 19:43:27 +11:00
Cirilo Bernardo 879c445b55 Preparing IDF plugin to support EMN/EMP files 2015-12-17 14:46:09 +11:00
Cirilo Bernardo 008d8a540a + Fixed bug in SGSHAPE::Prepare() : bad assignment of color pointer
+ Reworked s3d_plugin_demo2.cpp to use per-vertex-per-face normals
+ Reworked s3d_plugin_idf.cpp to use per-vertex-per-face normals
2015-12-17 13:55:35 +11:00
Cirilo Bernardo c251fbac75 + Improved the normals calculations (however it's still buggy)
+ Reworked 3D plugins to use normals calculations
2015-12-16 14:25:46 +11:00
Cirilo Bernardo 3ff8ca0caf Refactored to use new generic plugin base 2015-12-14 08:45:22 +11:00
Cirilo Bernardo 86042d86a6 Added partial render ability to IDF plugin 2015-12-11 17:37:42 +11:00
jean-pierre charras 19124ceee8 Fix crash when exporting vrml (see bug Bug #1502549) when there is a Glu error.
Enhancement: dialog_footprint_wizard_list remembers now its size.
2015-10-04 13:46:56 +02:00
unknown 508a9b2f06 IDF tool export: fixes a bug in the idf2vrml tool which results in the incorrect rendering of OTHER_OUTLINE sections which are placed on the bottom layer. 2015-07-25 14:51:42 +02:00
unknown a85964b8ad fix incorrect slot orientation and width in export IDF 2015-07-04 18:32:37 +02:00
unknown 10098b5c71 Some minor fixes and cleanup. 2015-07-03 10:42:47 +02:00
Nicolas PLANEL 1b5db6cb66 Avoid memleak on ColorMap during normal usage 2015-06-12 18:38:31 -04:00
unknown a1349ceb96 Fixes 2 critical bugs in the IDF framework code:
1. the code refused to read IDF files with circular cutouts; this caused the idf2vrml tool to fail
2. under certain conditions the IDF exporter created a defective file (outline data did not conform to specifications)
2015-05-28 09:20:43 +02:00
unknown de06578b4b Fix IDF code bug in the calculation of the outlines winding direction. 2015-05-26 08:18:50 +02:00
unknown ea11c013b6 fix bug in idfcyl utility 2015-04-09 20:56:52 +02:00
jean-pierre charras ede0daf9db lib_dxf: Update to version 0.5.13 (previous: 0.5.11) due to a bug (memory leak) fixed in 0.5.13, which has also more comments, and try to fix most of coverity warnings (not initialized class members).
These members are now initialized, which also fix some other more serious coverity issues.
2015-02-24 10:07:40 +01:00
jean-pierre charras 39497b109e Pcbnew: fix Bug #1422093 (pcbnew crashes after editing a footprint cominng from the board with the fp editor and saving it on a librray and trying to load it to the board)
Some other very minor fixes.
2015-02-17 17:32:47 +01:00
Cirilo Bernardo dcdaee4c63 Pcbnew IDF and VRML exporter Coverity scan error fixes. 2015-02-17 09:56:45 -05:00
Cirilo Bernardo 1acfbb0ddd Coverity scan IDF fixes.
* Fix resource leak in idf_parser.cpp
* Fix logically dead code in idf_parser.cpp
* Fix use after free bug in idf_parser.cpp
* Fix unitialized scalar value in idf_parser.cpp
* Fix logically dead code in idf_outlines.cpp
* Fix unitialized scalar value in idf_outlines.cpp
* Fix invalid iterator in idf_common.cpp
* Fix unitialized scalar value in vrml_layer.cpp
2015-02-16 12:45:37 -05:00
unknown b269128b8c Fixes issues with IDF file I/O on Windows (the famous 'ascii vs. binary' issue) and the reported problem of partial paths when KISYS3DMOD is specified. 2015-01-13 11:47:07 +01:00
Ashley Mills bcbad9d3ec Fix FreeBSD build issues. 2014-12-16 15:47:47 -05:00