cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Stay updated on what is happening on the PTC Community by subscribing to PTC Community Announcements. X

Global Interference which tool?

pperry
1-Newbie

Global Interference which tool?

Here is the description from the user:


My project is to write a VBA application in Excel that will run a global interference analysis and produce a useable report in Excel. As you may know, the built-in global interference check is nearly useless for large assemblies since it does not indicate the paths of the interfering parts. Thus, if a screw is interfering, there is no way of knowing which subassembly contains the offending screw. Pro/E just says that "SCREW.PRT" is interfering. As you know, we have thousands of screws in the model. This is also true for other parts that are used in multiple places within an assembly and multiple places in different assemblies. Basically, it is really hard to track down where the interferences lie.


Anyway, the VB API appears (according to documentation) to have the ability to get to the component paths once the interference check has been run (yay). However, I get an "unimplemented" error when actually running it (sigh).


Can you please verify if this is truly unimplemented for the VB API? If it is true for the VB API, can someone tell me if it is available for J/Link or Pro/Toolkit? I really would like to pursue writing a useable interference analysis tool, and will consider Pro/Toolkit or J/Link if needed. Furthermore, is this fixed in Creo 2 or in other builds of Wildfire 4 (we are using M220)?


I am open to other methds to solve this. His initial question is how to use ComputeGlobalInterference in Visual Basic and if not is it available in J-Link or Toolkit? My question is this the best method to generate a relationship report for interfering objects and the assemblies/parts they interfere?


TIA.


Patrick Perry -- BAE Systems


This thread is inactive and closed by the PTC Community Management Team. If you would like to provide a reply and re-open this thread, please notify the moderator and reference the thread. You may also use "Start a topic" button to ask a new question. Please be sure to include what version of the PTC product you are using so another community member knowledgeable about your version may be able to assist.
3 REPLIES 3

Hello,


with VB .NET it works as expected.

Usually the syntax of VBA is a little bit different from VB .NET - but it should work like in the example.


See attached file vb.txt


The function ComputeGlobalInterference returnsa sequence of selection pairs and in these selections the component paths from the root assembly are avaiable as selection.Path


Andreas

-

I know the Pro/TOOLKIT interference APIs work as far back as WF 3.0. Actually they're old Pro/DEVELOP calls...thanks for that conversion PTC.

Function pro_compute_global_interference

Description


Computes the global interference in the specified assembly. This function returns the volumes of interference that represent the analysis data generated by Pro/ENGINEER. This data does not change upon regeneration, file management erase, and so on.
Note that the function does not reallocate the r_inter_volumes each time. To free the volume, use the function pro_interference_volume_release<5795.html>().

Synopsis

#include <pro_interf.h<pro_interf_h.html>>

int

pro_compute_global_interference

(


Prohandle p_assem


/* (In)


The top-level assembly to be checked for interference.


*/


Pro_interf_type<pro_interf_h.html#pro_interf_type> interference_type


/* (In)


The interference type.


*/


int* n_interferences


/* (Out)


The number of interferences found.


*/


Interference_parts<pro_interf_h.html#interference_parts>** r_inter_part_info


/* (Out)


The static array of structures.


*/


Prohandle*** r_inter_volumes


/* (Out)


The array of interference volumes for each interference. Use NULL for a quick check.


*/


int** r_size_arr


/* (Out)


The array of sizes of each interference volume. Use NULL if you are not interested.


*/

)

Returns


Success

PRODEV_NO_ERROR

Error

An appropriate error constant from prodev_error.h




Patrick Williams | Engineering Systems | c: 616.947.2110
[cid:image003.jpg@01CE981E.5C9E1D70]
pperry
1-Newbie
(To:pperry)

Andreas,


pfcException::XUnimplemented;method:


Function GetInterferences(assembly As IpfcAssembly) As IpfcGlobalInterferences


Set globalEvaluator = ccInterference.CreateGlobalEvaluator(assembly)


End Function


When he goes to compile he gets the above error.


Top Tags