Shared *.PrjPcb without libraries still works.  How and Why?  - Page 1
Forum section: electronics / general

author: smoothVTer
author_rank: Regular Contributor
timestamp: October 20, 2016, 04:51:46 pm
content: I've been given a zip'd package from a previously developed project containing *.PrjPcb, *.SchDoc, *.PcbDoc files and I've been able to open/import them into my Altium environment successfully. All schematic symbols and properties as well as all footprints appear to have been imported successfully.What is giving me pause is the fact that no libraries, integrated or otherwise, were part of the package; they exist nowhere in the zip'd archive or anywhere on my computer. Yet all symbol devices still appear, all custom and other footprints still appear, and even the 3D models in the 3D view render correctly.How can this be so? In other CAD packages I've used, if a library and its path are missing, the component has no reference and appears blank in the design. Does Altium save all symbols and footprints and parameters as part of .ProjPcb, .PcbDoc, .SchDoc file? Or is there some other mechanism I am not understanding here? If I have to modify existing symbols or footprints I cannot do it without the relevant pcb and sch libs, is that correct?

author: free_electron
author_rank: Super Contributor
timestamp: October 20, 2016, 05:03:17 pm
content: altium stores a local cache of anything it needs in the schematic and pcb files.this solves the endless missing library problem. has been this was since dos version 1.0 ....

author: matkar
author_rank: Regular Contributor
timestamp: October 20, 2016, 09:55:21 pm
content: Quote from: smoothVTer on October 20, 2016, 04:51:46 pmI vaguely remember Altium has a tool for creating an editable component library (schematic sybols and PCB footprints) from sch and/or pcb files. Search the menus.

author: langwadt
author_rank: Super Contributor
timestamp: October 20, 2016, 10:08:12 pm
content: Quote from: free_electron on October 20, 2016, 05:03:17 pmit also means that if you change something in your library old projects don't automatically use the new partpotentially causing trouble

author: wraper
author_rank: Unknown
timestamp: October 20, 2016, 10:21:09 pm
content: Quote from: langwadt on October 20, 2016, 10:08:12 pmIf they would, that would be a real trouble. The fact you are editing shared libraries does not mean you want to automatically change/screw up all old projects.

author: smoothVTer
author_rank: Regular Contributor
timestamp: October 20, 2016, 10:27:42 pm
content: Thanks for the replys, all.It makes sense to not automatically update symbols/footprints from libraries directly unless the user so chooses. My first spin through the Altium framework. Your inputs are much appreciated.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 20, 2016, 11:55:29 pm
content: You can even edit in-situ, on the PCB anyway:Double-click a component. Untick "lock component primitives". Move around pads, lines, etc. til your heart's content. Remember to retick "lock component primitives".It's kind of hard to add new features (lines etc.) to a footprint. I forget if you can draw within a component context, or group selected items into an existing one. Needless to say, if you're doing any more fiddling than, say, trimming silkscreen from pads or tweaking pad position, you're better off doing it from the library!You don't even need to unlock primitives if all you need is moving pads; select them and enter new coordinates in the Inspector. (It used to be a bug that, when you use PCB Filter to select 'All', and use the M, S command to move everything, it moves the components, AND moves the component primitives the same distance -- so the component primitives get moved twice, blowing up everything!Now you can't move locked primitives, period.)Editing schematic parts is harder, but it may be useful to know you can edit pins from the part dialog. Hit the Pins... button and go nuts. You can change name, designation, length, electrical type and style... even position, if you don't mind entering by coordinates. Most useful example: hiding supply pins on additional parts, because you only ever need one pin doing that job, visually speaking. (You get a warning or error if the hidden pins aren't connected to the same nets, though.)Tim

author: free_electron
author_rank: Super Contributor
timestamp: October 24, 2016, 07:48:18 pm
content: Quote from: langwadt on October 20, 2016, 10:08:12 pmit also means old projects remain intact ! (works both ways ! )