Altium vs KiCad

I think this is getting quite off-topic for a thread about Altium, though. Those who use it know that it isn’t exactly fast, especially when using things like database libraries.

2 Likes

I hadn’t realize this because I never load installed libraries at all. I use a little minimal library (symbol, footprint and 3d) for each project. If I need to add something new then I pick it from installed libraries and that’s it. Something similar than Altium Integrated Library I guess.

everyone has a different approach to libraries, the fact that you use 30 components with different platforms is relevant only for your project, but what if there are 300 such components? Or are several developers working on the project? The difference is that 30 or 300 for Altium is not fundamental in terms of performance, unlike the one discussed. The more complex the project, the more and more you lack capabilities and you run into limitations. If you really look, there is practically no difference between versions 6 and 9 in terms of performance, and the limitations that were there have remained. This is a well-known fact, it is neither good nor bad. The fact that there is saturation with new functions is a good thing, but it does not cancel the solution of fundamental problems. This is my personal opinion

@m852: I would like to learn more about this, but so far you have been very vague, saying things like “The issues are well known” and that they are “fundamental”. Well, they aren’t well known to me and, from what I can tell, the other participants in this thread are also unclear about what you are getting at.

Would you be kind enough to give a list of specific issues and shortcomings, so we can have a proper conversation about them? Otherwise it’s hard to know how to respond to your assertions.

For interfacing with the outside world I create a footprint (type:other) in the project specific library that contains the 3D model of something that is assembled on the board and might collide with other components. During placement I have the 3D viewer open and check after I have placed or moved the part. This is close enough for me.
If a mechanical part is connected with the PCB I will also add the proper mounting holes, cutouts in the footprint. This way I can to plated mounting holes, … where I want them and always have all mounting holes relative to the mechanical part. So my Edge Cuts do not have any holes. If my mechanical engineers adds them to tell me where to place a connector, I will move these holes from Edge Cuts to UserX layer for reference. The real hole always comes from the footprint.

To work with height constraints you can create a step model with the height available (-tolerance) as a thin foil. Adding this the same way as described above will allow you to check if a component can be place a certain position.

Visibility for “other” footprints can be switched on/off in 3D Viewer. So when you have finished placement they can be turned off. Alternatively visibility can be configured by using DNP proporties. There is also a radio button for visibility in 3D-viewer.

Best practise for me is to also define a footprint for PCB and all mech. parts and add this to the schematic. This way I can make sure that they will not accidentially be removed when updating the PCB (depending on settings for update). Also If it’s something like a heatsink you also want this to be in your BOM file as well.

My biggest issue is the per layer trace width for a net class. Inner layers and outer layers are often different to match a giving impedance.

You can do this in the KiCad DRC system without too much trouble, but you do have to write DRC rules. The second example in the DRC rule syntax help is a per-layer netclass clearance rule - you can adapt that for your needs.

This is covered here Altium vs KiCad - #22 by JamesJ

This works as I just tried this to permit breaking out of an ADC and tracking to the relevant points

Presumably it’ll be like kml/km?

Ie, a kmz is literally just a zipped kml with no changes.

The less good thing, except from being quite a mess functionally, it the looks of the DRC/ERC in KiCad. I have not seen it in Altium, but in Eagle it was clean looking and easy to use.

Edit: Just checked a video about Altium DRC, seems very complicated, for no reason in this case, 1000 options in a scary GUI environment and quite unclear how to fix the errors if you don’t want to stay up the whole night to check everything for this simple PCB. KiCad DRC is now wonderful :slight_smile:

in altium everything was initially based on design rules. A large number is necessary for complex and multi-board projects. Especially useful when working in a group of developers.

I should also charge for PCBs based on how many design rules there are, I dunno why I never thought of that before

2 Likes

Why not to purchase KiCredits and spend them on desgin rules?