← Back to team overview

kicad-developers team mailing list archive

Re: Evaluating cross-selection between the 3D-Viewer and Pcbnew

 

I'll second what Ian has said with one caveat.  When we replace the Kiway
interface in v7, we'll be ripping out all previous interfaces, so I think
we should be fine even if there is a new probe from pcbnew->3d Viewer.

That said, we are about 1 month away from feature freeze, so any
implementation would need to be on that timescale.

Best-
Seth

On Wed, Sep 2, 2020 at 6:25 AM Ian McInerney <Ian.S.McInerney@xxxxxxxx>
wrote:

> The 3d viewer does have access to the kiway, but I really think we need to
> think about how this is done before we just go adding a cross-probing
> interface between pcbnew and the 3d viewer. As our kiway is written
> currently, adding the cross-probing will basically be adding a brand-new
> messaging protocol between those two frames - and I would like for us to
> avoid adding a new cross-probing specification when we already have two in
> existence (the pcbnew <-> eeschema one and eeschema <-> simulator) that
> both are different.
>
> Jon, Seth and I had been discussing the future of the kiway off and on for
> the last few months, and I think we are going to propose upgrading the
> kiway to be a more structured interface (possibly using something like
> JSON-RPC, but that hasn't been spec'd yet and I don't want to start the
> discussion at this moment) with every frame listening on a local port for
> the messages (instead of the current wx-event system relying on passing
> strings/objects in memory) for v7. The thinking is then we define a
> "cross-probe" command in the new RPC system that will be sent over the
> kiway and all frames receive it and act on it if they want (so then you can
> select a module in pcbnew and it will send a single cross-probe request
> that can be ingested by both eeschema and the 3d-viewer instead of having
> to send two different requests in possibly two different formats).
>
> I don't think Seth, Jon or I will have much time in the next month to
> write up a spec on this new interface yet since we all have work to do
> before feature freeze. But I think this can definitely be something we
> ensure is inside the kiway spec so it will be implementable in v7.
>
> The part I have never been sure of is how the actual 3d-viewer parts would
> be implemented, because it is not obvious to me if there is a nice way to
> show the selection in the rendering, or if we can get user-input to select
> models in the 3d viewer and then cross-probe them back to the board in our
> system. This is something that is possible in the OpenCascade viewer system
> though, so we might be able to add similar functionality to ours.
>
> -Ian
>
> On Wed, Sep 2, 2020 at 2:04 PM Wayne Stambaugh <stambaughw@xxxxxxxxx>
> wrote:
>
>> It's part of the kiway mail messaging system.  Take a look at the
>> kiway*.{h/cpp} files.  I'm not sure if the 3D viewer is derived from
>> KIWAY_PLAYER.  If it is, this should be fairly straight forward assuming
>> you can figure out the component position from the model geometry and
>> translate that back to the board position.  If not, you will have a lot
>> more work to do.  I do no want to add another messaging protocol to the
>> board editor.
>>
>> On 9/1/20 6:15 PM, Mário Luzeiro wrote:
>> > Hello all,
>> >
>> > I'm evaluating how/ if it will be possible to implement some kind of
>> cross footprint selection between the 3D-Viewer and Pcbnew.
>> > I know that it works with Schematic and Board so I believe there are
>> already some existent mechanisms.. but I don't know what exists in KiCad
>> source-code for that.
>> >
>> > Could someone point me where can I find relevant code that is already
>> used or implemented for this purpose?
>> >
>> > I have the following questions do clarify:
>> > - Can I notify 3D-Viewer to update the render from pcbnew/eeschema?
>> > - How can I flag/or select a footprint and notify pcbnew/eeschema?
>> > - Does a footprint has a flag that says it is selected? or there is
>> some other list of selected footprints?
>> >
>> > Any other concerns or things that I should have a look?
>> >
>> > Regards,
>> > Mario Luzeiro
>> >
>> > _______________________________________________
>> > 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
>>
> _______________________________________________
> 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
>


-- 
[image: KiCad Services Corporation Logo]
Seth Hillbrand
*Lead Developer*
+1-530-302-5483‬ <+12126039372>
Davis, CA
www.kipro-pcb.com    info@xxxxxxxxxxxxx

Follow ups

References