Goedenavond, om een macro van het vastleggen van tekeningen in pdf te verbeteren, wil ik graag een eigenschap van het deel in de tekening herstellen. Ik geef aan dat deze eigenschap niet in het slddrw-bestand staat. Als sommige; iemand kan me helpen, ik kon niets vinden op het forum, bij voorbaat dank.
Dank je wel droger, Ik probeer deze lunch, niet altijd gemakkelijk om een zoekopdracht uit te voeren, het hangt allemaal af van de termen om naar te zoeken, gemakkelijker als je zelf hebt deelgenomen aan de post! Ik had moeten zoeken naar "macro + drogue" ;-D A+
Hallo, ik denk dat het mogelijk is om de kamer te openen zonder deze weer te geven, ik heb gezocht maar niets overtuigends gevonden op het forum. Bedankt dat je me in de goede richting hebt gewezen.
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDrawModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swView As SldWorks.View
Dim swModelDocExt As ModelDocExtension
Dim strRefModelPath As String
Dim configname As String
Dim bRet As Boolean
Dim nErrors As Long
Dim nWarnings As Long
Dim swCustProp As CustomPropertyManager
Dim val As String
Dim valout As String
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
Set swView = swDraw.GetFirstView
While Not swView Is Nothing
strRefModelPath = swView.GetReferencedModelName
configname = swView.ReferencedConfiguration
Set swDrawModel = swApp.OpenDoc6(strRefModelPath, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings)
If Not swDrawModel Is Nothing Then
Set swModelDocExt = swDrawModel.Extension
Set swCustProp = swModelDocExt.CustomPropertyManager(configname)
bRet = swCustProp.Get4("TEST", False, val, valout)
Debug.Print "valeur évaluée : " & valout
End If
Set swView = swView.GetNextView
Wend
End Sub
Goedenavond Heel erg bedankt drogue, ik heb zojuist alles herwerkt en het werkt perfect zonder het 3D-model te openen. Aan de andere kant zie ik het nut niet van looping op de configuraties omdat het de eigenschap "Index" => (valout) van de laatst gevonden configuratie neemt. Mijn doel is om de index van de 3d te vergelijken met die van de MeP voordat ik deze aan de bestandsnaam toevoeg en als pdf opslaat. Het kan handig zijn als de index per ongeluk verschilde tussen 2 configuraties, wat niet het geval is in ons 3D-beheer. in tegenstelling tot "oude" MeP die niet altijd bij de laatste 3D-index staan. Met vriendelijke groet.
Dit is slechts een voorbeeld dat ik je gaf, zonder echt te weten wat je echte behoefte was... Voorbeeld waarop ik niet op de configuraties loop, maar op de tekenaanzichten, wat ook niet per se nuttig is ... Op dezelfde manier dat dit voorbeeld alleen werkt zoals het is als het referentie 3D-model een onderdeel is, anders moeten er enkele wijzigingen worden aangebracht...
Kortom, slechts een voorbeeld om te zien hoe je het probleem kunt oplossen dat in je vraag staat.
Hallo, Ik heb je inderdaad geen enkele indicatie gegeven van mijn behoefte! sorry dat ik verdwaald ben... En je hebt het probleem beantwoord dat in de vraag werd gesteld, zoals gewoonlijk zal ik zeggen.
Voor assemblages denk ik dat je swPART voor swASSEMBLY moet veranderen? Ik ben wat tests aan het doen en zal zeker terugkomen voor waardevol advies ;-) Geniet van WE
Hallo, Na een paar positieve tests doe ik mee aan de macro, ik reken op je om het te verbeteren omdat ik denk dat het vereenvoudigd kan worden, maar zoals het werkt, durf ik het niet meer aan te raken...
Ik kom een beetje na het gevecht, maar als de aanwijzing in een gekoppelde notitie in de cartouche zit, was het mogelijk om op deze notitie te vertrouwen in plaats van de 3D te ondervragen.
Dit vereenvoudigt de bediening en is niet afhankelijk van het type bestand dat wordt gekoppeld.
Goedenavond Cyril, nou nee dat is de pb, we hebben veel foto's waarvan de index is 'geforceerd', terwijl de 3ds goed zijn herzien en geïndexeerd, dat is de reden waarom ik het verschil in een bericht, dus we zetten de juiste index terug in de MeP, Het is natuurlijk verdraaid, maar we gaan ermee om.