Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  Schleife in 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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo
  
Webcast: PTC | Smart Connected Manufacturing, ein Webinar am 25.10.2024
Autor Thema:  Schleife in Makro (706 mal gelesen)
Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 18. Aug. 2004 15:32    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

Tag zusammen

Ich habe in Problem in einem neuen Makro:

Ein einer Schleife liesst es mir das erste Element nicht mehr richtig ein. In der Ersten Runde niehmt es das Element, und färbt es wie gewünscht um. In der zweiten Runde geht es nicht mehr.

Hier der Auszug aus dem TRACE

++++++++++++++++++++++++++++++++++++++++++++++++

END_LOOP
LOOP
READ 'Dicke anklicken' L
PICK_VP_PNT 1 233.623602839265,-189.234397720917
INQ_ELEM L 233.753891968031,-187.618812524216
EXIT_IF ( INQ 403 =
LINE ) 1
MEASURE_LENGTH L 233.753891968031,-187.618812524216
LET D ( INQ 2 ) 62.2012861603359
LET Efarbe ( INQ 201 ) 1,1,1
LET Eart ( INQ 301 ) '11111111111111111111111111111111'
GREEN
SOLID
PUT_PROPERTIES L 233.753891968031,-187.618812524216
END

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Und hier die Stelle aus dem Makro:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

LOOP
  LOOP
    READ 'Dicke anklicken' L
    INQ_ELEM L
  EXIT_IF (INQ 403=
      LINE)
      BEEP
  END_LOOP
  MEASURE_LENGTH L
  LET D (INQ 2)
  LET EFarbe (INQ 201)
  LET EArt (INQ 301)
GREEN SOLID
  PUT_PROPERTIES L END

  LET B 0
  LOOP
    LOOP
      READ 'Linie von laengster Lamelle antippen' P
      INQ_ELEM P
    EXIT_IF ((INQ 403=
      LINE) OR (INQ 403=
      CIRCLE) OR (INQ 403=
      ARC) OR (INQ 403=
      FILLET) OR (INQ 403=
      END))
      BEEP
    END_LOOP
  EXIT_IF (INQ 403=
    END)
    MEASURE_LENGTH P
    LET A (INQ 2)
    LET B (B+A)
    CYAN SOLID
    PUT_PROPERTIES P END
  END_LOOP
  LOOP
    READ 'Ist Kontur i.O von laengster Fase? (ja=1/nein=0)' F
    EXIT_IF ((F = 0) OR (F = 1))
    BEEP
    DISPLAY_NO_WAIT ('Dies war keine korrekte Antwort!')
    WAIT 1
  END_LOOP

CHANGE_COLOR CYAN L END
RGB_COLOR EFarbe
LINEPATTERN EArt
PUT_PROPERTIES SELECT CYAN ALL CONFIRM END

EXIT_IF (F = 1)
  DISPLAY_NO_WAIT ('Kontur ist nicht korrekt, Angaben neu machen!')
  WAIT 2
END_LOOP

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Kann mir jemand sagen, warum es ab dem ersten Rücklauf die Erste (nur die Linie unter Dicke anklicken) nicht mehr umfärbt?

------------------
mfg Thömu

[Diese Nachricht wurde von Thömu am 19. Aug. 2004 editiert.]

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

Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 18. Aug. 2004 15:45    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

Bin schon wieder da.

Die Linie wählt es mir aus, die Länge misst es richtig und gibt sie auch später richtig aus. Es ändert nur die Attribute nicht.

------------------
mfg Thömu

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

awi
Mitglied
Programmierer


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

Beiträge: 275
Registriert: 11.11.2001

awinformatik
- individuallösungen
rund um me10.
- pc-steuerungen.

erstellt am: 18. Aug. 2004 16:38    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 Thömu 10 Unities + Antwort hilfreich

hi thömu
ich habe dein macro getestet. es scheint zu gehen. was meinst du mit "Es ändert nur die Attribute nicht" was für attribute sollten an wen denn übergeben werden ?


gruss andré

------------------
awi
André Weidmann

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

Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 18. Aug. 2004 17:14    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

Salut André

Ich will mit dem Makro die gestreckte Länge einer Biegekontur messen. Dabei ändert mir das Makro die Farb und sehr selten auch die Linienart, damit ich sehe, was dass alles gewählt wurde. Die Dicke des Bleches soll Grün werden, die Länge Zyan. Nach dem Messen, ändert es mir die Farbe und Linie wieder zurück. Dies ändere ich gleich nach den Messen mit " GREEN SOLID PUT_PROPERTIES ", bez. mit "CYAN SOLID PUT_PROPERTIES"
Das geht alles prima, beim ersten durchlauf dieser Scheife. Wenn ich aber mit der gestreckten Länge fertig bin, ins leere Fenster klicke, kommt die Frage, ob die Kontur i.O ist. Wenn ich dort nein sage, geht es in der Schleife ja zurück zum Anfang. Ich kann wieder die "Dicke " auswählen. Diese wählt es auch aus, überniehmt die richtige Länge, aber es ändert mir die Linie nicht auf eine grüne Volllinie. Dieses Verhalten tritt auf, wenn ich sage, die Kontur ist nicht i.O. SOnst geht es, wenn ich vom Anfang her komme. Es ist vielleicht noch zu sagen, dass diese Zeilen der Anfang des Makros sind, vorher sind nur noch die Variablen definiert und die Systemeinstellungen über Linienart &-Farbe werden noch abgefragt, danach beginnt gleich dieser Teil des Makros.

------------------
mfg Thömu

[Diese Nachricht wurde von Thömu am 18. Aug. 2004 editiert.]

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

awi
Mitglied
Programmierer


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

Beiträge: 275
Registriert: 11.11.2001

awinformatik
- individuallösungen
rund um me10.
- pc-steuerungen.

erstellt am: 18. Aug. 2004 21:31    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 Thömu 10 Unities + Antwort hilfreich

hi thömu
ich habs so versucht und es klappt (wenn ich dich richtig verstanden habe)

define aa
LOOP
  LOOP
    READ 'Dicke anklicken' L
    INQ_ELEM L
  EXIT_IF (INQ 403=
      LINE)
      BEEP
  END_LOOP
  MEASURE_LENGTH L
  LET D (INQ 2)
  LET EFarbe (INQ 201)
  LET EArt (INQ 301)
  change_linetype solid l
  change_color GREEN l
  end

  LET B 0
  LOOP
    LOOP
      READ 'Linie von laengster Lamelle antippen' P
      INQ_ELEM P
    EXIT_IF ((INQ 403=
      LINE) OR (INQ 403=
      CIRCLE) OR (INQ 403=
      ARC) OR (INQ 403=
      FILLET) OR (INQ 403=
      END))
      BEEP
    END_LOOP
  EXIT_IF (INQ 403=
    END)
    MEASURE_LENGTH P
    LET A (INQ 2)
    LET B (B+A)
  change_linetype solid p
  change_color cyan p
  end
  END_LOOP
  LOOP
    READ 'Ist Kontur i.O von laengster Fase? (ja=1/nein=0)' F
    EXIT_IF ((F = 0) OR (F = 1))
    BEEP
    DISPLAY_NO_WAIT ('Dies war keine korrekte Antwort!')
    WAIT 1
  END_LOOP

CHANGE_COLOR CYAN L END
change_color RGB_COLOR EFarbe cyan all
change_linetype LINEPATTERN EArt cyan all
end

EXIT_IF (F = 1)
  DISPLAY_NO_WAIT ('Kontur ist nicht korrekt, Angaben neu machen!')
  WAIT 2
END_LOOP


end_define


gruss ändu

------------------
awi
André Weidmann

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

Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 19. Aug. 2004 08:01    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

Zitat:
Original erstellt von awi:

CHANGE_COLOR CYAN L END
change_color RGB_COLOR EFarbe cyan all
change_linetype LINEPATTERN EArt cyan all
end


Morgen zusammen

Wie ich sehe, hast du das Problem auch gefunden. Nachdem ich das Makro gestern Abend zuhaus ca. 20mal durchgegangen bin, habe ich den Fehler gesehen. Ich habe das END nach dem PUT_PROPERTIS vergessen, der Befehl war also noch aktiv, deshalb stellte es die Farbe und Linienart nicht um. Ich habe es oben mal editiert.

Trotzdem vielen dank für die Hilfe, du warst ja auch schneller als ich, ich sah das Problem nicht vor 23 Uhr.


------------------
mfg Thömu

[Diese Nachricht wurde von Thömu am 19. Aug. 2004 editiert.]

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