| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
 | BOM Assistant für Stücklistenerstellung , eine App
|
Autor
|
Thema: Schleife in Pro/PROGRAM? (1434 mal gelesen)
|
efbe Mitglied Entwicklungsingenieur
 
 Beiträge: 174 Registriert: 18.12.2003 Pro/E 2001, CATIA V5R9SP7+V5R11, Pro/MECHANICA 2001 Windows 2000
|
erstellt am: 24. Feb. 2004 09:00 <-- editieren / zitieren --> Unities abgeben:         
Guten Morgen, gibt es die Moeglichkeit in Pro/PROGRAM eine (for i==1 to x) Schleife einzusetzen? In manchen Faellen waere ein Einsatz einer Schleife wirklich sinnvoll - z.B. um einen bestimmten Parameter zu ermitteln. Vielen Dank fuer eure Auskuenfte. ------------------ So long, Frank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kalle_ok Mitglied
   
 Beiträge: 1164 Registriert: 01.03.2002 WF2: M250
|
erstellt am: 24. Feb. 2004 09:33 <-- editieren / zitieren --> Unities abgeben:          Nur für efbe
Moin Frank, Gruß nach Asien! IMHO ist es nicht möglich Schleifen zu "bauen", hatte vor Jahren, so 9 Jahre her, auch mal das Problem Werte zu berechnen, die nicht trivial herzuleiten waren (2 Unbekannte). Habe dann erst einmal einen Wert berechnen lassen, mit dem ich starten konnte um im Anschluß meinen Zielwert zu berechnen. Gib doch mal'n Beispiel rüber (wenn Dir nicht schon die Augen zufallen). Kalle_ok
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pro/Steffen Mitglied Konstrukteur
 
 Beiträge: 228 Registriert: 15.03.2002 ProE-WF M210
|
erstellt am: 24. Feb. 2004 09:35 <-- editieren / zitieren --> Unities abgeben:          Nur für efbe
Ne, soweit ich weiß ging das nie. Man würde sich ja auch hinsichtlich Behavioral Modeler was vergeben .... Kapitalismus kontra praktische Technik .... Gruß Steffen P.S. 30 U's für den, der da 'nen Trick weiß! ------------------ ***Pro/Steffen*** Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stahl Mitglied unbeschreiblich
   
 Beiträge: 1475 Registriert: 30.01.2001
|
erstellt am: 24. Feb. 2004 09:35 <-- editieren / zitieren --> Unities abgeben:          Nur für efbe
Nein. LEIDER!  Ich hab täglich mit Pro/Program zu tun und könnte Schleifen und Arrays auch sehr gut brauchen. Falls es Dir weiterhilft: Für Arrays, also indizierte Variablen (in meinem Fall eindimensional) hab ich immerhin den Workaround gefunden, Stringparameter zu verwenden. Mit extract() kann man den i-ten Buchstaben aus dem String auslesen und entsprechend verwerten. Kombiniert mit Schleifen wär das natürlich noch viel besser, aber leider tun die bei PTC set Jahren in dem Bereich nix mehr. Was ich nicht verstehe, denn gerade im Automatisierungsbereich ist ProE dermaßen stark, trotz der himmelschreienden Mängel die Pro/Program aufweist. Aber Toolkit, JLink & Co. sind wohl wichtiger... Stahl
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kalle_ok Mitglied
   
 Beiträge: 1164 Registriert: 01.03.2002 WF2: M250
|
erstellt am: 24. Feb. 2004 09:53 <-- editieren / zitieren --> Unities abgeben:          Nur für efbe
|
efbe Mitglied Entwicklungsingenieur
 
 Beiträge: 174 Registriert: 18.12.2003 Pro/E 2001, CATIA V5R9SP7+V5R11, Pro/MECHANICA 2001 Windows 2000
|
erstellt am: 24. Feb. 2004 10:12 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank fuer euren schnellen Auskuenfte. Da mir die Augen noch nicht zufallen (hier ist es erst 17:00uhr), will ich mal gleich das Angebot nutzen und das konkrete Problem schildern: Ein Blechteil, 4-eckig, variiert in der Laenge, so dass die Zahl der Aussparungen (Kreise) unterschiedlich ist. Nun ist aber auch die Breite des Bleches variabel. Die Breite bestimmt den Durchmesser der Kreise. ... Bevor ich weiter verbal erklaere, hier die bisherigen Beziehungen: diameter=w/2 pitch=(hfl-(2*border+diameter))/(ncuts-1) if pitch<=diameter+10 pitch=diameter+10 endif w und hfl werden von einer baugruppe aus gesteuert. In einem bestimmten Bereich hfl funktioniert das auch ganz gut. Wenn hfl jedoch zu klein wird, dann sollte man die Pattern-Anzahl (ncuts) reduzieren. Meine Idee war nun, dass ich erstmal die Anzahl der Cuts berechnen lasse. Und dass geht am besten ueber eine Schleife von 1 hochzaehlend. Seht ihr noch eine andere Moeglichkeit als mit einer Schleife zu arbeiten? ------------------ So long, Frank [Diese Nachricht wurde von efbe am 24. Feb. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
aarsar Mitglied
 
 Beiträge: 310 Registriert: 10.06.2003 ich werde die suchfunktion nutzen und meine systeminfo ausfüllen. ich werde die suchfunktion nutzen und meine systeminfo ausfüllen. ich werde die suchfunktion nutzen und meine systeminfo ausfüllen. ich werde ...
|
erstellt am: 24. Feb. 2004 10:29 <-- editieren / zitieren --> Unities abgeben:          Nur für efbe
hallo frank, vielleicht hilft es dir, das ganze in ein gleichungssystem zu packen. damit hast du die möglichkeit, mehrere unbekannte zu ermitteln. schau mal in der hilfe nach (falls du besitzt, handbuch 2000i!). der initialisierungsbefehl heißt "solve", es können zwar keine direkten schleifen programmiert werden, aber (mit "for"-anweisung) endlich viele parameter verarbeitet werden. darüberhinaus können einschränkungen in der ergebnisverarbeitung eingearbeitet werden. und an die mitarbeiter der konzerne: http://ww3.cad.de/foren/ubb/Forum12/HTML/005121.shtml irgend eine idee??? ------------------ gruß [Diese Nachricht wurde von aarsar am 24. Feb. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
efbe Mitglied Entwicklungsingenieur
 
 Beiträge: 174 Registriert: 18.12.2003 Pro/E 2001, CATIA V5R9SP7+V5R11, Pro/MECHANICA 2001 Windows 2000
|
erstellt am: 24. Feb. 2004 12:24 <-- editieren / zitieren --> Unities abgeben:         
Die Idee ist gar nicht so schlecht mit dem Solve-Befehl. Werde ich mal drueber schlafen. Jetzt haengt es nur noch dran, die Bedingungen in vernuenftige Gleichungen zu fassen. Auf jeden Fall, die 10U's sind unterwegs... Danke an alle fuer die Antworten. ------------------ So long, Frank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stahl Mitglied unbeschreiblich
   
 Beiträge: 1475 Registriert: 30.01.2001
|
erstellt am: 24. Feb. 2004 12:32 <-- editieren / zitieren --> Unities abgeben:          Nur für efbe
pitch=(hfl-(2*border+diameter))/(ncuts-1) setz doch gleich den gewünschten Minimalabstand auf diameter + 10 und rechne dann die Anzahl aus, die du dann mit floor() runterrundest: loch_inkrement = diameter+10 ncuts = floor((hfl - (2*border+diameter))/loch_inkrement) + 1 pitch = (hfl-(2*border+diameter))/(ncuts-1) EDIT: He! Noch nicht schlafengehen!! Du brauchst kein solve und kein for-next! Ich war nur nicht so schnell beim tippen!  [Diese Nachricht wurde von Stahl am 24. Feb. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
efbe Mitglied Entwicklungsingenieur
 
 Beiträge: 174 Registriert: 18.12.2003 Pro/E 2001, CATIA V5R9SP7+V5R11, Pro/MECHANICA 2001 Windows 2000
|
erstellt am: 24. Feb. 2004 12:56 <-- editieren / zitieren --> Unities abgeben:         
@Stahl: Perfekt!!! Genau das ist die Loesung. Funktioniert wunderbar! Vielen Dank dafuer! Aber auch der Tip mit dem Solve-Befehl ist gut. Werde ich mir auf jeden Fall fuer die Zukunft merken! ------------------ So long, Frank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |