Skip to content

Enhancement request: implement IPC-D-356A import. #157

@meantaipan

Description

@meantaipan

Currently, the code basically relies on Cairo for rendering (pixmap or vector format). I would like to be able to generate output suitable for use with OpenSceneGraph and similar 3D rendering libraries. This would generate board views similar to what most EDA tools can do, that can be flipped around with the mouse with realistic color, thickness etc.

I am prepared to do this work, but I am asking here whether this is the best place/repository to do it. Thoughts?

The approach I have in mind at present is to change direct calls to Cairo (e.g. cairo_move_to()) to indirect calls via function pointers: draw_impl->move_to(). Instead of passing cairo_t *cairoTarget around, pass a struct that is one additional level of abstraction away from Cairo. Naturally, a default object would be set up to use Cairo, so that library functionality is unchanged by default, however a library user could create their own draw implementation which uses OSG instead of Cairo, provide they stick to Cairo-compatible semantics.

Another enhancement is to support IPC-D-356A test data (I already use this to run a soldering robot but would be nice to integrate graphically), and this in turn suggests support for RS274-X2 (attributes) as a way to store the data.

Open to suggestions...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions