Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Schleife programmieren

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
  
KISTERS 3DViewStation: Geniale 3D-Visualisierung für intuitiven HMI Einsatz, eine Pressemitteilung
Autor Thema:  Schleife programmieren (2393 mal gelesen)
heike.wolf
Mitglied
ba-student


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

Beiträge: 28
Registriert: 05.06.2007

erstellt am: 06. Jun. 2007 10: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

hallo ihr,
ich versuche eine Schleife zu programmieren, und zwar habe ich in einem Modell zwei Splines und diese sollen ca gleich lang sein. Das will ich dadurch erreichen, dass ich den untersten Punkt (parametrisiert) immer um 0,1mm verschiebe, bis es annähernd gleich ist. Ich bekomme immer nur Fehlermeldungung, egal was ich schreibe.
Vielen Dank im Voraus für die Hilfe
Gruß Heike

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

gehirnsuelze
Mitglied
Student


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

Beiträge: 58
Registriert: 16.11.2005

erstellt am: 06. Jun. 2007 10: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 Nur für heike.wolf 10 Unities + Antwort hilfreich

Klingt so als würde ne do-while benötigt.

do while abs(Laenge1-Laenge2)>Bereich
    Parameter= Parameter +0.1
loop

------------------

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

heike.wolf
Mitglied
ba-student


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

Beiträge: 28
Registriert: 05.06.2007

erstellt am: 06. Jun. 2007 10:52    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

Vielen Dank für die schnelle Antwort, habe es auch gleich versuch, aber dabei kam diese Fehlermeldung :
syntax error line 3:
invalid stucture: syntax error (near token : < do > )

einer meiner versuche war:
let a=0
let b=0
let i =0

for i while i < 6
{
if(`Laenge_ausgefahrener_Stab` > `Laenge_eingefahrener_Stab` )
{
`Lage_Gleiter`  =`Lage_Gleiter`  -1mm
a = 2
}
else
{
`Lage_Gleiter`  =`Lage_Gleiter`  +1mm
b  = 3
}
i = a * b

}

dabei kam immer diese Fehlermeldung:
this relation generates a cycle with rule.4 , it will bei inactivated.

wobei rule 4 eben diese bedingung ist.


Gruß Heike

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

gehirnsuelze
Mitglied
Student


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

Beiträge: 58
Registriert: 16.11.2005

erstellt am: 06. Jun. 2007 11:05    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 heike.wolf 10 Unities + Antwort hilfreich

noch mal zum besseren Verständniss des Sachverhalts:

zwei Stäbe, davon ist einer parametrisch
der zweite Stab soll etwa die Länge des Ersten haben
länge des zweiten soll sich aber nur in 1mm-Schritten ändern

right?


wie wärs mit:

Differenz zwischen den Längen bilden
runden auf ganze mm
addieren der gerundten Differenz (wenn negativ dann wirds eben automatisch abgezogen)

fertig?

------------------

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

heike.wolf
Mitglied
ba-student


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

Beiträge: 28
Registriert: 05.06.2007

erstellt am: 06. Jun. 2007 11:12    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

ich hab zwei stäbe, die beide aus splines antstanden sind und diese splines bestehen aus ein paar punkten die als biegelinie berechnet und parametrisiert sind. nun will ich den unteren punkt in z richtung um 0,1mm jeweils verschieben, weil die beiden stäb in meinem modell auf 1/10 genau sein sollten, es handelt sich nämlich eigentlich um den gleichen stab, aber in zwei verschiedenen positionen.

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

gehirnsuelze
Mitglied
Student


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

Beiträge: 58
Registriert: 16.11.2005

erstellt am: 06. Jun. 2007 11:26    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 heike.wolf 10 Unities + Antwort hilfreich

ich denk so etwas in der art könnte funktionieren:

do while Abs(Länge1-Länge2)>=0.1
  if Länge1>Länge2 then
      z=z+1mm
  else
      z=z-1mm
  end if
loop

weiß nicht genau ob das bei kwe funzt, hab ich lange nicht mehr gemacht

------------------

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

heike.wolf
Mitglied
ba-student


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

Beiträge: 28
Registriert: 05.06.2007

erstellt am: 06. Jun. 2007 11: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

der bringt mir wegen dem do ne fehlermeldung,
hab nur kwa und nicht kwe. ich weiß nicht, ob das einen unterschied macht.
do ist nicht bei meinen angegebenen keywords dabei.
würde das ganze eventuell mit der funktion loop funktionieren? wenn ja wie?

[Diese Nachricht wurde von heike.wolf am 06. Jun. 2007 editiert.]

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

gehirnsuelze
Mitglied
Student


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

Beiträge: 58
Registriert: 16.11.2005

erstellt am: 06. Jun. 2007 11: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 Nur für heike.wolf 10 Unities + Antwort hilfreich

kann sein das do while schleifen in der knowledgeware nicht unterstützt werden.

habe zur zeit aber auch keine lizenz um mal wegen alternativen nachzuschauen

------------------

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

gehirnsuelze
Mitglied
Student


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

Beiträge: 58
Registriert: 16.11.2005

erstellt am: 06. Jun. 2007 11:53    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 heike.wolf 10 Unities + Antwort hilfreich

das wirds wohl sein,

habe aber leider ohne Lizenz keine Einblick von hier

------------------

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

dusches
Mitglied



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

Beiträge: 26
Registriert: 26.03.2010

erstellt am: 14. Apr. 2010 14:41    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 heike.wolf 10 Unities + Antwort hilfreich

Hallo zusammen,

dieses Thema ist zwar schon älter, aber ich habe im Prinzip das gleiche Problem und die hier genannten Lösungen kann ich für mich nicht nutzen.

Mein Problem ist folgendes:

eine Horizontale Linie läuft durch einen Punkt (sagen wir er heißt 'Referenzpunkt') und schneidet eine weitere Linie. gibt es keinen Schnittpunkt soll der z-Wert des 'Referenzpunktes' solange erhöht werden bis es einen Schnittpunkt gibt.

wie kann ich eine solche Schleife mit KWA schreiben?

Viele Grüße und danke schon einmal!

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

dusches
Mitglied



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

Beiträge: 26
Registriert: 26.03.2010

erstellt am: 15. Apr. 2010 11:13    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 heike.wolf 10 Unities + Antwort hilfreich

Wenn ich das so schreibe bekomme ich immer den Schnitt durch den höchsten angegebenen Punkt. In diesem Fall ist das bei z=100mm.
Ich brauche aber den ersten Schnittpunkt, der entsteht wenn der z-Wert vergrößert wird.


let z =10
let l(line)
let ref(point)
let schnitt(point)


for z while z<= 100
{
ref= pointoncurve(`Geometrical Set.1\Line.1` , `Geometrical Set.1\Point.1` , z*1mm , true)
l = line (ref , direction(`Geometrical Set.1\Line.2`) ,0mm , 200mm , true)
schnitt=intersect(l , `Geometrical Set.1\Split.1` )

if(schnitt.Error==false)
{
`Geometrical Set.1\Line.21`  = l
`Geometrical Set.1\Point.171`  = schnitt
}


}

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