API - aangepaste eigenschap

Hallo allemaal,

Ik heb een vraag over custom property management in solidworks

Kunnen we een aangepaste eigenschap van een assembly wijzigen, laat me het uitleggen:

Ik heb een assembly open staan en vanuit deze assembly "CO37662-33867_Ensemble_goulotte_sortie" wil ik de custom eigenschap van een onderdeel "CO37662-33867F09-1" wijzigen

Is het mogelijk zonder de kamer te openen?

Ik heb een stukje code gemaakt in VBA om te testen, maar het werkt niet

' ******************************************************************************
' ******************************************************************************
Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc

boolstatus = Part.Extension.SelectByID2("CO37662-33867F09-1@CO37662-33867_Ensemble_goulotte_sortie", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
Part.CustomInfo("No_article") = 2000200



' fonctionne dans une piece
'boolstatus = Part.AddCustomInfo3("", "No_article", 1, "")
'Part.CustomInfo("No_article") = 2000200
End Sub

 

Bedankt voor je hulp

1 like

Hallo

Ik heb geen SW bij de hand om te controleren, maar ik denk dat je op zijn minst het onderdeel in de assembly moet bewerken om te kunnen ingrijpen op de aangepaste eigenschappen, wat je stukje code niet doet...

Vriendelijke groeten

Hallo

Ik heb het stuk op deze manier bewerkt

boolstatus = Part.Extension.SelectByID2("CO37662-33867F01-1@CO37662-33867_Ensemble_goulotte_sortie", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)

 

Maar dit verandert het attribuut van de assemblage.

 

Hallo

De SelectByID2 functie is geen bewerkingsfunctie, maar gewoon een selectiefunctie...

Om te doen wat u wilt, moet u de functie GetModelDoc2 gebruiken om het ModelDoc2 van het geselecteerde onderdeel op te halen, van daaruit kunt u aan deze aangepaste eigenschappen werken.

Vriendelijke groeten

2 likes