Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  OnSave Event

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:  OnSave Event (4990 mal gelesen)
TobiM4
Mitglied



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

Beiträge: 86
Registriert: 22.03.2005

erstellt am: 20. Okt. 2005 12:59    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

Hi VBA Spezies

Ich habe zum erstemal für Inventor ein Makro geschrieben. hat auch soweit ganz gut geklappt, mit ein wenig Nachlesen hier im Forum.

Jetzt möchte ich das Makro immer beim Speichern des bauteils aufrufen. Mit dem OnSave Event komme ich aber nicht ganz klar. Ich habe folgendes probiert:

OnSaveDocument(DocumentObject As Document,BeforeOrAfter As
                EventTimingEnum,Context As NameValueMap,
                HandlingCode As HandlingCodeEnum)
If BeforeorAfter = kBefore then
  call Makro
end if

Das funktioniert aber irgendwie nicht. Vielleicht kann mir ja jemand den Code umstricken und posten. Aus den Andren fragen zum ähnlichen Thema werde ich leider nicht schlau. Kommt wohl daher, dass ich bis jetzt nur in Excel programmiert habe
 
Schöne Grüsse TobiM4

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

Emick
Mitglied
Programmierer


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

Beiträge: 22
Registriert: 18.09.2005

Inventor VBA

erstellt am: 20. Okt. 2005 13:18    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 TobiM4 10 Unities + Antwort hilfreich

Hi TobiM4

Ich glaube du suchst sowas.


Private Sub oAppEvents_OnSaveDocument(ByVal DocumentObject As Document, ByVal BeforeOrAfter As EventTimingEnum, ByVal Context As NameValueMap, HandlingCode As HandlingCodeEnum)
 
  If BeforeOrAfter = kBefore Then
    MsgBox "VOR dem Speichern: irgendetwas machen", vbInformation, "AppEvent"
  End If
 
  If BeforeOrAfter = kAfter Then
    MsgBox "NACH dem Speichern: irgendetwas anderes machen", vbInformation, "AppEvent"
  End If
     
End Sub


Gruss Emick

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

TobiM4
Mitglied



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

Beiträge: 86
Registriert: 22.03.2005

erstellt am: 20. Okt. 2005 13:35    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

Hi Emick

Ja so etwas suche ich wohl. Aber fuktionieren tut das leider nicht.
Ich habe ja so den Verdacht, dass mein Inventor diese AppEvents noch gar nicht kennt. Vielleicht muß man die ja zusätzlich laden oder erstmal global setzen.
Habe aber auch leider keine Ahnung, wo und wie ich das machen soll.

aber schon mal vielen Dank

Gru0 TobiM4

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 20. Okt. 2005 13:41    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 TobiM4 10 Unities + Antwort hilfreich

Hallo Tobi.

der Event ist nicht von alleine da - den musst Du schon initialisieren. Guckst Du hier:
http://ww3.cad.de/foren/ubb/Forum258/HTML/000314.shtml#000003


Suchen hilft manchmal auch...


Grüsse,

Paul

www.morecam.ch
www.thinkcad.de

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

TobiM4
Mitglied



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

Beiträge: 86
Registriert: 22.03.2005

Ing++ 2009

erstellt am: 20. Okt. 2005 13:57    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

Hurra

Ihr seid meine Rettung jetzt funktioniert mein Makro und alle sind wieder glücklich. Besonders mein Chef :-))

Vielen Vielen Dank

TobiM4

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

Emick
Mitglied
Programmierer


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

Beiträge: 22
Registriert: 18.09.2005

Inventor VBA

erstellt am: 20. Okt. 2005 14:00    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 TobiM4 10 Unities + Antwort hilfreich

Hi Paul

Naja, dachte hat schon ein Makro konstruiert?

Gruss Emick

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

TobiM4
Mitglied



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

Beiträge: 86
Registriert: 22.03.2005

erstellt am: 21. Okt. 2005 08:05    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

Hi Emick

Da Habe ich mich wohl zu früh gefreut :-(((

Mein Makro funktioniert leider nur im Bauteil. Wenn ich jetzt meine Baugruppe aufrufe und speichern will, dann gibt es eine Fehlermeldung.

Und zwar liegt das daran, dass ich im Makro eine Variable in der Baugruppe wie folgt setze

Dim oDoc As Inventor.PartDocument
Set oDoc = ThisApplication.ActiveDocument

Jetzt ist ja aber in meiner Baugruppe, wenn ich speicher das aktive Document leider nicht mein Bauteil sondern natürlich meine Baugruppe.

Wie kann kann ich dann jetzt meine Variable deklarieren ???
Ich müsste ja immer genau "oDoc" auf genau das Document setzen, was gerade gespeichert werden soll. Aber wie ich das auslesen soll weiß ich überhaupt nicht. Vieleicht weiß ja jemand Rat.

Gruß TobiM4

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

Frank_Schalla
Ehrenmitglied
CAD_SYSTEMBETREUER


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

Beiträge: 1731
Registriert: 06.04.2002

DELL M6800
Cad Admin
Methodikentwickler 3D

erstellt am: 23. Okt. 2005 09:53    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 TobiM4 10 Unities + Antwort hilfreich

Also wie sagts mann nun ohne falsch verstanden zu werden ???

Also mit dem Schreiben von Software ist es ein wenig wie mit dem Technischen Zeichnen.
Entweder eine solide Ausbildung oder die bereitschaft den Hoischen zu lesen.
Will heissen:
Du must eine vernünftige Grundlage an Wissen schaffen und diese ist in der Inventor API Hilfe enthalten.
Bei mir ist meistens so das 20 Prozent Innovation und 80% Handwerkszeug ein Projekt bestimmen.

Ok nun zu deinem Problem.
Du solltest vorher den Dokuemnt Typ feststellen und dann gezielt darauf reagieren.

*******************************************************
Option Explicit

Public Sub react_on_doctype()
Dim oDoc As Inventor.Document
Set oDoc = ThisApplication.ActiveDocument
On Error GoTo Err
Select Case oDoc.DocumentType
Case Is = kAssemblyDocumentObject
Debug.Print " mach was für IAM"
Case Is = kPartDocumentObject
Debug.Print " mach was für IPT"
Case Is = kDrawingDocumentObject
Debug.Print " mach was für IDW"
Case Is = kPresentationDocumentObject
Debug.Print " mach was für IPN"
End Select
  Set oDoc = Nothing
  On Error GoTo 0
  Exit Sub
Err:
  Set oDoc = Nothing
MsgBox "Kein Dokument geladen "
  On Error GoTo 0
  End Sub

------------------

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

TobiM4
Mitglied



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

Beiträge: 86
Registriert: 22.03.2005

erstellt am: 24. Okt. 2005 08:49    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

Hi Frank

Hm da hast du wohl nicht ganz unrecht, dass das mit meinem Wissen in VBA-Inventor wohl nicht so weit her ist. Dafür gibt es ja aber dieses super Forum.

Nun zu deiner Antwort. Wie ich den Documententyp auslese hätte ich wohl noch gerade hin bekommen, aber leider hilft es mir nicht wirklich weiter. Ich könnte das jetzt zwar einbauen und ich wäre die Fehlermeldung los, aber mein Problem ist nicht gelöst.

Ich werde noch mal beschreiben, was ich nach meiner Anfängermeinung nach eigentlich bräuchte. Immer wenn das OnSave Event in meinem Bauteil eintritt (egal ob manuell oder indirekt über das Speichern der Baugruppe) möchte ich meine oDoc Variable genau auf das Document setzen, was gerade gespeichert wird.
Ich habe es ja bis jetzt mit oDoc = aktiveDocument gemacht aber das funktioniert ja leider nicht mehr, da das ja beim Speichern aus der Baugruppe heraus die Baugruppendatei ist.

Vielleicht kann ja noch mal jemand helfen.

Gruß TobiM4

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

SEHER
Mitglied
Systemanalytiker


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

Beiträge: 1203
Registriert: 13.03.2001

Inventor 2 bis 2022
häufig wechselnder Rechnerverkehr

erstellt am: 24. Okt. 2005 11:34    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 TobiM4 10 Unities + Antwort hilfreich

Hallo
willst Du das aktivierte Dokument(ActiceEditDocument) in einer Baugruppe was miteilen?

Seher

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

TobiM4
Mitglied



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

Beiträge: 86
Registriert: 22.03.2005

erstellt am: 24. Okt. 2005 11:57    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

Ich glaube ja so langsam, dass meine Kenntnisse nicht einmal ausreichen, um mein Problem zu schildern. Also hier noch einmal mein letzter Versuch.

Ich habe ein Makro in einem Bauteil geschrieben, dass immer ausgeführt wird, wenn ich dieses Bauteil speichere. So weit so gut.

Jetzt habe ich dieses Bauteil in einer Baugruppe verbaut. Dann gibt es eine Fehlermeldung beim Speichern dieser Baugruppe. Das liegt daran, dass ich blöderweise in meinem Makro eine Variable mit "oDoc = ThisApplication.ActiveDocument" fülle. Da aber beim Speichern der Baugruppe das aktive Document die Baugruppe ist, kann mein Makro im Bauteil damit nichts mehr anfangen, weil da eigentlich der Verweis auf das Bauteil drin stehen müsste, weil ich ja Eigenschaften des Bauteils bearbeiten möchte.

Ich müsste also einen Weg finden, dass mir das Ereignis "OnSave" den Bezug zu dem Document zurückgibt, das das Ereignis ausgelöst hat.

TobiM4

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

SEHER
Mitglied
Systemanalytiker


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

Beiträge: 1203
Registriert: 13.03.2001

Inventor 2 bis 2022
häufig wechselnder Rechnerverkehr

erstellt am: 24. Okt. 2005 12:02    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 TobiM4 10 Unities + Antwort hilfreich

Setze doch odoc auf ThisApplication.Inventor.Document und speicher dann das ActiveEditDocument.

Gruß
Seher

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

TobiM4
Mitglied



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

Beiträge: 86
Registriert: 22.03.2005

erstellt am: 24. Okt. 2005 13:37    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


dasMakro.txt

 
Hi SEHER

Vielleicht stelle ich mich ja ein wenig an, aber ich benötige wohl noch mehr deine Hilfe.
Aber die Eigenschaft "ActiveEditDocument" kennt mein Inventor leider nicht. Oder muß ich da vorher noch wieder etwas aktivieren so wie bei den Event Ereignissen. ???

Ich habe jetzt mal meine Makro's angehängt. Vielleicht kann da ja mal einer dran rum basteln. Es ist zwar nicht alles, sondern nur der Teil, der nicht funktioniert. Das erste Makro ruft noch weitere Makro's  auf da funktioniert alles.

Gruß TobiM4

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

SEHER
Mitglied
Systemanalytiker


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

Beiträge: 1203
Registriert: 13.03.2001

Inventor 2 bis 2022
häufig wechselnder Rechnerverkehr

erstellt am: 24. Okt. 2005 22:19    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 TobiM4 10 Unities + Antwort hilfreich

Hallo,
erstmal sorry ich meinte activeEditObject. Aber mit der Source hast Du mich jetzt noch mehr verwirrt. In welchem Dokument hast Du diese vba-Geschichte? Nur in einem oder in allen bei denen was gelöscht werden soll? Dies mit dem auto-save funktioniert in vba glaub ich nur in dem Dokument wo das Makro drin ist.

Seher

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

TobiM4
Mitglied



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

Beiträge: 86
Registriert: 22.03.2005

erstellt am: 25. Okt. 2005 08:50    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

Hi SEHER

Also das Makro ist schon in jedem Bauteil gespeichert.

Aber leider komme ich mit "ActiveEditObject" nicht weiter, da es das editierende Objekt bezeichnet (die Baugruppe) ich muß aber das Objekt ansprechen, was editiert wird, sprich das Bauteil.

TobiM4

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 25. Okt. 2005 09:31    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 TobiM4 10 Unities + Antwort hilfreich

Hallo TobiM4,

du bekommst sehr bald viele Probleme mit deinen Makros. Dein Vorgehen ist völlig falsch. Du sollst ein Programm schreiben, das dir die kompletten Baugruppen bearbeitet, und so weit ich richtig verstanden habe, geht es dir nur um das Löschen von Properties, und das ist sogar auf der Basis von ApprenticeServer möglich. Das heißt, du musst nicht einmal die Baugruppe / Inventor offen haben um die Daten zu bearbeiten, und es geht alles in Sekundenschnelle. Es ist nicht immer gut alles alleine machen zu wollen, vor allem wenn die Kenntnisse sehr mager sind. Nichts für ungut...

------------------
Grüße daywa1k3r

FX64 Software Solutions
Mold&More Software Solutions

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

TobiM4
Mitglied



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

Beiträge: 86
Registriert: 22.03.2005

erstellt am: 25. Okt. 2005 09:40    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

Hi daywa1k3r

Also gegen deine Kritik habe ich gar nichts, zumal sie wohl noch völlig zutrifft.

Kannst du mir denn vielleicht mal einen Code posten, aus dem ich erkennen kann, wie ich in der Baugruppe auf die einzelnen Poperties der Bauteile zugreifen kann, damit ich nicht alles allein machen muß. ;-)

Gruß TobiM4

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 25. Okt. 2005 10:23    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 TobiM4 10 Unities + Antwort hilfreich

Da du wahrscheinlich kein VisualStudio hast, vergessen wir das mit Apprentice. Hier eine VBA Lösung. Löscht alle Benutzer Properties aus der Baugruppe.

Code:

Sub TobiM4()
    If ThisApplication.Documents.Count = 0 Then
        MsgBox "Kein Dokument geöffnet.", vbCritical, "Dokumente :-/"
        Exit Sub
    End If
   
    If ThisApplication.ActiveDocumentType <> kAssemblyDocumentObject Then
        MsgBox "Das Dokument ist keine Baugruppe. Das Programm wird beendet.", vbCritical, "Dokumentyp :-/"
        Exit Sub
    End If
   
    Dim oAsm As AssemblyDocument
    Set oAsm = ThisApplication.ActiveDocument
   
    Check_All_Occs oAsm.ComponentDefinition.Occurrences
End Sub

Sub Check_All_Occs(oOccs As ComponentOccurrences)
    Dim oOcc As ComponentOccurrence
    Dim oProperty As Inventor.Property
   
    For Each oOcc In oOccs
        ThisApplication.StatusBarText = oOcc.Name
        For Each oProperty In oOcc.Definition.Document.PropertySets("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}")
            oProperty.Delete
        Next
        Call Check_All_Occs(oOcc.SubOccurrences)
    Next
End Sub


------------------
Grüße daywa1k3r

FX64 Software Solutions
Mold&More Software Solutions

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

TobiM4
Mitglied



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

Beiträge: 86
Registriert: 22.03.2005

erstellt am: 25. Okt. 2005 11:42    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

Hi daywa1k3r

Vielen Dank für den Code.

habe mein Makro auch mittlerweile zum laufen gebracht. Mein Code, wo ich die Eigenschaft lösche war nur ein Teil meines Makros. Eigentlich wollte ich noch etwas mehr machen. Ich hatte nur diesen Teil gepostet, damit man mich versteht. Konnte also dein code nicht direkt verwenden, aber mir die etscheidenden Teile abgucken und umstricken, so dass es jetzt läuft und meine Fragerei ein Ende hat.

Vielen Dank noch mal auch alle anderen
TobiM4

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

TobiM4
Mitglied



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

Beiträge: 86
Registriert: 22.03.2005

Ing++ 2009

erstellt am: 25. Okt. 2005 15:19    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

dieser Beitrag kann geschlossen werden.

Alle "Klarheiten" beseitigt

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