Ik ben op zoek naar een macro die ik zou kunnen aanpassen en waarmee ik in mijn actieve weergave naar een eigenschap van het model kan zoeken en, eenmaal vastgelegd, het blad kan hernoemen volgens deze eigenschap voor alle bladen. We maken tekeningen die verschillende onderdelen bevatten met graveernummers en het is dit graveernummer dat ik graag wil importeren om het tabblad van mijn tekening een naam te geven. Als je iets hebt, laat het me dan weten. Heel hartelijk bedankt! (we zijn op SW 2016)
Zou het gemakkelijker zijn om een stuk gegevens rechtstreeks in mijn tekening vast te leggen en te vragen dat de macro het blad hernoemt op basis van deze gegevens? Want uiteindelijk schrijft het nummer waarin ik geïnteresseerd ben automatisch in mijn cartridge! Ik vind het alleen vreemd dat Dassault er niet aan denkt om deze optie direct in de bladeigenschappen te integreren!!
Bedankt
Bedankt voor je antwoord cobra, maar ik had deze macro al, maar het heeft geen directe eigenschap in het onderdeel zelf, maar ofwel de config-naam of de onderdeelnaam:(
Om de eigenschap in het titelblok op te halen, is de eenvoudigste manier om de annotaties te herhalen.
In principe moet je dit type lus gebruiken:
Stel swView=swDraw.GetFirstView ' Declaration in om de basiskaart in te schakelen Stel swNote in = swView.GetFirstNote swModel.ClearSelection2 (Waar) Doen terwijl het niet swNote is niets Stel swAnn in = swNote.GetAnnotation sValue = "$PRPSHEET:""" & Num_Gravage & """" ' Zet de naam van de woning die u zoekt Als swNote.PropertyLinkedText = sValue Dan swSheet.SetName (swNote.GetText) Sub afsluiten Einde als swModel.ClearSelection2 (Waar) Stel swNote in = swNote.GetNext Strik
Nou, bedankt Ceril, maar aangezien ik geen VBA-programmeur ben, weet ik niet zo zeker waar en hoe ik je regel moet invoegen, hier is de code die ik probeer aan te passen aan mijn behoeften! Als je me een handje zou kunnen helpen, zou dat geweldig zijn. Bedankt
Dim swApp als SldWorks.SldWorks Dim swModel als SldWorks.ModelDoc2 Dim swSheet als SldWorks.Sheet Dim swModelview2 als configuratie Dim ConfigName als tekenreeks Dim vSheets als variant Dim swView als SldWorks.Bekijk Dim i als geheel getal
Sub hoofd() Stel swApp = Toepassing.SldWorks in Stel swModel = swApp.ActiveDoc in
vSheets = swModel.GetSheetNames Voor i = 1 TB swModel.GetSheetCount swModel.ActivateSheet vSheets(i - 1) Stel swSheet in = swModel.GetCurrentSheet Count = swModel.GetModelViewCount
Stel swView = swModel.GetFirstView in
Doen terwijl het niet swView is niets ConfigName = swView.ReferencedConfiguration Stel swView in = swView.GetNextView Strik swSheet.SetName ConfigName volgende i
Hallo, met betrekking tot deze nieuwe macro, is er een manier om het te vertellen dat de notitie waarin de informatie die ik zoek om mijn tabbladen te hernoemen wordt gevonden, eigenlijk meer dan één eigenschap bevat?
De notitie bestaat uit 2 eigenschappen om mijn uiteindelijke getal te vormen, en ik weet niet hoe ik het de & moet vertellen!
Samenvattend, hoe kunnen we hem vertellen dat hij de notitie moet kopiëren die deze eigenschap en deze eigenschap bevat?
Hallo Cyril, dit is wat ik heb gedaan, maar het werkt niet?!
Doen terwijl het niet swNote is niets Stel swAnn in = swNote.GetAnnotation sValue = "$PRPSHEET:""Geen tekening""" & "$PRPSHEET:""Geen stuk (tekening)""" 'Zet de naam van de woning die je zoekt' Als swNote.PropertyLinkedText = sValue Dan swSheet.SetName (swNote.GetText) swModel.BewerkenHerbouwen3 swModel.Save2 Onwaar Afsluiten Do Einde als swModel.ClearSelection2 (Waar) Stel swNote in = swNote.GetNext Strik Volgend Einde Sub
Ik heb hier alleen het gedeelte gekopieerd dat ons interesseert.