Saltar al contenido

Foto

¿Cómo puedo extraer las coordenadas de un punto que esta dentro de un Product?


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

#1
Leo75

Leo75

    Experto en AuxCAD

  • Miembros
  • 131 Mensajes
  • Auxis: 13
    • Pais: Country Flag

    Muy buenas amigos,

    Tengo un problema, a ver si me podéis echar una mano.

    Necesito extraer las coordenadas de un punto o el centro de un arco (edge) que esta dentro del Product (no del Part) .

    Es como si hiciera un Measure Item, solo que necesito extraer los valores XYZ para exportarlos a otra aplicacion.

    He intentado grabar una macro haciendo esto pero no guarda nada.

    ¿Alguna idea o pista que me pueda orientar?

    Gracias de antemano


    • 0
    Saludos, Leo75.
    (Me lo contaron y lo olvidé. Lo ví y lo entendí. Lo hice y lo aprendí).

    #2
    ferdo

    ferdo

      Experto en AuxCAD

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

    Hola,

     

    Trabajar con la selección en un CATIA.ActiveDocument

      Dim mySelection as Selection 
      Set mySelection = Catia.ActiveDocument.Selection 
     
      Dim sel as integer 
      sel = mySelection.count   
    
      Dim I as integer 
      Dim oPointCoord(2) as CATSafeVariant  
       
      For I = 1 to sel 
        MsgBox oPointCoord(0) &  ";" & oPointCoord(1) &  ";" & oPointCoord(2) 
      Next
    

    • 1
    Un saludo cordial
    Fernando

    sites visited in RO
    sites visited in EU

    #3
    Leo75

    Leo75

      Experto en AuxCAD

    • Miembros
    • 131 Mensajes
  • Auxis: 13
    • Pais: Country Flag

    Gracias Ferdo.

    He copiado tu codigo a un Vscript pero no funciona. No hace nada.

    Estoy trabajando en VB6 y aqui me da un error. (No reconoce CATSafeVariant)

    En fin, he conseguido hacer lo que queria con este codigo:

     

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

    Option Explicit
    Public CATIA As INFITF.Application
     
    Sub Main()
     
    Dim sStatus As String
    Dim oSelection as Object ' --->Si aqui reemplazo Object por Selection me da un error: La funcion o la interfaz esta marcada como restringida, o la funcion usa un tipo de Automatizacion no admitido en Visual Basic ¿?¿?¿?¿ :(
     
    Dim InputObjetcType(0) As Variant
    Dim acoord(2) As Variant
     
    InputObjetcType(0) = "Point"
    Set oSelection = CATIA.ActiveDocument.Selection
    oSelection.Clear
    MsgBox "SELECCIONA UN PUNTO"
    sStatus = oSelection.SelectElement2(InputObjetcType, "SELECCIONA UN PUNTO", True)
    If (sStatus = "Cancel") Then Exit Sub
     
    oSelection.Item(1).GetCoordinates acoord
    MsgBox "X= " & Round(acoord(0), 3) & vbNewLine & "Y= " & Round(acoord(1), 3) & vbNewLine & "Z= " & Round(acoord(2), 3)
     
    End sub
    -----------------------------------------------------------------------------------------
     
     
    Pero previamente tengo que tener creado el punto.
    ¿Sabes que valor tendría que poner en InputObjetcType(0) = "???" para poder seleccionar un Edge Circular y asi poder sacar el centro de ese circulo?
     
    Por otra parte, sabes porque me esta dando ese error si cambio Object por Selection?
    Gracias nuevamente
     

    • 0
    Saludos, Leo75.
    (Me lo contaron y lo olvidé. Lo ví y lo entendí. Lo hice y lo aprendí).

    #4
    ferdo

    ferdo

      Experto en AuxCAD

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

    El primer código era para catscript.pero tienes la idea de utilizar la selección :)

     

    Para la última pregunta creo que se puede utilizar "Type=Edge,Selection_BorderREdge" o simplemente Edge.

     

     


    • 0
    Un saludo cordial
    Fernando

    sites visited in RO
    sites visited in EU




    0 Usuario(s) están leyendo este Tema

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