Saltar al contenido

Comentar Imagen

Foto

macro "replace Component"

macro cgr programming replacecomponent Products component

  • Please log in to reply
1 Respuesta(s) a este Tema

#1
paulita87

paulita87

    Principiante en AuxCAD

  • Miembros
  • 1 Mensajes
  • Auxis: 0
    • Pais: Country Flag

    Hola a todos!

     

    he intentado escribir una macro para CATIA que en una estructura me reemplace todos los Products que tengan un CGR en representación por dicho CGR. Para ello he utilizado la función Replace Component basándome en una macro que he obtenido grabando las acciones.

    La cuestión es que la macro no funciona pero tampoco me da error.

     

    Os adjunto ambas macros, la que he obtenido grabando mis acciones y la que yo he modificado. Además de las foto de la estructura antes  y después de realizar la macro.

     
    Agradecería si alguien pudiera ayudarme y aportarme un poco de luz en el asunto.
     
    Un saludo y muchas gracias de antemano!

    Paula

     

    ---------------------código-----------------------------

    Sub CATMain()

     On Error Resume Next
    Set oD = CATIA.ActiveDocument
    Set oSel = oD.Selection
    oSel.Clear
    oSel.Add oD.Product

     Set selection1 = CATIA.ActiveDocument.Selection
         selection1.Search "(CATProductSearch.Product),all"

     For i = 1 To selection1.Count

         Set Bauteil = selection1.Item(i).Value
          sourceCgrFile = ""
          
         sourceCgrFile = Bauteil.GetMasterShapeRepresentationPathName
         
         If sourceCgrFile <> "" Then
        j = i - 1

    Set Vater = selection1.Item(j).Value
    Dim Vaters As Products
    Set Vaters = Vater.Products
         'MsgBox sourceCgrFile, vbInformation, "sourceCgrFile"

    ItemName = splitname

    Set product12 = Vaters.Item(oSel.Item(i).Value.Name)

    Dim arrayOfVariantOfBSTR1(0)
    arrayOfVariantOfBSTR1(0) = sourceCgrFile
    Set VaterVariant = Vaters
    Set ReplacePart = VaterVariant.ReplaceComponent(product12, arrayOfVariantOfBSTR1, False)
    End If
         Next
         
    oSel.Clear

    End Sub

     

    --------------------------------------------------------------

    Ficheros Adjuntos


    • 0

    #2
    ferdo

    ferdo

      Experto en AuxCAD

    • Miembros
    • 215 Mensajes
  • Auxis: 104
    • Pais: Country Flag

    Hola

     

    Su macro modificada no funcionará. Debido a que tiene nombres diferentes para cgr y CATParts/CATProducts, tendrá que seleccionar el cgr en una ventana de selección para realizar el reemplazo.


    • 2
    Un saludo cordial
    Fernando

    sites visited in RO
    sites visited in EU





    Also tagged with macro, cgr, programming, replacecomponent, Products, component

    0 Usuario(s) están leyendo este Tema

    0 miembro(s), 0 invitado(s), 0 usuario(s) anónimo(s)