Hallo allemaal,
Ik heb een macro gemaakt om mijn nomenclatuur te exporteren in een CSV-bestand dat goed werkt.
Nu wil ik het verbeteren door de uitvoerbestandsnaam te formatteren.
Om dit te doen, moet ik de waarde van een eigenschap van het onderdeel met de naam "DRAWING_NUM" ophalen om het in een variabele te zetten, terwijl ik in de tekening zit en deze eigenschap niet bestaat in de tekening.
Heeft iemand van jullie een idee om dit te laten gebeuren?
Ik heb al verschillende voorbeelden van eigendomsherstel op dit forum gevonden, maar geen van hen komt overeen met mijn geval
Bij voorbaat dank
Hallo
Het zou voldoende zijn om het toe te voegen aan uw plansjabloon en het zal er een deel van worden genoemd
1 like
Hallo
Is het altijd een onderdeel van het plan en is er maar één model dat in deze foto's wordt genoemd?
1 like
Ja, er zijn al aanzichten in het plan en de onderdeeleigenschappen worden opgehaald voor het vullen van de cartridge
Re
Kortom, de onderstaande code maakt het mogelijk om vanaf de eerste "gescande" weergave de DRAWING_NUM eigenschap van het bestand dat aan de weergave is gekoppeld, op te halen.
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swView As SldWorks.View
Dim swCustProp As CustomPropertyManager
Dim bRet As Boolean
Dim ResolvedValOut As String
Dim sValout As String
Dim WasResolved As Boolean
Sub main()
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
Set swView = swDraw.GetFirstView 'Active le fond de plan
Set swView = swView.GetNextView 'Active la première vue après le fond de plan
Set swModel = swView.ReferencedDocument 'Récupère le fichier associé à la première vue
Set swModelDocExt = swModel.Extension
Set swCustProp = swModelDocExt.CustomPropertyManager("")
bRet = swCustProp.Get5("DRAWING_NUM", False, sValout, ResolvedValOut, WasResolved) 'Récupération de la propriété "DRAWIND_NUM"
Debug.Print ResolvedValOut 'Utiliser ResolvedValout ou sValout, tout dépend si c'est une valeur calculée ou une valeur fixe
Set swModel = Nothing
Set swApp = Nothing
End Sub
2 likes
Dank je wel Cyril.f het werkt perfect!
1 like