Hoi allemaal
Ik sta mezelf toe om een onderwerp te creëren dat gerelateerd lijkt te zijn aan het onderwerp: http://catiav5.forumactif.org/t1407-macro-pour-ajout-suppression-propriete
Ik moet een klein Catia-script maken om de eigenschappen van de onderdelen van een Catia-assembly bij te werken, vanuit een groot Excel-document dat in feite de BOM is. Ik wil deze eigenschappen dus automatisch updaten en niet de eigenschappen van alle onderdelen één voor één hoeven te openen..! Het idee is om het onderdeel te identificeren met zijn CATIA-naam en het te koppelen aan de overeenkomstige regel in Excel, en vervolgens de eigenschappen bij te werken wanneer deze identificatie is voltooid.
Ik heb geprobeerd de code uit het bovenstaande onderwerp te gebruiken, maar het mocht niet baten.
Overigens heb ik een video gevonden die precies is wat ik zoek (van Excel naar CATIA), maar helaas staat er geen indicatie op het script.
http://youtube.com/watch?v=IvG4U_6AcNg
Alvast bedankt voor je hulp!
Kevin
Hallo
Ik ben geen "macro" -expert, sorry, maar ik heb de video bekeken en het is een comfortmacro voor de gebruiker, het maakt de Excel-tabel met behulp van de "string" -type-eigenschappen van CATIA-bestanden zoals "referentie", "aanduiding", "revisie", enz.
Het bespaart de gebruiker het selecteren van het commando om de parametriseringstabel te maken en de handmatige selectie van de 8 eigenschappen ("string" parameters) en maakt de tabel
Behalve als ik het goed begrijp , het is van een Excel (BOM) die je wilt updaten een ASS Catia ?
Wat we in de video zien, is de link tussen een Excel-parametriseringstabel en de assemblage ervan (UNIEK).
Zonder een macro te gebruiken , kunt u de eigenschappen van een assemblage bijwerken vanuit een Excel-bestand met opmaak (BOM). Het enige wat u hoeft te doen is een spreadsheet in de werkmap te maken die de collones bevat ("referentie", "aanduiding", "revisie", enz.), de inhoud van deze collons wordt geëxtraheerd uit het BOM-blad, en de collonnes zijn geassocieerd met de CATIA-parameters (de namen van de collones en parameters zijn hetzelfde, het is vrij snel).
Hallo Franck,
Dank u voor dit antwoord.
Inderdaad, een groot deel van de video toont de creatie van de Excel-tabel vanuit de CATIA-assemblage, maar vanaf 2:24 in de video gebruikt het het tegenovergestelde, namelijk het bijwerken van de eigenschappen van zijn onderdelen.
Je hebt het inderdaad goed begrepen, ik wil de onderdelen van een catia-assemblage bijwerken dankzij mijn Excel-bestand (BOM). Ik wist niet dat het direct mogelijk was op deze manier, kunt u mij uitleggen hoe ik de informatie van mijn BOM-blad naar mijn CATIA-assemblage kan extraheren?
Bedankt voor je hulp!
Kevin
Dit is het normale gedrag van CATIA: wijzigingen in een parametriseringstabel worden automatisch doorgevoerd in de gekoppelde CATIA-bestanden.
Het gebruik van macro maakt het proces gemakkelijker (het is handig als je dit elke dag doet).
Om uw stuklijst aan CATIA te koppelen, moet u een tussenblad doorlopen dat een kolom van de stuklijst koppelt aan een overeenkomstige kolom met de CATIA-naam van de parameter.
Inderdaad, het lijkt overeen te komen met wat ik zoek!
Ik wist niets van configureerbare arrays.
Dus ik heb een tabel gemaakt die is gekoppeld aan mijn Excel-sheet, ik heb het maar op één onderdeel geprobeerd en het werkt! Echter, wanneer ik een assembly probeer, worden alleen de eigenschappen van de assembly gewijzigd door de eerste regel van mijn excel tabel... Ik heb eigenlijk al de namen van de onderdelen die in mijn product zijn ingevoerd, en het lukt me niet om deze array zo te laten linken dat hij de namen van de onderdelen herkent en vervolgens de bijbehorende eigenschappen associeert, weet je wat ik bedoel?
Nogmaals, bedankt voor je hulp!!
(Sorry voor mijn berichten, ik kan geen accenten gebruiken..)
Kevin
De eenvoudigste manier is om de array te genereren vanuit de CATIA-assembly.
Op die manier is alles goed geassocieerd en plak vervolgens het BOM-blad in deze Excel-werkmap en maak de Excel-formules.
Ik kijk welke hulp ik heb op dit onderwerp.
Heel goed idee! Nogmaals, er is alleen de assemblage die in de tabel te vinden is, weet u of er een optie is om ergens te controleren waarmee u ook de onderdelen van deze assemblage (evenals de delen van de subassemblages) kunt toevoegen?
Kevin
Kijk naar punt nr. 3 creatie van de parametriseringstabel
http://www.lynkoa.com/tutos/3d/catpart-pilote-est-famille-de-pieces-catiav5
Het is hetzelfde voor een ASS hetzelfde startfilter (String) om te filteren op de eigenschappen "referentie", "aanduiding", "revisie", enz.
Bij het kiezen van de oriëntatie van de tafel heb ik horizontaal gekozen:
H de eigenschappen staan aan het hoofd van de kolom.
V-eigenschappen komen aan het hoofd van de lijnen te staan
Kies op basis van de oriëntatie van uw BOM-blad
BEWERKEN:
Dus ik heb het geprobeerd door de stappen in de video uit te voeren, maar ik heb geen instellingen zoals je in deze video kunt zien, omdat ik alleen de stringeigenschappen wil wijzigen zoals je hebt opgemerkt.
Door het te proberen met een kleine assemblage (er zijn honderden onderdelen in degene waarvan ik de eigenschappen eindelijk wil parametriseren) en ik heb weer maar één rij in mijn tabel, zoals je kunt zien in de bijgevoegde afbeelding .
Weet je waar dit vandaan kan komen?
EDIT: Ik zag net je bewerking, ik zal proberen alle eigenschappen toe te voegen in dit geval, maar gezien het aantal munten weet ik niet of het zal werken
capture.png
Ik heb het geprobeerd, en het begint echt dichterbij te komen bij wat ik wil!
Ik heb nog een laatste klein probleempje, of het nu verticaal of horizontaal is, de eigenschappen van de verschillende onderdelen volgen elkaar op, als volgt:
Weet jij hoe je dit kunt corrigeren?
Bedankt voor de tijd die ik aan mijn kleine probleem heb besteed!
Als je veel munten hebt, kun je een extra filter op de naam toevoegen
EDIT: Probeer de manipulaties opnieuw uit te voeren, want normaal gesproken geeft het dit.
Inderdaad, dat heb ik ook. Dit is echter hoe de array die ik wil hebben eruit ziet, want zo is mijn stuklijst gebouwd:
Begrijp je wat ik bedoel? Is het mogelijk?
Ik begreep het net.
PB is de sortering van de parameters en de volgorde van de componenten van de assemblage.
Als je, zoals in het vorige antwoord, achtereenvolgens op naam filtert, krijg je een gesorteerde kolom
Vervolgens moet u de Excel-formule vinden die de inhoud van de juiste collone retourneert in de selectie van gesorteerde regels die overeenkomen met het zoeken naar de naam
Ik kijk naar wat ik kan doen in Excel
Dat is inderdaad het probleem. Heel goed, dank je. Ik ga het ook zelf proberen.
Een oplossing
Onderzoek
=VERT.ZOEKEN(STXT(A1; 2; 11); Blad 2! A1:D4; 1; NIET WAAR)
Retourneert de eerste 11 tekens vanaf de linkerkant van de tweede
=VERT.ZOEKEN(STXT(A1; 2; 11); Blad 2! A1:D4; 1; NIET WAAR)
Blad 2 capsule bereik of zal worden gezocht
=VERT.ZOEKEN(STXT(A1; 2; 11); Blad 2! A1:D4; 1; NIET WAAR)
1 Kolom nr.
In mijn voorbeeld
1 = Bladkolom.2 (onderdeelnummer)
2 = Kolom B blad.2 (Verwijzing)
ONWAAR Ik ben op zoek naar de exacte waarde
EDIT: Ik heb het Excel-bestand bijgevoegd
formules.xlsx
Ik denk niet dat ik je bericht en de formules heb begrepen, dit is wat ik heb met je Excel-bestand:
Is dit het resultaat dat je hebt?
EDIT: Voor zover voor mij had ik niet gezien blad 2, ik ben op zoek naar dit
Ik heb het voorbeeld bijgewerkt omdat het kopiëren van de formules naar beneden ook het zoekbereik verhoogde
In werkelijkheid had ik de formule moeten kopiëren en plakken en alleen moeten wijzigen:
=VERT.ZOEKEN(STXT(A1; 2; 11); Blad 2! A1:D4; 1; NIET WAAR)
Het regelnummer dat toeneemt (A.)
De N in collone. (Deze stap moet voor verbetering vatbaar zijn, zodat u dit niet handmatig hoeft te doen).
Edit , beslist moe aan het einde van de week, ik zocht gewoon naar de juiste
formules.xlsx
Nou, het kostte me wat tijd, maar ik begreep je aanpak en ik vind het erg leuk! Het werkt perfect op je Excel-voorbeeld.
Het lukt me echter niet om de functie VERT.ZOEKEN aan de praat te krijgen in mijn Excel. Ik moet VLOOKUP gebruiken sinds deze Engelse versie, maar het werkt niet. Zie je een foutje?
EDIT: Dat is oke, het werkt op een kleine assemblage. Ik ga hier een beetje plezier mee hebben en ik kom er vrij snel bij je op terug.
EDIT 2: Voor de kleine evolutie van de formule, hier is hoe het eruit ziet:
Ik heb soms onderdeelnamen met meer dan 11 tekens, ik moet het met de hand aanpassen, ik zal kijken of het niet automatiseerbaar is
Goed gedaan Franck, bedankt voor je hulp.
Bonus vraag:
Is het mogelijk om dezelfde procedure uit te voeren, maar dan voor de massa?