Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Schleife mit KWA-Lizenz

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
Autor Thema:  Schleife mit KWA-Lizenz (2553 mal gelesen)
JonasXY
Mitglied



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

Beiträge: 10
Registriert: 19.04.2011

erstellt am: 19. Apr. 2011 10:56    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

Morgen 

ich möchte eine Schleife mit einer Rule in der KWA-Lizenz erzeugen.

Basierend auf einer Plane erstelle ich zwei Flächen, welche zueinander gemessen werden sollen.

Die Plane hat einen Winkel. Die Schleife soll nun die Plane solange drehen (von 1° bis 90°), bis der größte Abstand zwischen den Flächen entsteht.


let W = 0 deg /*Winkel der Plane*/
let i (Integer)

i = 0

`Plane.x\Angle` = W

for i while i <= 90

{
W = W + 1deg

if distance(`Surface.1`,`Surface.2`)
???
}


Jetzt habe ich zwei große Probleme:

1. Wie beende ich die Schleife, bzw. wie definier ich, dass die Schleife beim größten Abstand beendet werden soll?

2. Geb ich dem If-Befehl zum Test irgendeinen "Dann-Wert", wie z.B.


...

if distance(`Surface.1`,`Surface.2`) > 1mm
PartBody .Show = false

...


dann bringt mir Catia beim Update eine Fehlermeldung, dass eine Update-Cycle vorhanden ist.

Der Update-Cycle liegt definitv an der "distance"-Messung, da die Flächen ja basierend auf der Plane erzeugt werden.
Allerdings versteh ich nicht wirklich warum mir das Catia anmeckert und wie ich das umgehen könnte?

Ich hoffe ihr könnt mir helfen
Danke schon mal! 

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 26. Apr. 2011 15:39    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 JonasXY 10 Unities + Antwort hilfreich

Ich glaube eine Zählschleife verlässt man mit

Code:

exit for

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

Starbirth
Mitglied
Konstrukteur


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

Beiträge: 119
Registriert: 22.10.2009

erstellt am: 03. Mai. 2011 14:16    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 JonasXY 10 Unities + Antwort hilfreich

Wenn es dir darum geht den größten Abstand zu finden würde ich in der Schleife alle 90° durchlaufen und jeweils den Abstand messen.
(BTWBy the way (So nebenbei bemerkt). "größter Abstand messen" ist im Makro echt kein Spaß)
In einer variable speicherst du ständig die gradzahl die dir bis dahin den größten Abstand verschafft hat. ist der aktuelle Abstand größer tauschst du hier einfach aus.
Zum Schluss setzt du deinen Winkel auf die Gradzahl die in dieser Vaiable steht, es ist ja schließlich die bei der der Abstand am grössten war.
So kannst du den ganzen Bereich prüfen und läufst nicht gefahr in irgendwelchen lokalen Maxima hängen zu bleiben.

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