tutorials.de Buch-Aktion 02/2012
Like Tree1Danke
  • 1 Beitrag von Zinken
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
460
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von konem
    konem konem ist offline Mitglied Silber
    Registriert seit
    Jun 2005
    Beiträge
    52
    Seid gegrüßt!

    Ich habe folgendes Problemchen:
    ich benötige um die 500 Objekte, dessen Bezeichnung eine fortlaufende Nummer enthält, die aber nicht am Ende steht.

    Beispiel:
    Objekte "seat.01.Standing", "Catcher01.Standing" und "Pitcher01.Standing". Ich habe diese drei Objekte erzeugt, jedoch das ".Standing" in der Bezeichnung weggelassen. So konnte die Nummer bei jeder Kopie automatisch um 1 erhöht werden. Soweit recht praktisch. Aber nun habe ich das Problem, überall wieder das ".Standing" hinzuzufügen. Eigentlich hatte ich, als ich am Anfang der Arbeit stand kein Problem damit, das alles manuel zu machen. Aber mitlerweile hab ich keine mehr.

    Gibt es eine Möglichkeit, in 3ds Max 7 Objekte automatisiert umzubenennen? Oder kann man die Objektliste exportieren, mit einem Textprogramm bearbeiten und wieder importieren? Oder kann man das Programm interne Skript dazu benutzen? Damit kenne ich mich allerdings überhaupt nicht aus. Habt ihr einen Tipp?

    Grüße (^-^)/
     

  2. #2
    Zinken Zinken ist offline Mitglied Brillant
    Registriert seit
    Aug 2006
    Beiträge
    958
    Mit Maxscript sollte das kein Problem sein. Einfach alle Objekte auswählen und den Maxscript Listener öffnen (F11).
    Dann gibts Du diese Zeile ein:
    Code :
    1
    
    for obj in $ do(obj.name = obj.name + ".Standing")
    Mit Shift+Return ausführen und fertig.
     

  3. #3
    Zinken Zinken ist offline Mitglied Brillant
    Registriert seit
    Aug 2006
    Beiträge
    958
    Bitte. Gern geschehen.
    Another bedankt sich. 

  4. #4
    Avatar von Another
    Another Another ist offline Mitglied Platin
    Registriert seit
    Oct 2003
    Beiträge
    650
    Danke Zinken.
     

  5. #5
    Zinken Zinken ist offline Mitglied Brillant
    Registriert seit
    Aug 2006
    Beiträge
    958
    Haha, sehr nett von Dir. Ich wollte es ja nur mal loswerden, da in letzter Zeit die Rückmeldungen doch eher spärlich ausfallen...
     

  6. #6
    Avatar von Another
    Another Another ist offline Mitglied Platin
    Registriert seit
    Oct 2003
    Beiträge
    650
    Geht doch nicht nur dir so, weiste doch. Am besten garnicht mehr darauf so sehr achten.
     

  7. #7
    Avatar von konem
    konem konem ist offline Mitglied Silber
    Registriert seit
    Jun 2005
    Beiträge
    52
    Locker bleiben Freunde War verhindert.
    Bin dir sehr dankbar Zinken. Hast mir echt Arbeit erspart. Legst du Wert auf nen Keks? *nen Keks schenk und glücklich weiterhoppel*

    (^-^)/
     

  8. #8
    Zinken Zinken ist offline Mitglied Brillant
    Registriert seit
    Aug 2006
    Beiträge
    958
    Auf Kekse lege ich eigentlich keinen gesteigerten Wert, ein einfaches "hat funktioniert" bevor der Thread als "erledigt" markiert wird genügt schon.
    Das hilft halt auch dem nächsten Leser einzuschätzen, ob die Lösung funktioniert oder ob ich Unsinn geschrieben habe und er sich das Ausprobieren sparen kann.
    Gerade bei MaxScript, das sich nicht über "Undo" rückgängig machen lässt, kann das die Nerven schonen...
     

  9. #9
    Avatar von konem
    konem konem ist offline Mitglied Silber
    Registriert seit
    Jun 2005
    Beiträge
    52
    Oh gut zu wissen, dass undo nicht möglich ist...

    Kennst du einen Befehl, um eine Zahl in der Bauteilbezeichnung um 1 zu erhöhen/ zu verringern? Momentan sind die Zahlen eingekreist so wie hier: seat143.Standing. Ich könnte auch eine ältere Dataiversion nehmen, in der das ".Standing" noch nicht auftaucht. Ich habe schon versucht, das ".Standing" zu entfernen. Habe den Befehl genommen, den du mit gegeben hast, und einfach statt "+" ein "-" genommen. Ging leider nicht - war wohl zu einfach gedacht

    Grüße (^-^)/
     

  10. #10
    Zinken Zinken ist offline Mitglied Brillant
    Registriert seit
    Aug 2006
    Beiträge
    958
    Dicht dran, aber doch vorbei...
    Hiermit kannst Du die Endung wieder entfernen:
    Code :
    1
    
    for obj in $ do (obj.name = [B]trimRight[/B] obj.name ".Standing")
    Analog dazu gibt es logischerweise auch "trimLeft".

    Die Objektnummer zu verändern ist nicht ganz so einfach, da der gesamte Name ja ein einziger String ist.
    Dazu müsstest Du erstmal den Namen in einen Text- und einen Zahlenteil zerlegen, den Zahlenteil in eine
    "echte" Zahl (integer, float) umwandeln, verändern und anschließend alles wieder zusammenbauen.
    Dabei spielt es natürlich auch eine Rolle, ob die Nummerierung führende Nullen (also 01 statt 1) enthält
    und ob diese erhalten bleiben sollen.

    Da das Ganze dann doch deutlicher mehr als ein Einzeiler ist, stellt sich hier spontan die Frage nach dem Sinn...
    Geändert von Zinken (08.03.10 um 10:43 Uhr)
     

  11. #11
    Avatar von konem
    konem konem ist offline Mitglied Silber
    Registriert seit
    Jun 2005
    Beiträge
    52
    Ja der Sinn... Ich könnte nochmal von vorn beginnen aber ich geh ungern soweit zurück.

    Ich arbeite an einem Raum für einen 3D-Chat. Um den Avataren zu sagen, wo sie stehen und mit anderen interagieren sollen, braucht man nodes. Ein Pack an nodes enthält den Standpunkt der Avatars, den des Icons das reagiert wenn die Maus drüberfährt, und noch 2 nodes für Interaktionen. Alle müssen die gleiche Nummer im Namen haben. Bei einem Element hat sich ein Fehler eingeschlichen. Ich hatte irgendwo noch eines rumliegen und so war die Nummer, die ja automatisch hochzählt beim Kopieren, um 1 zu groß. Lange Rede, kurzer Sinn: Automatische Sachen können ganz schön weh tun, wenn man nicht aufpasst. Eigentlich nix neues

    Ich kenne mich mit dem Skript so garnicht aus. Ich glaube diese direkte und nützliche Anwendung ist für mich ein ganz guter Einstieg in die Materie. Ich habe vor längerer Zeit mal die Dokumentation dazu durchgesehen und war nicht so voller Elan, das weiter zu verfolgen. Liegt ganz einfach daran, dass ich eher Knöpfedrücker bin und nicht Texter. Aber die Vorteile sind nicht ohne :P

    Danke Zinken
     

Ähnliche Themen

  1. Automatisiertes Registrierungsformular
    Von Stefanmueller321 im Forum PHP
    Antworten: 5
    Letzter Beitrag: 31.05.09, 21:33
  2. Automatisiertes Installieren von Programmen...
    Von Hawkster im Forum Microsoft Windows
    Antworten: 5
    Letzter Beitrag: 24.08.06, 11:55
  3. Automatisiertes Logo einfügen
    Von milk or sugar im Forum Photoshop
    Antworten: 2
    Letzter Beitrag: 07.11.05, 09:33
  4. Automatisiertes Slicen
    Von Andreas Späth im Forum Photoshop
    Antworten: 0
    Letzter Beitrag: 25.06.05, 22:15
  5. [Delphi] Automatisiertes quelltextauslesen
    Von sgvortex im Forum Delphi, Kylix, Pascal
    Antworten: 2
    Letzter Beitrag: 30.06.04, 11:11