Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  AddNewHybridTrim - wie einen sichern Trim erzeugen - Kurvenrichtung

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  AddNewHybridTrim - wie einen sichern Trim erzeugen - Kurvenrichtung (2260 mal gelesen)
Mcbennjo
Mitglied


Sehen Sie sich das Profil von Mcbennjo an!   Senden Sie eine Private Message an Mcbennjo  Schreiben Sie einen Gästebucheintrag für Mcbennjo

Beiträge: 3
Registriert: 01.07.2010

erstellt am: 14. Jul. 2010 22:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin,

Also ein Trim von vier Kurven ist manuell ja kein Problem, auch bei eine Selektion im Baum.

Wenn ich dieses aber über ein Makro machen will, muss ich ja über 1 oder -1 die Richtung angeben, damit der richtige Teil bestehen bleibt.

Was mache ich aber wenn ich die Richtungen der Kurven nicht kenn, bzw. diese immer unterschiedlich sein können???

Anregungen?

Meine Idee bisher war es die Richtungen der Kurven vorher zu bestimmen, über einen Punkt auf der Kurve (Startpubkt der Kurve) und dann über den Abstand zu einem Referenzpunkt so bestimmen wierum die Kurve läuft und dem entsprechend dann über ein "Invert" ide Richtung der Kurve richtig einstellen. Ist aber echt aufwendig.

Habt ihr vielleciht eine bessere Idee?

Danke und Gruß
Julian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


Sehen Sie sich das Profil von HoBLila an!   Senden Sie eine Private Message an HoBLila  Schreiben Sie einen Gästebucheintrag für HoBLila

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 16. Jul. 2010 10:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mcbennjo 10 Unities + Antwort hilfreich

Hallo Julian,

ich stehe auch imemr wieder vor dem Problem.  
Generell kann man sagen die Richtung einer Kurve ist immer ihrer Entstehung geschuldet, also vom ersten Punkt bis zum letzten ist die Richtung. Bei Kanten legt dies allerdings CATIA anhand eines wirren Algorithmus fest und man kann ja auch nicht vom User erwarten, dass er vorher schon weiß, wie er später trimen möchte.  

CATIA selbst bedient sich hier eines Tricks, den man auch automatisieren könnte, aber sehr aufwendig. CATIA ließt den Viewer aus und erhält daher den Vektor mit dem der User auf die Kurve schaut und kann anhand des Picking Points entscheiden ob Invert oder Normal.

Alles sehr aufwendig, daher würde ich Dich bitten mehr Informationen zu posten, vielleicht fällt uns noch etwas einfaches ein. Beispiel: Möchtest du an einem Punkt, einem Körper oder eine Ebene Trimen, wie wird die ausgewählt, vom Makro erzeugt? - Falls das Blödsinn ist, nicht bös sein, ich kann kein CATIA, nur entwickeln, aber du verstehst worauf ich hinaus möchte.  

Überlegen könntest Du Dir vielleicht auch ein generelles Trimschema, indem Du verschiedene Möglichkeiten durchspielst und die Geometrie immer im baum selektierst. In manchen Makros bei mir kam dabei z.B. heraus, dass bei bestimmten Operationen immer invertiert werden muss, da mit steigender Anzahl Geometrien auch die Möglichkeiten wachsen.
Beispiel hier: Ein Split einer Kurve an zwei Punkten gibt mir 8 Kombinationsmöglichkeiten der Inverts (im CAA sogar noch mehr, da die Inverts dort immer schon 4 Richtungen haben PositivePositive, PositiveNegative, ...)

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

[Diese Nachricht wurde von HoBLila am 16. Jul. 2010 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mcbennjo
Mitglied


Sehen Sie sich das Profil von Mcbennjo an!   Senden Sie eine Private Message an Mcbennjo  Schreiben Sie einen Gästebucheintrag für Mcbennjo

Beiträge: 3
Registriert: 01.07.2010

erstellt am: 16. Jul. 2010 20:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Henry,

also folgendes soll passieren:

Das Makro bekommt 5 Flächen als Inputdaten. Die Flächen kommen von der Straak Abteilung. Man könnte davon ausgehen, dass diese Flächen bei jedem Bauteil immer die gleiche Orientierung haben, aber da kann man sich nicht drauf verlassen (nicht jeder Catia Anwender kennt die Orientierung von Flächen etc.)

So, 4 von diesen Flächen werden mit der fünften verschnitten. So entsteht eine geschlossenen Kontur, die jedoch noch getrimmt werden muss. Die Orientierung der vier Kurven hängt folglich von den Orientierungen der Flächen ab (ich gehe mal davon aus, aber ich könnte es nochmal testen).

D.h. beim Trimm muss quasi von jeder Kurve der Mittelteil überbleiben, was ansich ja kein Problem ist, kann ja alles beim Trimm über die Orientierungen eingestellt werden.

Aber was wenn die Orientierung der Kurven nun anders herum verläuft? Bei einer PowerCOpy ja kein Problem, stelle ich beim Einfügen ein. Aber ich kann ja auch nicht pauschal ein Invert anwenden, dazu muss ich ja auch erstmal wissen wie die Orientierung ist........

Denke die Lösung über den Startpunkt und der Auswertung über einen Abstand funktioniert, ist aber aufwendig.

So, hilft dir das weiter? Fällt dir dazu noch was ein? Aber so wie du es beschrieben hast wie Catia das über den Viewer macht ist es ja auch nicht grade einfach.....vielleicht gibt es hier keine einfache Lösung, nur was für uns "Profis".

Gruß
Julian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


Sehen Sie sich das Profil von HoBLila an!   Senden Sie eine Private Message an HoBLila  Schreiben Sie einen Gästebucheintrag für HoBLila

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 19. Jul. 2010 13:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mcbennjo 10 Unities + Antwort hilfreich

Da zweimal geschnitten wird, fallen mir gleich mehrere Ideen ein, allerdings gehe ich immer vom Split im CAA aus, Du musst bitte gucken ob vergleichbares im CATVBA möglich ist.

Zum einen müsste das übrig gebliebene immer Länger sein, als der Schnipsel der ab kommt, oder? Da könnte man beide Ausrichtungen über ein measure testen und die größere nehmen.

Zum anderen kann ich beim Split auch für einzelnen Splitelemente eine Ausrichtung mitgeben, da gibt es (zumindest bei mir) die Ausrichtung Split normal, erstes Element von der Ausrichtung invert und alle weiteren SameOrientation. Dann klappt es bei mir bisher immer, kann aber auch Zufall sein.

3. Variante wäre 1. Trimen, dann zweites Trimen, wenn das auf einen Fehler läuft, dann 1. invertieren. Nach dem Invert müsste die Ausrichtung bekannt sein und das zweite Trim entweder auch invertiert werden oder immer mit Same belassen werden.

Für die 3 Einfälle kann ich Dir aber nicht sagen ob's wirklich funktioniert, es sind nur 3 Ideen, die für mich wahrscheinlich klingen und mit vergleichsweise wenig Aufwand. 
Vorteil ist hier, Du musst Dich nur 1x quälen, die Funktion kannst Du dann immer wieder verwenden.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mcbennjo
Mitglied


Sehen Sie sich das Profil von Mcbennjo an!   Senden Sie eine Private Message an Mcbennjo  Schreiben Sie einen Gästebucheintrag für Mcbennjo

Beiträge: 3
Registriert: 01.07.2010

erstellt am: 22. Jul. 2010 20:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

So, danke für deine Ideen.

Ich habe es nun so gemacht:

1. Verschneidung erzeugen
2. Punkt auf der Kurve bei Ratio = 0 -> ist dann der Startpunkt
3. Mit einem Referenzpunkt den Abstand des Startpunktes auswerten und so die Orientierung der Kurve erkennen -> Variable auf 1 oder -1 setzten
4. Einen Invert mit der Variable einfügen
5. Trimmen

Und:

Es funktioniert! Die Flächen können eine beliebig Orientierung haben, der Trim passt IMMER.

Gruß
Julian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

SignorRossi99
Mitglied
Konstrukteur

Sehen Sie sich das Profil von SignorRossi99 an!   Senden Sie eine Private Message an SignorRossi99  Schreiben Sie einen Gästebucheintrag für SignorRossi99

Beiträge: 3
Registriert: 24.09.2019

Win10 x64CATIA V5 R22

erstellt am: 24. Sep. 2019 18:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mcbennjo 10 Unities + Antwort hilfreich


Part_Trim.jpg

 
Hallo Allerseits,

Freue mich hier im Forum mit vielen Usern austauschen zu können,
Generell kenne ich mich nicht besonders mit VBA und CATIA aus,
Versuche mich aber immer mehr damit zu befassen da es einem viel Erleichterung bringt und sehr viel Spaß macht.

Nun habe ich gleich zu Anfang eine Frage zu VBA / Trim Funktion und Ausrichtung
Hoffe es passt hier

Ich würde gerne die Trim Funktion nutzen und dann über VBA die Ausrichtung Wechseln .. also 1 / -1
Dann aber kein neues Trim verwenden sondern das bestehende "cylinder_trim1" siehe beigefügtes Bild
Dazu habe ich den Recorder verwendet und folgenden Code bekommen
Hier wird aber nun ein neues Trim erzeugt..
Leider weis ich nicht wie der Befehl heist bzw was ist der nächste Schritt,
damit der bestehende Trim eine Richtungsänderung bekommt.

Sub CATMain()
Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
Dim hybridShapeFactory1 As HybridShapeFactory
Set hybridShapeFactory1 = part1.HybridShapeFactory
Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies
Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("#Design")
Dim hybridBodies2 As HybridBodies
Set hybridBodies2 = hybridBody1.HybridBodies
Dim hybridBody2 As HybridBody
Set hybridBody2 = hybridBodies2.Item("Design_Elements")
Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = hybridBody2.HybridShapes

Dim hybridShapeExtrude1 As HybridShapeExtrude
Set hybridShapeExtrude1 = hybridShapes1.Item("Extrude.1")

Dim hybridBodies3 As HybridBodies
Set hybridBodies3 = hybridBody2.HybridBodies
Dim hybridBody3 As HybridBody
Set hybridBody3 = hybridBodies3.Item("cylinder")
Dim hybridShapes2 As HybridShapes
Set hybridShapes2 = hybridBody3.HybridShapes
Dim hybridShapeCylinder1 As HybridShapeCylinder
Set hybridShapeCylinder1 = hybridShapes2.Item("cylinder")

Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapeExtrude1)
Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(hybridShapeCylinder1)


'***** mit KWA VB Script --> Insert Object resolutin Trim/ ("cylinder_trim1") ausgelesen

'Dim hybridShapeTrim1 As HybridShape
'Set hybridShapeTrim1 = hybridShapes1.Item("cylinder_trim1")


'******muss durch bestehendes ersetzt werden mit Orientierung (Reference) meine vermutung?
Dim hybridShapeTrim1 As HybridShapeTrim
Set hybridShapeTrim1 = hybridShapeFactory1.AddNewHybridTrim(reference1, -1, reference2, 1)
hybridShapeTrim1.Mode = 1
'******--------------------------------------------

hybridShapeFactory1.GSMVisibility reference1, 0
hybridShapeFactory1.GSMVisibility reference2, 0

hybridBody1.AppendHybridShape hybridShapeTrim1
part1.InWorkObject = hybridShapeTrim1
hybridShapeFactory1.GSMVisibility hybridShapeTrim1, 1
part1.Update
End Sub

Würde mich über Hilfestellung sehr freuen

------------------
If Click ok to terminate then
make Coffee

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 24. Sep. 2019 18:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mcbennjo 10 Unities + Antwort hilfreich

Servus

Willkommen im Forum. Bitte Code in entsprechenden Tags posten.
Du kannst zB per Namen wieder auf die Features zugreifen. (ggf die Objektauflösung im Editor nutzen).
Probiers mal so (ungetestet):

Code:
Sub CATMain()
Dim partDocument1 As PartDocument
Dim oPart As Part
Dim oHybridBodies As HybridBodies
Dim oHybridBody As HybridBody
Dim oHybridShapeTrim As HybridShapeTrim

'auf GeoSet zugreifen
Set partDocument1 = CATIA.ActiveDocument
Set oPart = partDocument1.Part
Set oHybridBodies = oPart.HybridBodies
Set oHybridBody = oHybridBodies.Item("#Design").HybridBodies.Item("Design_Elements")

'auf Trimm per Namen zugreifen
Set oHybridShapeTrim = oHybridBody.HybridShapes.item("cylinder_trim1")

'Trimm-Mode ändern
if oHybridShapeTrim.Mode == 1 then
  oHybridShapeTrim.Mode = -1
else
  oHybridShapeTrim.Mode = 1
end if

oPart.Update

End Sub


Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

SignorRossi99
Mitglied
Konstrukteur

Sehen Sie sich das Profil von SignorRossi99 an!   Senden Sie eine Private Message an SignorRossi99  Schreiben Sie einen Gästebucheintrag für SignorRossi99

Beiträge: 3
Registriert: 24.09.2019

Win10 x64CATIA V5 R22

erstellt am: 07. Okt. 2019 13:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mcbennjo 10 Unities + Antwort hilfreich

Hallo,
ich wollte es doch noch selbst herausbekommen,
Zumindest habe ich einiges gelernt ..

Im Code wollte ich für den Trim Befehl die Orientierung wechseln.
Hier vielen Dank an Bernd .. habe mir trotz allem die Zähne ausgebissen
DebugPrint wirkt manchmal wunder. :-) war für mich neu.

Letzendlich war es dann nicht der Mode "ich weis bis jetzt nicht was man damit machen kann "


Hier nun der Code..


Nochmal Danke ;-)

Code:

Sub CATMain()
Dim partDocument1 As PartDocument
Dim oPart As Part
Dim oHybridBodies As HybridBodies
Dim oHybridBody As HybridBody
Dim oHybridShapeTrim As HybridShapeTrim
'auf GeoSet zugreifen
Set partDocument1 = CATIA.ActiveDocument
Set oPart = partDocument1.Part
Set oHybridBodies = oPart.HybridBodies
Set oHybridBody = oHybridBodies.Item("#Design").HybridBodies.Item("Design_Elements")
Set oHSTrim = oHybridBody.HybridShapes.Item("cylinder_trim1")

Dim oFirstOrientation, oSecondOrientation As Long
'oFirstOrientation = 1      'Standard für Orientierung der ersten Fläche
'oSecondOrientation = 1      'Standard für Orientierung der zweiten Fläche

oHSTrim.InvertFirstOrientation

oPart.Update
End Sub


------------------
If Click ok to terminate then
make Coffee

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 07. Okt. 2019 22:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mcbennjo 10 Unities + Antwort hilfreich

Servus

Hast du dazu mal in die Doku geschaut?
Den Mode gibt es auch manuell (im Fenster ganz oben, die Online-Hilde beschriebt dazu was).

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Referent Projektsteuerung Gasnetze (m/w/d)

Gases for tomorrow: Ihre Arbeit bei Tyczka ist viel mehr als nur ein Job. Gemeinsam gestalten wir mit Gasen und innovativen, gase-basierten Technologien die Welt von Morgen. Seien Sie ein Teil unserer Transformation und unterstützen Sie uns dabei, eines der attraktivsten Unternehmen für Flüssiggas (LPG), Industriegase und grünen Wasserstoff in Deutschland und Europa zu werden und mit nachhaltigen Energiegasen die Energieversorgung der Zukunft sicherzustellen....
Anzeige ansehenProjektmanagement
SignorRossi99
Mitglied
Konstrukteur

Sehen Sie sich das Profil von SignorRossi99 an!   Senden Sie eine Private Message an SignorRossi99  Schreiben Sie einen Gästebucheintrag für SignorRossi99

Beiträge: 3
Registriert: 24.09.2019

Win10 x64CATIA V5 R22

erstellt am: 08. Okt. 2019 09:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mcbennjo 10 Unities + Antwort hilfreich

Hallo

Die interne V5 VBA help habe ich angeschaut.
Habe es dort nicht verstanden.

Dafür habe ich eine Doku gefunden die mir mehr liegt.

http://catiadoc.free.fr/online/interfaces/interface_HybridShapeTrim.htm

Wäre selbst nicht auf die Idee gekommen nochmal nachzuschauen.
Man kann sich wirklich selbst alles kompliziert machen. 

Danke

------------------
If Click ok to terminate then
make Coffee

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz