Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X
Is there a way to see in which assembly’s a part is being used?
I have creo parametric 2.0. I don’t seem to have PDM link what is explained in the question of Mike Minsterketter.
Solved! Go to Solution.
It looks like it is running, but this is the new message:
It did open up a notepad file.
Do you have permissions to create a file in G:\ ?
If not, you'll have to create the text file somewhere else - try C:\whereused... in both occurrences.
Putting it to a sub directory on the local hard drive worked. It might have been messed up with that whole DOS cannot have directories longer that 8 characters thing.
Thanks,
FAT16 file systems are limited to 8 characters.The interface you are using isn't DOS, but CMD. Most likely there is a permissions setting to keep you from creating files at the top level of G:,
From the run:
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1013_6100.asm.5
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1019_1000.asm.167
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1019_1000.asm.168
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1019_1000.asm.169
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1019_1000.asm.170
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1048_2000.asm.133
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1048_2000.asm.134
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1048_2000.asm.135
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1048_2000.asm.136
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1053_7000.asm.5
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1111_9000.asm.8
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1113_9000.asm.358
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1113_9000.asm.359
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1113_9000.asm.360
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1113_9000.asm.361
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1179_0000.asm.45
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1179_0000.asm.46
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1179_0000.asm.47
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1179_0000.asm.48
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1183_7000.asm.26
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1183_7000.asm.27
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1183_7000.asm.28
G:\Engineering\PROE_DATA\A_A_Proengineer\.\1183_7000.asm.29
G:\Engineering\PROE_DATA\A_A_Proengineer\.\300752ctn.asm.6
G:\Engineering\PROE_DATA\A_A_Proengineer\.\300752ctn.asm.7
Thanks again,
(and by the way, don't forget to close out of the systems window)
Dale
One other quick question. If it returns a notepad file that is empty, does that imply that the file is not used anywhere?
Presumably! Provided without warranty so if you lose data on the back of this, it's not my responsibility...
I just wanted to say "THANK YOU!!!" for this where used .bat program. It has made a ton of difference in house keeping. When I came to an old model before, if I didn't feel like playing Sherlock Holmes, I would just move on. Now I can run the program 3-5 times. Once each for the parent model and some of the components in that model and I find out they are all related, from a project 15 years ago that never took off, that was left like debris on the tarmac.
FYI:
The "Where Used" not only list which assemblies the instances are listed in, but will also list the assemblies that the assemblies that the assemblies....... you get the picture.
It list everywhere it is found in an assembly no matter what level.
I have a second CAD system. When I try to go to the "Open System Window", it pops and closes with the following error:
Logout of process to leave operation system.
This does not occur with the primary cad system. Any thoughts?
Thanks,
Dale
I spent some time making a batch file that gives me the results I want, and adds to the output file for any new inquiries I want to make, etc. It's as follows:
--- [ Begin File ] ---
::
:: Builds a list in a file with the complete filenames of any assembly that
:: contains the expression specified.
::
:: Usage: whereused target [filename]
:: target = the target string to search for
:: filename = optional output file name. If no name is
:: provided, the default "results.txt" will
:: be used.
::
:: Note: If the output file already exists, any new results are appended to
:: the end of the file. In this way, a batch file could be used to find
:: a number of parts and save all the results in a conglomerated report.
::
@ECHO OFF
::
:: Do the initial setup stuff for the run.
:: * Save the input string to a variable.
:: * Write the search string and some delimiter characters to the results file.
:: * Trigger a search of all subdirectories.
::
set strSrch=%1
set "fileRes=%CD%\results.txt"
if NOT "%~2"=="" (set "fileRes=%CD%\%2")
echo Saving to "%fileRes%"
if NOT exist %fileRes% echo. > "%fileRes%"
echo ------ %strSrch% ---------------- >> "%fileRes%"
echo. >> "%fileRes%"
for /r /d %%d in ("*") do call :doDir "%%d"
echo. >> "%fileRes%"
exit /b
::
:: Using the directory stack, changes to the target directory. Checks to see
:: if there are any assembly files and if so, processes them. Once done,
:: "pops" back to the original directory.
::
:doDir
pushd %1
set dirName=%1
if exist *.asm.* (call :doCheck)
popd
exit /b
::
:: Performs the searching operation and outputs any positive results to the
:: output file.
::
:doCheck
echo Checking %dirName%
for /f %%a in ('findstr /I /M %strSrch% *.asm.*') do echo %dirName% : %%a >> "%fileRes%"
exit /b
--- [ End File ] ---
If you want to use it, just paste the stuff between the "Begin File" and "End File" markers into your own ".bat" file. As mentioned previously, it's really slow, but it works. No guarantees as to effectiveness, etc. DOS batch is an arcane and clunky interface, isn't it.
I know this is a solved topic, but i worked with my company's IT sensai's to make a batch file that we liked for this issue.
The batch file is attached. Copy it in the root of whatever drive/folder you want to search and it will come up with all files that the name you search for is used in (limited to that drive/folder).