• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Aktuelle Kontrollstation

  • Ersteller Ersteller Riccardo81
  • Erstellt am Erstellt am
Wenn Sie versuchen wollen, mir Ihren Code zu senden, den ich versuche, einen Blick zu werfen, auch privat, wie Sie es bevorzugen
 
Danke... es ist richtig, dass diese Dinge geteilt werden... Hier ist der Code:
Code:
öffentliches Teilnetz()

' controlla il titolo nel documento attivo
Versuch
dim odrawdoc als Zeichnungsdokument
odrawdoc = thisapplication.activedocument

Verifica se lo stato di deferimento degli aggiornamenti è abilitato
wenn odrawdoc.drawingsettings.deferupdates dann
msgbox("non è possibile modificare il cartiglio perché il file di disegno è in modalità di aggiornamento differentito".
Ausgang Sub
Ende

„felsen i simboli dal disegno
Versuch
Löschsymbole()
Fang ex als Ausnahme
msgbox("errore durante la cancellazione dei simboli: " & ex.message)
Ende Versuch

' titolo desiderato
dim Titel als String = "Standard"
Ruf ersetzentitle(title)

Fang ex als Ausnahme
msgbox("errore durante la sostituzione del cartiglio: " & ex.message)
Ende Versuch

Endteil

Sub ersetzentitle(byref Titel als String)

dim odrawdoc als Zeichnungsdokument
odrawdoc = thisapplication.activedocument
dim template as string = "t:\produzione do sa\configurazioni_autodesk\inventor\templates\standard.idw"

dim otemplate als Zeichnung
dim osourcetitleblockdef als Titelblockdefinition
dim onewtitleblockdef als Titelblockdefinition

Versuch
' apre-il Template
otemplate = thisapplication.documents.open(template, false)

' verifica se il cartiglio esiste nel template
wenn nicht otemplate.titledefinitionblocks.item(Titel) ist nichts dann
osourcetitleblockdef = otemplate.titleblockdefinitions.item(Titel)

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

' Chiude il Template
otemplate.close

' scorre tutti i neli nel documento di disegno e applica il nuovo cartiglio
für jedes osheet als Blatt in odrawdoc. Bogen
' elimina il cartiglio corrente e inserisce quello nuovo
wenn osheet. Titelblock ist nichts als
osheet.titleblock.delete()
Ende
osheet.addtitleblock(onewtitleblockdef)
Nächste

msgbox("cartiglio aggiornato a: " & Titel & " su tutti i neli.")
andere
msgbox("cartiglio non trovato nel template.")
otemplate.close
Ende

Fang ex als Ausnahme
msgbox("errore durante l'aggiornamento del cartiglio: " & ex.message)
Ende Versuch

Endteil

Sub deletesymbols()
dim odoc als Zeichnungsdokument = thisdoc.document
dim osksymdefs als skizzierte Symboldefinitionen = odoc.sketchedsymboldefinitionen

für jede osksymdef als skizziertsymboldefinition in osksymdefs
wenn nicht osksymdef. wird dann
osksymdef.delete()
Ende
Nächste
Endteil

Sub copysymbols()
dim strselectedstamp als String = "result2"
dim strstamplist als neue Arraylist
strstamplist.add("Standard")

strselectedstamp = inputlistbox("bitte einen Stempel auswählen.", Strstamplist, Strselectedstamp, "Stampauswahl", "verfügbare Briefmarken")

dim strdrawdoc als Zeichnungsdokument = thisapplication.activedocument
dim sourcefile as string = "t:\produzione do sa\configurazioni_autodesk\inventor\templates\standard.idw"

Versuch
' apre il file vorsichtig dei simboli
dim strsourceidw als Zeichnungsdokument = thisapplication.documents.open(sourcefile, false)

' copia i simboli nel documento corrente
für jede Symboldef als skizzierte Symboldefinition in strsourceidw.sketchedsymboldefinitionen
symboldef.copyto(strdrawdoc, true)
Nächste

Strsourceidw.close()

Fang ex als Ausnahme
msgbox("errore durante la copia dei simboli: " & ex.message)
Ende Versuch
Endteil
 
Komm zurück. Ich bin froh, dass ich auch etwas getan habe.
am Wochenende, beginnend mit dem Batleo-Code, gelang es mir, einige "empirische" Tests zu tun versuchen, ein Stück Code hier und am Ende scheint es, dass es funktioniert.
Ich weise darauf hin, dass es wahrscheinlich einen Neustart des Erfinders zwischen einem Test und dem anderen gab, weil es mir zunächst immer einige Fehler gab... wir hoffen, dass es keine anderen Treffer gibt!
Ich teile für diejenigen, die es versuchen wollen, und danke allen, besonders batleo, für den Austausch und die Unterstützung.
ah... frage mich nicht, wie ich es tat!... manchmal nimmt es etwas Beharrlichkeit und... so viel Glück.
Code:
öffentliches Teilnetz()
' Titel in aktivem Dokument überprüfen
Versuch
dim odrawdoc als Zeichnungsdokument
odrawdoc = thisapplication.activedocument
' verifica che lo stato di defer update sia disabilitato
wenn odrawdoc.drawingsettings.deferupdates = true dann
odrawdoc.drawingsettings.deferupdates = false
Ende

Sostituisci i simboli nel disegno
Versuch
Löschsymbole
Fangmenge
' gestione dell'errore durante l'eliminazione dei simboli
Ende Versuch
' percorso del template e nome del cartiglio
dim templatepath as string = "t:\produzione \configurazioni_autodesk\inventor\templates\standard.idw"
dim Titel als String = "Standard"

' sostituzione del cartiglio su tutti i nebli
Ruf ersetzentitleonallsheets(templatepath, Titel)
Fangmenge
msgbox("errore durante la sostituzione del cartiglio")
Ende Versuch
Endteil
sub ersetzentitleonallsheets(byval templatepath as string, byval title as string)
dim odrawdoc als Zeichnungsdokument
odrawdoc = thisapplication.activedocument
dim otemplate als Zeichnung
dim osourcetitleblockdef als Titelblockdefinition
dim onewtitleblockdef als Titelblockdefinition
Versuch
' apri il Template
otemplate = thisapplication.documents.open(templatepath, false)

Collega la definizione del nuovo cartiglio
osourcetitleblockdef = otemplate.titleblockdefinitions.item(Titel)

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

' Chiudi-il-Vorlage
otemplate.close
' itera su tutte le tavole e sostituisci il cartiglio
für i als ganze Zahl = 1 bis odrawdoc.sheets.count
dim osheet als Blatt = odrawdoc.sheets.item(i)
ersetzentitleblockonsheet(osheet, onewtitleblockdef)
Nächste
Fang ex als Ausnahme
msgbox("errore: " & ex.message)
Ende Versuch
Endteil
Untertitelblockonsheet(osheet als Blatt, onewtitleblockdef als Titelblockdefinition)
auf Fehlerwiederaufnahme
' verifica se esiste un titleblock sulla tavola e se è sostituibile
wenn nicht osheet. Titelblock ist nichts dann
osheet.titleblock.delete() ' elimina il cartiglio esistente, se presente
Ende

aggiungi il nuovo cartiglio alla tavola
dim oprompts(2) als String
oprompts(0) = ""
Oprompte(1) = ""
oprompts(2) = ""
osheet.addtitleblock(onewtitleblockdef, , oprompts)
auf fehler goto 0
Endteil
Sub deletesymbols
dim odoc als Zeichnungsdokument = thisdoc.document
dim osksymdefs als skizzierte Symboldefinitionen = odoc.sketchedsymboldefinitionen
dim osksymdef als skizziertsymboldefinition
für jede osksymdef in osksymdefs
wenn osksymdef.isreferenced = falsch dann
osksymdef.delete
Ende
Nächste
Endteil
 
...Ich füge hinzu, dass Sie vor dem Start der Regel alle Blätter mit dem Button(oder Befehl) entsprechend aktualisieren müssen (der mit den beiden weißen Blättern und der Blitz in der Leiste oben links) ansonsten den Cartiglio nur des aktiven Blattes ersetzt, während Sie den vorhandenen Cartiglio in den anderen entfernen...zumindest das tue ich.
 
Hallo alle und vielen Dank Nachrichten für den Code. von mir funktioniert es.
zusätzlich zu ändern Cartiglio und Reinigungssymbole könnten Sie aktualisieren Stile hinzufügen?

jetzt die Operation I do ist verwalten>update (in den Menü-Stilen und Standard)
und dann verwalten Spülung

Vielen Dank
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben