Laat me je mijn probleem vertellen: in mijn bedrijf gebruiken ze een software (quadratus) die alle kamers groepeert met verschillende eigendomsvelden inbegrepen.
Deze software was al aanwezig voor de integratie van solidworks. Dus heb ik deze eigenschappen (uit de quadratus-software) met de hand in elk van mijn 3D-stukken geïntegreerd.
Omstandigheden brengen met zich mee dat bepaalde velden gewijzigd zullen worden of gewijzigd kunnen worden, zoals prijzen.
Daar komt mijn vraag vandaan. Kunnen we de eigenschappen van de onderdelen koppelen aan die van mijn 3D onderdelen door middel van een excel bestand uit de quadratus software.
Ik weet dat er solidworks EPDM is dat dit goed zou doen, maar het zou betekenen dat de software moet worden gewijzigd, wat niet erg mogelijk is.
Ik hoop dat je de prijzen van je onderdelen niet opslaat in de SW eigenschappen van je onderdelen! In dat geval zou ik willen voorstellen dat u probeert uw organisatie te herzien.
Aan de andere kant kun je iets ontwikkelen als je oefent met programmeren. Maar weet dat het in ieder geval lang en ingewikkeld zal zijn. Maar interessant....
Ja, de prijzen worden opgeslagen in de database van alle componenten (onder quadra tus) en in mijn Solidworksonderdelen.
Ik sta open voor elke verandering.
Om de waarheid te zeggen, mijn bedrijf heeftSolidworks bijna een jaar geleden overgenomen voor mijn DUT-stage waarin ik de software gedeeltelijk in het bedrijf heb geïntegreerd. Omdat ik alleen was in deze taak, probeerde ik de dingen op de beste manier te doen, terwijl ik wist dat ik fouten kon maken... Dit jaar volg ik een leerwerkprogramma en ik blijf de integratie verbeteren , ook al wordt het steeds ingewikkelder gezien het aantal documenten dat al is gemaakt.
Ik vind het ook niet erg om te programmeren , ik heb een aantal basisprincipes om te zien, afhankelijk van wat ik moet doen.
Het probleem dat remrem zeker wil aankaarten, is dat als u de prijs van uw deel opslaat in uw SW-aandeel, als u het deelt met uw leveranciers of klanten, zij de prijs zullen kennen...
Aan deze kant is er geen probleem, want de prijs is gewoon om met een stuklijst te komen en alleen een schatting te hebben van de prijs van de montage in eigen huis.
Sinds enkele maanden zijn we bezig met het implementeren van complete stuklijsten en daarmee de relatie tussen ons ERP en SW.
Onze SW-bestanden bevatten alleen technische informatie (materiaal, dikte, etc.) en vervolgens hebben we een bestandsuitwisseling opgezet (in de vorm van txt) of we wisselen uit met het ERP. De verkoop- en inkoopinformatie (Prijs, leverancier, etc.) staat dus alleen in het ERP en de koppeling wordt gemaakt door een gemeenschappelijk eigendom (bij ons de artikelcode).
Persoonlijk heb ik in vb.net een kleine applicatie gemaakt die de informatie in het ERP vanuit SW bijwerkt door rechtstreeks naar de database (MySQL) te schrijven.
Het is een groot project, dus ik raad u aan om de behoeften van de betrokken diensten te inventariseren. Om andere bedrijven te bezoeken om te zien hoe ze werken. Om prioriteiten te stellen.
Voorlopig raad ik je aan om slechts één manier van updaten te overwegen, we hebben gekozen voor SW = > ERP. Dus als de revisie van een document in SW wordt gewijzigd, gaat het terug naar het ERP. Het voordeel is dat als we de prijs in het ERP wijzigen, we deze niet in SW hoeven bij te werken, omdat deze alleen in het ERP wordt opgeslagen. Evenzo, als u het verdikkingsmiddel in een kamer vervangt, gaat het niet terug naar het ERP omdat het daar niet is opgeslagen. Vandaar het belang om de juiste informatie te kiezen die je nodig hebt in het ERP.
(Ik heb de indruk dat mijn antwoord niet is gepubliceerd, dus typ ik het opnieuw...)
Wat je zegt is interessant.
In mijn bedrijf dat zich bezighoudt met waterbehandeling, assembleren we voornamelijk standaardproducten: buizen, ellebogen, T-stukken, kleppen enz.
Dus in dit geval zou het meer de ERP zijn die met SW zou communiceren.
Zou het mogelijk zijn om iets meer te weten te komen over je programma? Hoe txt-bestandsuitwisseling werkt. Als het automatisch is, alle onderdelen tegelijk, één voor één?
Ik dacht er ook aan om te kijken hoe andere bedrijven het deden, maar zouden ze de deuren zo gemakkelijk voor me openen?
1. okt. SW = ERP > link: Informatie die rechtstreeks in de ERP-database wordt geschreven
Elke ochtend (Voorbeeld) start een taak automatisch.
Het leest revisies in SW-bestanden (zonder ze te openen) en vergelijkt met het ERP. Dan updates indien nodig. Verwerkingstijd: ~10 minuten
Een thumbnail (afbeelding), pdf-plan en een Edrawing gemaakt van elk SW-element waarvan de artikelcode in het ERP aanwezig is en de links naar deze elementen invoegt. Zo heeft een gebruiker in het ERP direct toegang tot een weergave van het onderdeel, het PDF-plan en een 3D-e-tekening.
Arabisch cijfer. Stuklijsten maken
Bij het openen van een Excel-spreadsheet, na veel processen en foutcontroles. Ik maak een of meer txt-bestanden die het ERP weet te verwerken om vervolgens artikelen te maken of reeksen te maken en de benodigdheden te beheren.
Wat bedrijven betreft. We hadden de kans om verschillende bedrijven te ontmoeten die ons verwelkomden en ons adviseerden bij ons project.
Het lijkt een redelijk goede oplossing te zijn. Zou het mogelijk zijn om toegang te krijgen tot de programmacode?
Dus ik ga kijken of ik een aantal bedrijven kan ontmoeten om te zien hoe ze werken. In de hoop dat ze net zo gastvrij zullen zijn als degenen die je hebt ontmoet.
Als ik dit soort projecten zou moeten doen, zou ik beginnen met het definiëren van een (goed gedefinieerde) specificatie met mijn bedrijf.
Dan zou ik kijken of ik toegang heb tot de databasestructuur van de doelsoftware.
Zo ja, dan gebruik ik SQL-queries om de gegevens aan te passen of toe te voegen.
Zo niet, dan moet u een andere manier vinden om de gegevens te injecteren (tekstbestand met scheidingstekens, Excel-bestand, XML-bestand,...)
Vervolgens moet u kiezen of u een afzonderlijke software, een SW-invoegtoepassing of beide wilt maken.
Ik heb beide vetgedrukt, omdat je, afhankelijk van de frequentie van updates, beide nodig hebt.
Laten we het volgende voorbeeld nemen: u wijzigt de prijs van een kamer en een verkoper maakt een offerte om dezelfde kamer op hetzelfde moment als u te verkopen. De offerte van de verkoper is gebaseerd op de oude prijs tot de update van de volgende dag. (Niet echt cool, hoe dan ook).
Ik zou nog beter een Windows-service zien die naar SW luistert. Een document wordt geopend, bewerkt en gesloten. Bij het sluiten zal de service de doelsoftware inchecken en de wijzigingen aanbrengen als die er zijn. In dit geval hoeft u maar één software te maken: de service.
De code zelf is immers niet heel ingewikkeld, het ophalen van de waardes van custom properties is eenvoudig en het uitlezen van data in een database is net zo eenvoudig.
Niets ergs dus om te coderen maar wel veel werk aan de specificaties.
Ik zal dus, zoals iedereen mij heeft geadviseerd, een bestek opstellen voor dit project.
Aan de andere kant heb ik wat basisprogrammering, maar niet genoeg om zo'n code vrij te geven.
Je vertelt me dat het ophalen van de waarden van aangepaste eigenschappen eenvoudig is, maar zou ik een idee kunnen hebben hoe ik verder moet gaan? Welke functie wordt gebruikt?
Met welke software zou dit project het meest geschikt zijn om te ontwikkelen?
Van mijn kant zou ik gaan voor een Macro die de link zou maken tussen je Excel-bestand en je Solidworks-bestanden
Samen programmeren via VBA in een Excel-bestand laat je het stempelen op de quadratus-extractie en loop je op elke regel om elke eigenschap van elk onderdeel te controleren en indien nodig aan te passen
Ik zal je vanavond een voorbeeld geven in de vorm van een macro.
Voor het programmeren van software gebruik ik Visual studio 2017. Maar er zijn er nog veel meer.
Kies je programmeertaal zorgvuldig, rust jezelf uit met een goede pen en een pak papier. Als je geen papier meer hebt, zou je project moeten werken. :)
Het maakt niet uit als alle onderdelen in het ERP geen 3D hebben. Je hoeft de twee alleen maar op één veld te vergelijken.
Voor mij is het niet voldoende om de gegevens alleen bij het openen van een onderdeel bij te werken, omdat het zou betekenen dat de gegevens zijn gewijzigd in een gesloten bestand als de bindingsrichting Sw>>ERP is.
De eenvoudigste manier om de waarden van aangepaste eigenschappen op te halen, is door het propertymanager-object te gebruiken. Daar is hij voor gemaakt. Het voordeel is dat het een verzameling objecten biedt en als gevolg daarvan kunt u een update doen per kavel en niet per eigendom. U hoeft alleen maar van een tabelconverter een eigenschapsverzameling te maken. U moet ook een comparator of klasse maken die ICompare() implementeert.
Als je moeite hebt om te begrijpen wat ik je vertel, pak dan pen en papier, schrijf op wat je wilt doen en het zal duidelijker worden:)
Het idee is simpel:
Gegevens van een product in het ERP opnemen
Zoek het bijbehorende sw-bestand en open het
Werk de gegevens in het sw-bestand bij
Sla het sw-bestand op en sluit het
Doe dit voor alle ERP-producten
Dat is het basisprincipe.
Wat u kunt doen door een service te doorlopen is:
Luister naar de ERP-database
Over een wijziging in een "product"-tabel
Open het sw-bestand
Shift, opslaan, sluiten van het sw-bestand
Met woorden realiseren we ons meteen dat de ene alle gegevens van de ERP-producten zal verwerken, terwijl de andere alleen zal updaten als er behoefte aan is op een enkel sw-bestand.
Ik begrijp de logica van de uitvoering van het probleem. Het is voor de conversie naar een programmeerfunctie waar ik meer moeite mee heb
In het voorbeeld dat je me geeft, gebeurt het openen, wijzigen, opslaan en sluiten op de achtergrond en heel snel? Zal de verwerkingstijd van de database snel zijn (ik zou zeggen dat 10min snel is voor meer dan 1000 3D onderdelen)?
In ons geval denk ik dat deze eenvoudige logica ook zou kunnen werken, omdat ik niet uit de nomenclatuur en plannen kom zonder de betreffende assemblages en dus ook de onderdelen te bewerken
Wanneer een kamer open is
Kijk of Internal Ref bestaat => Zo niet END
Zo ja,
Zoek naar de ref in de BDD quadratus
Controleer of de eigenschappen van het SW-onderdeel overeenkomen => Zo niet, update ze en sla ze op
Zo ja, EINDE
Ik denk dat de interne referentie zal dienen als een liaison tussen SW en het ERP.
@f.halluin, ik zie in uw profiel dat u een MyCadServices-klant bent, dus u hoeft geen tijd te verspillen aan ontwikkelingen, alle tools die u nodig heeft, bestaan al in de MyCad-tools en degene die het nuttigst voor u zal zijn, is integratie waarmee u een massaal eigendomsherstel kunt uitvoeren op al uw CAD-databases in vergelijking met een Excel-bestand of iets anders uit uw ERP.