Macro Excel

Hoi allemaal.

 

Ik zal proberen duidelijk te zijn.

 

- Ik heb een plaatwerkprofiel dat ik moet exporteren in dxf (uitgevouwen geluid)

- Dit profiel varieert in lengte

- Ik heb de lijst met alle lengtes in een Excel-werkmap, evenals hun respectievelijke hoeveelheid.

 

Is het mogelijk om via het Excel-bestand alle dxf automatisch te exporteren volgens de lengtes.

Een klein extra punt, tussen elke verandering van lengtes, moeten we een drievoudige reconstructie hebben, want er zijn formules om opnieuw te berekenen op basis van de lengte.

En ook, indien mogelijk, op naam van de dxf, de hoeveelheid hebben die betrekking heeft op die en die lengtes.

 

Moet je door een familie van kamers gaan? Door een macro? Of iets anders?

 

Ik denk dat het begrijpelijk is =)

 

 

 

2 likes

Hier is een glimp van wat ik uiteindelijk zou willen.

 

Kom vanuit Excel tot een lijst met dxf-bestanden.

 

Bedankt! =)


exemple.png
1 like

Hoi Bart,

We zullen iets meer nodig hebben. Hoe werkt uw SW-bestand? Meerdere configuraties of slechts één en we veranderen de lengte?

Persoonlijk zou ik een SW-bestand maken met een familie van onderdelen. Dus we zouden een configuratie op lengte hebben.

Dan in de code:

  1. Open het bestand
  2. Blader door elke configuratie in
    1. Een configuratie selecteren
    2. Gereconstrueerd
    3. Exporteren in dxf (Hoe wil je het dxf-bestand beheren?)
    4. Ga verder met de volgende als die bestaat.
  3. Slaat het SW-bestand op

Heb ik alles begrepen? Is dat geschikt?

2 likes

Ja @remrem, dat is het eigenlijk.

 

Ik heb een excel bestand met bijvoorbeeld 500 verschillende lengtes.

Mijn deel heeft gaten verspreid over de lengte.

 

Daarom:

  1. Ik plaats het Excel-bestand met het document in het klantendossier.
  2. Ik gooi een macro,
  3. Sw vouwt mijn stuk open voor de eerste lengte,
  4. Geëxporteerd in DXF naar het clientbestand
  5. Sw omvat (of niet) de hoeveelheid die in excel staat in de naam van de dxf
  6. Dan gaat het naar de volgende regel
  7. 3 keer herbouwd
  8. Doe dan hetzelfde trucje nog een keer, exporteren in DXF etc....

Als ik het samenvat, begin ik met een kamer met zijn Excel en eindig ik met een lijst van dxf op lengtes.

 

1 like

Ik ga mezelf herhalen, maar je toneelstuk heeft een familie van toneelstukken of niet?

Hoe weet je dan welke configuraties je moet tariteren: wat bevat je Excel-bestand de naam van de configuratie, de lengte? Is er een verband tussen de lengte en de naam van de configuratie?

Hier volgt een voorbeeld van een macro waarin de configuraties van een bestand worden weergegeven: http://help.solidworks.com/2015/english/api/sldworksapi/Get_List_Of_Configurations_Example_VB.htm

Dan moet u de verkregen lijst vergelijken met die in uw Excel-bestand.

Exporteer dan naar dxf: http://help.solidworks.com/2015/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.ipartdoc~exportflatpatternview.html

 

2 likes

Op het eerste gezicht lijkt het me niet onmogelijk. Ik weet niet de gateway om van Excel naar onderdeel opening in solidworks te gaan ... Maar ik zie niet in waarom het niet zou kunnen.

 

Om te vergeven dus. Als je @Bart hebt opgelost, als je ons de hoofdlijnen van je code kunt geven. Het zou in de toekomst kunnen helpen;)

2 likes

Ik heb een afbeelding bijgevoegd in mijn eerste bericht.

 

Je kunt de fasen van mijn aanpak zien.

 

Op dit moment heb ik een onderdeel met vergelijkingen rijfuncties.

Geen onderdeelfamilie of configuratie.

Mijn Excel bevat de naam van het onderdeel, de lengte en de hoeveelheid (in het slechtste geval voor de hoeveelheid, ik beheer)

 

Ik weet dat het mogelijk is, maar de vraag is hoe?...

Als ik dan door een macro moet gaan, ben ik een .... in VBA :/

http://www.lynkoa.com/forum/3d/mise-jour-auto-famille-piece

 

Ik las in zigzag, maar blijkbaar is het hem gelukt om een join te maken in SolidWorks en Excel.

2 likes

Ik begreep je aanpak.

Maar ik wil weten of je je kamer kunt aanpassen om de macro gemakkelijker te bereiken te maken of dat de macro zich volledig moet aanpassen aan je omgeving.

Persoonlijk, uit ervaring om dit soort dingen te bereiken en dat het perfect werkt. Het kost nogal wat tijd. Daarom is het nodig om dingen recht te zetten en ons doel duidelijk te bepalen. Want anders zit je te coderen en dan helemaal opnieuw te beginnen omdat het niet meer past.

Zonder beheersing van de VBA. Ik raad je aan om je project op te splitsen en ze een voor een uit te voeren. Voorbeeld: Het bestand openen, lijst met configuraties, exporteren. En om vragen te stellen, te proberen en vervolgens vragen te stellen op het forum.

Voor mij kan ik dit project niet volledig uitvoeren. Het doel is ook om te leren, want als je al je codes krijgt, kun je ze niet op tijd laten leven.

Goede code :-)

3 likes

Ik ben het helemaal met je eens Remrem.

 

Daarom heb ik alles stap voor stap uitgewerkt.

 

Ik vraag niet om een kant-en-klare macro, maar meer om te weten waar ik heen moet.

Of ik de onderdelen families moet gaan bekijken of niet, of een macro nodig is etc etc...

 

Ik heb dingen vastgelegd, het enige wat ik nog moet doen is stap voor stap coderen

1 like

Dus ik ga voor mezelf beginnen, en ik zal vragen stellen als ik vastloop.

 

Dat wil zeggen binnenkort! :p

4 likes

@KVuilleumier:

Een relatie tussen Excel en Sw is heel goed mogelijk.

Persoonlijk heb ik een applicatie gemaakt die integreert met Excel- en SW-stuurprogramma's: wijziging van eigenschappen, export van nomenclatuur...

Maar opnieuw moet Bart ons vertellen wat hij wil doen: SW aansturen vanuit Excel OF dan SW zijn Excel-bestand lezen en de info verwerken...

Persoonlijk zou ik meer naar het tweede neigen.

 

2 likes

Hoi allemaal

Ik denk dat het gemakkelijker zal zijn om je deelfamilie te maken van je Excel-bestand eerder  (link hieronder):  het kost je 1 of 2 minuten, terwijl het programma moeilijk te maken kan zijn en een bron van fouten zal zijn.

http://help.solidworks.com/2013/french/SolidWorks/sldworks/t_Inserting_an_External_File_as_a_Design_Table.htm

Dan hoeft u alleen maar deze macro in te voegen die de DXF voor alle configuraties maakt:

 https://forum.solidworks.com/thread/27842 (Engelstalig)

Deze video kan ook interessant zijn:

https://www.youtube.com/watch?v=8SW-UZy1QMA

Edit: zie ook:

https://www.youtube.com/watch?v=rSeYL77cqBQ

 

2 likes

Net als PL denk ik dat het deel van de familie een goede zaak zou zijn. En bovenal zou het u in staat stellen om de maximale hoeveelheid informatie en functies in uw SW-bestanden te behouden. Dat wil zeggen dat als je code niet meer werkt of een gebruiker er geen toegang toe heeft, een groot deel van de informatie toegankelijk is in SW.

Ik kijk ernaar uit om je te helpen...

:-)

2 likes

Het leuke van het maken van een macroprogramma is dat het zijn eigen bestand naar de specifieke map van de klant kan kopiëren, zijn Excel kan openen en alles kan besturen.

 

Terwijl hij met de familie van onderdelen gedwongen zal worden om voor elke klant een nieuwe te maken (als ik begreep hoe het werkt)

1 like

@coin37coin ja maar 1 dag programmeren (misschien minder voor een ervaren VBA-gebruiker, maar ik denk niet dat dat het geval is voor Bart) het ophalen van kansen in een Excel-bestand, is het de moeite waard? En ervan uitgaande dat het Excel-bestand nog precies dezelfde opmaak heeft, anders crasht het!

Als het maken van de onderdelenfamilie maximaal 5 minuten duurt (en ik denk dat het minder dan 5 minuten is) om met de hand te doen in SolidWorks, dan zou je minstens 80 minuten moeten doen om winstgevend te zijn op een dag van 7 uur...

2 likes

Zeker... Het is de donkere kant van het verhaal

1 like

Dat is het ding,
Het is dat ik een Excel ontvang van de klant, maar ik wil voorkomen dat ik alles opnieuw moet overtypen.

 

Dit is een bron van fouten. Ik zal door Solidworks moeten gaan en een macro moeten gooien om het te malen en mijn lijst met dxf-bestanden in de map van de klant te krijgen.

 

In mijn geval zal het Excel-bestand altijd hetzelfde zijn, het zal altijd de lengte zijn die zal veranderen en als we toch bezig zijn, de lengte van de vleugels.

 

En door door Driveworks te gaan? Ik krijg niet alles in één keer terug?

 

Ik wil 1 dag programmeren, het is iets dat vaak voorkomt, dus het zal me nog steeds tijd besparen.

1 like

Nou ik kom een beetje zo aan, zonder het hele gesprek gelezen te hebben, dus mea culpa als het al besproken is maar:

Wanneer u het Excel-bestand van de klant ontvangt, wordt het dan altijd op dezelfde manier opgemaakt?

Voor ons gaan we te werk met een "constructieblad", het is een Excel-bestand waar de technische verkopers alle maatinformatie invoeren, maar ook andere informatie voor andere afdelingen van het bedrijf.

Dan gebruikt de B.E een blad genaamd de "Recap'", het is een blad met een macro dat dit constructieblad opent, dat de essentiële informatie voor het ontwerpbureau kopieert en in bepaalde vakken plakt. Het is dit blad dat gerelateerd is aan onze CAD.

Hier heb ik net mijn leven verteld:)

2 likes

@Aurelien (van Axemble-ondersteuning) :p

 

Ik krijg verschillende Excels, maar het formatteren ervan kost me slechts 2 minuten.

Het sorteren van een Excel is sneller dan alles met de hand in Sw te typen en vervolgens alles één voor één te exporteren in dxf =)