Autor
|
Thema: Makro um Kurvenlängen zu messen (2408 mal gelesen)
|
rudiklk Mitglied Ingenieur
Beiträge: 67 Registriert: 28.06.2002 V5R12 SP5 Win XP Pro SP2 IBM IntelliStation M Pro 3 GB RAM
|
erstellt am: 06. Sep. 2005 10:03 <-- editieren / zitieren --> Unities abgeben:
Bin absoluter Neuling auf dem Gebiet der Programmierung, hab mich etwas im Forum eingelesen, aber weiterhin fast kein Peil. Meine Aufgabe ist 50 Kurvenzüge, die durch Intersects entstanden sind, zu messen und in eine Excel Tabelle einzutragen. Die Intersects stehen in einem MultiOutput und sind durchnummeriert. Dies würde ich gern mit einem Macro automatisieren, die Werte können zunächst selbstverständlich in eine .txt Datei geschrieben werden. Ich habe gelesen, daß dafür eine Möglichkeit das Erzeugen von Parametern ist in welche die Kurvenlänge geschrieben wird. Bitte helft mir auf die Sprünge wie das insgesamt anzupacken ist! Danke im voraus!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CTenschert Mitglied Wissenschaftlicher Mitarbeiter
Beiträge: 67 Registriert: 04.09.2000
|
erstellt am: 08. Sep. 2005 13:08 <-- editieren / zitieren --> Unities abgeben: Nur für rudiklk
Zitat: Original erstellt von rudiklk: Bin absoluter Neuling auf dem Gebiet der Programmierung, hab mich etwas im Forum eingelesen, aber weiterhin fast kein Peil.Meine Aufgabe ist 50 Kurvenzüge, die durch Intersects entstanden sind, zu messen und in eine Excel Tabelle einzutragen. Die Intersects stehen in einem MultiOutput und sind durchnummeriert.
Ein Beispiel für den Multioutput wäre nicht schlecht. (Screenshoot/Datei) Zitat:
Dies würde ich gern mit einem Macro automatisieren, die Werte können zunächst selbstverständlich in eine .txt Datei geschrieben werden.
Ein Zugriff auf Excel ist ohne aufwand unter VBA möglich. Zitat:
Ich habe gelesen, daß dafür eine Möglichkeit das Erzeugen von Parametern ist in welche die Kurvenlänge geschrieben wird.
Je nach dem was als Ausgangselement vorhanden ist, geht auch eine Messung aus VBA. Zitat:
Bitte helft mir auf die Sprünge wie das insgesamt anzupacken ist! Danke im voraus!
Wie gesagt Informationen sind alles ;-)
------------------ Mit freundlichem Gruß von Carl Tenschert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rudiklk Mitglied Ingenieur
Beiträge: 67 Registriert: 28.06.2002 V5R12 SP5 Win XP Pro SP2 IBM IntelliStation M Pro 3 GB RAM
|
erstellt am: 08. Sep. 2005 13:35 <-- editieren / zitieren --> Unities abgeben:
|
CTenschert Mitglied Wissenschaftlicher Mitarbeiter
Beiträge: 67 Registriert: 04.09.2000
|
erstellt am: 08. Sep. 2005 15:21 <-- editieren / zitieren --> Unities abgeben: Nur für rudiklk
Auf folgenden Seiten findest Du das Grundgerüst: Wie messen: http://ww3.cad.de/foren/ubb/Forum137/HTML/001256.shtml#000002 Wie in Excel ausgeben http://ww3.cad.de/foren/ubb/Forum137/HTML/001029.shtml oder http://ww3.cad.de/foren/ubb/Forum137/HTML/000762.shtml#000003 ist zwar lesen, beim schreiben drehst Du nur die seiten des "=" um. Und dann noch ein bischen rumprobieren wo deine Curven liegen. Ein paar Sicherheitsabfragen rein. Hier ein Beispiel: PS: curves muß activ sein. ' ************************************************** ' * VBA Makro ' * Version 2 ' * Beispiel Makro zum Anzeigen von Längen eines Multioutputs per MsgBox ' * Geschreiben von Carl Tenschert ' * Datum 08.09.2005 ' * System Win 2K Catia V5 R12 Sp 5 ' ************************************************** Sub CATMain() Dim myPart As Part Set myPart = CATIA.ActiveDocument.Part Dim myMBody As HybridBody Set myMBody = myPart.InWorkObject.HybridBodies.Item(1) Dim myHShape As HybridShape Dim myRef As Reference Dim myMes As Measurable For Each myHShape In myMBody.HybridShapes If TypeOf myHShape Is HybridShapeIntersection Then Set myRef = myPart.CreateReferenceFromObject(myHShape) Set myMes = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench").GetMeasurable(myRef) MsgBox (myMes.Length) End If Next End Sub
------------------ Mit freundlichem Gruß von Carl Tenschert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rudiklk Mitglied Ingenieur
Beiträge: 67 Registriert: 28.06.2002 V5R12 SP5 Win XP Pro SP2 IBM IntelliStation M Pro 3 GB RAM
|
erstellt am: 08. Sep. 2005 15:56 <-- editieren / zitieren --> Unities abgeben:
|