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

Massive Ersatzteile Erfinder

  • Ersteller Ersteller windreef
  • Erstellt am Erstellt am

windreef

Guest
Guten Morgen.
Ich sollte das Aussehen (Farbe) der Teile eines Erfinder-Sets (2023) ersetzen, ich kann das Material nicht ändern oder ändern, weil die Bibliothek eines Kunden (wie die Arbeit) ist und nicht unbedingt ändern wollen. sie ändern die Dateifarbe für Datei, die ihr gemäß der Kommission die ral sie wollen (sie haben eine Bibliothek von personalisierten Aspekten mit allen ral erstellt). Sie tun es manuell für Dateien und zum Beispiel für dieses Projekt, etwa 500 Teile, ist ein bisschen lang.
Ich fragte mich, ob es eine Methode gab, eine ilogic ect Regel zu beschleunigen.

Vielen Dank
Guten Tag
 
siehe das Video auf dem Link: http://www.screenpresso.com/=mv51b5bpsktxrule0 ändert nur das Aussehen in der Montage:
Code:
Versuch
' definieren excel-Datei und Blattpfad
excelpath = "c:\vw\designs\engineering\test\ae\20241015\test.xlsx"
excelsheet = "Komponenten"

' Öffnen Sie die Excel-Datei
goexcel.open(excelpath, excelsheet)

' excel Titel einrichten und Zeilen finden
goexcel.titlerow = 1
goexcel.findrowstart = 3

' erhalten Sie das aktive Montagedokument
dim oasmdoc als Montagedokument
oasmdoc = thisapplication.activedocument

' erhalten alle referenzierten Dokumente (Teile)
dim orefdocs als Dokumentenenumerator
orefdocs = oasmdoc.allreferenceddocuments
dim orefdoc als Dokument



„Schleife durch jedes Referenzdokument (Teil)
für jedes orefdoc in orefdoc
dim partnumber as string = iproperties.value(orefdoc.displayname, "project", "part number")

' Suche nach der Teilnummer (Teilnummer) im Excel-Blatt

dim lineno als ganze Zahl = goexcel.findrow(excelpath, excelsheet, "partnumber", "=", trim(partnumber))


wenn Zeilen > 0)
' den Farbnamen aus dem Excel-Blatt abrufen (unter "Farbe" Spalte)
dim colorname als string = goexcel.currentrowvalue("color")

' erhalten Sie die Farbe aus der Asset-Bibliothek
dim ocolor als Asset
Versuch
' versuchen, die Farbe direkt zu erhalten, wenn es im aktuellen Dokument existiert
ocolor = oasmdoc.assets.item(colorname)


Fangmenge
' wenn die Farbe nicht lokal existiert, kopieren Sie sie aus der Bibliothek
dim olib als Assetlibrary
olib = thisapplication.assetlibraries("ralfarben metallic matt v1.0") " stellen Sie sicher, dass diese Bibliothek existiert


ocolor = olib.appearanceassets.item(colorname)
ocolor = ocolor.copyto(oasmdoc) ' Kopieren Sie die Farbe auf das Dokument
Ende Versuch

' die Erscheinung der Teilerscheinungen ändern
dim ooccs als Komponenteoccurrencesenumerator = oasmdoc.componentdefinition.occurrences.allreferencedoccurrences(orefdoc)
für jeden oocc als Komponente in ooccs
oocc.appearance = ocolor ' die Farbe anwenden
Nächste

' eine Bestätigungsnachricht anzeigen
' messagebox.show(partnumber & " Farbe geändert in " & colorname, "color change")
andere
Teilnummer nicht im Excel-Blatt gefunden
messagebox.show(partnumber & " ist nicht auf der Liste", "part not found")
Ende
Nächste

' schließen Sie die Excel-Datei
goexcel.close
Fang ex als Ausnahme
' handhabe Fehler
messagebox.show("ein Fehler aufgetreten: " & ex.message, "error")
Ende Versuch
rule1 ändert die Farbe teilweise:

Code:
Versuch
' definieren excel-Datei und Blattpfad
excelpath = "c:\vw\designs\engineering\test\ae\20241015\test.xlsx"
excelsheet = "Komponenten"

' Öffnen Sie die Excel-Datei
goexcel.open(excelpath, excelsheet)

' excel Titel einrichten und Zeilen finden
goexcel.titlerow = 1
goexcel.findrowstart = 3

' erhalten Sie das aktive Montagedokument
dim oasmdoc als Montagedokument
oasmdoc = thisapplication.activedocument

' erhalten alle referenzierten Dokumente (Teile)
dim orefdocs als Dokumentenenumerator
orefdocs = oasmdoc.allreferenceddocuments
dim orefdoc als Dokument

„Schleife durch jedes Referenzdokument (Teil)
für jedes orefdoc in orefdoc
dim partnumber as string = trim(iproperties.value(orefdoc.displayname, "project", "part number"))

' Suche nach der Teilnummer (Teilnummer) im Excel-Blatt
dim lineno als ganze Zahl = goexcel.findrow(excelpath, excelsheet, "partnumber", "=", partnumber)

wenn Zeilen > 0)
' den Farbnamen aus dem Excel-Blatt abrufen (unter "Farbe" Spalte)
dim colorname als string = goexcel.currentrowvalue("color")

' öffnen Sie das Teildokument, wenn es nicht bereits geöffnet ist
wenn nicht orefdoc. documenttype = kpartdocumentobject dann
weiter
Ende
dim opartdoc als partdocument = orefdoc

' erhalten Sie die Farbe aus der Asset-Bibliothek
dim ocolor als Asset
Versuch
' versuchen, die Farbe direkt zu erhalten, wenn es im Teildokument existiert
ocolor = opartdoc.assets.item(colorname)
Fangmenge
' wenn die Farbe nicht lokal existiert, kopieren Sie sie aus der Bibliothek
dim olib als Assetlibrary
olib = thisapplication.assetlibraries("ralfarben metallic matte v1.0") " sorgen für den richtigen Bibliotheksnamen
ocolor = olib.appearanceassets.item(colorname)
ocolor = ocolor.copyto(opartdoc) ' Kopieren Sie die Farbe in das Teildokument
Ende Versuch

' die Farbe auf das Teildokument anwenden
opartdoc.componentdefinition. Surfacebodies(1).appearance = ocolor ' Ändern Sie das Aussehen des Teilkörpers

' speichern Sie das Teildokument nach der Anwendung der Farbe
opartdoc.save()

' eine Bestätigungsnachricht anzeigen
' messagebox.show(partnumber & " Farbe geändert in " & colorname, "color change")
andere
Teilnummer nicht im Excel-Blatt gefunden
messagebox.show(partnumber & " ist nicht auf der Liste", "part not found")
Ende
Nächste

' schließen Sie die Excel-Datei
goexcel.close
Fang ex als Ausnahme
' handhabe Fehler
messagebox.show("ein Fehler aufgetreten: " & ex.message, "error")
Ende Versuch
 
siehe das Video auf dem Link: http://www.screenpresso.com/=mv51b5bpsktxrule0 ändert nur das Aussehen in der Montage:
Code:
Versuch
' definieren excel-Datei und Blattpfad
excelpath = "c:\vw\designs\engineering\test\ae\20241015\test.xlsx"
excelsheet = "Komponenten"

' Öffnen Sie die Excel-Datei
goexcel.open(excelpath, excelsheet)

' excel Titel einrichten und Zeilen finden
goexcel.titlerow = 1
goexcel.findrowstart = 3

' erhalten Sie das aktive Montagedokument
dim oasmdoc als Montagedokument
oasmdoc = thisapplication.activedocument

' erhalten alle referenzierten Dokumente (Teile)
dim orefdocs als Dokumentenenumerator
orefdocs = oasmdoc.allreferenceddocuments
dim orefdoc als Dokument



„Schleife durch jedes Referenzdokument (Teil)
für jedes orefdoc in orefdoc
dim partnumber as string = iproperties.value(orefdoc.displayname, "project", "part number")

' Suche nach der Teilnummer (Teilnummer) im Excel-Blatt

dim lineno als ganze Zahl = goexcel.findrow(excelpath, excelsheet, "partnumber", "=", trim(partnumber))


wenn Zeilen > 0)
' den Farbnamen aus dem Excel-Blatt abrufen (unter "Farbe" Spalte)
dim colorname als string = goexcel.currentrowvalue("color")

' erhalten Sie die Farbe aus der Asset-Bibliothek
dim ocolor als Asset
Versuch
' versuchen, die Farbe direkt zu erhalten, wenn es im aktuellen Dokument existiert
ocolor = oasmdoc.assets.item(colorname)


Fangmenge
' wenn die Farbe nicht lokal existiert, kopieren Sie sie aus der Bibliothek
dim olib als Assetlibrary
olib = thisapplication.assetlibraries("ralfarben metallic matt v1.0") " stellen Sie sicher, dass diese Bibliothek existiert


ocolor = olib.appearanceassets.item(colorname)
ocolor = ocolor.copyto(oasmdoc) ' Kopieren Sie die Farbe auf das Dokument
Ende Versuch

' die Erscheinung der Teilerscheinungen ändern
dim ooccs als Komponenteoccurrencesenumerator = oasmdoc.componentdefinition.occurrences.allreferencedoccurrences(orefdoc)
für jeden oocc als Komponente in ooccs
oocc.appearance = ocolor ' die Farbe anwenden
Nächste

' eine Bestätigungsnachricht anzeigen
' messagebox.show(partnumber & " Farbe geändert in " & colorname, "color change")
andere
Teilnummer nicht im Excel-Blatt gefunden
messagebox.show(partnumber & " ist nicht auf der Liste", "part not found")
Ende
Nächste

' schließen Sie die Excel-Datei
goexcel.close
Fang ex als Ausnahme
' handhabe Fehler
messagebox.show("ein Fehler aufgetreten: " & ex.message, "error")
Ende Versuch
rule1 ändert die Farbe teilweise:

Code:
Versuch
' definieren excel-Datei und Blattpfad
excelpath = "c:\vw\designs\engineering\test\ae\20241015\test.xlsx"
excelsheet = "Komponenten"

' Öffnen Sie die Excel-Datei
goexcel.open(excelpath, excelsheet)

' excel Titel einrichten und Zeilen finden
goexcel.titlerow = 1
goexcel.findrowstart = 3

' erhalten Sie das aktive Montagedokument
dim oasmdoc als Montagedokument
oasmdoc = thisapplication.activedocument

' erhalten alle referenzierten Dokumente (Teile)
dim orefdocs als Dokumentenenumerator
orefdocs = oasmdoc.allreferenceddocuments
dim orefdoc als Dokument

„Schleife durch jedes Referenzdokument (Teil)
für jedes orefdoc in orefdoc
dim partnumber as string = trim(iproperties.value(orefdoc.displayname, "project", "part number"))

' Suche nach der Teilnummer (Teilnummer) im Excel-Blatt
dim lineno als ganze Zahl = goexcel.findrow(excelpath, excelsheet, "partnumber", "=", partnumber)

wenn Zeilen > 0)
' den Farbnamen aus dem Excel-Blatt abrufen (unter "Farbe" Spalte)
dim colorname als string = goexcel.currentrowvalue("color")

' öffnen Sie das Teildokument, wenn es nicht bereits geöffnet ist
wenn nicht orefdoc. documenttype = kpartdocumentobject dann
weiter
Ende
dim opartdoc als partdocument = orefdoc

' erhalten Sie die Farbe aus der Asset-Bibliothek
dim ocolor als Asset
Versuch
' versuchen, die Farbe direkt zu erhalten, wenn es im Teildokument existiert
ocolor = opartdoc.assets.item(colorname)
Fangmenge
' wenn die Farbe nicht lokal existiert, kopieren Sie sie aus der Bibliothek
dim olib als Assetlibrary
olib = thisapplication.assetlibraries("ralfarben metallic matte v1.0") " sorgen für den richtigen Bibliotheksnamen
ocolor = olib.appearanceassets.item(colorname)
ocolor = ocolor.copyto(opartdoc) ' Kopieren Sie die Farbe in das Teildokument
Ende Versuch

' die Farbe auf das Teildokument anwenden
opartdoc.componentdefinition. Surfacebodies(1).appearance = ocolor ' Ändern Sie das Aussehen des Teilkörpers

' speichern Sie das Teildokument nach der Anwendung der Farbe
opartdoc.save()

' eine Bestätigungsnachricht anzeigen
' messagebox.show(partnumber & " Farbe geändert in " & colorname, "color change")
andere
Teilnummer nicht im Excel-Blatt gefunden
messagebox.show(partnumber & " ist nicht auf der Liste", "part not found")
Ende
Nächste

' schließen Sie die Excel-Datei
goexcel.close
Fang ex als Ausnahme
' handhabe Fehler
messagebox.show("ein Fehler aufgetreten: " & ex.message, "error")
Ende Versuch
es funktioniert super!!! 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