sous-addition publique()
' ouvrir le document d'usine invisible.
dim ofactorydoc comme document
set ofactorydoc = this application.documents.open("w:\commesse\aia\15030_modifica zona lavatri\assieme2.c02.ipt", false)
' référence à la définition de l'élément.
dim ocompdef comme partcomponentdefinition
set ocompdef = ofactorydoc.componentdefinition
Assurez-vous que nous avons une usine d'ipart.
si ocompdef.isipartfactory = faux alors
msgbox "le document choisi n'est pas une usine."
sortie sous
fin si
' fait référence à l'usine.
dim oipartfactory comme ipartfactory
set oipartfactory = ocompdef.ipartfactory
' obtenir le nombre de lignes dans l'usine.
Dim inumrows comme entier
inumrows = oipartfactory.tablerows.count
' créer un nouveau document de montage
dim odoc comme document de montage
set odoc = thisapplication.documents.add(kassemblydocumentobjet, , true)
dim ooccs en tant que composants
set ooccs = odoc.componentdefinition.occurrences
dim opos comme matrice
set opos = cette application.transientgeométrie.creatematrix
dim ostep double
oétape = 0#
Dim irow aussi longtemps
' ajouter un événement pour chaque membre de l'usine.
pour irow = 1 pour inumrows
ostep = ostep + 10
' ajouter une traduction le long de l'axe x
opos.settraduction cette application.transientgeométrie.createvector(ostep, ostep, 0)
dim oocc en tant que composant
set oocc = ooccs.addipartmember("w:\commesse\aia\15030_modifica zona lavatri\assieme2.c02.ipt", opos, irow)
suivant
odoc.save
dim orefdoc comme document
pour chaque orefdoc dans les documents odoc.referenced
téléphoner à l'exporttostep(orefdoc)
suivant
fin sous
Sous-exportation publique (odoc comme document)
dim exportpath comme chaîne
chemin d'exportation = "c:\stp\"
' obtenir l'ajout de traducteur étape.
dim osteptraducteur comme traducteuraddin
ensemble osteptraducteur = cette application.applicationaddins.itembyid("{90af7f40-0c01-11d5-8e83-00100b541cd80}")
si osteptraducteur n'est rien alors
msgbox "ne pouvait pas accéder au traducteur étape."
sortie sous
fin si
dim ocontext comme translationcontext
set ocontext = thisapplication.transientobjets.createtranslationcontext
dim ooptions comme namevaluemap
set ooptions = thisapplication.transientobjects.createnamevaluemap
si osteptranslator.hassavecopyasoptions (cette application.activedocument, ocontext, ooptions) alors
' définir le protocole d'application.
' 2 = ap 203 - configuration contrôlée
' 3 = ap 214 - conception automobile
ooptions.value("applicationprotocoltype") = 3
' autres options...
'ooptions.value("auteur") = ""
'ooptions.value("autorisation") = ""
'ooptions.value("description") = ""
'ooptions.value("organisation") = ""
ocontext.type = kfilebrowseiomechanism
dim odata comme datamedium
set odata = thisapplication.transientobjets.createdatamedium
Nom du fichier 'format
dim fnamepos aussi longtemps
'postion de la dernière barre oblique
fnamepos = instrrev(odoc.fullfilename, "\", -1)
dim docfname comme chaîne
'nom du fichier avec extension
docfname = strings.right(odoc.fullfilename, len(odoc.fullfilename) - fnamepos)
'nom du fichier sans extension
dim shortname comme chaîne
shortname = strings.left(docfname, len(docfname) - 4)
odata.filename = exportpath & shortname & ".stp"
call osteptranslator.savecopyas(odoc, ocontext, ooptions, odata)
fin si
fin sous