← Back to team overview

kicad-developers team mailing list archive

Re: Plugin plans (post-stable release)

 

On 6/15/2015 9:20 PM, Cirilo Bernardo wrote:
> On Tue, Jun 16, 2015 at 8:33 AM, Tomasz Wlostowski
> <tomasz.wlostowski@xxxxxxx <mailto:tomasz.wlostowski@xxxxxxx>> wrote:
> 
>     On 14.06.2015 13:35, jp charras wrote:
>     > Le 14/06/2015 12:01, Tomasz Wlostowski a écrit :
>     >> On 14.06.2015 02:35, Cirilo Bernardo wrote:
>     >>> 7. STEP: (future plans) the plugin will only provide an Export
>     >>
>     >> I'd also like to add STEP visualization in the near future (post-stable ofc)
>     >>
>     >> Tom
>     >>
>     >> PS. It is possible to export a hierarchical assembly in STEP from OCC.
>     >> No need to write a special library for that.
>     >
>     > We all agree (at least guys like me who make designs with very strong
>     > mechanical constraints) step import/export is a major feature.
>     >
>     > However, OCC is a very heavy dependency for Kicad.
>     > I am not especially thrilled by OCC dependency.
>     Jean-Pierre,
> 
>     OCC is at least a complete thing. It can read/write STEP, provides all
>     boundary representation algorithms we need for making a PCB model from
>     layout (extrusion, boolean ops, chamfering/filleting) and can
>     triangulate BRep items for rendering purposes. Moreover, OCC despite
>     being big is pretty self-contained, it brings no additional
>     dependencies.
>     >
>     > If stepcode is usable, this is a (by far) preferable dependency, even it
>     > is not perfect.
> 
>     The above is not true for stepcode - AFAIK it only reads/writes STEP,
>     but has no geometry algorithms which we would need to take from other
>     libraries.
> 
> 
> That's correct; stepcode is only a "preprocessor" - it will read or
> write data
> and ensure that the file conforms to standards specifications but it is
> entirely ignorant of what the data means. Everyone needs to add their
> "postprocessor" and "application code" to interpret or place data into the
> STEP object.
> 
> Tom, have you got a small example of an assembly created by OCC?
> I would like to see how SolidWorks imports the file and if the results
> will be acceptable. From what I could read, OpenCascade offer the
> software to manage assemblies as a paid extension and from the
> documentation in OCC I couldn't work out how to extract or create
> hierarchical information.
> 
> As for rendering STEP models that would certainly be a large task if we
> did it ourselves, but I believe the SISL library contains all the algorithms
> we need to calculate vertices and the painful details of rendering are a
> matter of interpreting STEP data to determine the vertices on surfaces
> and their boundaries. Still, if OCC will do the job I would concede that
> such a large dependency may be worthwhile since we can concentrate
> on other aspects of KiCad rather than having our time dedicated to
> reimplementing something which is already freely available.

If we use OCC, it needs to be an optional dependency.  I don't have any
experience with OCC and how easy it is to build on other platforms so
initially I would require that it be a build option.

Also, I know to some of you I sound like a broken record but none of
this can happen until the underlying 3D model library code is fixed.
Trying to add STEP or any other 3D model format on top of our current
design is a recipe for disaster.

> 
> - Cirilo
>  
> 
>     Best,
>     Tom
> 
> 
> 
> _______________________________________________
> 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