Hallo
Ik leg hieronder uit wat ik probeer te doen, ik hoop dat ik duidelijk zal zijn.... Ter info: ik weet niets over VB
Ik wil het aanmaken van mijn DXF's automatiseren
Uit het bijgevoegde Excel-bestand,
variabelen: als kolomwaarde X="Nieuw" en kolomwaarde Y="Gefabriceerd" of "Onderdeel/Op Set" dan opent u de 3d van de overeenkomstige onderdelen (pad = X6 celwaarde & L kolomwaarde & .sldprt) en slaat u ze op in ". DXF" naar het volgende adres "\\10.3.0.145\common\DAO\Iges-fao" onder de overeenkomstige naam in kolom M van de Excel-tabel
en lus dit op alle rijen waar variabelen X = "Nieuw" en kolomwaarde Y = "Gefabriceerd" of "Onderdeel/Op Set" worden gevonden
Bedankt voor je hulp
Als iemand het me zou kunnen aandoen, zou het me enorm helpen en indien mogelijk tegelijkertijd de lijnen van de macro nog beter uitleggen....
Ik hoop dat ik duidelijk ben geweest
Bedankt voor je hulp
template_bom_v2.xlsm
Hier is de code om een kamer of MEP van SW te openen:
Sub EssaiSW()
Dim swApp As SldWorks.SldWorks
Dim swModelUn As SldWorks.ModelDoc2
Dim swModelDeux As SldWorks.ModelDoc2
If swApp Is Nothing Then
Set swApp = CreateObject("SLDWORKS.application")
swApp.Visible = True
Else
Set swApp = Application.SldWorks
End If
Set swDocSpecification = swApp.GetOpenDocSpec("C:\Temp\Pièce5.sldprt")
Set swModelUn = swApp.OpenDoc7(swDocSpecification)
MsgBox swModelUn.GetTitle
Set swDocSpecification = swApp.GetOpenDocSpec("C:\Temp\Pièce5.slddrw")
Set swModelUn = swApp.OpenDoc7(swDocSpecification)
MsgBox swModelUn.GetTitle
swApp.CloseDoc swModelUn.GetTitle
Set swModelUn = swApp.ActiveDoc
MsgBox swModelUn.GetTitle
Set swDocSpecification = swApp.GetOpenDocSpec("C:\Temp\Pièce6.sldprt")
Set swModelDeux = swApp.OpenDoc7(swDocSpecification)
swApp.CloseDoc swModelUn.GetTitle
MsgBox swModelDeux.GetTitle
swApp.CloseDoc swModelDeux.GetTitle
End Sub
U moet ook de volgende ref aan uw Excel-macro toevoegen:
Aan de andere kant, als je niets weet over vba, kun je beter je lijst met bestanden die je met Excel-formules moet verwerken in een extra tabblad zetten. We moeten het volledige pad herstellen.
(als kolomwaarde X="Nieuw" en kolomwaarde Y=" Gefabriceerd" of " Onderdeel/Op Set" open dan de 3d van de bijbehorende onderdelen (pad = celwaarde X6 & kolomwaarde L & .sldprt) en sla ze op in ". DXF" op het volgende adres "\\10.3.0.145\common\DAO\Iges-fao" onder de overeenkomstige naam in kolom M van de Excel-tabel...)
En vervolgens exporteert u deze lijst in csv en maakt u een regel in Integratie (gratis voor Mycadservice-klanten) om alle bestanden van uw csv-lijst in bulk te exporteren:
https://help.visiativ.com/mycadtools/2020/fr/Integration.html
Op deze manier is via Integratie veel eenvoudiger als je geen kennis hebt van VBA.
Het enige wat u hoeft te doen is een geautomatiseerde sortering uit te voeren via een Excel-formule en vervolgens te exporteren naar csv.
Importeer uw csv-lijst in Integratie, pas uw regel erop toe (exporteer uw deel in dwg of dxf)
Terwijl je voor de VBA nog te maken hebt met de loopback met de voorwaarden, de dxf export en implementeer dit alles in Excel, kan het zonder kennis erg ingewikkeld zijn.
1 like