← Back to team overview

kicad-developers team mailing list archive

Re: proposed changes to S3D_MASTER to accommodate other 3D model types

 

----- Original Message -----

> From: Tomasz Wlostowski <tomasz.wlostowski@xxxxxxx>
> To: Cirilo Bernardo <cirilo_bernardo@xxxxxxxxx>
> Cc: "charras, jean-pierre" <jp.charras@xxxxxxxxxx>; Dick Hollenbeck <dick@xxxxxxxxxxx>; "Stambaugh, Wayne" <stambaughw@xxxxxxxxxxx>; Lorenzo Marcantonio <l.marcantonio@xxxxxxxxxxxx>; Javier Serrano <Javier.Serrano@xxxxxxx>; Maciej Suminski <maciej.suminski@xxxxxxx>; Miguel Angel Ajo Pelayo <miguelangel@xxxxxxx>
> Sent: Saturday, January 25, 2014 7:07 AM
> Subject: Re: [Kicad-developers] proposed changes to S3D_MASTER to accommodate other 3D model types
> 
> On 01/23/2014 08:41 AM, Cirilo Bernardo wrote:
> 
>>  Hi folks,
>> 
>>  It is fairly easy to use the existing scheme of 3D model selection
>>  for including other types of 3D models such as IDF and STEP; such
>>  models may be of no interest to the 3D viewer but are useful for
>>  other exporters such as the IDF exporter currently in development and
>>  the STEP model support which I still dream of.
> 
> Hi Cirilo,
> 
> Your dream is quite close. OpenCascade looked like a tough beast, but 
> it's actually very simple once you get used to it. Exporting a 
> more-or-less complete PCB shape to a STEP file is ~100 lines of C++ 
> code, written from scratch during a single evening. Check the attachment.
> 
> The only obstacle is lack of DLL plugins in pcbnew, OCC is in IMHO too big
> to be linked directly. I could write a DLL plugin system (based on 
> Miguel's blueprint) if there's no opposition from the main developers.
> 3D import/export could be its initial target, once it's stable, other 
> import/export features might be DLLized too.
> 
> Cheers,
> Tom [going back to P&S]
> 

Thanks Tom,

 I just tried your demo and loaded the results into SolidWorks - it's perfect. :)

 You're right - the STEP export will be much easier than I imagined; it should also
be possible to support IGES models (the older predecessor to STEP).

 I'll spend time cleaning up the VRML and IDF exporter codes; there are various notes
about improvements which I would like to implement such as throwing exceptions in
certain conditions and so on. Most of the work is just to ensure the code is better
behaved when things do go wrong; at the moment there are a lot of silent failures so
the user doesn't even know if their board was exported without problems.

 Once I have gone through my list of code to clean up or minor features to implement
I'll think about the exporter plugin architecture and convert at least one exporter
to a plugin to demonstrate the feature. After all exporters have been converted,
I'll come back to the STEP export.  This may take a considerable amount of time since
it's not a small or simple job and up to the middle of the year I will have
almost no free time.

 I realize a few users have been asking to see STEP models in the 3D viewer. For that
task I would recommend making a conversion tool (STEP/IGES to VRML) since conversion
of STEP files while running the 3d viewer will be unbearably slow. I would give this
tool fairly low priority since the IDF exporter and the (still potential) STEP
exporter are much more valuable for interacting with mechanical designers.

- Cirilo



References