Ik weet niet van een bestaande tools om dit te doen, maar het is zeker mogelijk via een programma dat automatisch uit een lijst met plannen:
- Open het SLDDRW-abonnement.
- Analyseer alle notities in dit plan.
- Wijzig het cijfer als = xxxxxxx.
- Sla dit plan op.
- Ga verder met het volgende plan.
-enz...
Bijgevoegd is een klein voorbeeld van een programma, dat moet worden gestart na het starten van SW en het laden van een SLDDRW-plan. Met dit programma kunt u zoeken naar alle noten en alle afmetingen die op een vlak aanwezig zijn (echter niet alle toleranties).
Jammer dat we niet kunnen scrollen, sommige informatie was niet toegankelijk onder aan het resultatenvenster
We kunnen de tekst niet selecteren
Maar vooral voor mijn applicatie zou ik alle plannen (200) één voor één moeten openen. Je kunt het net zo goed met de hand doen met SW / tools / Search/modify.
Ik had graag iets automatischers gehad, maar ik denk niet dat het bestaat.
Dim swApp As Object
Dim Part As Object
Dim longstatus As Long
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
'--------------------Find and Replace Annotations--------------------
Set swUtil = swApp.GetAddInObject("Utilities.UtilitiesApp")
Set swUtilFindReplaceAnnotations = swUtil.FindReplaceAnnotations
longstatus = swUtilFindReplaceAnnotations.InitPMPage()
'--------------------Block Recording--------------------
#If 0 Then
#End If
'--------------------UnBlock Recording------------------
swUtilFindReplaceAnnotations.FindText = "M6x30"
swUtilFindReplaceAnnotations.ReplaceText = "M6x30 - 8.8"
swUtilFindReplaceAnnotations.options = gtFraMatchCase Or gtFraWholeWord Or gtFraIncludeHiddenAnnotation
swUtilFindReplaceAnnotations.AnnotationFilter = gtFraAllTypes
Part.ClearSelection2 True
longstatus = swUtilFindReplaceAnnotations.ReplaceAll()
'--------------------Block Recording--------------------
#If 0 Then
#End If
'--------------------UnBlock Recording------------------
longstatus = swUtilFindReplaceAnnotations.Close()
End Sub
om te zien om het in een programma te zetten dat op alle vlakken van een map loopt aan de andere kant heb ik last van het dialoogvenster dat aan het einde van de macro verschijnt :/
Dit programma is slechts een voorbeeld om te zoeken naar de notities en afmetingen van een opname, je moet het openen en sluiten van SLDDRW's automatiseren, notities of afmetingen automatisch wijzigen, het resultaat traceren in een logbestand, enz ....
Je behoefte vereist een beetje programmeerkennis (vba, vb.net of C#) maar is goed te doen. Om 200 plannen te verwerken, komt dit uiteindelijk neer op een verwerkingstijd van ongeveer 20 tot 30 minuten, maar daarvoor duurt het ongeveer 2 uur om het programma te schrijven.
Ik zal kijken op basis van mijn magere programmeervaardigheden en mijn beschikbaarheid.
Ik ben meer bekend met VB omdat ik veel macro heb gedaan voor Excel, voor C++ zag ik het op school in de jaren 2000, dus ik ben helemaal niet up-to-date, maar het biedt andere mogelijkheden.
Ik zal me laten inspireren door jouw code om een keuze te maken.
- Als u een CSV-bestand laadt met de lijst met bestanden die moeten worden geanalyseerd, moet u er rekening mee houden dat deze lijst moet worden geformatteerd zoals het bestand dat liste.csv bij het programma heeft bijgevoegd.
- Open elk bestand in Solidworks.
- Analyseer alle notities in elk geladen 2D-bestand.
- Vervang de "Te wijzigen tekst" door de "Nieuwe noottekst"
- Sla het gewijzigde plan op.
Het is het beste om te testen op een kleine hoeveelheid 2D-bestandskopie om aan de slag te gaan.
Aan het einde van de verwerking wordt een résultat.csv bestand aangemaakt in de uitvoerbare map waarin wordt aangegeven of de bestanden zijn verwerkt of zoekgeraakt.
Zoals aangegeven bij het starten van het programma, is het absoluut noodzakelijk om een back-up te maken van alle bestanden die moeten worden verwerkt voordat ze worden verwerkt.
Ik hou er niet van om een back-upfunctie van SolidWorks-bestanden voor andere mensen te maken, omdat ik als externe persoon het gevoel heb dat ik er niet op hoef in te grijpen in de wijzigingsmodus, maar voor de werking van dit programma was ik een beetje verplicht om dit te doen, dus werk alsjeblieft aan kopieën van de bestanden en niet aan de originelen.
Anders is er de integratietool in mycadtools die u kunt installeren en starten op een map, wijzig gewoon de bijgevoegde regel.
En daarvoor zijn geen programmeervaardigheden nodig.
Verander hier gewoon de voorwaarde die ik heb geplaatst voor alle overzichtsdocumenten.
Vervolgens wijzigt u hier de bewerking om de tekst van een notitie te vervangen door een andere notitie. Opmerking gezocht in bijgevoegde regel M6x30 alt tekst M6x30 -8.8
En keuze van bladeren, ik heb alle bladeren gekozen.
U kunt het heel eenvoudig aanpassen en deze regel vervolgens toepassen op een heel bestand, op een hele assemblage of iets anders, afhankelijk van uw behoeften.