GetLastFeatureAdded

Hallo

Ik kan de methode GetLastFeatureAdded niet gebruiken. 

Hier is mijn code die ik gebruik om een holtefunctie in te voegen in een bewerkt onderdeel in een assembly! 

boolstatus = swModel.Extension.SelectByID2("" & Naam & "@Simulateur", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0) 'Het onderdeel selecteren waarvoor ik de vingerafdruk wil
swAssy.InsertCavity4 0.4, 0.4, 0.4, True, 1, -1 'Het maken van de vingerafdrukfunctie. 

Dan wil ik deze functie hernoemen naar vingerafdruk. Want voor de toekomst wil ik zeker zijn van de naam van de functie. Neem niet het risico dat de afdruk een hit "Afdruk1" wordt genoemd en vervolgens "Afdruk 3" enz. enz. 
Dus ik gebruik de methode: GetLastFeatureAdded en hernoem dan de functie.

Ik heb de volgende variabelen aangegeven: 

Dim swFeat als SldWorks.Feature

Dim swModExt als SldWorks.ModelDocExtension

Dan voer ik de methode uit: 

set swFeat = swModExt.GetLastFeatureAdded

En het vertelt me dat de objectvariabele niet wordt gedeclareerd. Ik begrijp niet echt waar mijn fout of mijn onoplettendheid zit. 

Dank u voor uw advies:)

 

Hallo

Het is moeilijk om zo te antwoorden zonder de code die voor je ligt.

Ik vermoed echter dat uw variabele "swModExt" niet is geïnitialiseerd en dus leeg is.

Vriendelijke groeten

2 likes

Hallo

Ik denk aan hetzelfde als d.roger. Zie om Set swModExt = swModel.Extension toe te voegen voordat u swFeat instelt

De eenvoudigste manier om dit te doen is om het te definiëren na een regel die van het type moet zijn Set swModel = swApp.ActiveDoc en het te gebruiken vanuit boolstatus = swModExt.SelectbyID2.....

Hallo 

Mijn excuses voor de vertraging. 

Mijn swModExt variabele is goed geïnitialiseerd (ik heb niet alle code geschreven). Ik blijf in ieder geval zoeken. Bedankt! 

Hallo

Dit is precies waar de volledige code interessant is, want zonder dat kun je te veel aannames doen.

- Uw variabele "swModExt" is goed geïnitialiseerd, ja, maar in relatie tot wat? Uw deel bewerkt in de assemblage of uw hoofdassemblage? de aanroep naar de "ModelDoc2" is helemaal niet hetzelfde, afhankelijk van het niveau van de component die u wilt openen.

- Afhankelijk van hoe u toegang krijgt tot uw deel van uw assemblage, kunnen we ons ook afvragen of uw onderdelen allemaal in de opgeloste modus staan? En zo niet, is de foutafhandeling voltooid (zo niet "Runtime-fout 91: objectvariabele of blokvariabele met niet gedefinieerd")?

...

Vriendelijke groeten

2 likes