I have brought in 2 PCBs (via step file) from Altium and saved them as assemblies. When 1 is open and you try to open the 2nd it confused and tries to grab the parts and locations from the first. Help.
That sounds less than ideal. If you have both assemblies saved. Close SW, go to Windows Explorer and navigate to assembly 1, right click it and there should be solidworks on the list, it will expand out to have a pack and go. Pack and go the assembly with all parts and add either a prefix or a suffix to the generic filenames SW has issued. Repeat for assembly 2.
they are already, but thanks.
If the parts are identical, it should not matter because they are the same. In SW no different parts should ever be named the same. This is because of the file searching procedure that SW does to find something. Do not treat part numbers the same way that Windows Explorer does - file XXXX in a particular windows folder may be treated the same way that file XXXX is in any other folder. In short, use unique file names for every file to avoid problems.
Unfortunately when you import a step file with multiple bodies SW creates an assembly and applies generic filenames to the parts. Though you might be able to turn that off, I can't recall if I've tried that.
That is difficult. It is Altium that gives them their name upon export. Changing it after the fact means changing names to hundreds of components. I thought that part location was hard-coded? I am using the boards in assembly drawings. I can same them as a part, but then that makes it all surfaces and I can never alter it again (Correct?). BTW, does anyone know why when things are brought in as step files, all relations are blown away? Is there some other way to accomplish my end goal?
Solidworks cannot have two "identically named yet different" files open in the same session of Solidworks.
As Bjorn Hulman already pointed out, your best option is to use Pack&Go as a round-a-bout way of bulk renaming all the files of each assembly so they have a prefix of postfix that makes them unique and thus eliminates your problem.
Step files, parasolid files, iges files, and all other various "universal file formats" are commonly known as "dumb solids"...they strip all relations away and leave you with a "dumb" part/assembly.
Open your assembly, select all the components in the feature tree, right click, and select 'Make Virtual'. Now all the components live inside the assembly. Your board is one file (instead of hundreds) and there will be no conflicts between assemblies with the same components because there are no physical files getting in the way.
That's exactly what I was thinking originally. What ends up happening is that when Altium saves as a step, the reference designator (location) is saved as a sub assembly and the library part name as a part and t won't let me go virtual. It's be so much easier if it did.
William Peters wrote: That's exactly what I was thinking originally. What ends up happening is that when Altium saves as a step, the reference designator (location) is saved as a sub assembly and the library part name as a part and t won't let me go virtual. It's be so much easier if it did.
William Peters wrote:
I'm not sure I understand the problem. If I have an assembly (PCB.sldasm) and it has two subassemblies (U1.sldasm and U2.sldasm) each of which contains the same LED.sldprt, I can right click on either subassembly (or both), select 'Make Virtual' and the following dialog box is shown:
Select the second option and the feature tree looks like this:
If this isn't what you are trying to do, show a simple example so that things are more clear.
for some reason I don't get that dialogue box, I get this one.
1. Open assembly #1 and save it as a Part (Name 1).
2. Quit SW
3. Open assembly #2 and save it as a Part (Name 2).
Both parts will be editable, but BOM will be not available
William Peters - Multiple files of the same part and the same part name can be an excessive waste of time. This is what I would do..
Put both assemblies and all the parts into one file using File Explorer and then Delete one copy of the duplicated parts, close File Explorer, open SolidWorks, Open Assembly number 1 and all the parts should load ok then Open Assembly nnumber 2 and if the assembly opens and no parts then it will ask you to find the parts, go to the folder and select the right part and you should be good to go..
These are not multiple files of the same part, these are multiple parts with the same name. Altium names it. exp. the wafer board i named board. if there is a assembly open with a different part named board, it'll use the first. This wouldn't normally be an issue except I am building an assembly containing multiple boards. I would like to go virtual to avoid all of this, I just can;t virtual the parts within the sub assembly and I have hundreds of subs.
Is there any reason you want to keep all the individual parts and sub-assemblies? Our method here with PCB imports is to do exactly what Vladimir suggests above. From my point of view it's best to let Altium handle the PCB BOM, the assembly structure it exports is an absolute mess.
As Bjorn Hulman and Doug Seibel have suggested, you could do a Pack and Go, adding a prefix or suffix to each file all in one step, which should be a simple way to solve the problem. I rarely work with imported files, but is there some reason I'm not aware of why that wouldn't work for you?
Actually, what you have said has jogged something in my brain. My issues was that I was trying to get Altium to apply the suffix to the parts and assemblies, and it was only applying it to the upper level sub-assemblies and not the lower level parts, which means I still had same named parts. Similar to I did a Save As... to the assembly from step and I remembered the include parts and suffix/prefix options, similar to pack & go,which worked (yay!).
That is problem 1 of 2 solved, Thank You.
So, I tried letting Altium handle it and it only renamed the sub-assemblies and not the parts. I used the solidworks function and it worked and added suffixes to all levels.
This still leads me with 226 files, over 200 of which are sub-assemblies. I try to make the virtual, but in assembly it only allows me to make the subs virtual and not the parts and I do not wish to open over 200 subs to do it.
I am using 2014. Is the option that Jim Sculley mention not available? I want to keep the subs because they are my ref. designators and directly relate back to the schematics if something needs to be changed in the future. If there was a simple solution here, it would solve both issues permanently.
Not sure if this helps but if you save as part, you still keep all the designator names on the bodies for each component. Some components end up with multiple bodies but each body retains the designator:
Retrieving data ...