GetLastFeatureHinzugefügt

Hallo

Ich kann die GetLastFeatureAdded-Methode nicht verwenden. 

Hier ist mein Code, den ich verwende, um eine Kavitätenfunktion in eine bearbeitete Komponente in einer Baugruppe einzufügen! 

boolstatus = swModel.Extension.SelectByID2("" & Name & "@Simulateur", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0) 'Auswahl der Komponente, für die ich den Fingerabdruck haben möchte
swAssy.InsertCavity4 0.4, 0.4, 0.4, True, 1, -1 'Erstellen der Fingerabdruckfunktion. 

Dann möchte ich diese Funktion Fingerabdruck umbenennen. Denn für die Zukunft möchte ich mir sicher sein, wie die Position heißt. Gehen Sie nicht das Risiko ein, dass das Impressum als Treffer "Impressum1" und dann als "Imprint 3" usw. usw. bezeichnet wird. 
Also verwende ich die Methode: GetLastFeatureAdded und benenne die Funktion dann um.

Ich habe die folgenden Variablen deklariert: 

Dim swFeat As SldWorks.Feature

Dim swModExt As SldWorks.ModelDocExtension

Dann führe ich die Methode aus: 

set swFeat = swModExt.GetLastFeatureAdded

Und es sagt mir, dass die Objektvariable nicht deklariert ist. Ich verstehe nicht wirklich, wo mein Fehler oder mein Versehen liegt. 

Vielen Dank für Ihren Rat:)

 

Hallo

Es ist schwer, so zu antworten, ohne den Code vor sich zu haben.

Ich vermute allerdings, dass Ihre Variable "swModExt" nicht initialisiert ist und daher leer ist.

Herzliche Grüße

2 „Gefällt mir“

Hallo

Ich denke an das Gleiche wie D.Roger. Siehe zum Hinzufügen von Set swModExt = swModel.Extension vor Set swFeat

Der einfachste Weg, dies zu tun, besteht darin, sie nach einer Zeile zu definieren, die vom Typ Set swModel = swApp.ActiveDoc sein muss, und sie von boolstatus = swModExt.SelectbyID2 zu verwenden.....

Hallo 

Ich entschuldige mich für die Verspätung. 

Meine swModExt-Variable ist gut initialisiert (ich habe nicht den gesamten Code geschrieben). Ich schaue auf jeden Fall weiter. Vielen Dank! 

Hallo

Genau hier ist der komplette Code interessant, denn ohne ihn kann man zu viele Annahmen treffen.

- Deine Variable "swModExt" ist gut initialisiert, ja, aber in Bezug auf was? Ihr Teil wurde in der Baugruppe oder in der Kopfbaugruppe bearbeitet? Der Aufruf von "ModelDoc2" ist nicht derselbe, abhängig von der Ebene der Komponente, auf die Sie zugreifen möchten.

- Je nachdem, wie Sie auf Ihr Teil Ihrer Baugruppe zugreifen, können wir uns auch fragen, ob sich alle Ihre Teile im gelösten Modus befinden. Und wenn nicht, ist die Fehlerbehandlung abgeschlossen (wenn nicht "Laufzeitfehler 91: Objektvariable oder Blockvariable mit nicht definiert")?

...

Herzliche Grüße

2 „Gefällt mir“