| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | KISTERS 3DViewStation mit neuer Zerschneidefunktionen und erweitertem PMI-Support, eine Pressemitteilung
|
Autor
|
Thema: Konsturktionstabelle mit MS Access (1235 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: 175 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: 12054 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: 175 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
|
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 |