Common engineer
Grünschnabel
Hallo Community!
ich bin neu hier und hoffe auf ein herzlichen empfang ;P
Naja so neu nicht nur als Mitglied ja, das Forum hat mir immer wieder helfen können, doch leider stecke ich hier auf ein Problem...und meine VBA-Kenntnisse sind SEHR spärlich.
Es wird jetzt ne menge Text kommen also BITTE nicht abschrecken, aber die Erfahrung zeigt, wenn man jemanden etwas erklären möchte....sollte man das auch gründlich machen Eine Datei wird mit eingefügt!
Inhalt der Zip-Datei im Anhang:
1. Step-Datei erstellen _Ver10.xlsm
2. StepBeispiel.STEP
3. StepBeispiel_FreeCAD_Quader 2 z=25 Quader 3 z=90.STEP
Beschreibung:
Was ich schon habe ist, eine Excel-Datei die automatisch Quader generiert und diese als STEP speichert.
Ein STEP ist ein Dateiformat aus CAD-Systemen, wenn man möchte eine art Normierung, sodass man diese Datei auch unter verschiedene CAD-Systeme sich öffnen lassen kann.
Es werden nach "Namen", "Abmassungen" und "Startkoordinaten(Position)" abgefragt.
NUN wenn man die STEP-Datei z.B. unter dem OpenSource-CAD-Programm "FreeCAD" öffnet und man die Position doch anders haben will, dann sollen die "Positions-Delta-Werte" verglichen werden und die Werte die Verändert wurden übernehmen.
Überlegung:
4 Buttons:
1. STEP-Datei aus Liste erstellen ( Funktioniert )
2. FreeCAD-STEP Datei öffnen ( öffen funktioniert )
3. Positionsübernahme aus FreeCAD
4. Alte STEP-Datei öffnen ( funktioniert )
Unter Button 2:
Inhalt dieser FreeCAD-STEP-Datei in einem neuem Worksheet "FreeCAD_STEP" z.B. einfügen und mit Worksheet "STEP_NEW" vergleichen . Einfügen funktioniert bereits, das Vergleichen jedoch nicht.
Nach dem Vergleich (s.u.), sollen die Delta-Werte auf dem selben Worksheet("Ein_Ausgabe") wo die Buttons sind, ausgegeben werden.
Unter Button 3:
Worksheet ("Ein_Ausgabe") unter der Spalte "Startkoordinaten Quader" die jeweiligen Delta-Werte von "Positionskoordianten FreeCAD" ins "Startkoordinaten Quader" überschrieben werden.
Unter Button 4:
Eine schon erstellte Excel-STEP wieder öffnen und unter Worksheet "STEP_NEW" einfügen. Das klappt ^^
Natürlich werden die vorherigen (alten) Einträgen von den neuen überschrieben. (Worksheet "FreeCAD_STEP" und "STEP_NEW")
Vorgehensweise des Vergleichs:
Das Muster, welche 3 CP-Werte ich einmal von Excel und FreeCAD je Bauteil( Eingabe "Name" s.o. ) miteinander Vergleiche, sieht folgendermaßen aus:
Z.B. Ein Vergleich mit 3 generierten Quader
1. Quader(Name1)
1. Vergleich Excel-Wert #38, #51, #107 und FreeCAD-Wert #25, #46, #161...Insgesamt 3 Vergleiche pro Quader (Plausibilisierungsprüfung)
2. Quader(Name2)
4. Vergleich Excel-Wert 202+#38=#240... und FreeCAD-Wert 344+#25=#369...
...Insgesamt 3 Vergleiche pro Quader (Plausibilisierungsprüfung)
3. Quader(Name3)
7. Vegleich Excel-Wert 202+#240=#442... und FreeCAD-Wert 344+#369=#713...
...Insgesamt 3 Vergleiche pro Quader (Plausibilisierungsprüfung) usw.
Die Fettmarkierten-Werte sind die Basis-Werte und die farbigen Werte zeigen das Muster mehr oder weniger wieder.
Die ersten 6 Werte ( 3 Excel 3 FreeCAD ) müssen als feste Konstanten gesetzt werden, dann wird das alte Ergebnis als Addition zum Basiswert genommen und man erhält das neue Ergebnis usw.
Die gefundenen Zeilen sehen immer so aus. ( Positions-Delta-Werte ?x = 10 ?y = -10 ?z = 25, diese stehen in der Klammer von CP.
[FreeCAD-Excel] )
Excel:
#38 = CARTESIAN_POINT ( 'NONE', ( 0.0, 0.0, 100.0 ) ) ;
#51 = CARTESIAN_POINT ( 'NONE', ( 0.0, 50.0, 100.0 ) ) ;
#101 = CARTESIAN_POINT ( 'NONE', ( 100.0, 50.0, 0.0 ) ) ;
FreeCAD:
#25 = CARTESIAN_POINT('',(10.,-10.,125.));
#46 = CARTESIAN_POINT('',(10.,40.,125.));
#161 = CARTESIAN_POINT('',(110.,40.,25.));
ufff...ich weiß ist ne menge Text und ich HOFFE wirklich, das sich jemand das auch durchliest.......
Ich bedanke mich schon einmal im Voraus für eure Hilfe!
MfG
CE
ich bin neu hier und hoffe auf ein herzlichen empfang ;P
Naja so neu nicht nur als Mitglied ja, das Forum hat mir immer wieder helfen können, doch leider stecke ich hier auf ein Problem...und meine VBA-Kenntnisse sind SEHR spärlich.
Es wird jetzt ne menge Text kommen also BITTE nicht abschrecken, aber die Erfahrung zeigt, wenn man jemanden etwas erklären möchte....sollte man das auch gründlich machen Eine Datei wird mit eingefügt!
Inhalt der Zip-Datei im Anhang:
1. Step-Datei erstellen _Ver10.xlsm
2. StepBeispiel.STEP
3. StepBeispiel_FreeCAD_Quader 2 z=25 Quader 3 z=90.STEP
Beschreibung:
Was ich schon habe ist, eine Excel-Datei die automatisch Quader generiert und diese als STEP speichert.
Ein STEP ist ein Dateiformat aus CAD-Systemen, wenn man möchte eine art Normierung, sodass man diese Datei auch unter verschiedene CAD-Systeme sich öffnen lassen kann.
Es werden nach "Namen", "Abmassungen" und "Startkoordinaten(Position)" abgefragt.
NUN wenn man die STEP-Datei z.B. unter dem OpenSource-CAD-Programm "FreeCAD" öffnet und man die Position doch anders haben will, dann sollen die "Positions-Delta-Werte" verglichen werden und die Werte die Verändert wurden übernehmen.
Positions-Delta-Werte:
Wenn man die STEP-Datei via Excel erstellt und diese im FreeCAD öffnet, sieht man ja die erstellten Quader.
Was ja auch gut ist.
Nun, wenn man aber z.B. eine Position doch anders haben möchte, kann man das ja im FreeCAD ändern.
Quader anwählen - Daten - Placement - Position. X/Y/Z Werte eintragen welche man möchte.
Nun ist es auch möglich unter FreeCAD die Datei als STEP zu speichern.
Natürlich sind die CARTESIAN_POINTS( CP ) (Angabe der Position und Form des Quaders) Werte zwischen Excel-STEP und FreeCAD-STEP unterschiedlich, wenn eine Änderung stattgefunden hat. Genau diesen Unterschied soll erfasst und übernommen werden als NEUE "Startkoordinate".
Wenn man die STEP-Datei via Excel erstellt und diese im FreeCAD öffnet, sieht man ja die erstellten Quader.
Was ja auch gut ist.
Nun, wenn man aber z.B. eine Position doch anders haben möchte, kann man das ja im FreeCAD ändern.
Quader anwählen - Daten - Placement - Position. X/Y/Z Werte eintragen welche man möchte.
Nun ist es auch möglich unter FreeCAD die Datei als STEP zu speichern.
Natürlich sind die CARTESIAN_POINTS( CP ) (Angabe der Position und Form des Quaders) Werte zwischen Excel-STEP und FreeCAD-STEP unterschiedlich, wenn eine Änderung stattgefunden hat. Genau diesen Unterschied soll erfasst und übernommen werden als NEUE "Startkoordinate".
Überlegung:
4 Buttons:
1. STEP-Datei aus Liste erstellen ( Funktioniert )
2. FreeCAD-STEP Datei öffnen ( öffen funktioniert )
3. Positionsübernahme aus FreeCAD
4. Alte STEP-Datei öffnen ( funktioniert )
Unter Button 2:
Inhalt dieser FreeCAD-STEP-Datei in einem neuem Worksheet "FreeCAD_STEP" z.B. einfügen und mit Worksheet "STEP_NEW" vergleichen . Einfügen funktioniert bereits, das Vergleichen jedoch nicht.
Nach dem Vergleich (s.u.), sollen die Delta-Werte auf dem selben Worksheet("Ein_Ausgabe") wo die Buttons sind, ausgegeben werden.
Unter Button 3:
Worksheet ("Ein_Ausgabe") unter der Spalte "Startkoordinaten Quader" die jeweiligen Delta-Werte von "Positionskoordianten FreeCAD" ins "Startkoordinaten Quader" überschrieben werden.
Unter Button 4:
Eine schon erstellte Excel-STEP wieder öffnen und unter Worksheet "STEP_NEW" einfügen. Das klappt ^^
Natürlich werden die vorherigen (alten) Einträgen von den neuen überschrieben. (Worksheet "FreeCAD_STEP" und "STEP_NEW")
Vorgehensweise des Vergleichs:
Das Muster, welche 3 CP-Werte ich einmal von Excel und FreeCAD je Bauteil( Eingabe "Name" s.o. ) miteinander Vergleiche, sieht folgendermaßen aus:
Z.B. Ein Vergleich mit 3 generierten Quader
1. Quader(Name1)
1. Vergleich Excel-Wert #38, #51, #107 und FreeCAD-Wert #25, #46, #161...Insgesamt 3 Vergleiche pro Quader (Plausibilisierungsprüfung)
2. Quader(Name2)
4. Vergleich Excel-Wert 202+#38=#240... und FreeCAD-Wert 344+#25=#369...
...Insgesamt 3 Vergleiche pro Quader (Plausibilisierungsprüfung)
3. Quader(Name3)
7. Vegleich Excel-Wert 202+#240=#442... und FreeCAD-Wert 344+#369=#713...
...Insgesamt 3 Vergleiche pro Quader (Plausibilisierungsprüfung) usw.
Die Fettmarkierten-Werte sind die Basis-Werte und die farbigen Werte zeigen das Muster mehr oder weniger wieder.
Die ersten 6 Werte ( 3 Excel 3 FreeCAD ) müssen als feste Konstanten gesetzt werden, dann wird das alte Ergebnis als Addition zum Basiswert genommen und man erhält das neue Ergebnis usw.
Die gefundenen Zeilen sehen immer so aus. ( Positions-Delta-Werte ?x = 10 ?y = -10 ?z = 25, diese stehen in der Klammer von CP.
[FreeCAD-Excel] )
Excel:
#38 = CARTESIAN_POINT ( 'NONE', ( 0.0, 0.0, 100.0 ) ) ;
#51 = CARTESIAN_POINT ( 'NONE', ( 0.0, 50.0, 100.0 ) ) ;
#101 = CARTESIAN_POINT ( 'NONE', ( 100.0, 50.0, 0.0 ) ) ;
FreeCAD:
#25 = CARTESIAN_POINT('',(10.,-10.,125.));
#46 = CARTESIAN_POINT('',(10.,40.,125.));
#161 = CARTESIAN_POINT('',(110.,40.,25.));
ufff...ich weiß ist ne menge Text und ich HOFFE wirklich, das sich jemand das auch durchliest.......
Ich bedanke mich schon einmal im Voraus für eure Hilfe!
MfG
CE