Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

Macro to instantiate a powercopy and isolate its design table

Status
Not open for further replies.

wescut

New member
Jul 12, 2012
6
Hello,

I used a macro in CATIA to instantiate a power copy which uses a design table. I was wondering how i could isolate the design table's link.
Once the power copy is made, i do not want the design table to be linked with my excel sheet on my server.

Here is the macro i used to instantiate the power copy (found in CATIA's documentation):

' Instantiation of a Power Copy Reference called "TwoSurfacicHole"
' TwoSurfacicHole is stored in the CATPart PowerCopyReference.CATPart"
' It has 3 inputs: FirstHole, Support,and SecondHole
' and 2 published parameters: Radius1 and Radius2
'--------------------------------------------------------------

'---------------------------------------------------------------
CATIA.SystemService.Print "Retrieve the current part"

Dim PartDocumentDest As PartDocument
Set PartDocumentDest = CATIA.ActiveDocument

Dim PartDest As Part
Set PartDest = PartDocumentDest.Part
'---------------------------------------------------------------
CATIA.SystemService.Print "Retrieve the factory of the current part"

Dim factory As InstanceFactory (A)
Set factory = PartDest.GetCustomerFactory("InstanceFactory")
'---------------------------------------------------------------
CATIA.SystemService.Print "BeginInstanceFactory" (1)

factory.BeginInstanceFactory "TwoSurfacicHole", "e:\tmp\PowerCopyReference.CATPart"
'---------------------------------------------------------------
CATIA.SystemService.Print "Begin Instantiation"

factory.BeginInstantiate (2)
'---------------------------------------------------------------
CATIA.SystemService.Print "Set Inputs"

Dim FirstHole As Object
Set FirstHole = PartDest.FindObjectByName("Point.1")

Dim Support As Object
Set Support = PartDest.FindObjectByName("Extrude.1")

Dim SecondHole As Object
Set SecondHole = PartDest.FindObjectByName("Point.2")

factory.PutInputData "FirstHole", FirstHole (3)
factory.PutInputData "Support", Support
factory.PutInputData "SecondHole", SecondHole
'---------------------------------------------------------------
CATIA.SystemService.Print "Modify Parameters"

Dim param1 As Parameter
Set param1 = factory.GetParameter("Radius1") (4)
param1.ValuateFromString("25mm")

Dim param2 As Parameter
Set param2 = factory.GetParameter("Radius2")
param2.ValuateFromString("15mm")
'---------------------------------------------------------------
CATIA.SystemService.Print "Instantiate" (5)

Dim Instance As ShapeInstance
Set Instance = factory.Instantiate
'---------------------------------------------------------------
CATIA.SystemService.Print "End of Instantiation"
factory.EndInstantiate (6)
'---------------------------------------------------------------
CATIA.SystemService.Print "Release the reference document"

factory.EndInstanceFactory (7)
'---------------------------------------------------------------
CATIA.SystemService.Print "Update"
PartDest.Update

Thank you!!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor