Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

How to export DMUCLASH Report Using CATIA V5 CAA 1

Status
Not open for further replies.

22555

Automotive
Dec 17, 2003
24
0
0
US
Hi,

I am new to CATIA CAAV5. Have anyone done Clash+Interference+Contact Check using CAA APIs?

There are predefined APIs in CAA like (#Define CATDMUCLASH). But not sure how to call it

Please let me know. Thanks in advance

Capture_adzxsh.jpg
 
Replies continue below

Recommended for you

Hi Little,

Thanks for your reply.

My requirement is to run the clash check in batch mode. And my product needs to be pulled from PDM and not going to be in file system.

So I guess the only solution is CAA

Please let me know if there is any alternative.

Regards
 
Well, you still can (and sometimes should) use all of the Automation APIs in CAA. And I believe this may be the case.

Have you already done "pull from PDM" part?

UPD
If you can implement PDM part on VB then you can use CATIA's script batch mode, no CAA required.
 
Hi Little,

Thanks for your reply.

You mean I can use VB APIs inside CAA?

For example, How do I use below objects in CAA?

Dim cClashes As Clashes
Set cClashes = product1.GetTechnologicalObject("Clashes")

Dim cClash as Clash
Set cClash = cClashes.Add

Regards
 
You mean I can use VB APIs inside CAA?

Yes, refer to them by their Automation names with "CATIA" prefix. Note that each Automation class declares smart pointer (_var ones):

Code:
CATIProduct_var spProd; // root product of a document
...

CATIAProduct_var spAProduct = spProd;
if (NULL_var != spAProduct) {
  CATBSTR bstrClashes;
  CATUnicodeString("Clashes").ConvertToBSTR(&bstrClashes);
  CATIAClashes* piClashes = NULL;
  if (SUCCEEDED(spAProduct->GetTechnologicalObject(bstrClashes, piClashes)) && NULL != piClashes) {
    CATIAClashes_var spClashes = piClashes;
    piClashes->Release(); piClashes = NULL;

    CATIAClash* piClash = NULL;
    if (SUCEEDED(spClashes->Add(piClash)) && NULL != piClash) {
      CATIAClash_var spClash = piClash;
      piClash->Release(); piClash = NULL;

     spClash->...
    }
  }
  CATFreeString(bstrClashes);
}

I'd still stick with Automation if possible.

Which PDM do you use by the way?
 
Thank you , PDM is Team Center . When I tried your code, received below errors. What are the headers and interfaces need to be added?

Capture2_bjffml.jpg
 
First of all, you missed some of the lines in my code.

Secondly, include files are named the same way as for CAA interfaces: CATIAProduct.h, CATIAClashes.h etc.

Lastly, what CAA experience do you have?
 
Hi I could able to resolve some of the errors. Please see below. Only error is on technological object now.

And I am new to CAA. [sad]. Need your help.

Capture5_oc69zh.jpg
 
Status
Not open for further replies.
Back
Top