• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

Poste de contrôle actuel

  • Auteur du sujet Auteur du sujet Riccardo81
  • Date de début Date de début
Merci... il est exact que ces choses soient partagées... Voici le code :
Code:
public ()

' controlla il titolo nel documento attivo
essayer
dim odrawdoc comme document de dessin
odrawdoc = cette application.documentactif

« verifica se lo stato di déferimento degli aggiornamenti è abilitato
si odrawdoc.drawingsettings.deferupdate alors
msgbox("non è possibile modificare il cartiglio perché il file di disegno è in modalità di aggiornamento differito.")
sortie sous
fin si

' simboli dal disegno
essayer
supprimersymboles()
captures ex exception
msgbox("errorte dure la cancellazione dei simboli: " & ex. message)
fin de l'essai

Autres
dim title as string = "standard"
call remplacetitle(title)

captures ex exception
msgbox("errorte dure la sostituzione del cartiglio: " & ex. message)
fin de l'essai

fin sous

sub remplacetitle(byref title as string)

dim odrawdoc comme document de dessin
odrawdoc = cette application.documentactif
dim template as string = "t:\produzione do sa\configurazioni_autodesk\inventor\templates\standard.idw"

dim otemplate comme document de dessin
dim osourcetitleblockdef comme titleblockdefinition
dim onewtitleblockdef comme titleblockdefinition

essayer
' apre il template
otemplate = cette application.documents.open(template, false)

' verifica se il cartiglio esiste nel template
si non otemplate.titleblockdéfinitions.item(title) n'est rien alors
osourcetitleblockdef = otemplate.titleblockdéfinitions.item(title)

Copia la definizione del cartiglio nel disegno
onewtitleblockdef = osourcetitleblockdef.copyto(odrawdoc, true)

' chiude il modèle
otemplate.close

' scorre tutti i brumli nel documento di disegno e applica il nuovo cartiglio
pour chaque feuille comme feuille en odrawdoc. Feuilles
' elimina il cartiglio corrente e inserisce quello nuovo
si osheet. titleblock n'est pas rien alors
osheet.titleblock.delete()
fin si
osheet.addtitleblock(newtitleblockdef)
suivant

msgbox("cartiglio aggiornato a: " & title & " su tutti i brumli.")
Autre
msgbox("cartiglio non trovato nel template.")
otemplate.close
fin si

captures ex exception
msgbox("errorte durant l'aggiornamento del cartiglio: " & ex. message)
fin de l'essai

fin sous

sous supprimersymboles()
dim odoc comme dessin document = cedoc.document
dim osksymdefs comme esquisses définitionsymbol = odoc.sketchedsymboldéfinitions

pour chaque osksymdef comme définition de symboles esquisses dans les osksymdefs
si pas osksymdef. est référencé alors
osksymdef.delete()
fin si
suivant
fin sous

sous-copysymbols()
dim strselectestamp en chaîne = "result2"
dim strstamplist comme nouvelle liste de tableaux
strstamplist.add("standard")

strselectestamp = inputlistbox("s'il vous plaît sélectionner un timbre.", strstamplist, strselectestamp, "stamp selection", "samps disponibles")

dim strdrawdoc comme dessin document = cette application.document actif
dim sourcefile en tant que chaîne = "t:\produzione do sa\configurazioni_autodesk\inventor\templates\standard.idw"

essayer
' apre il fichier sorgente dei simboli
dim strsourceidw comme dessin document = thisapplication.documents.open(sourcefile, false)

' copie i simboli nel documento corrente
pour chaque symboldef comme définition de symboles esquisses dans les définitions strsourceidw.sketchedsymbol
symboldef.copyto(strdrawdoc, true)
suivant

Stresourceidw.close()

captures ex exception
msgbox("errorte durant la copie dei simboli: " & ex.message)
fin de l'essai
fin sous
 
Reviens. Je suis contente d'avoir fait quelque chose.
le week-end, à partir du code batleo, j'ai réussi à faire quelques tests « empiriques » essayant de cannibaliser un morceau de code ici et à la fin il semblerait que cela fonctionne.
Je souligne qu'il y a probablement eu un redémarrage de l'inventeur entre un test et l'autre parce qu'au début il m'a toujours donné quelques erreurs... nous espérons qu'il n'y a pas d'autres attelages !
Je partage avec ceux qui veulent l'essayer et remercier tout le monde, en particulier Batleo, pour le partage et le soutien.
Ah... ne me demandez pas comment j'ai fait !... Parfois, il faut de la persévérance et... tant de chance.
Code:
public ()
' titre de la vérification dans le document actif
essayer
dim odrawdoc comme document de dessin
odrawdoc = cette application.documentactif
' verifica che lo stato di report update sia disabilitato
si odrawdoc.drawingsettings.deferupdates = true alors
odrawdoc.drawingsettings.deferupdates = faux
fin si

' sostituisci i simboli nel disegno
essayer
supprimersymboles
prises
' gestione dell'errore durant l'eliminazione dei simboli
fin de l'essai
' percorso del template e nome del cartiglio
dim templatepath as string = "t:\produzione \configurazioni_autodesk\inventor\templates\standard.idw"
dim title as string = "standard"

' sostituzione del cartiglio su tutti i brumli
appel remplacertitleonallsheets(templatepath, title)
prises
msgbox("errorte dure la sostituzione del cartiglio")
fin de l'essai
fin sous
sub remplacetitleonallsheets(byval templatepath en chaîne, byval title en chaîne)
dim odrawdoc comme document de dessin
odrawdoc = cette application.documentactif
dim otemplate comme document de dessin
dim osourcetitleblockdef comme titleblockdefinition
dim onewtitleblockdef comme titleblockdefinition
essayer
Modèle
otemplate = cette application.documents.open(templatepath, false)

' collega la definizione del nuovo cartiglio
osourcetitleblockdef = otemplate.titleblockdéfinitions.item(title)

' copie la definizione del cartiglio nel nuovo disegno
onewtitleblockdef = osourcetitleblockdef.copyto(odrawdoc, true)

Modèle
otemplate.close
' itera su tutte le tavole e sostituisci il cartiglio
pour i comme entier = 1 à odrawdoc.sheets.count
dim osheet comme feuille = odrawdoc.sheets.item(i)
remplacertitleblockonsheet(osheet, onewtitleblockdef)
suivant
captures ex exception
msgbox("errore: " & ex.message)
fin de l'essai
fin sous
sub remplacetitleblockonsheet(osheet as sheet, onewtitleblockdef as titleblockdefinition)
suite de l'erreur
' verifica se esiste un titleblock sulla tavola e se è sostituibile
si ce n'est pas une feuille. titleblock n'est rien alors
osheet.titleblock.delete() ' elimina il cartiglio esistance, se presente
fin si

' aggiungi il nuovo cartiglio alla tavola
dim oprompts(2) comme chaîne
oprompts(0) = ""
oprompts(1) = ""
oprompts(2) = ""
osheet.addtitleblock(newtitleblockdef, , oprompts)
en cas d'erreur aller à 0
fin sous
sous supprimersymboles
dim odoc comme dessin document = cedoc.document
dim osksymdefs comme esquisses définitionsymbol = odoc.sketchedsymboldéfinitions
dim osksymdef comme définition du sketchedsymbol
pour chaque osksymdef en osksymdefs
si osksymdef.isreferenced = false alors
osksymdef.delete
fin si
suivant
fin sous
 
...J'ajoute qu'avant de commencer la règle, vous devez mettre à jour toutes les feuilles avec le bouton (ou la commande) approprié (celui avec les deux feuilles blanches et l'éclair dans la barre en haut à gauche) sinon remplace le cartiglio seulement de la feuille active tout en supprimant le cartiglio existant dans les autres ... au moins je le fais.
 
Bonjour tout le monde et merci beaucoup Nouvelles pour le code. Ça marche.
en plus de changer de cartiglio et de nettoyer les symboles pourraient-ils ajouter des styles de mise à jour?

maintenant l'opération que je fais est de gérer>mise à jour (dans les styles de menu et standard)
puis gérer> purge

Merci beaucoup.
 

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut