Is er een manier om de aangepaste eigenschappen van een artikelbestand te verwijderen en automatisch nieuwe terug te plaatsen. We hebben een aantal bestanden die niet de eigenschappen hebben die wij gebruiken (bijv. profielbestand voor de gelaste monteur). Het doel is om de nieuwe eigenschappen in deze bestanden snel te herstellen.
We gebruiken SW 2016 Premium-versie - We hebben de MyCad-tools niet.
Ja, u kunt bestaande eigenschappen bijwerken of nieuwe maken, maar er is geen mogelijkheid om bestaande eigenschappen te verwijderen om niet te eindigen met een belangrijke lijst met eigenschappen en onnodige velden. Hoe kan ik bestaande eigenschappen verwijderen?
U kunt de taakplanner gebruiken om uw eigenschappen te maken en te vervangen, en als u de macrorecorder gebruikt om eigenschappen te verwijderen die u niet nodig heeft. U kunt het ook starten met de planner en de betreffende bestanden kiezen.
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim config As SldWorks.Configuration
Dim cusPropMgr As SldWorks.CustomPropertyManager
Dim lRetVal As Long
Dim ValOut As String
Dim ResolvedValOut As String
Dim wasResolved As Boolean
Dim nNbrProps As Long
Dim vPropNames As Variant
Dim vPropTypes As Variant
Dim vPropValues As Variant
Dim resolved As Variant
Dim custPropType As Long
Dim K As Long
Dim NomProperty As String
Set cusPropMgr = swModelDocExt.CustomPropertyManager("")
nNbrProps = cusPropMgr.Count
vPropNames = cusPropMgr.GetNames
For K = 0 To nNbrProps - 1
cusPropMgr.Get2 vPropNames(K), ValOut, ResolvedValOut
custPropType = cusPropMgr.GetType2(vPropNames(K))
If vPropNames(K) = "Description" Then
NomProperty = ResolvedValOut
End If
If vPropNames(K) = "Dessinateur" Then
PropMgr.Delete(vPropNames(K))
End If
Next K
De lijnen:
Als vPropNames(K) = "Beschrijving" dan PropertyName = OpgelostValOut Einde als
Meet de waarde van de aangepaste eigenschap 'Beschrijving'.
De lijnen:
Als vPropNames(K) = "Tekenaar" dan PropMgr.Delete(vPropNames(K)) Einde als
Ok, ik zie het principe, maar op het niveau van de macro weet ik niet genoeg in VBA, om het te maken, ik heb geprobeerd om een macro aecla verwijdering van de eigenschappen op te slaan, maar het werkt niet ... De macro is bijna "leeg"
Perfect, ik wil nog een laatste ding doen in de taakplanner, ik start de macro met "voer de aangepaste taak uit", maar kunnen we deze of die map targeten, ik wil eerst een test doen met een aantal bestanden.
Ok, om te beginnen met het maken van een nieuwe eigenschap op een map, maar om de verwijdermacro te gebruiken gebruik ik "taak uitvoeren" (zie bijgevoegde afbeelding) er zijn geen velden om naar een bepaalde map te verwijzen...
Ik weet niet genoeg over deze functie, maar niets weerhoudt je ervan om het in je macro te beheren door een bestand te laden met de lijst van je 3D om te verwerken. Uw macro moet dan elk bestand in SW openen, de aangepaste eigenschappen verwijderen en het vervolgens opslaan voordat u naar het volgende gaat.
Ik had een tijdje gedacht dat het hulpprogramma "BatchProperties" van MyCad daarvoor gemaakt was, maar het is me nooit gelukt om te doen wat je wilt doen....
Want ik had dezelfde behoefte als jij...
Als iemand het gebruikt en daarin slaagt, kan het handig zijn om het aan te schaffen als je veel bestanden te verwerken hebt.
Bedankt voor je feedback en je uitleg, maar ik mis echt de vaardigheden om dit soort macro's te maken ... dus ik hou het liever simpel... Is het mogelijk om de macro vanuit de taakplanner te starten door een bepaalde map op te geven? In een tweede keer zal ik de nieuwe eigenschappen toevoegen via de taakplanner (dit tweede deel is ok voor mij)
Ik weet niet of dit mogelijk is, maar naar mijn mening zal de macro nog steeds alle bestanden in de map moeten analyseren die door de taakplanner als argument zouden zijn doorgegeven.
Om dit soort bewerkingen uit te voeren, weet ik niet zeker of er echt behoefte is aan de taakplanner (deze wordt alleen gebruikt om de macro op een gespreid tijdstip uit te voeren).
Ok ik begrijp d. roger, maar "ac cobra 427" geeft aan dat u de macro kunt starten vanuit de taakplanner ... ac cobra 427 kunt u mij vertellen de procedure te volgen en hoe alleen de gewenste bestanden te selecteren (ok voor aangepaste eigenschappen, Nok om de macro te starten op sommige bestanden)
Dsl Ik heb nooit de taakplanner nodig, ik dacht dat het werkte omdat ze praten over het kunnen starten van een macro ... In het ergste geval, als je nog nooit de Mycad-tools hebt gehad, kun je 1 maand downloaden en testen denk ik...
Anders wat is de code voor VBA om een eigenschapsregel te maken en een waarde te associëren, ik dacht erover om het met de taakplanner te doen, maar het werkt niet erg goed, het accepteert geen lege velden (de beschrijving wordt bijvoorbeeld achteraf handmatig ingevuld door de tekenaar)