• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Leggi altro.

automazione

Tequila

Utente Senior
Professione: teorico del paleocontatto
Software: Solid Edge ST7, scarabocchi su carta
Regione: Veneto (PD)
#1
salve, sto creando degli assiemi di particolari dove inserisco dei part che devo
editare le proprietà in blocco.

Ad esempio le viterie le inserisco in un assieme (non mi interessano relazioni o altro di accoppiamento) per editarne le proprietà.

Avendo questi particolari da me creati un codice con un numero progressivo, esiste la possibilità di inserirli in modo automatico in un assembly? Tipo una macro che mi dice crea un asm con i part "dal nr 1 al nr xxx"?

Grazie ciao
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#2
salve, sto creando degli assiemi di particolari dove inserisco dei part che devo
editare le proprietà in blocco.

Ad esempio le viterie le inserisco in un assieme (non mi interessano relazioni o altro di accoppiamento) per editarne le proprietà.

Avendo questi particolari da me creati un codice con un numero progressivo, esiste la possibilità di inserirli in modo automatico in un assembly? Tipo una macro che mi dice crea un asm con i part "dal nr 1 al nr xxx"?

Grazie ciao
Prova con qualcosa del genere:

Codice:
Dim objApp As SolidEdgeFramework.Application
Dim objDoc As SolidEdgeAssembly.AssemblyDocument

Dim percorso As String
Dim codice As Double
Dim nome As String

Sub Main()

percorso = "c:\prova\"
codice = 838010000

On Error Resume Next

Set objApp = GetObject(, "SolidEdge.Application")

If Err Then
    Err.Clear
    Set objApp = CreateObject("SolidEdge.Application")
    Set objDoc = objApp.ActiveDocument
Else
    Set objDoc = objApp.ActiveDocument
End If

For i = 1 To 20
    codice = codice + 1
    nome = percorso + CStr(codice) + ".par"
    Clipboard.SetText (nome)
    objApp.StartCommand (57637)
Next i

End Sub
Questo programma monta i file da 838010001 a 838010020 contenuti nella cartella C:\Prova\ nel file ASM corrente.

Ciao
 

Tequila

Utente Senior
Professione: teorico del paleocontatto
Software: Solid Edge ST7, scarabocchi su carta
Regione: Veneto (PD)
#3
adesso faccio una prova.

Ti ringrazio veramente, se funziona bene mi risparmi ore di lavoro

Ciao Tequila
 

Tequila

Utente Senior
Professione: teorico del paleocontatto
Software: Solid Edge ST7, scarabocchi su carta
Regione: Veneto (PD)
#5
Ricordati di attivare le API di solid edge nei Riferimenti del progetto.

Ciao
visto che purtroppo non ho mai fatto questo tipo di cose su SE mi potresti gentilmente spiegare come devo fare?

Ho fatto una prova, copiato la macro su un file TXT e poi salvato con estensione EXE, ho provato anche a creare una macro in excel ma non mi funziona.

Quando apro un ASM e vado su applicazioni/macro/avvia macro e gli indico la macro mi apre una finestra dos (nel caso del file exe) oppure mi apre excel nel
caso del file excel.

come devo fare?
per attivare le API cosa devo fare? (spero non ci sia da entrare in un alveare...:D)

grazie mille ciao
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#6
Apri excel
strumenti - macro - visual basic editor (ALT+F11)
visualizza - codice (F7)
incolla il codice
strumenti - riferimenti (attiva tutti i riferimenti a solid edge, sono in ordine alfabetico)
premi il pulsante play

Ciao
 

Tequila

Utente Senior
Professione: teorico del paleocontatto
Software: Solid Edge ST7, scarabocchi su carta
Regione: Veneto (PD)
#7
Apri excel
strumenti - macro - visual basic editor (ALT+F11)
visualizza - codice (F7)
incolla il codice
strumenti - riferimenti (attiva tutti i riferimenti a solid edge, sono in ordine alfabetico)
premi il pulsante play

Ciao
Ok grazie...questo ho visto ed ho fatto e funziona, però la macro non mi
mette nessun file .par dentro l'asm.

secondo me ed il mio collega c'è un errore in


objApp.StartCommand (57637)

il valore 57637 che cosa è? se lo cancello e premo spazio all'interno
dell'editor mi da vari comandi.

Ti dico per fare la prova ho usato esattamente dei file con i nomi che hai dato
tu, cartella in c, prova ed i file part codificati come il tuo esempio.

Se ce la fai a darmi una spiegazione ben venga.

grazie di tutto
ciao
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#8
è il comando incolla dentro al file asm, in alternativa puoi usare:

Codice:
Set objParts = objDoc.Occurrences
Call objParts.AddWithTransform(OccurrenceFileName:=nome, OriginX:=0, OriginY:=0, OriginZ:=0, AngleX:=0, AngleY:=0, AngleZ:=0)
Nelle dichiariazioni devi aggiungere:

Codice:
Dim objParts As SolidEdgeAssembly.Occurrences