Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor .NET
  Volumenkörper umbenennen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Volumenkörper umbenennen (1525 mal gelesen)
Klaka
Mitglied



Sehen Sie sich das Profil von Klaka an!   Senden Sie eine Private Message an Klaka  Schreiben Sie einen Gästebucheintrag für Klaka

Beiträge: 14
Registriert: 16.05.2017

Inventor 2016
Win7 64 bit

erstellt am: 08. Jun. 2017 14:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallöchen zusammen,
ich hatte diesen Post schon mal im vba - Forum gepostet will aber das Problem anders lösen.

Ich möchte in einem Mehrvolumenkörper die einzelnen Volumen umbenennen, was mir auch gelungen ist.

Code:

Private Sub NameÄndern()
        Dim oApp As Inventor.Application
        oApp = CType(GetObject(, "Inventor.Application"), Application)
        Dim ptDoc As PartDocument
        If oApp.ActiveDocument.DocumentType <> DocumentTypeEnum.kPartDocumentObject Then
            MsgBox("please open a part document")
            Exit Sub
        End If
        ptDoc = CType(oApp.ActiveDocument, PartDocument)
        Dim solid As SurfaceBody
        Dim j As Integer
        Dim prefix As String
        prefix = ptDoc.DisplayName.ToString
        prefix = prefix.Remove(4)
     
        j = 1
        For Each solid In ptDoc.ComponentDefinition.SurfaceBodies         
                solid.Name = prefix & "-00" & j
                j = j + 1         

        Next
        ptDoc.Update()
        ptDoc.Save()
    End Sub


Hier wird jeder Körper umbenannt und zwar in die ersten 4 Ziffern des Display namen und einer laufenden Nummer hintendran.

Ich möchte aber auch im nachhinein noch Volumina umbenennen, aber ohne dass schon umbenannte mit einbezogen werden.
Wenn also der letzte Volumenkörper 6222-0050 heißt, soll dieser Name auch bleiben und wenn ich das Programm wieder laufen lasse
der nächste Volumenkörper 6222-0051 heißt.

Ich hoffe ich habe das einigermaßen erklären können und mir kann jemand weiterhelfen.

Gruß
Klaus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Fiedel93felix
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Fiedel93felix an!   Senden Sie eine Private Message an Fiedel93felix  Schreiben Sie einen Gästebucheintrag für Fiedel93felix

Beiträge: 448
Registriert: 19.02.2014

Autodesk Inventor 2014
Microsoft Visual Basic 2010

erstellt am: 08. Jun. 2017 14:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Klaka 10 Unities + Antwort hilfreich

Hallo,

kommt auf den Namen der Körper an....
Wenn der Namen sonst keinen "-" enthält könntest du sagen.

If Name.contains("-") then
Anzahl + 1
else
Name + "-" + Anzahl
End if

Aber da ich nicht weiß wie die Körper benannt sind ist das schwer von hier.

------------------
----------------------------------
Mit freundlichen Grüßen

Felix

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Fiedel93felix
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Fiedel93felix an!   Senden Sie eine Private Message an Fiedel93felix  Schreiben Sie einen Gästebucheintrag für Fiedel93felix

Beiträge: 448
Registriert: 19.02.2014

Autodesk Inventor 2014
Microsoft Visual Basic 2010

erstellt am: 08. Jun. 2017 15:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Klaka 10 Unities + Antwort hilfreich

Aber Achtung....wenn die Volumenkörper in der Reihenfolge geändert wurde enstehen so falsche Benennungen und doppelte!!!

Wenn es sein kann das die Körper in der Reihenfolge verändert wurden musst du zuvor Überprüfen wie viele Körper das "-" im Namen haben.

------------------
----------------------------------
Mit freundlichen Grüßen

Felix

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Klaka
Mitglied



Sehen Sie sich das Profil von Klaka an!   Senden Sie eine Private Message an Klaka  Schreiben Sie einen Gästebucheintrag für Klaka

Beiträge: 14
Registriert: 16.05.2017

Inventor 2016
Win7 64 bit

erstellt am: 08. Jun. 2017 15:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Browserliste.JPG

 
Die Benennung ist immer die selbe.
Zeichnungsnummer (hier die ersten 4 Ziffern des Display-Namens) + "-" + lfd. Nummer.(siehe Anhang)
Wie man in der Browserleiste sieht gibt es da Volumen die nicht umbenannt wurden, weil die Körper unterdrückt sind.
Wenn ich in meinem Steuerbauteil nun ein bißchen stelle werden diese Aktiv und andere inaktiv.
Ich möchte dass bei erneutem umbenennen mit dem Programm die unbenannten Körper die gleiche vornummer bekommen aber die endnummer an die
letzte laufende nummer angehängt wird.

Gruß
Klaus


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Fiedel93felix
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Fiedel93felix an!   Senden Sie eine Private Message an Fiedel93felix  Schreiben Sie einen Gästebucheintrag für Fiedel93felix

Beiträge: 448
Registriert: 19.02.2014

Autodesk Inventor 2014
Microsoft Visual Basic 2010

erstellt am: 08. Jun. 2017 15:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Klaka 10 Unities + Antwort hilfreich

Private Sub NameÄndern()
        Dim oApp As Inventor.Application
        oApp = CType(GetObject(, "Inventor.Application"), Application)
        Dim ptDoc As PartDocument
        If oApp.ActiveDocument.DocumentType <> DocumentTypeEnum.kPartDocumentObject Then
            MsgBox("please open a part document")
            Exit Sub
        End If
        ptDoc = CType(oApp.ActiveDocument, PartDocument)
        Dim solid As SurfaceBody
        Dim j As Integer
        Dim prefix As String
        prefix = ptDoc.DisplayName.ToString
        prefix = prefix.Remove(4)

        j = 1

        For Each solid In ptDoc.ComponentDefinition.SurfaceBodies        
              If  solid.Name.contains( "-00") then
                    j = j + 1   
              end if  
        Next

        For Each solid In ptDoc.ComponentDefinition.SurfaceBodies
              If not solid.Name.contains( "-00") then
                    solid.Name = prefix & "-00" & j
                j = j + 1  
              end if       
        Next

        ptDoc.Update()
        ptDoc.Save()
    End Sub


so sollte es funktionieren


------------------
----------------------------------
Mit freundlichen Grüßen

Felix

[Diese Nachricht wurde von Fiedel93felix am 08. Jun. 2017 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Klaka
Mitglied



Sehen Sie sich das Profil von Klaka an!   Senden Sie eine Private Message an Klaka  Schreiben Sie einen Gästebucheintrag für Klaka

Beiträge: 14
Registriert: 16.05.2017

Inventor 2016
Win7 64 bit

erstellt am: 08. Jun. 2017 15:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
leider passiert gar nichts wenn ich das Proggi so laufen lasse.
Moment... da tut sich doch was.... aber ich muss erst mal nachsehen was genau da passiert.

Gruß
Klaus

[Diese Nachricht wurde von Klaka am 08. Jun. 2017 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz