Een paar jaar geleden kreeg ik een macro te zien om een montage te vereenvoudigen.
Deze macro die werd gestart vanuit een assemblage creëerde een "Vereenvoudigde" of "Bevestigingsmiddel" configuratie (ik weet de naam niet meer, waarin alle schroeven naar de verwijderde staat waren gegaan (ISfastener=1)
En hetzelfde geldt voor alle subassemblages van de hoofdassemblage.
Hierdoor kon ik een lichtere configuratie hebben (zonder de schroeven van een complexe montage) zodat deze achteraf in mijn lay-out kon worden ingevoegd.
Heeft iemand een macro om te delen die in de buurt komt van dit verzoek?
Anders zal ik moeten proberen tijd te vinden om het te herschrijven, ook al lijkt het me een beetje ingewikkeld met mijn limietniveau in SW-codering.
als het je lukt om het te doen, zou ik geïnteresseerd zijn in zo'n macro: ofwel om te kunnen vereenvoudigen in Motion, of om te vereenvoudigen in Simulation
Het is duidelijk dat het een beetje een rommeltje moet zijn, aangezien je ook in de herhalingen moet gaan en de componenten moet verwijderen, maar niet de herhaling.
Met het ISfastener Filter=1 Het is eenvoudiger, nietwaar? Vooral omdat je meerdere filters kunt combineren, omkeren of annuleren. (En sla ze ook op...)
Uw @Maclane oplossing werkt eigenlijk heel goed als alle schroeven in de kopconstructie zitten.
Het probleem is dat ik schroeven in veel subassemblages heb, en ik moet deze schroeven in de standaardconfiguratie houden zodat de (schroef)bestellingen bij het opstarten op automatisch worden gezet.
De enige manier is om deze verdomde macro te doen.
Na de macro kan de filteroplossing in overweging worden genomen.
Ik gebruik een vergelijkbare methoïde: -Ik maak een "Light" configuratie aan -Ik gebruik de "S" -toets, selecteer vervolgens toolbox, ik houd "Ctrl" ingedrukt + klik met de rechtermuisknop op een schroef -> Delete
Dit geeft me 2 configuraties, waarvan er één zonder schroeven is...
Bedankt @froussel ik dit van dichtbij ga bekijken, heb ik het gevoel dat het me tijd gaat besparen met de nieuwe functies voor schroefmontage sinds SW2020.
Zozo_mp : 2015 voor deze "nieuwe" functie (Solidworks communiceert niet erg goed over hun nieuwe functies... nuttig) Wat betreft de vreselijke ToolBox (Bah), ik gebruik hem nooit (behalve om gaten / kranen / lichten te maken ... kan worden gebruikt met de boorwizard). Ik heb mijn eigen aangepaste bibliotheken gemaakt (met de eigenschap IsFastener ingesteld op 0 of 1).
-> Ter info: deze eigenschap (IsFastener) wordt gebruikt voor het trekken van secties of voor botsingsdetectie (optie: Bouten uitsluiten). sbadenis : Het gebruik van macro's lijkt inderdaad onvermijdelijk om elke "Lite"-configuratie van alle subassemblages te creëren... (De VBA-functie is: "PowerSelec" voor Smart Selection maar voor nu weet ik niet meer -sorry-
Hallo allemaal, Ik heb een macro gemaakt die een configuratie maakt zonder schroeven voor de assemblage en de subassemblages.
Om het te laten werken, is het noodzakelijk om de Document Manager-API's te gebruiken. In het bijzonder om de onzichtbare eigenschap "IsToolboxStandard" te lezen, waarmee u kunt definiëren of het onderdeel een schroef is. Bij de eerste lancering wordt een licentie aangevraagd. Om deze licentie te verkrijgen, moet u deze aanvragen via het SolidWorks-klantenportaal, volgens de volgende procedures :
Om een SOLIDWORKS Document Manager API-licentiesleutel aan te vragen:
Volg de online instructies om uw licentiecode aan te vragen .
Een SOLIDWORKS Document Manager API-licentiesleutel wordt naar u gemaild na goedkeuring van uw aanvraag.
Het werkt met Toolbox-componenten en aangepaste bibliotheken waarvan de componenten de eigenschap "IsToolboxStandard" hebben.
U kunt deze eigenschap eenvoudig toevoegen met het hulpprogramma dat voor dit doel is voorzien: "sldsetdocprop.exe" in de map: "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\Toolbox\data utilities"
Ik nodig je uit om de macro te testen op testassemblages en me je feedback te geven.
Sleutelaanvraag gedaan, u hoeft alleen nog maar te wachten op de e-mail.
Aan de andere kant weet ik niet echt het principe om een vb-project in deze vorm te lanceren (via Visual Studio)
Voor een macro in vba geen zorgen, ik begin het te weten.
Maar in deze vorm geef ik toe dat ik Visual Studio 1 of 2 jaar geleden heb geïnstalleerd zonder ooit al te veel tijd te hebben genomen om dieper te gaan.
Geen zorgen om het project te openen, maar hoe het programma te starten? Ik denk dat ik een beetje extra hulp nodig heb @remrem als je het niet erg vindt.
En als je daarnaast een helpsite hebt, zou dat geweldig zijn.
Anders lijkt de code me na een snelle lezing helemaal niet slecht, wacht maar op deze beroemde code!
Bedankt @remrem, ik heb net getest na een paar problemen om de beroemde sleutel te krijgen.
De e-mail ging naar Spam, ik moest het in mijn persoonlijke mailbox doen en een paar dagen wachten...
Behalve de operatie, nu ik heb kunnen testen! Dit is heel dicht bij mijn behoefte, dank u voor deze zeer goede basis.
De configuraties zijn goed gemaakt voor alle assemblages.
Aan de andere kant worden in deze configuraties de schroeven niet verwijderd (zelfs niet als de optie ISFastener is ingesteld op 1)
Ik zou ook graag willen dat de configuratie alleen wordt gemaakt als de assembly schroeven bevat met ISFastener=1 en een eigenschap "Category" is "Assembly".
In subassemblages blijft de actieve configuratie standaard in plaats van bevestigingsmiddelen die zijn ingeschakeld in de bevestigingsmiddelen die de configuratie van de hoofdassemblage mogelijk maken.
Ik zou proberen een aantal aanpassingen in de code, wat een zeer goede basis is, om het op mijn eigen manier te verbeteren, maar ik heb altijd ontwikkeld via VBA-macro's (zonder door dlls te gaan) en ik weet niet hoe ik indien mogelijk moet debuggen via Visual Studio om te zien waar het vastloopt en de wijzigingen live te zien indien mogelijk.
Moet je het project samenstellen om het later te testen?
Kunnen we stap voor stap uitvoeren en kijken waar het vastloopt?
Wees voorzichtig, er is een vergissing. De eigenschap "IsFastener" wordt alleen gebruikt om de bevestigingsmiddelen in de EP-leden te verbergen. De macro maakt geen gebruik van deze eigenschap, maar zoals ik in mijn vorige post aangaf:
Het werkt met Toolbox-componenten en aangepaste bibliotheken waarvan de componenten de eigenschap "IsToolboxStandard" hebben.
U kunt deze eigenschap eenvoudig toevoegen met het hulpprogramma dat voor dit doel is voorzien: "sldsetdocprop.exe" in de map: "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\Toolbox\data utilities"
De eigenschap "IsToolboxStandard" is verborgen. Daarom is het niet zichtbaar in de SolidWorks Property Editor. Daarom moest ik de bibliotheek van Document Manager gebruiken.
Inderdaad, @remrem, er was een fout, ik zal kijken hoe ik het project kan verbeteren, wat een zeer goede basis is. Kun je me antwoorden als je wat tijd hebt over de methode die wordt gebruikt om projecten te compileren en te debuggen via een dll.
Aangezien je met een beetje tijd en werk aan het hele project hebt deelgenomen, zou ik er uiteindelijk in moeten slagen dit project voor mijn nut aan te passen.