Autor
|
Thema: Konsturktionstabelle mit MS Access (1213 mal gelesen)
|
pfannensepp Mitglied
Beiträge: 74 Registriert: 03.11.2011 HP Z800 12x 2,66Ghz 24GB RAM CATIA V5 R19
|
erstellt am: 04. Dez. 2012 08:55 <-- editieren / zitieren --> Unities abgeben:
Hallo Gemeinde, Ich habe ein Part mit an die 400 Parameter welcher mit einer Excel-Designtable verknüpft sind. Aus mehreren Gründen (Geschwindigkeit, Datenbankgröße) würde ich gerne die Exceltabelle durch eine Access Datenbank austauschen. Meine bisherigen Versuche waren über die ADO-Schnittstelle auf Access zuzugreifen, die Daten auszulesen und dann in meine CATIA Parameter zu schreiben. Ablauf: - Verbindung zu Access über ADODB - auslesen eines Recordset - Schreiben der Daten (...Parameter.Item(1).Value = RsTAccessDB.Fields(Spalte)) das alles funtioniert auch eigentlich. Das Problem ist nur, dass ich ja definiert zb die erste Zeile der AccessDB mit dem Parameter_1 in Catia beschrfeiben will. Die zuordnung funtioniert jetzt über den CATIA.ActiveDocument.Parameters.item(1) = ... das ist aber eine fixe zuordnung. wenn ich jetzt in mein Part einen neuen Parameter hinzufüge kann es passieren, dass sich der Index der Item's verschiebt. Und dann passt meine Zuordnung ja nicht mehr! Das Ansprechen der Parameter über den Konkrenten Namen zB. CATIA.ACtiveDocument.Parameters.item("Test_Parameter") ist nicht praktikabel, da dieser Vorgang bei 400 Parameter ewig dauert. Gibt es irgendeine Möglichkeit die DAtenbank direkt (ähnliche wie eine Excel-Designtable) mit Catia zu verknüpfen? Als das ich eine Zelle in der DB direkt einen Parameter zuweise? LG
Sepp Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roccat Mitglied Konstrukteur
Beiträge: 172 Registriert: 19.02.2010 WinXP/Win7 Office XP/2007 Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR VB .Net 2010
|
erstellt am: 04. Dez. 2012 09:13 <-- editieren / zitieren --> Unities abgeben: Nur für pfannensepp
Hi Sepp, mir ist nicht bekannt das man Designtables direkt auf eine Acess-Datei verknüpfen kann. Man kann aber Acess-Dateien mit Excel verknüpfen, aber dass wird dein Problem nicht lösen... Evtl. geht es schneller alle Parameter über den index (item.(1)) auszulesen und in einem Array zu übergeben. Und dann mit den Array zu arbeiten. (evtl. gleich den Namen und ItemIndex in einen Merkerarray schreiben) Damit gehts evtl. schneller als mit dem Stringnamen. mfG Mario
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pfannensepp Mitglied
Beiträge: 74 Registriert: 03.11.2011 HP Z800 12x 2,66Ghz 24GB RAM CATIA V5 R19
|
erstellt am: 04. Dez. 2012 10:34 <-- editieren / zitieren --> Unities abgeben:
Hallo roccat vielen Dank für deinen Rat. Aber dann habe ich immer noch das Problem der "instabilität"...also das ich nicht sicher sein kann, dass item(1) beispiel auch Parameter_1 ist...kann ja auch sein, dass irgendwer aus versehen einen neuen Parameter erstellt hat, und es mir alle Indicies verschiebt... ich will halt ein stabiles system:-) Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 04. Dez. 2012 10:44 <-- editieren / zitieren --> Unities abgeben: Nur für pfannensepp
Servus Sind deine Parameter alle im ParameterSet unterhalb des Parts abgelegt? Dann könntest du über das RootParameteSet darau zugreifen, dann ist die Liste sehr viel kürzer. zB Code: Dim RootParameter As ParameterSet Set RootParameter = oPart.Parameters.RootParameterSe.DirectParameters Dim oParameter as Parameter Set oParameter = RootParameter.DirectParameters.Item("ParameterName")
Oder du arbeitest die kurze Liste mit einer Schleife ab (Name vergleichen)Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roccat Mitglied Konstrukteur
Beiträge: 172 Registriert: 19.02.2010 WinXP/Win7 Office XP/2007 Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR VB .Net 2010
|
erstellt am: 04. Dez. 2012 10:56 <-- editieren / zitieren --> Unities abgeben: Nur für pfannensepp
|
| Ingenieur (m/w/d) für Elektrotechnik/ Elektronik im Niedervoltbereich | Verliebt in Elektronik ? Sie sind ein Nerd und lieben eigene Projekte ? privat wie beruflich. Dann sind Sie bei uns goldrichtig. Nortec Electronics GmbH & Co. KG entwickelt, produziert und vertreibt Batterieladesysteme und Stromversorgungen seit 1978. Damit das so bleibt suchen wir jemanden, der kurze Entscheidungswege schätzt, gern ... | Anzeige ansehen | Elektrotechnik, Elektronik |
|
pfannensepp Mitglied
Beiträge: 74 Registriert: 03.11.2011 HP Z800 12x 2,66Ghz 24GB RAM CATIA V5 R19
|
erstellt am: 04. Dez. 2012 13:20 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von bgrittmann: Sind deine Parameter alle im ParameterSet unterhalb des Parts abgelegt?
...leider sind alle Parameter quer über das Part verteilt. So wie ich das RootParameterSet verstanden habe nützt es mir da leider nichts :( Unter Code: Set RootParameter = MeinPart.Parameters.RootParameterSet
stehen 143 Parameter unter Code: Set Parameter = MeinPart.Parameters
stehen über 3000 Parameter (wo auch meine mit der Exceltabelle verknüpften drinstehen)Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |