Hallo
Ik werk in solidworks 2011, ik heb al een macro die me mijn actieve plan, het plan van mijn actieve deel of alle plannen van de actieve assemblage opslaat, allemaal op de juiste locatie.
Deze macro maakt gewoon gebruik van de "opslaan als"-functie in PDF-formaat van solidworks (geen virtuele printers zoals Bullzip of PDFcréator!)
Mijn probleem is dat ik graag een tekst in mijn basiskaart wil laten verschijnen met "VOOR CONSULTATIE" geschreven als ik dat wil bij het starten van mijn PDF-macro.
Allereerst dacht ik eraan om een schuin blok te maken met het juiste lettertype, de juiste grootte, en ik probeerde het met een macro aan mijn achtergrond toe te voegen. Het probleem is dat, aangezien er verschillende planformaten zijn voor verschillende formaten, zowel de ingevoegde blokpositie als de grootte niet de gemakkelijkste zijn om te beheren.
Ik dacht er toen aan om gewoon een notitie te maken op mijn basiskaart (al goed gepositioneerd en op het juiste formaat) en deze gewoon weer te geven en vervolgens te verbergen bij het uitvoeren van mijn macro als ik besluit dat deze versie van het plan alleen voor consultatie zal zijn.
Met een opname lukt het me om mijn tekstvak te verbergen:
Sub hoofd()
Stel swApp in = _
Toepassing.SldWorks
Deel instellen = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Plan détail1988@Fond object", "NOTE", 0.2884716463644, 0.1501347778362, 0, Onwaar, 0, Niets, 0)
Deel.HideDimension
Einde Sub
Het werkt goed en dit stukje code geeft me tegelijkertijd de ID van mijn tekstvak. Dit stelt me in staat om een ander stuk code te schrijven om mijn notitie opnieuw te selecteren.
Aan de andere kant, hoe hard ik ook zoek, ik kan de functie niet vinden waarmee ik deze notitie opnieuw kan weergeven!!!
De selectie van de notitie leidt me tot een andere vraag:
Hoe beheer ik de ID van een object? omdat, afhankelijk van mijn verschillende baselines, de ID van mijn notitie waarschijnlijk niet altijd hetzelfde zal zijn (Object of détail1988@Fond of plan" in mijn voorbeeld hierboven)
Sorry, ik stel misschien basisvragen in VBA SolidWorks, maar ik doe ze nog maar heel kort.
Bij voorbaat dank!
Yves