Autor
|
Thema: Lektüre für die Programmierung in CATIA (1824 mal gelesen)
|
Booyaka Mitglied
Beiträge: 122 Registriert: 22.06.2012 CATIA V5 R19, 24, 26, 28, 29
|
erstellt am: 25. Jan. 2017 08:56 <-- editieren / zitieren --> Unities abgeben:
Hallo, wie der Betreff schon sagt suche ich eine oder 2 gute Bücher für den Einstieg in die Programmierung in Catia. Sprache ist mir eigentlich einerlei ob nu VB oder C# (privat lese ich mich grad in C# ein) Meine allg. Kenntnisse zur Programmierung halten sich momentan noch relativ in Grenzen, ich programmiere seit 1,5 Wochen mit VS2015community dies alles mach ich zum Spaß in meiner Freizeit (und hab da auch schon erfolgreich meine erste Applikation geschrieben die tatsächlich auch von Nutzen ist (Stücklisten-Formatierung )). Aber durch die 1,5 Wochen hab ich mich auf Arbeit auch mal ein bisschen herangewagt an das schreiben von Makros, nur ist die Makroaufzeichnung eher schlecht als recht um damit aufn grünen Zweig zu kommen. Dank dem Forum konnte ich auch hier schon mein ersten Erfolg verbuchen nochmals danke dafür. Nur möchte ich zukünftig nicht nur irgendwelche Makroaufzeichnung hier präsentieren wenn ich ein Problem hab. Von dem her such ich halt gute Lektüre zum Einstig. Ein Buch haben wir hier auf Arbeit: "Kochbuch CATIA V5 automatisieren vom Powercopy bis zur C#-Programmierung" von Jens Hansen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 25. Jan. 2017 09:21 <-- editieren / zitieren --> Unities abgeben: Nur für Booyaka
Hallo, als Einstieg fand ich damals das Buch "Galilieo Computing" sehr hilfreich. Ansonsten hätte ich jetzt auch gesagt für die CATIA spezifischen Dinge das Buch von Jens Hansen Befehle und Objektinhalte findest du in der V5Automation.chm, die mit der Installation geliefert wird. Ansonsten hat das meiste ja nichts mit CATIA direkt zu tun. Daher gilt es in meinen Augen erstmal generell programmieren zu lernen und das dahinter zu verstehen. Ich habe auch einige Jahre gebraucht, um die optimalen Objekte, Fehlerbehandlungen und Ansätze zu finden. ...und man findet immer etwas zum Verbessern z.B. interne Doku, Fehlerbehandlung, Fehlerausgabe, Logging, optimierte Objekte z.B. Dictionary usw. ... ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Booyaka Mitglied
Beiträge: 122 Registriert: 22.06.2012 CATIA V5 R19, 24, 26, 28, 29
|
erstellt am: 25. Jan. 2017 10:26 <-- editieren / zitieren --> Unities abgeben:
Danke für die Antwort Rick Mh ok dann hab ich ja zu Hause noch paar Schmöker für die normale Programmierung :D. Ich dachte halt nur das schon allein durch den Strukturbaum das Programmieren ein bisschen anders wird. So als Beispiel wenn ich z.B. irgendwas von einem Part des "Haupt-Products" in ein Part eines "Unter-Products" kopieren will. Ich glaub ich werds mal mit "CATIA V5 Makroprogrammierung mit Visual Basic Script" von Dieter R. Ziethen probieren angeblich ein "Konkurrenzloses Werk für Einsteiger und Fortgeschrittene" mal schauen ob es was bringt ^^' Hab so das Gefühl das sich das "Kochbuch" von Hansen doch eher an Fortgeschrittene richtet. MfG Sascha Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 25. Jan. 2017 10:56 <-- editieren / zitieren --> Unities abgeben: Nur für Booyaka
|
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 25. Jan. 2017 11:10 <-- editieren / zitieren --> Unities abgeben: Nur für Booyaka
|
Booyaka Mitglied
Beiträge: 122 Registriert: 22.06.2012 CATIA V5 R19, 24, 26, 28, 29
|
erstellt am: 25. Jan. 2017 11:19 <-- editieren / zitieren --> Unities abgeben:
Wahrscheinlich das Einsteigen in Catia durch ein Drittprogramm wie VS vielleicht? ^^ aber das wird ja die Zeit zeigen wenn ich weiter fortgeschritten bin. Warum rätst du von VBA ab(nur interessehalber). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 25. Jan. 2017 11:20 <-- editieren / zitieren --> Unities abgeben: Nur für Booyaka
Backdoor Ein d zu viel. Ich meine damit, dass ich mir die Objekte via backdoor/API von "Außen" greife und im gleichen oder separaten Kontext verarbeite. @Joe: Backdoor ist hier nur ein Begriff und beschreibt eigentlich viele Möglichkeiten über die "Hintertür" auf ein Programm zugreifen zu können. Das kann z.B. sein, dass man einen Dienst über den definierten Port antriggert mit Funktionen, die nicht über die API kommen, oder man ein Fenster fängt, dieses analysiert und per Deirekteingaben weiter verarbeitet. Für mich ist alles Backdoor, was nicht dokumentiert ist und einen sichtbaren oder unsichtbaren direkten Zugriff auf Programme und Services ermöglicht. So wie ich dich einschätze bzw. das von dir gelesene, wirst du wissen was ich meine ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
White-Fox Mitglied E-Techniker
Beiträge: 24 Registriert: 23.01.2017
|
erstellt am: 25. Jan. 2017 21:42 <-- editieren / zitieren --> Unities abgeben: Nur für Booyaka
Wenn du in VBA programmieren willst würde ich schon fast sagen, daß du besser erstmal in Excel oder so anfängst. Das Objektmodell in Catia für VBA ist m.E. fürchterlich geraten. Der Makrorekorder ist so gut wie unbrauchbar, das Buch von Hr. Ziethen in gewissen Teilen leider auch. Grund: Beides (Buch und Makrorekorder) ist relativ nützlich um herrauszufinden, welche Klassen für was zuständig sind und welche von welcher erbt. Aber: Der Programmierstil vom Makrorekorder ist geradezu fürchterlich-und Ziethen orientiert sich leider massiv an diesem. Für wirklich jeden ****** erstellen beide erst eine leere Objektvariable und referenzieren dann auf diese. Das macht den Code immens unleserlich und schwer verständlich. Ich verweise immer lieber direkt auf das jeweilige Objekt. Das hat auch den Vorteil, daß man schön mit den With-Blöcken arbeiten kann. Zudem ist es für einen übersichtlichen Code gut, ALLE Variablen am anfang zu deklarieren. Und zumindest der Makrorekorder deklariert irgendwo. Nachzuvollziehen was der da macht ist manchmal nicht leicht-vor allem, wenn es einem nur auf eine einzige Zeile ankommt. Code: With Catia.Documents.Item(Catia.Documents.Count).Bodies.Item(1) With .Sketches .Add 'Skizze einfügen With .Item(1) 'Erste Skizze... .OpenEdition '...öffnen... .Factory2D.CreateNewLine 10, 10, -10, -10 '...eine Linie einfügen... .CloseEdition '...und wieder schließen End With End With End With'Der Makrorekorder macht: Dim Dc As Document Set Dc = Catia.ActiveDocument Dim Prt As Part Set Prt = Dc.Part Dim Bd As Bodies Set Bd = Prt.Bodies 'usw...
Manchmal ist es ganz nützlich, da einem die MS-IDE nicht immer mit der Klassenauswahl weiterhelfen kann (da Dassault die Klassen ziemlich vergurkt hat). Das passiert oft dann, wenn man mit der .Item()-Methode auf ein Unterobjekt zugreifen will und die Methode nicht typsicher deklariert ist. Bei .Documents.Item() ist das z.B. so, diese Methode kann ein PartDocument, ein Drawing oder sontwas zurückliefern. Da der VBA-Kompiler nicht wissen kann was du willst bietet er dir gar nix an und du muß dich da alleine durchstochern. Deklarierst du aber stattdessen ein PartDokument, dann weiß der Kompiler was dann kommt (bis zur nächsten Kreuzung wo er nicht mehr weiterkommt). Hätte Dassault das besser mit Collections gelöst würde das vieles einfacher machen. Aber zurück zu deinem Ansinnen, Programmieren zu lernen. Ich weiß, es ist nicht leicht da man Programmieren wirklich nur am "lebenden Objekt" lernt. Versuche aber trotzdem, mit VBA vor allem am Anfang soviel wie möglich außerhalb von Catia zu machen. In Excel oder Word macht das weitaus mehr Spaß. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Duales Studium Elektrotechnik ab Oktober 2024 Schwerpunkt: Elektrische Energietechnik | Als führendes europäisches Beratungs-, Planungs- und Projektmanagementunternehmen bietet Drees & Sommer Lösungen für erfolgreiche Gebäude, renditestarke Portfolios, leistungsfähige Infrastruktur und lebenswerte Städte. In interdisziplinären Teams unterstützen unsere über 5.100 Mitarbeiterinnen und Mitarbeiter an 59 internationalen Standorten Auftraggeber unterschiedlichster Branchen. Bei uns gestalten Sie Ihren individuellen Karriereweg aktiv mit.... | Anzeige ansehen | Elektrotechnik, Elektronik |
|
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 26. Jan. 2017 00:35 <-- editieren / zitieren --> Unities abgeben: Nur für Booyaka
|