Ik importeer regelmatig bestanden (soorten samenstellingen en onderdelen) van leveranciers en voordat ik met hen aan de slag ga, voer ik eerst een importdiagnose uit en soms herkenning van de functies. Desalniettemin vind ik het vervelend om het voor elk "bestand" van een assembly te doen (zie bijgevoegde bestanden). Is er een manier om dit sneller te doen en zo deze taak uit te voeren voor een batch bestanden?
Als je naast de taakplanner een macro moet maken, dan is het misschien niet de moeite waard om je hiermee bezig te houden... Uw behoefte is heel goed haalbaar per macro, het hangt natuurlijk af van uw mate van kennis over het onderwerp. Hieronder volgt een lijst met functies die u kunt gebruiken om een assembly te analyseren en importdiagnostiek en functieherkenning uit te voeren voor elk onderliggend element:
Opening van het ASM dan: - ActiveDoc (ISldworks) - GetRootComponent3 (IConfiguratie) - GetChildren (IComponent) - GetModelDoc2 (IComponent) - OpenDoc6 (ISldworks) - Diagnose importeren (IPartDoc) - Terugbellen ("fworks@FWPlaybackManager", 0, "...... ") (ISldworks) - Opslaan als (IModelDocExtension) - CloseDoc (ISldworks) Dan herhalen we het volgende element naar het laatste kind. Vergeet niet de ASM aan het einde van de behandeling op te slaan.
Het kan een behoorlijk mooie macro maken en dat zou zeker erg handig zijn voor veel gebruikers ...
Als ik snel tijd heb, kan ik eventueel aan de slag met het onderwerp. Ik zal nog een paar functies toevoegen, waaronder de keuze voor assemblage-export (persoonlijk exporteer ik assemblages in .sldprt om mijn ontwerpen lichter te maken).
Persoonlijk hoef ik mijn assemblages niet in .sldprt te registreren omdat ik dit ontwerp nodig heb voor de realisatie van de onderdelen in de werkplaats.
In de macro van Ulf blokkeer ik op het niveau van:
longstatus = Part.ImportDiagnosis(True, False, False, 0): ( eigenschap of methode wordt niet ondersteund door dit object).
Misschien moet je eerst proberen een code te hebben die werkt op een onderdeel en dan kijken we voor de rest voor een assembly?
U zult dan voorzichtig moeten zijn in het geval dat uw assemblage meerdere keren uit hetzelfde onderdeel bestaat. Ik zal de architectuur van de assembly lezen, als ik een nieuwe bestandsnaam zie, zet ik de bestandsnaam in een lijst, en als ik klaar ben, voer ik de importdiagnose uit op de bestanden in de lijst. Misschien zijn er eenvoudigere dingen, maar ik ben een monteur, geen computerwetenschapper :-).
Alle noodzakelijke functies zijn al gegeven in een vorig bericht, ter herinnering:
Hieronder volgt een lijst met functies die u kunt gebruiken om een assembly te analyseren en importdiagnostiek en functieherkenning uit te voeren voor elk onderliggend element:
Opening van het ASM dan: - ActiveDoc (ISldworks) - GetRootComponent3 (IConfiguratie) - GetChildren (IComponent) - GetModelDoc2 (IComponent) - OpenDoc6 (ISldworks) - Diagnose importeren (IPartDoc) - Terugbellen ("fworks@FWPlaybackManager", 0, "...... ") (ISldworks) - Opslaan als (IModelDocExtension) - CloseDoc (ISldworks) Dan herhalen we het volgende element naar het laatste kind. Vergeet niet de ASM aan het einde van de behandeling op te slaan.
Bedankt d.roger voor de herinnering aan het vorige bericht. Ik zocht echter wel naar een aanknopingspunt door dit bericht te lezen voordat ik mezelf deze vragen stelde.
@charleslr, oké voor februari, laat het me weten als je nieuwe elementen hebt, ik heb ook geen tijd meer tot eind maart.
Een oud onderwerp, maar wel een waar ik de afgelopen weken vooruitgang op heb geboekt. Het principe van mijn macro is als volgt:
Kijk naar de extensie van het invoerbestand (SLDASM, SLDPRT, STP, X_T, ...) en op verschillende manieren opgeslagen in . SLDPRT en sluit het sjabloonbestand. Vervolgens voert hij een importdiagnose uit op het opgeslagen onderdeel, repareert de defecte vlakken, blokkeert het onderdeel en slaat dit nieuwe onderdeel op. Bijgevoegd is de macro in VBA.
Ik laat je het naar wens aanpassen en/of verbeteren als dat nodig is. Voel je vrij om je toekomstige revisies te posten!