WEBVTT

00:00.000 --> 00:11.440
All right, good morning and welcome back.

00:11.440 --> 00:12.920
This is the open hardware dev room.

00:12.920 --> 00:18.440
Our next talk is from Morgan, whose bio reads Morgan.

00:18.440 --> 00:22.880
So I know nothing about Morgan, except that Morgan is the author of the key connect add-on.

00:22.880 --> 00:27.720
So we are keeping with the theme of e-cad slash m-cad integration without further ado,

00:27.720 --> 00:28.720
take it away, Morgan.

00:29.680 --> 00:30.680
Good morning, everybody.

00:30.680 --> 00:33.680
As I said, my name is Morgan.

00:33.680 --> 00:39.760
Long time hacker at large, all sorts of background is all over the place.

00:39.760 --> 00:41.400
I'm a long time free-cad user.

00:41.400 --> 00:45.040
I've been using free-cad for at least a decade now.

00:45.040 --> 00:50.480
Professionally, I used to be the lead exhibitor for a space and science museum.

00:50.480 --> 00:55.760
We used free-cad for most of our most of the design.

00:55.760 --> 01:03.360
Designed and I used the cam workbench to program CNC uprun the small CNC shop.

01:03.360 --> 01:08.800
Also using free-cad for design and cam.

01:08.800 --> 01:11.240
Alabama Industries, this is mine and my partner's company.

01:11.240 --> 01:13.840
We're an independent exhibit fabrication company.

01:13.840 --> 01:18.280
Again, we use free-cad for all of our design and CNC.

01:18.280 --> 01:29.080
We also use the Cicad Cicad for circuit boards, custom stuff in a lot of our designs.

01:29.080 --> 01:35.160
One of our kind of off-the-cuff designs that we've done is kind of a promotional call the

01:35.160 --> 01:37.720
bar back version two.

01:37.720 --> 01:40.880
Probably the most complex design of done in free-cad.

01:40.880 --> 01:48.160
Huge assemblies, circuit board, integrated into it, into the design, a lot of moving parts.

01:48.160 --> 01:57.760
Fabricated, in fact, again, this is completely free-cad pushing the cam workbench to its

01:57.760 --> 02:00.480
limits with some of this stuff.

02:00.480 --> 02:06.280
This is from Robo Exodica last year, which was fun event, highly recommended.

02:06.280 --> 02:14.520
I'm also a longtime Cicad user, not EE by any means, I'm just a hobbyist.

02:14.520 --> 02:21.360
Maker, if you will, got really into the designing badge scene, the badge life scene, in which

02:21.360 --> 02:24.360
I designed the Cuccophony.

02:24.360 --> 02:33.320
This is a design that kind of drove me mad, I didn't touch Cicad for almost a year after

02:33.320 --> 02:34.320
this.

02:34.320 --> 02:40.320
This project was so difficult, and trying to get it across the finish line for Deathcon,

02:40.320 --> 02:42.520
I don't know, 2018.

02:42.520 --> 02:49.600
It was incredibly difficult, because this design had become so complicated, the 3D structure

02:49.600 --> 02:58.000
was built in free-cad, and then trying to do the circuit layout while pushing DXF files

02:58.000 --> 02:59.000
back and forth.

02:59.000 --> 03:05.840
I got to this point, in the end, I'm trying to do panelization, and I'm so terrified to

03:05.840 --> 03:12.720
touch anything, because one wrong week somewhere and just things were blowing up all over

03:12.720 --> 03:13.720
the place.

03:13.720 --> 03:20.080
It was a really, really, really painful process, and this project never got completed because

03:20.080 --> 03:21.080
of that.

03:21.080 --> 03:25.440
There was a couple more things, one more revision would have gotten a lot done, but it just

03:25.440 --> 03:31.760
wasn't happening with the state of the process.

03:31.760 --> 03:37.040
So that prompted me to start trying to build tooling to assist with this, so I had some

03:37.040 --> 03:44.240
one off Python scripts that would take a footprint that was a bridge connector, and it

03:44.240 --> 03:48.280
would draw lines in between them, it would put the mouse bites in there, it worked, do a

03:48.280 --> 03:55.160
degree, but it was all very, very one-off and very custom, so it didn't have broad enough

03:55.160 --> 04:02.480
support for some of the other projects that I had coming up in the pipeline.

04:02.480 --> 04:07.760
In fact, I regret not getting pictures on here, because I was starting to dabble in moving

04:07.760 --> 04:08.760
part PCBs.

04:08.760 --> 04:15.760
I've made mechanical sliders, I've made rotary purely out of PCBs, no 3D printed parts,

04:15.760 --> 04:20.200
no nothing, but entirely, mechanical parts entirely in PCB.

04:20.240 --> 04:25.720
So some of my next designs were going to be that complex, and my tooling just wasn't

04:25.720 --> 04:27.080
having it.

04:27.080 --> 04:33.680
So I'd started on what would have been connected to my 3rd attempt at making some

04:33.680 --> 04:36.920
making a tool that fits my needs.

04:36.920 --> 04:41.160
The first time around, I was trying to use KaiKat step up, if anyone has actually used

04:41.160 --> 04:49.720
that in Greekad, it has its own KaiKat file parser, so it's doing all of its own parsing,

04:49.720 --> 04:53.640
drawing the geometry, and bringing it in to free CAD.

04:53.640 --> 04:58.560
It can push back, but it's the same thing, it writes its own files, so it's highly dependent

04:58.560 --> 05:06.080
on keeping up to date with KaiKat, and sometimes falls behind in that, but then additionally

05:06.080 --> 05:15.000
it has a specific workflow designed, and it doesn't lend itself well to be embedded

05:15.000 --> 05:16.000
into something else.

05:16.000 --> 05:21.840
So I'm trying to create a bigger workbench around it, so I need something that was more

05:21.840 --> 05:23.120
embeddable, if you will.

05:23.120 --> 05:30.760
Something I can use as a module, not just use as the tool it was intended for.

05:30.760 --> 05:38.680
Let's see, so I introduced this project, KaiKat last March, I'd been about 3 months into

05:38.680 --> 05:44.880
it at that 4 months into it at that point with the release of KaiKat version 9, and having

05:44.880 --> 05:51.040
a stable API, it gave me a good foundation to start moving forward with.

05:51.040 --> 05:55.480
So yet it's the recap of it, it was just general introduction, just kind of the high level

05:55.480 --> 06:00.720
of the background of why I started down this pathway, a roadmap, I was trying to release

06:00.720 --> 06:09.320
this, the version 1 last August, but life and everything else happened, so didn't have

06:09.320 --> 06:14.480
as much time to work on the second half of last year that I had wanted, but progress did

06:14.480 --> 06:20.280
pick up around that time and put a lot more in the second half of last year, got a lot

06:20.280 --> 06:26.800
of the major bugs and a lot of the usability features, figured out and really started

06:26.800 --> 06:33.240
pushing the core of the code to try to get something really stable moving forward.

06:33.240 --> 06:38.560
Around that same time Auguster September, I applied for a free CAD project association

06:38.560 --> 06:39.560
grant.

06:40.480 --> 06:45.920
I did get a briefed of it for it in December, but my general proposal was to commit

06:45.920 --> 06:52.760
100 hours this year to working on this project, started basically starting with getting

06:52.760 --> 06:59.080
the version 1.0 released, that's kind of around the corner, yeah except committed 100 hours,

06:59.080 --> 07:05.000
I've already started on the contract just a few weeks ago, I really started getting on

07:05.000 --> 07:11.400
it and Ernst, committing 10 to 10 hours a week, sort of part of it, broken it up into

07:11.400 --> 07:16.880
three distinct working phases, and a big part of it is I want to try to live stream as

07:16.880 --> 07:18.760
much of it as possible.

07:18.760 --> 07:24.080
I've already done two of them so far and after I'm back from vacation, I'm going to,

07:24.080 --> 07:28.600
you know, two live streams and I had to take a break, so you know, need a vacation.

07:28.600 --> 07:33.560
So I'll be getting back to that in three weeks or something and then it went actually

07:33.600 --> 07:42.360
interested, Thursday, it's 9 a.m. Pacific time, UTC minus 8. And so with a lot of the

07:42.360 --> 07:53.480
base stuff kind of looking good, version 1, I hope to have my mid-market the latest, depends

07:53.480 --> 08:00.800
just kind of how things go jumping back into it, after I'm, after I'm back home, I can

08:00.800 --> 08:08.520
say there's three different phases of how I decided to break up the development. A lot of

08:08.520 --> 08:16.120
it was said is really getting the core infrastructure solidified, so then I've got a good

08:16.120 --> 08:21.840
base to move forward on, kind of the whole project, despite there's a lot of different

08:21.840 --> 08:26.120
parts of it, they all look very similar under the hood, it's take Kai-Kai-Ka-Giammetry

08:26.160 --> 08:33.240
and produce free CAD, geometry out, vice versa. So getting a really good base, base

08:33.240 --> 08:38.080
class system has been really important, I would want to get that looking good from the

08:38.080 --> 08:46.040
get-go, so so far I'm pretty happy with it. Documentation, just kind of getting started

08:46.040 --> 08:52.640
that's getting some improvement now and it's going to be a big part of the 1.0 release.

08:52.640 --> 08:56.600
I hadn't really been doing that the start because the direction was kind of all over

08:56.600 --> 09:02.120
the place. With that user feedback isn't quite there, so that'll be something that's

09:02.120 --> 09:11.760
going to be improved on. Translation support, free CAD is using the QT under the hood, which

09:11.760 --> 09:17.080
has good translation support built in. There's stubs throughout the code now, I want

09:17.080 --> 09:26.040
to get everything with translation support from the get-go. Project files need some cleanup,

09:26.040 --> 09:31.160
despite the fact that I've been professional Python developer for a decade, not actually

09:31.160 --> 09:35.240
that good at releasing modules, I've never actually pushed anything to PIP, so there's a

09:35.240 --> 09:41.280
little bit of work to do around that, if anyone is very familiar with that, holler at me.

09:41.280 --> 09:45.760
And once those kind of things are underway and especially once the project files are cleaned

09:45.760 --> 09:52.760
up, we'll push 1.0 to the add-ons. Again, this is the goal for this is a month from now.

09:52.760 --> 09:59.480
The pretty sure I can pull that. Then start pushing into some of the bigger parts of this,

09:59.480 --> 10:06.920
the phase 2, improving the hierarchy of the parts to boards relationship, but there's

10:06.920 --> 10:11.360
more to it than that. It's just effectively getting everything relatively positioned correctly.

10:11.840 --> 10:16.280
There's different ways of thinking about this. Like, you know, guy CAD, we all design in the

10:16.280 --> 10:21.080
center of the document, despite the fact that 0-0 is over there, free CAD is 0-0 is in the

10:21.080 --> 10:28.520
center everywhere, so there's options of how an individual user wants to handle that.

10:28.520 --> 10:35.840
And particularly once you start looking at, I've got multi-document support here, but

10:35.920 --> 10:43.920
multi-bored support, obviously, I'm doing big stupid things like this. So I want to be

10:43.920 --> 10:50.320
able to work on all of these boards in one document or in multiple documents and be able

10:50.320 --> 10:58.960
to easily assemble them together in the manufacturerable panel at the same time, I may

10:58.960 --> 11:04.960
be able to actually do a 3D assembly because that's my goal. There's a lot of useful

11:04.960 --> 11:14.120
stuff for other people. My goal is to be able to do weird 3D PCBs. As of now, I only support

11:14.120 --> 11:19.400
polygons, which I suspect most people in Kikater are not using yet. There's somewhat

11:19.400 --> 11:25.480
new. I think a lot of people are just going to be using discrete line segments, not 100% sure

11:25.480 --> 11:30.880
there, but I look back and most of my projects have discrete line segments until just a couple

11:30.960 --> 11:36.680
years ago. Internal cutouts and stuff aren't supported yet, so you know, bounding box detection

11:36.680 --> 11:42.320
needs to get done, line segment ordering needs to get done. Those two are pretty closely

11:42.320 --> 11:50.560
related, so I hope they'll come through similar times. And the note of like island support

11:50.560 --> 11:56.600
and bounding box detection, hopefully be starting on prior to the phase two. Some of

11:56.600 --> 12:09.880
this stuff might actually even make it into the 1.0 release. Then the phase 3, improving

12:09.880 --> 12:17.480
the part-to-vort association, that's this sort of repetition, the same thing. There's

12:17.480 --> 12:24.480
a lot of new wants going on. Sorry, so this is for multi-board, so one of the hang-ups

12:24.560 --> 12:32.240
now is that parts are just sort of parts. So if you had multiple boards in your Kikater

12:32.240 --> 12:38.880
project, all the ports just sort of parts get imported together. So better support on these

12:38.880 --> 12:46.560
parts belong to this board, so that'll make a particularly one multi-document support comes

12:46.640 --> 12:55.600
through. That'll, that'll be critical to, you know, keep everything straight. All ready,

12:55.600 --> 13:00.240
there's a little bit of roadbapping going on, because I just want to keep ahead of, I know

13:00.240 --> 13:09.840
this code isn't the best right now. The free CAD, free CAD scriptable object state PI is kind of

13:09.840 --> 13:15.040
interesting. It's complex and it's under documented, so I'm learning a lot the more I dive into

13:16.000 --> 13:20.960
there's also some short coming in the Senate that part of this is, you know, I want to submit

13:20.960 --> 13:27.520
bugs and hopefully even patches to free CAD to overcome some of the shortcomings that I'm having

13:27.520 --> 13:33.280
to work around. Test coverage, there's already a little bit of testing, but I really want to make

13:33.280 --> 13:40.960
sure by the end of the grant process that I have good test coverage going forward. I'm hoping

13:40.960 --> 13:46.560
that, you know, other people will be contributing by that time, so having a good testing,

13:46.560 --> 13:52.400
even just work I did two weeks ago. I realized last night I introduced, introduced the bug,

13:52.400 --> 14:02.240
so trying to get, yeah, more consistency there, exploring CAD side add-ons, that's kind of

14:02.240 --> 14:08.320
something I want to start experimenting with, because there are some shortcomings in the

14:08.320 --> 14:15.040
KaiKat API, in particular one of the issues that I've seen and I think it's going to continue

14:15.040 --> 14:22.640
to be an issue is there's no way of passing events. So one of the things that I see that I would

14:22.640 --> 14:30.320
like is like if you click on a part in either side, I would like highlighting free CAD to KaiKat,

14:30.320 --> 14:36.480
this is possible, but it's not possible the other direction, and the bug I submitted on that seems

14:36.480 --> 14:44.560
like it's not going to be available in the near future in the API directly. So I want to explore

14:44.560 --> 14:54.240
doing a KaiKat side add-on that is going more into the UI layer, so seeing if we can actually

14:54.240 --> 15:02.320
start capturing some of those events. Yeah, so that'll take me through the grant and I think

15:02.320 --> 15:10.560
I'm committed to the grant to about April or May, so I'm hoping that most of the stuff will be

15:11.760 --> 15:18.320
early started in a good shape by the time that comes around. What else have we got here?

15:20.080 --> 15:25.440
Yeah, coming up next, plan for the version 3 rewrite, because it will probably be

15:26.240 --> 15:34.080
probably a necessary. And then it's really going to be starting to add features onto the base

15:35.040 --> 15:41.600
that's already been created when I gave the talk at KaiKat, KaiKat, got a lot of feedback on features

15:41.600 --> 15:46.800
that people would want somewhere already on my radar, others weren't. Test fixtures generators,

15:46.800 --> 15:54.800
so just one click that of nails, fixtures, like that's almost a given given. You can set up a second

15:54.800 --> 15:59.760
object and as your board changes, it will just always be up to date. So that's one of the goals.

15:59.760 --> 16:06.240
And it brings one of the things I really see being beneficial in multi-document support is you've got

16:06.240 --> 16:12.240
your main project, you've got the KaiKat interface that's just outputting your band nails to a

16:12.240 --> 16:21.760
completely separate file in the background. And with the upcoming issue, the eventual release of

16:21.760 --> 16:28.880
KaiKat version 10, there's going to be one huge benefit in there that the KaiKat CLI is going to

16:28.880 --> 16:35.920
incorporate API support. And this is going to be the basis for most of the multi-document,

16:35.920 --> 16:40.480
where then you can just for every document that you have, it's just going to launch

16:41.920 --> 16:47.200
KaiKat CLI in the background. So you can have as many documents as you want at that point.

16:47.200 --> 16:54.640
And you won't, you won't even need the interface. If you're only doing, if you're only doing

16:54.640 --> 17:00.320
the MCAD side, you can tweak your heart's desire, you don't even need KaiKat running.

17:02.560 --> 17:08.080
Automatic closure creations, this could be done in a handful of different ways on the free

17:08.080 --> 17:15.520
CAD side, down to like the simplest of just creating a 3D bounding box. You know, you tell

17:15.520 --> 17:20.640
it what offset that you want and it's just going to give you a solid. That's a bounding box

17:20.640 --> 17:25.840
of your model. You can Boolean negative out of whatever you want. Simple enclosures ready to go.

17:25.840 --> 17:30.880
Panelization, that's going to be just a huge part of it. I'm going to do my best to

17:34.400 --> 17:40.960
utilize KaiKat. If anyone's used that, KaiKat is a really, really good panelization tool. So I want

17:40.960 --> 17:47.440
to utilize that. And starting point, just using it as it's intended is really straightforward.

17:48.880 --> 17:53.680
The real hackery that I want to get to is this again. Being able to use

17:53.680 --> 18:00.960
use KaiKat to take different panels and panelize them together. I've dug into their code a little

18:00.960 --> 18:07.360
bit and it looks, it's in the realm of doable. So just how much hacking it will take.

18:08.320 --> 18:17.920
Support for other e-cats. The way I'm designing things now, I'm trying to keep the import

18:17.920 --> 18:23.200
disynchronization, the sink in sink out. I'm trying to keep very modular because I wanted to keep

18:23.200 --> 18:29.520
in mind in the future of supporting other things. And then the prior talk is really, really interesting

18:29.520 --> 18:38.800
IDX support, that is something that could fit within this quite well. A whole bunch of other stuff.

18:38.800 --> 18:44.560
There's the code is all hosted on codeburg. I should put them on slide. Code is all on code

18:44.560 --> 18:52.720
burg. So go look at the issues, go report something. What do we got? I'm going to do a live

18:52.720 --> 18:58.640
demo. I fixed a bug while I was sitting over there too. What did you do too? The one I

18:58.640 --> 19:12.000
introduced last week. They got a one. One by test PCBs. Okay, look at that. Hey, there's a 3D viewer

19:12.000 --> 19:20.720
they can't do anything with except for export steps. So for a high level, people are not so

19:20.720 --> 19:27.600
familiar with free CAD. It uses a system of workbench which is add-ons, specific workbench for

19:27.600 --> 19:33.360
kind of specific workflows. And that's how we've been developing this. There will be all those

19:33.360 --> 19:38.960
tools that I've talked about, panelization and bed of nails. So this will be different parts of the

19:38.960 --> 19:47.840
workbench itself. And again, this is the way that the KaiKad V9 API works. It's a live API. So

19:47.840 --> 19:58.640
it's communicating directly with your running instance. So step files take a little bit along.

19:58.640 --> 20:03.840
The actual parser and the loader is extremely quick. It's the loading the step files that

20:03.840 --> 20:12.800
actually took most of that time. So yeah, there we go. We have a PCB imported and we can go

20:12.800 --> 20:21.360
click all the way down. Auto-constraining is already in there and there's different options that

20:21.360 --> 20:26.160
you can do for auto-constraining. So you know, it's constrained lines. It's connected all the

20:26.160 --> 20:32.320
vertexes together. So try to keep things clean and tidy and then this is even just a good way

20:32.320 --> 20:39.040
if you want good constraints in KaiKad. Just load your PCB over, add all of your constraints,

20:39.120 --> 20:43.760
and then you can push every time you push back, those constraints will just be there.

20:43.760 --> 20:54.720
Dimension all are all sorts of stuff. So, and that's not pretty enough. Let's go real art.

20:54.960 --> 21:19.440
And then, hey, there we go. That's not that. So yeah, it does work. And then that was dumb though.

21:19.440 --> 21:26.080
So then we can pull it back over. So that's the bidirectional support. A lot of the focus recently

21:26.080 --> 21:31.680
has really just been around board outlines. It is pulling, as it is pulling in parts right now,

21:31.680 --> 21:39.680
but it's just any major changes and I want it trust that. But as the sketch and the board outlines

21:40.080 --> 21:47.440
have really been informing the basis of everything at the moment. As that work is kind of nearing

21:48.400 --> 21:53.200
satisfactory completeness. I'm going to start revisiting the other stuff. There's already

21:53.200 --> 21:58.400
base work on traces and graphics and stuff. But again, I want, as I said at the beginning, I want

21:58.400 --> 22:06.800
to get those base classes really saddled. And then I'll start revisiting those parts of it.

22:08.160 --> 22:15.440
So yeah, a lot of cool stuff in the pipeline. Huge thanks to the FPA for helping me work on this.

22:16.400 --> 22:22.640
I had a really tough financial year last year. So having the grant come through was a big deal.

22:23.280 --> 22:34.160
And I've done any how. You didn't even need to hold that sign up. So questions.

22:35.760 --> 22:36.240
All right.

22:36.720 --> 22:53.840
Hi. You mentioned like cases and enclosures and things like that. And I've used the both

22:53.840 --> 23:00.560
Kai-Kad and Fee-Kad independently, but I'm also a big open S-Kad user, especially for

23:00.560 --> 23:09.440
like iterating on cases, motor mounts, things where you can just like script something,

23:09.440 --> 23:15.680
get a dozen different versions. As an STL, I exported out in front of it. And I just pick from,

23:15.680 --> 23:23.120
you know, so any plans for earth thoughts about, you know, up in S-Kad integration.

23:23.680 --> 23:28.320
We'll just off the top of my head using the OpenF-Kad work badge in free-Kad.

23:29.280 --> 23:34.000
You could just do a Boolean. So like the example I gave, if we could create,

23:34.800 --> 23:40.240
automatically create a 3D bounding box that takes all your components into consideration as well,

23:40.880 --> 23:45.360
make a solid out of that. You could just do a Boolean negative on whatever your,

23:46.160 --> 23:50.000
OpenS-Kad output is. And again, like it would be something that

23:51.760 --> 23:57.040
you could just continually update and the Boolean would just be correct along with it.

23:58.320 --> 24:02.000
So yeah, that would be one easy way off the top of my head. Beyond that,

24:03.280 --> 24:10.240
I don't know enough OpenS-Kad to see exactly how it would be integrated into that itself.

24:12.000 --> 24:15.600
Okay, what's just fine? Because I don't really know all that much about, I don't know as much

24:15.600 --> 24:23.920
about Fee-Kad either, so. So it does have an OpenS-Kad work badge, and it puts free-Kad solids.

24:24.000 --> 24:28.480
So then, yeah, Boolean operations would work right out of that. Okay.

24:34.720 --> 24:41.360
Other questions? You got lots of time. Oh, here's a, surely a tough one from Climit.

24:43.760 --> 24:49.520
Don't make me fall off the stage. No, no. Yeah, so what are you missing in terms of

24:49.520 --> 24:53.600
functionality in free-Kad and Kee-Kad that would make your life much easier?

24:56.720 --> 25:00.000
It's really just that synchronization of multiple parts.

25:02.560 --> 25:08.000
And then also to be able to, to be able to view the same parts in different ways. So like,

25:08.000 --> 25:13.680
when I designed the cacophony, I designed it like this. It was in 3D, like 13 panels

25:14.400 --> 25:22.160
in this 3D form. And then I would have to break them all down flat. I had a second view where there were

25:22.160 --> 25:28.560
clones of all the same parts, but then they were laid flat. And then what I was missing was that ability to,

25:28.560 --> 25:36.560
I want a one-click third view that's the bridges, the panelization parts that bring everything together.

25:36.560 --> 25:42.560
That was always the goal of this. And then just everything else to get to that point is useful for other people.

25:43.200 --> 25:46.160
That, for me, that was the big, just kind of missing feature.

25:49.760 --> 25:52.560
Lots of ugly Python scripts to attempt to address it.

25:59.520 --> 26:00.560
Give me a work out here.

26:01.200 --> 26:03.200
Okay.

26:08.480 --> 26:11.680
Hi, great work. Thanks for, thanks first of all.

26:13.840 --> 26:23.520
What happens if you changed the border of the board in Kee-Kad and imported back?

26:23.520 --> 26:29.200
And what does it do to top a naming problem, like introducing new edges and that kind of stuff?

26:31.040 --> 26:35.280
It would be really pedantic and I've been avoiding trying to say this for a long time.

26:35.280 --> 26:40.000
And I think you and I and a lot of free KAD people should be on the same page.

26:40.000 --> 26:44.800
Top of topological naming solution. The problem is a name by reference.

26:46.800 --> 26:48.080
Yeah, good luck.

26:50.800 --> 26:57.120
I mean, you know what a sticky problem that is. So it's a name by reference by name problem.

26:57.120 --> 27:04.000
So if your names are going to be changing, you're going to have, you're just going to have the

27:04.000 --> 27:05.360
problems that come along with that.

27:09.040 --> 27:15.760
So do you recommend them to just update it in free KAD? Or, you know, is there, so it's not fully

27:15.760 --> 27:19.680
bidirectional, perhaps? Maybe it's better to change it in free KAD?

27:19.680 --> 27:25.680
Yeah, and it depends on what your, what you're doing in the long run.

27:25.680 --> 27:29.040
Like, what your workflow looks like and what your goals look like.

27:29.040 --> 27:34.480
But for me, I would probably, my workflow kind of looks like I'm going to do my very first rough

27:34.480 --> 27:40.640
pass in KAD. And then everything else is going to be done in free KAD. And it will just be a push

27:40.640 --> 27:48.240
process after that. Board outlines one way parts the other way is almost certainly how I would

27:48.240 --> 27:53.920
be approaching it. And then I don't think I'm like trying to picture away where I would be

27:53.920 --> 28:03.040
a situation in which I would be doing reference by name on to my PCB. Because again, I would

28:03.040 --> 28:10.880
use something like doing a 3D bounding box and a bullion. So then you don't have to do a geometric

28:10.880 --> 28:18.240
reference. You've just got this object that that references your entire part. And that's just

28:18.240 --> 28:26.240
my free KAD workflow in general. I avoid geometric references as much as possible.

28:30.560 --> 28:40.880
More questions? All right. Oh, no. I should have put two names in there.

28:41.360 --> 28:51.360
If you have, like, if you're working on a project, I've worked on a project where I had a really

28:51.360 --> 28:58.400
fixed constraint there, we have for an enclosure. Is there any way and then endlessly sort of

28:58.400 --> 29:04.160
swapping components in my KAD? Is there a way for there to be like a collision warning that

29:04.160 --> 29:09.680
pops up that doesn't sort of update your, it just tells you that new component is going to

29:10.240 --> 29:16.960
Yeah, that I don't know the answer to that. But that is in my features list already. That was one of

29:16.960 --> 29:22.320
the suggestions that I got at Kicon as well. Is, yeah, just straight up collision detection.

29:22.320 --> 29:26.960
Yeah, yeah. I'm sure it's achievable. I just haven't quite looked into what it would take.

29:27.600 --> 29:30.960
And there's probably a handful different ways to approach it. Super nice feature.

29:30.960 --> 29:32.960
But yeah, it's on the features list for sure.

29:40.640 --> 29:44.400
All right. Thank you very much, Morgan. Yep. Oh, it's big y'all.

29:49.840 --> 29:52.960
And if you want to check out the company, I've got both the 3D and

