Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Schleifen im Makro

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
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
Mit der Kisters 3DViewStation komplexeste 3D CAD-Daten beherrschen, eine Pressemitteilung
Autor Thema:  Schleifen im Makro (762 mal gelesen)
Salemaer
Mitglied
Student


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

Beiträge: 26
Registriert: 06.05.2003

erstellt am: 11. Aug. 2003 11: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

Hallo CATIA Gemeinde,
leider bin  ich in der Programmierung nicht sonderlich bewandert und hänge bei einem recht arbeitsintensiven Problem fest.
Zu einem Flugzeug, will ich das Gerüst aus Rohren konstruieren. Der Verlauf der Streben ist drch Punkte und Linien Parametrisiert und über eine Excel Tabelle steuerbar.
Aus diesen Linien (besser gesagt, diese als Basis) will ich ein Rohrgestänge erstellen (ansteuerbar in der Dicke der Rohre). Dazu erzeuge ich eine Ebene senkrecht zu den Linie und zeichne eine Kreis auf dieser Eben, die Linie steht also senkrecht darauf. Lasse nun einen Loft auf die Projezierten Endflächen werfen.
Wie muß ich das in einem Makro schreiben, ohne diese Aktion 200 durchführen zu müssen?

Vielen Dank und einen schönen heißen Tag
Salemaer

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

u01dz
Mitglied



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

Beiträge: 76
Registriert: 12.07.2003

V5R15GA

erstellt am: 11. Aug. 2003 17:59    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 Salemaer 10 Unities + Antwort hilfreich

Hi,

Du kannst hierfür eine For-Next-, Do-While- oder Do-Until-Schleife verwenden. Ausführliche Beispiele findest Du im Buch "Effiziente Konstruktion mit Makros", S. 31 ff.

------------------
Tschüß, Dieter

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

Stoffel
Mitglied
Student


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

Beiträge: 322
Registriert: 09.10.2002

R6/V2010

erstellt am: 12. Aug. 2003 08: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 Salemaer 10 Unities + Antwort hilfreich

Mein Tipp wäre:

Zeichne diese Aktion 1x per Makrorekorder auf.
Dieses Makro musst du nun wahrscheinlich noch etwas verändern.
Und dann baust du einfach noch eine Schleife drum herum.
Z.B.
for i = 1 to 200
  Makro
next i

P.S. Vorsicht bei Collections in CATIA! Die starten nicht bei 0, wie es "normale" Programmierer gewohnt sind, sondern bei 1....

Fette Grüße
    Stoffel

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

Salemaer
Mitglied
Student


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

Beiträge: 26
Registriert: 06.05.2003

erstellt am: 19. Aug. 2003 15:27    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,
danke für Eure Antworten,
das mit den Schleifen war mir soweit auch bekannt.
Mein Problem lag eher darin, daß jedesmal eine andere Linie angesprochen wird. Wenn ich ein Makro aufzeichne steht darin ja dann
tu das und das mit Linie.01 .....
in der Schleife soll er nun mit allen Linien von 1 bis 100 dieses tun, wobei mein Problem sich darin ausdrück daß icn nicht weiß wie ich den Namensteil von **.01 in **.02 ändere.
Kennt jemand dafür ne Lösung?
Gruß
Salemaer

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

gdir
Mitglied



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

Beiträge: 157
Registriert: 25.06.2003

erstellt am: 19. Aug. 2003 16:55    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 Salemaer 10 Unities + Antwort hilfreich

Hallo,

erzeugst Du die Linien auch selbst im Skript? Falls ja, solltest Du irgendwo ein Linienobjekt in Deinem Skript finden. Der Name der Linie kann Dir dann egal sein.

Falls Du die Linien nicht im Skript erzeugst, sondern sie schon vorher im Part vorgegeben sind, kannst Sie beispielsweise über Ihren Open Body (HybridBody) ansprechen. Du kannst bspw. alle HybridShapes eines Open Bodies über einen Index ansprechen.

Viele Grüße

Günther

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

barbara_
Mitglied



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

Beiträge: 53
Registriert: 26.03.2003

erstellt am: 20. Aug. 2003 11:07    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 Salemaer 10 Unities + Antwort hilfreich

Hallo Salemander,

falls Du bescheid weisst, dass alle Linien, die das Makro durchlaufen soll die Namen "Linie.xx" besitzt, dann kannst Du folgend das Problem umgehen:

For i=1 To ...
...
str = "Linie." & i
set linie = part1.FindObjectByName(str)
...
Next

Ist zwar nicht sehr geschickt und die zwei Fälle mussen Überprüft werden :
1. "Linie.0x"
2. "Linie.xx"
aber vielleicht hilft es Dir weiter.

mfG
Barbara

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)2024 CAD.de | Impressum | Datenschutz