Hallo
Ik heb een macro waarmee ik informatie van elk stuk kan invullen op basis van de bestandsnaam. Het probleem is dat ik deze macro op dit moment deel voor deel moet uitvoeren en ik zou gewoon graag de functie willen weten om deze taak voor alle onderdelen van de assemblage te herhalen.
Bedankt!
Hallo
1. Kunt u uw macro met ons delen voor het geval andere leden dit probleem hebben?
2. Als ik het goed begrijp, wilt u de macro uit de assemblage uitvoeren?
1 like
Hallo
Ik heb dit soort macro's een tijdje geleden gemaakt, zie het bijgevoegde voorbeeld.
Het moet zeker worden aangepast en verfijnd voor uw behoeften, maar kan mogelijk helpen.
A+
remplprop.swp
Ja, dat is mogelijk als je de MycadTools suite hebt.
U kunt het hulpprogramma INTEGRATIE gebruiken om uw macro uit te voeren op een reeks bestanden.
1 like
Hallo
Als u de lijst met onderdelen van een assembly wilt ophalen, moet u de functie GetDocumentDependencies2 gebruiken.
Meer info hier: http://help.solidworks.com/2015/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.isldworks~getdocumentdependencies2.html
In een app in VB.net doe ik bijvoorbeeld het volgende
Verklaringen:
Dim Application_SW als SldWorks.SldWorks
Dim Model_SW als SldWorks.ModelDoc2
Dim Component_SW als SldWorks.Component2
Dim Nom_fichier_SW als snaar
Dim Liste_dependances als object
Functiecode:
Functie Acquisition_dependences(ByRef Chemin_assemblage_SW als string) als object
Dim Type_fichier_SW als geheel getal = 2
Application_SW. OpenDoc6(Chemin_assemblage_SW, Type_fichier_SW, 0, "", longstatus, longwarnings)
Model_SW = Application_SW. ActiveDoc
Nom_fichier_SW = Model_SW. GetPathName (GetPathNaam)
Keer terug Application_SW. GetDocumentDependencies2(Nom_fichier_SW, Waar, Waar, Onwaar)
Functie beëindigen
Vervolgens gebruik je de volgende code om de functie uit te voeren:
Liste_dependances = Acquisition_dependences(Chemin_de_ton_fichier_ASM)
Dit retourneert een matrix met tekenreeksen in de volgende vorm:
"Als je deze methode gebruikt met een assembly die twee documenten bevat, Part1 en SubAssem1, is een voorbeeld van wat er zou kunnen worden geretourneerd:
[ "Deel 1", "C:\temp\Deel1.SLDPRT", "SubAssem1", "c:\temp\SubAssem1.SLDASM" ]
In de hoop je geholpen te hebben
1 like
Hartelijk dank voor uw antwoorden!
Ik voeg de macro aan je toe in bijlage!
aangepaste-eigenschappen-automatische-naamgeving-v3_description.swp
Als uw probleem is opgelost, selecteer dan het beste antwoord.
@remem: Deze functie retourneert alleen de lijst met afhankelijke aandelen, nietwaar? Is het mogelijk om een macro toe te passen op de geretourneerde array?
Ik geef toe dat ik er een beetje mee worstel: ik moet "Nom_fichier_SW" vervangen door de naam van het bestand dat ik wil verwerken, toch?
Er verschijnt een foutmelding voor de voorlaatste regel, de return, ik voeg een screenshot toe.
Sorry dat zijn veel vragen, ik hoop dat je tijd hebt om me te helpen
capture.png
1 like
@julien. Bonus:
Je hebt de functie gewijzigd terwijl je het niet zou moeten doen, zoals ik zie in je schermafbeelding.
Kopieert de code van de aangiften en de code van de functie zonder deze te wijzigen.
Dan in de oproeplijn van de functie: Liste_dependances = Acquisition_dependences(Chemin_de_ton_fichier_ASM)
Bewerk het cursieve deel alleen door het pad van uw assemblage aan te geven.
1 like