Autor
|
Thema: Fehler im Makro für Volumenkörper mit Mehrfachschnitten (1255 mal gelesen)
|
Dresel Thomas Mitglied Student
Beiträge: 6 Registriert: 27.05.2013 CATIA Version 5.20. Service Pack 6, Build Number 20 Part Design
|
erstellt am: 27. Mai. 2013 14:02 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich versuche gerade ein Makro in Catia zu erstellen mit welchem ich zwei Skizzen über die Funktion "Volumenkörper mit Mehrfachschnitten" verbinden kann. Leider bekomme ich beim abspielen des zuvor aufgenommenen Makros einen Fehler der folgendermaßen lautet: Objekt erforderlich: 'item1' Der angegebene Teil im Makro lautet folgendermaßen: Dim item1 ' No resolution found for the object item1... Set sketch1 = item1.GetItem("Skizze.1") Set reference1 = part1.CreateReferenceFromObject(sketch1) ich habe leider nur begrenzte Programmierkenntnisse weshalb ich mir absolut nicht vorstellen kann wie man item1 richtig definiert oder wie ich das ganze trotzdem mit einem Makro realisieren kann. Mit freundlichen Grüßen 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: 27. Mai. 2013 14:08 <-- editieren / zitieren --> Unities abgeben: Nur für Dresel Thomas
Servus Willkommen im Forum. Bitte Systeminfo ausfüllen. Wie sieht der komplette Code aus? Wie sieht die Ausgangslage aus? Wo befindet sich die Skizze? Kleiner Hinweis: der Makrorekorder liefert dir oft nur den groben Ablauf, der Code ist ggf sehr umständlich, und einige Dinge werden nicht aufgezeichnet. Es ist immer noch manuelle Nacharbeit des Codes notwendig (wobei Kenntnis in VB oder VBA sehr hilfreich sind). Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dresel Thomas Mitglied Student
Beiträge: 6 Registriert: 27.05.2013 CATIA Version 5.20. Service Pack 6, Build Number 20 Part Design
|
erstellt am: 27. Mai. 2013 14:22 <-- editieren / zitieren --> Unities abgeben:
Ich hoffe in der Systeminfo steht jetzt alles drin was relevant ist. den kompletten Code habe ich mal angehängt, der funktioniert ohne Probleme bis auf den letzten Teil. Ich versuche mithilfe eines C++ Programms den Quelltext für ein Makro für beliebige Zahnräder zu erstellen. (ja ich weiß dass es bereits Makros gibt die das können) Die beiden Skizzen befinden sich auf zwei Ebenen die einen Abstand von ca 10mm von einer der Ausgansebenen haben, es ist aber egal wo sich die Skizzen befinden, da ich schon versucht habe das ganze ein wenig zu variieren um den Code zu verstehen. Inwiefern werden einige Dinge nicht aufgezeichnet? Ist mir bisher noch nicht aufgefallen. Den Rest des Codes denke ich habe ich inzwischen so einigermaßen verstanden ;-). Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moppesle Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3418 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 27. Mai. 2013 14:28 <-- editieren / zitieren --> Unities abgeben: Nur für Dresel Thomas
Hallo Thomas, ohne jetzt dein Script durchgelesen zu haben. Wenn du eine Zahnrad erstellen möchtest kannst du auch einen Body erstellen! Ist doch einfacher und du hast direkt einen Body. ------------------ Gruß Uwe Auch Catia ist nur ein Mensch! 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: 27. Mai. 2013 14:29 <-- editieren / zitieren --> Unities abgeben: Nur für Dresel Thomas
Servus Vermutlich reicht es wenn du die Zeile mit dem Set sketch1 = item1.GetItem("Skizze.1") löschst und direkt auf die zuvor erstellen Skizzen zugreifst: Code: Set reference1 = part1.CreateReferenceFromObject(sketch1) Set reference3 = part1.CreateReferenceFromObject(sketch2)
Gruß Bernd------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dresel Thomas Mitglied Student
Beiträge: 6 Registriert: 27.05.2013 CATIA Version 5.20. Service Pack 6, Build Number 20 Part Design
|
erstellt am: 27. Mai. 2013 14:30 <-- editieren / zitieren --> Unities abgeben:
|
moppesle Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3418 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 27. Mai. 2013 14:36 <-- editieren / zitieren --> Unities abgeben: Nur für Dresel Thomas
Hallo Code: Das Problem welches ich da habe ist dass ich so keine Schrägverzahnung hinbekomme.
Dachte ich mir schon. Es gibt aber noch eine Funktion im Pad die die Direction bestimmt. Hier kannst du eine beliebige Line im Raum als Ausrichtung für das Pad wählen. ------------------ Gruß Uwe Auch Catia ist nur ein Mensch! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dresel Thomas Mitglied Student
Beiträge: 6 Registriert: 27.05.2013 CATIA Version 5.20. Service Pack 6, Build Number 20 Part Design
|
erstellt am: 27. Mai. 2013 14:39 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von bgrittmann: Servus Vermutlich reicht es wenn du die Zeile mit dem Set sketch1 = item1.GetItem("Skizze.1") löschst und direkt auf die zuvor erstellen Skizzen zugreifst:Code: Set reference1 = part1.CreateReferenceFromObject(sketch1) Set reference3 = part1.CreateReferenceFromObject(sketch2)
Gruß Bernd
Ja danke das funktioniert! Ich hab sozusagen das Sketck1 oben schon definiert und brauch deswegen keine Definition über Skizze.1 mehr? Zitat: Original erstellt von moppesle: HalloEs gibt aber noch eine Funktion im Pad die die Direction bestimmt. Hier kannst du eine beliebige Line im Raum als Ausrichtung für das Pad wählen.
Hatte ich schon versucht aber sieht dann auch nicht wirklich nach Schrägverzahnung aus ;-)
[Diese Nachricht wurde von Dresel Thomas am 27. Mai. 2013 editiert.] 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: 27. Mai. 2013 15:51 <-- editieren / zitieren --> Unities abgeben: Nur für Dresel Thomas
Servus Thomas Du könntest statt dem "Volumenkörper mit Mehrfachschnitten" auch ein "Rippe" bzw "Rille" (entlang einer Helix) verwenden. Rein aus Interesse, da ich mich auch länger mit dem Thema auseinandergesetzt habe: - wie willst du die Fussrundung erstellen (besonders bei einem Hinterschnitt bei geringer Zähnezahl) - Berechnest du die Evolvente? Wo, auf dem Stirnschnitt oder auf dem Normalschnitt? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dresel Thomas Mitglied Student
Beiträge: 6 Registriert: 27.05.2013 CATIA Version 5.20. Service Pack 6, Build Number 20 Part Design
|
erstellt am: 27. Mai. 2013 16:34 <-- editieren / zitieren --> Unities abgeben:
Das mit der Rippe hatte ich mir auch schon überlegt aber das könnte ich dann nur mit einem Zahn machen oder? Zum Hintergrund: Mein Prof hat ein Programm mit welchem er die Zahnräder berechnet geschrieben, nun sind wir auf die Idee gekommen dass man das ganze ja auch mit einem Catia Makro kompinieren kann. Da ich mich gerne mit Programmieren beschäftige hab ich diese Herausforderung gerne angenommen. D.h. er gibt mir eine Datei mit mehreren tausend Punkten die gleichmäßig auf dem Rand des Zahnrades verteilt sind und ich erstelle mithilfe eines Makros einen Polygonzug in Catia. Diese Skizze erstelle ich zweimal nur dass sie einmal in Abhängigkeit vom Schrägungswinkel gedreht ist um die Schrägung der Zähne zu erreichen. Wenn ich heute abend noch zeit hab werde ich es eventuell mal mit den richtigen Daten versuchen. So ich hoffe ich habs einigermaßen verständlich beschrieben, Beschreibungen sind nicht gerade meine Stärke ;-) Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |