← Back to team overview

kicad-developers team mailing list archive

Re: STEP Export

 

OK, I've updated the branch with the following changes:

1. removed wxT() from kicad2step and dialogs. The remaining wxT()
instances are created by wxFormBuilder.

2. refined the Export STEP GUI for cases in which the exporter
fails (returns an error or segfaults).

It also just occurred to me that sometimes the OCE library may
cause a hang. I can work on a generic dialog to launch an
external app which connects to the apps stdout + stderr and
which has a CANCEL button to kill the process - any comments?
Should I put such a dialog into the "common" library?

The fact that a process using OCE can hang brings up the
question of whether it is better to leave kicad2step as a
separate app or whether it is generally OK as a plugin and
the odd crash due to bugs in OCE and/or the STEP/IGES
models would be acceptable. We can stuff the plugin
invocations into their own thread and check for completion,
but unlike the case with a separate process, we cannot
guarantee there is no memory corruption or leakage.
Any thoughts?

Somewhat off-topic: grep shows me that the source code
and headers are full of wxT().  Since wxT() had been
deprecated years ago and KiCad is no longer compatible
with versions of wxWidgets which required wxT(), perhaps
we should ask devs to purge wxT() from the headers and
sources which they touch? I think that might also get devs
into the habit of not using wxT() - even I still use it without
realizing it - bad habits die hard. :)

- Cirilo

On Thu, Sep 22, 2016 at 3:04 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
> Cirilo,
>
> I just tested this since you fixed the windows extension issue.  The
> menu item is enabled but I always get an "Unable to create step file
> whenever there are spaces in the file name and/or path."  You didn't by
> chance forget to double quote the command line string did you?  If you
> don't, spaces in file and/or path names in command strings will fail.
>
> Just a couple of quick comments nothing major.  wxT() macros are no
> longer required in wx3 so try to remember not to use it anymore since
> it's slated to be deprecated in the future.  It's also not necessary to
> convert path separators in strings when you are already using
> wxFileName.  You can use wxFileName::GetFullPath() which will return the
> native separators no matter what you feed it with.  You can also convert
> to the unix file separator for storage by using wxFileName::GetFullPath(
> wxPATH_UNIX ).  This removes the need for #ifdef WINDOWS/#endif to do
> the separator conversion.
>
> Cheers,
>
> Wayne
>
> On 9/19/2016 3:53 AM, Nick Østergaard wrote:
>> Looks good, I will test it soon. But I noticed that it looks like you
>> did not use the copyright template copyright.h from the root of the source.
>>
>>
>> Den 19/09/2016 09.46 skrev "Cirilo Bernardo" <cirilo.bernardo@xxxxxxxxx
>> <mailto:cirilo.bernardo@xxxxxxxxx>>:
>>
>>     The kicad-step feature branch now implements a STEP Export. The menu
>>     item may need a new icon (I lazily reused the IDF icon). Any testing and
>>     comments would be appreciated. The kicad2step utility which performs
>>     the conversion is of course dependent on OCE and is only built when
>>     KICAD_USE_OCE is defined. The "Export STEP" menu item is disabled
>>     if the kicad2step executable is not found in the same directory as the
>>     pcbnew executable.
>>
>>     https://code.launchpad.net/~cirilo-bernardo/kicad/+git/kicad-oce/+ref/kicad-step
>>     <https://code.launchpad.net/~cirilo-bernardo/kicad/+git/kicad-oce/+ref/kicad-step>
>>
>>     - Cirilo
>>
>>
>>     _______________________________________________
>>     Mailing list: https://launchpad.net/~kicad-developers
>>     <https://launchpad.net/~kicad-developers>
>>     Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>     Unsubscribe : https://launchpad.net/~kicad-developers
>>     <https://launchpad.net/~kicad-developers>
>>     More help   : https://help.launchpad.net/ListHelp
>>     <https://help.launchpad.net/ListHelp>
>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp


Follow ups

References