Risultati da 1 a 2 di 2
  1. #1
    Utente Standard L'avatar di painaz
    Iscritto dal
    2007
    Messaggi
    225
    Professione
    ingegnere
    Regione
    veneto
    Software
    proe

    Predefinito aggregare parti con lo stesso nome

    Immaginiamo di avere questa situazione di partenza:

    ass_01.JPG

    con questa lista parti:

    lista_01.JPG

    ora edito la ruota dentata grande:

    illumino.JPG

    vorrei scrivere una macro che scorre la lista parti, individua la parte con lo stesso nome figlia della vista front1
    e la aggrega ottenendo questo risultato:

    unifico.JPG

    ora la macro l'avrei scritta, a rileggerla dovrebbe funzionare, invece fallisce:

    DEFINE unifica

    local riga_tabella
    local nome_parte_corrente
    local id_parte_corrente
    local nome_parte_confronto
    local id_parte_confrontolocal lista_parti


    EDIT_PART '.'
    inq_env 7
    let nome_parte_corrente (inq 301)
    let nome_parte_corrente (TRIM nome_parte_corrente)
    let nome_parte_corrente (SUBSTR nome_parte_corrente 1 8)

    inq_env 7
    let id_parte_corrente (inq 302)
    { let id_parte_corrente ("~"+ STR id_parte_corrente) }

    pb_ltab_update

    LET lista_parti 'PBT_LTAB'
    let riga_tabella 1

    LOOP
    LET riga_tabella (riga_tabella+1)
    EXIT_IF (riga_tabella>(LTAB_ROWS lista_parti))
    let nome_parte_confronto (READ_LTAB lista_parti riga_tabella 1)
    let nome_parte_confronto (TRIM nome_parte_confronto)
    let nome_parte_confronto (SUBSTR nome_parte_confronto 1 8)
    let id_parte_confronto (READ_LTAB lista_parti riga_tabella 2)
    { let id_parte_confronto ("~"+ STR id_parte_confronto) }

    if (id_parte_corrente <> id_parte_confronto)
    if (nome_parte_corrente = nome_parte_confronto)
    EDIT_PART TOP
    GATHER id_parte_confronto
    EDIT_PART id_parte_corrente
    GATHER id_parte_confronto
    SMASH_SUBPART id_parte_confronto
    pb_ltab_update
    LET lista_parti 'PBT_LTAB'
    end_if
    end_if
    let riga_tabella (riga_tabella + 1)
    END_LOOP
    end
    end
    edit_part top
    END_DEFINE

    se qualcuno ha suggerimenti....

  2. #2
    Utente Standard L'avatar di painaz
    Iscritto dal
    2007
    Messaggi
    225
    Professione
    ingegnere
    Regione
    veneto
    Software
    proe

    Predefinito

    trovato... può sempre servire ad altri quindi la posto:

    DEFINE unifica

    local riga_tabella

    local nome_parte_corrente
    local id_parte_corrente
    local id_parte_corrente_num

    local nome_parte_confronto
    local id_parte_confronto
    local id_parte_confronto_num

    local lista_parti

    inq_env 7
    let nome_parte_corrente (inq 301)
    let nome_parte_corrente (TRIM nome_parte_corrente)
    {let nome_parte_corrente (SUBSTR nome_parte_corrente 1 8)}

    inq_env 7
    let id_parte_corrente (inq 302)
    let id_parte_corrente (STR "~"+id_parte_corrente)
    { let id_parte_corrente_num (NUM id_parte_corrente_str) }

    EDIT_PART TOP

    pb_ltab_update
    LET lista_parti 'PBT_LTAB'
    LET riga_tabella (1)

    while ( riga_tabella <= ltab_rows "PBT_LTAB" )
    let nome_parte_confronto (READ_LTAB "PBT_LTAB" riga_tabella 1)
    let nome_parte_confronto (TRIM nome_parte_confronto)
    {let nome_parte_confronto (SUBSTR nome_parte_confronto 1 8)}
    let id_parte_confronto (READ_LTAB "PBT_LTAB" riga_tabella 2)
    { let id_parte_confronto_num (NUM id_parte_confronto_str) }
    if (id_parte_corrente = id_parte_confronto)
    { display ("=") }
    else
    { display ("entro in else") }
    { display (id_parte_corrente) }
    { display (id_parte_confronto) }
    { display (nome_parte_corrente) }
    { display (nome_parte_confronto) }
    if (nome_parte_corrente = nome_parte_confronto)
    TRAP_ERROR
    { display ("unifico") }
    EDIT_PART TOP
    GATHER id_parte_confronto
    EDIT_PART id_parte_corrente
    GATHER id_parte_confronto
    SMASH_SUBPART id_parte_confronto
    end_if
    end_if
    let riga_tabella (riga_tabella + 1)
    end_while
    edit_part top
    END_DEFINE


  • Discussioni Simili

    1. Tante parti nello stesso disegno come fare un assieme?
      Di Tackleberry nel forum Solidworks
      Risposte: 3
      Ultimo Messaggio: 06-01-2015, 13: 00
    2. Parti con lo stesso nome
      Di Pascuz nel forum Solidworks
      Risposte: 5
      Ultimo Messaggio: 20-04-2014, 19: 08
    3. Risposte: 1
      Ultimo Messaggio: 23-05-2012, 10: 04
    4. Risposte: 5
      Ultimo Messaggio: 26-02-2009, 18: 56
    5. Risposte: 3
      Ultimo Messaggio: 27-10-2008, 14: 58

    Segnalibri

    Segnalibri

    Permessi di Scrittura

    • Tu non puoi inviare nuove discussioni
    • Tu non puoi inviare risposte
    • Tu non puoi inviare allegati
    • Tu non puoi modificare i tuoi messaggi
    •  





    CAD3D.it - la community dei progettisti