Autor
|
Thema: Linearmotor Formel/Ausdruck (5609 mal gelesen)
|
Flat-Eric Mitglied
Beiträge: 8 Registriert: 30.08.2010 Solidworks 2009 SP5.1
|
erstellt am: 30. Aug. 2010 14:24 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, nach langem herumprobieren und durchwälzen von diversen Foren wie auch der Online Hilfe von SW hoffe ich das ihr mir helfen könnt. Ich versuche mittels einer Bewegungsanalyse mit einem Linearmotor ein Bauteil die im Bild dargestellte Kurve "fahren" zu lassen. Verschiebung/Zeit Ich möchte dies gerne mit einem Ausdruck bzw Formel machen. Interpollierte Werte scheiden also als Lösung aus. Mein Problem ist nun folgendes: Für das erste Teilstück der Bewegung verwende ich ein Polynom 5 Grades T=0,55 sek, S=720mm s=f(x)*S f(x)=10z^3-15z^4+6z^5 z=delta t/T Daraus folgt folgender Ausdruck in Solidworks s=(10*((TIME/0.55)**3)-15*((TIME/0.55)**4)+6*((TIME/0.55)**5))*0.720) Anschließend möchte ich eine Rast von 100ms haben und dann wieder ein Polynom 5 Grades. Ich weiß jedoch nicht wie ich das alles in einem Ausdruck unterbekomme. Mit der STEP Funktion geht das ja glaube ich nicht da diese ja von sich aus schon Übergänge erstellt. Kann ich in einem Ausdruck irgendwie Zeitschritte definieren? Es kann ja auch nicht die Lösung sein das mit mehreren Linearmotoren nacheinander zu machen, oder?! Gruß Eric Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Flat-Eric Mitglied
Beiträge: 8 Registriert: 30.08.2010 Solidworks 2009 SP5.1
|
erstellt am: 31. Aug. 2010 15:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, einige Stunden später bin ich nicht wirklich schlauer. 2 Lösungsansätze habe ich jedoch erarbeitet. 1. Ich benutze die IF Funktion 2. Ich mach das über die Solidworks API Naja bei Ersterem komm ich nicht weiter und ich glaube auch das es nicht funktioniert. Im Solidworkshandbuch steht auch folgendes: "Es ist am besten, wenn alle Funktionen, die Sie für die Definition von Bewegung oder Kräften verwenden, kontinuierliche erste und zweite Derivate haben. Es ist am besten, wenn Sie die If-Funktion nicht für die Definition von Bewegung verwenden." Leider ist die Dokumentation sehr spärlich.... Mein 2. Ansatz, das Ganze mittels API zu lösen scheitert einfach daran das ich bisher noch nix mit der API von SW gemacht habe. Es kann doch nicht sein das ich einen Bewegungsablauf nicht auf mehrere Zeitschritte/Funktionen aufteilen kann?!!! Bitte helft mir ich bin am verzweifeln. Gruß Eric Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Flat-Eric Mitglied
Beiträge: 8 Registriert: 30.08.2010 Solidworks 2009 SP5.1
|
erstellt am: 01. Sep. 2010 13:58 <-- editieren / zitieren --> Unities abgeben:
Update: Also vll geht es doch mit der IF Funktion aber entweder bin ich zu dumm oder das ist wirklich sowas von be******** gemacht. Seht selber... (Der Ausdruck ist noch nicht mal fertig) Code: IF(TIME-1.95:IF(TIME-1.4:IF(TIME-1.25:IF(TIME-0.95:IF(TIME-0.65:IF(TIME-0.55:0.72*(10*((TIME/0.55)**3-15*(TIME/0.55)**4+6*(TIME/0.55)**5)),0.72,0.72),0.57,0.72+(0.15*(10*(TIM E-0.95/0.3)**3-15*(TIME-0.95/0.3)**4+6*(TIME-0.95/0.3)**5)),0.72,0.72),0.72,0.72+((10*((TIME-1.4/0.55)**3-15*(TIME-1.4/0.55)**4+6*(TIME-1.4/0.55)**5)*-0.72)),0,0))
Außerdem hat die IF Fnktion eine maximale Verschachtelungstiefe von 10 Ebenen und ich bin schon bei 7... Das kann also alles nicht die Lösung sein... Ich hab mich also dran gemacht das irgendwie mit einem Makro zu lösen und wurstel jetzt schon ne ganze Weile mit der API rum. Ich schaffe es auch Motoren mittels Makro anzulegen. Also z.b. einen mit konst. Geschw. oder einen mit Interpollierten Werten welche aus einer *.csv Datei geladen werden. Aber wie um himmels Willen lege ich mittels Makro einen Motor mit einem Ausdruck/Formel (Expression) an?!
Ich hoffe irgendjemand hier kann mir helfen. Gruß Eric [Diese Nachricht wurde von Flat-Eric am 01. Sep. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marques_CH Mitglied Prozessdesign/PLM
Beiträge: 698 Registriert: 21.11.2005 Solidworks 2013 SP3 Flow Sim Workstation: 6x 4.7 Ghz Quadro 4000 Revodrive 3 X2 SSD
|
erstellt am: 04. Okt. 2010 12:25 <-- editieren / zitieren --> Unities abgeben: Nur für Flat-Eric
|
Flat-Eric Mitglied
Beiträge: 8 Registriert: 30.08.2010 Solidworks 2009 SP5.1
|
erstellt am: 04. Okt. 2010 13:01 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Flat-Eric:
Ich möchte dies gerne mit einem Ausdruck bzw Formel machen. Interpollierte Werte scheiden also als Lösung aus.
Hallo Marques, das es mit einer Interpolation von Werten aus einer Wertetabelle geht ist mir bewusst. Ich möchte aber eben gerne meine Funktion in Solidworks eingeben können und somit nicht den umständlichen Weg über eine Wertetabelle gehen. Danke trotzdem für deine Antwort. Gruß Eric Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marques_CH Mitglied Prozessdesign/PLM
Beiträge: 698 Registriert: 21.11.2005 Solidworks 2013 SP3 Flow Sim Workstation: 6x 4.7 Ghz Quadro 4000 Revodrive 3 X2 SSD
|
erstellt am: 24. Okt. 2010 22:48 <-- editieren / zitieren --> Unities abgeben: Nur für Flat-Eric
|
Flat-Eric Mitglied
Beiträge: 8 Registriert: 30.08.2010 Solidworks 2009 SP5.1
|
erstellt am: 25. Okt. 2010 16:41 <-- editieren / zitieren --> Unities abgeben:
Naja gelöst ist dass so wie ich es gerne hätte nach wie vor nicht. Habe aber bisher auch wenig Zeit gehabt mich damit weiter zu beschäftigen. Eventuell lässt sich irgendwie mit der API lösen. Angeblich soll ich in der 2011 Version diesbezüglich etwas getan haben. Ich bin gespannt.... Gruß Eric Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |