Hot News aus dem CAD.de-Newsletter:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Tacton Configurator
  Wie erstellt diese spezielle WENN DANN FORMEL?

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:   Wie erstellt diese spezielle WENN DANN FORMEL? (2042 mal gelesen)
Thomas 3D
Mitglied



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

Beiträge: 389
Registriert: 17.09.2008

AutoCad 2012
Athena 2012
SWX 2011
TactonWorks Studio 4.3.2
TactonWorks Engineer 4.3.2.2

erstellt am: 03. Feb. 2012 18: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


wenn-dann_formel_V1.rar

 
Hallo Tacton Fans,

es ist  sehr schwierig im Internet Tutorials zu finden, die mal beispielhaft Funktionen und ihre Handhabung erklären.
Kennt jemand vielleicht ein paar brauchbare Websites?

Ich habe mal mein Problem in eine Exceltabelle gepresst. Da funktionert es.
Wie muß diese Formel im TCS aussehen?

Würd mich über ein paar Lösungen freuen.
Gruß Thomas

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

timorp
Mitglied
Technischer Angestellter


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

Beiträge: 84
Registriert: 27.09.2011

erstellt am: 09. Feb. 2012 09:29    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 Thomas 3D 10 Unities + Antwort hilfreich

Hi Thomas,

wichtig wäre es zu wissen, welchen Wert dein C bzw. D hat. Wenn es sich um eine boolean Domain handelt, ist es nicht so schwer. Dann wäre C=0 und D=1. Da Tacton ja immer den kleinst möglichen Wert errechnet, müsstest du nur eine Constraint erstellen, für den Fall, dass D=1 ist. Das geht mit zwei Bedingungen relativ einfach, da du sie einfach mit "and" und "or" beschreiben kannst. "A=... and B=... -> Ausgabewert=1". Wenn es keine boolesche Funktion ist, ist es nicht so trivial. Dann würde ich vermutlich für alle drei Möglichkeiten eine Constraint erstellen, die jeden der drei Fälle Beschreibt. Da du aber nur "C" und "D" hast, würde ich hier immer mit einer boolean arbeiten.

Ich hoffe, das hilft dir schon mal ein bisschen. Wenn nicht, einfach weiter fragen!

Gruß Timo

PS: Mathematische Berechnungen gehen immer schneller als logische. Wenn du etwas anders ausdrücken kannst, als mit einer "and-or"-Verknüpfung, solltest du das im sinne der Performance tun. Marco hat mich mit seiner "Einschalt"-Constraint drauf gebracht.

laenge.gesamt~=laenge
qty.teil_1=yes->laenge_gesamt=laenge+teil_1.laenge

wird ersetzt durch:

laenge_gesamt=laenge+qty.teil_1*teil_1.laenge

Das Ergebnis ist das gleiche und die Berechnung geht wesentlich schneller, da keine Wenn-Dann-Funktion mehr. Außerdem hat diese Art den Vorteil, dass sie sich beliebig erweitern lässt und so ganz neue Möglichkeiten bietet (Es können quasi mehrere "Wenns" hintereinandergeschaltet werden. Ich habe teilweise mehrere qty-Attribute in einer Constraint, die nur das addieren bzw. subtrahieren von Werten steuern. Sowas lässt sich unter Umständen auch für dein Wenn-Dann-Problem einsetzen.

------------------
"Der Nachteil der Intelligenz besteht darin, dass man ununterbrochen gezwungen ist, dazuzulernen." - George Bernhard Shaw

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

timorp
Mitglied
Technischer Angestellter


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

Beiträge: 84
Registriert: 27.09.2011

AutoCAD Mechanical 2020
CSWA
CSWP Core/DT/SM/WD/SU
Intel Core i9-7900X@3,30GHz
Windows 10 Pro
64,0GB RAM
NVIDIA Quadro P2000

erstellt am: 09. Feb. 2012 09: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 Nur für Thomas 3D 10 Unities + Antwort hilfreich

Nachdem ich mir deine Tabelle nochmal genau angesehen habe, habe ich festgestellt, dass dein Ergebnis nur vom Wert A abhängt. Ist A=0,0001, dann ist das Ergebnis D, ist A>0,0001 ist das Ergebnis C. Du brauchst in deinem Beispiel die Bedingung B nicht, es sei denn, du hast uns mögliche Ergebnisse vorenthalten 

Gibt es eventuell noch ein "E" oder eine Bedingung für den Fall, dass B>1500, außer die in der B\=-Zeile? Im Prinzip kannst du so deine ersten beiden Bedingungen nämlich zusammenfassen, da für B entweder alles außer 1500 oder 1500 eingesetzt werden kann. Somit ist deine Bedingung für B hier immer erfüllt und A ist in beiden Fällen gleich.

------------------
"Der Nachteil der Intelligenz besteht darin, dass man ununterbrochen gezwungen ist, dazuzulernen." - George Bernhard Shaw

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

Marco83
Mitglied
CNC Programierung & Konstruktion


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

Beiträge: 139
Registriert: 22.11.2011

erstellt am: 14. Feb. 2012 14:37    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 Thomas 3D 10 Unities + Antwort hilfreich


Thomas3D.rar

 
Hallo Thomas 3D

Jetzt habe ich auch mal Zeit dir bei deinem Problem zu helfen.
Grundsätzlich gebe ich timorp recht. "And" & "or" usw sollte man in Formeln vermeiden da Tacton bei beispielsweise "And" gerne mal mehrere tausend berechnungen macht. und bei mehreren solcher formeln sammelt sich das natürlich.

Mit der "Einschalt"-Constraint kann man in Tacton schon viel machen.
Hier auch noch mal ein kleines einfaches Beispiel dazu:

z.B.      X = A + B + C_an * ( D + E )
C_an ist ein boolean wert. Yes=1 und No=0

bei Yes    X = 10 + 10 + 1 * ( 10 + 10 )    X=40
bei No    X = 10 + 10 + 0 * ( 10 + 10 )    x=20  (denn 0*x ist immer null)   
kannst auch mit einer Formel zwei Möglichkeiten abdecken. Entweder A oder D oder auch mehr. Es ist unendlich erweiterbar.
          X = A_an * ( B + C ) + D_an * ( E + F )      usw. usw. usw 
Ob der Wert dann Yes oder No ist steuere ich über die Tabellen. Damit schaltest du sozusagen Teile einer Formel aus oder ein.


Aber am schnellsten geht es bei Tacton immer noch wenn Tacton gar nicht rechnen muss. Das heist, so viel wie möglich mit Varianten Tabellen arbeiten. Mit Tabellen rechnet Tacton nicht sondern sucht sich nur die gerade passende Tabelle raus und macht was drinne steht.

Anbei habe ich mal einen Lösungsvorschlag für dein Problem beigefügt. Dort habe ich mit Varianten Tabellen gearbeitet und Tacton muss gar nix rechnen. Zudem ist die Tabelle beliebig erweiterbar und das Grundprinzip läst sich für vieles anwenden. ICh verwende dieses Prinzip auch öfters bei mir.

Hoffe ich konnte dir weiter helfen.

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

Thomas 3D
Mitglied



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

Beiträge: 389
Registriert: 17.09.2008

AutoCad 2012
Athena 2012
SWX 2011
TactonWorks Studio 4.3.2
TactonWorks Engineer 4.3.2.2

erstellt am: 15. Feb. 2012 08:55    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

Guten Morgen Marco & Timorp,

vielen Dank, das ihr euch meiner Sache angenommen habt. Mit Timorp's Überlegungen habe ich es dann hinbekommen. 
Toll finde ich auch den völlig anderen Gedankenansatz von Marco. Auf diesen Lösungsansatz wäre ich nie gekommen.
Nochmals vielen Dank!!!

Gruß Thomas

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

Marco83
Mitglied
CNC Programierung & Konstruktion


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

Beiträge: 139
Registriert: 22.11.2011

erstellt am: 15. Feb. 2012 10:09    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 Thomas 3D 10 Unities + Antwort hilfreich

Den Ansatz den ich gepostet habe, hatte ich selber mal von meinem Tacton Ansprechpartner bekommen. Am anfang ist es zwar etwas kompliziert durch zu blicken aber nach einer Zeit benutzte ich es ganz gerne. Mit dem Prinzip kann man immer Werte anhand von flexiblem Bezugsbereichen steuern.

z.B.
A bis B = 1
B bis C = 2

Und das läst sich beliebig erweitern und weitere Bezüge hinzufügen sollte ein Ergebnis nicht nur von einem Bezug abhängig sein.

Ich steuere so mitlerweile
- meine Türbandanzahlen im bezug auf breite oder Höhe.
- Zeichnungsmaßstab im Bezug auf breite oder höhe.
- lochaufteilungen
- usw usw

Im Grunde sollte man bei Tacton auch immer so denken das es nich nur jetzt irgendwie funktionieren muss, sondern auch auf Dauer Übersichtlich und leicht änderbar sein sollte. Wenn man alles nur mit Formeln macht wird es später mal schwer etwas abzuändern. Vorallem wenn man lange nicht mehr an dem Programm gearbeitet hat. Daher versuche ich immer in Tabellen zu arbeiten. Dort sind die Werte übersichtlich aufgelistet und lassen sich mit einer einfachen Wertänderung bearbeiten.
Auch wenn etwas ergenzt werden sollte, dann muss man nicht ganze Formeln suchen und abändern sondern einfach eine weitere Tabellenvariante hinzufügen. Auf dauer hat es mir schon so einiges erleichtert.

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

Thomas 3D
Mitglied



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

Beiträge: 389
Registriert: 17.09.2008

AutoCad 2012
Athena 2012
SWX 2011
TactonWorks Studio 4.3.2
TactonWorks Engineer 4.3.2.2

erstellt am: 15. Feb. 2012 11:11    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


Steuerung_vonBohrbildern.pdf

 
Hi Marco,

nur noch mal zur Info, zum besseren Verständnis.

Ich habe nochmal mein Problem graphisch dargestellt und die Lösung drangeheftet.
Mit Deinen und Timorps Info's kann man das Problem auch anders lösen.

Danke nochmals!!!
Gruß Thomas

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

timorp
Mitglied
Technischer Angestellter


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

Beiträge: 84
Registriert: 27.09.2011

erstellt am: 16. Feb. 2012 13: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 Nur für Thomas 3D 10 Unities + Antwort hilfreich

Hi Thomas,

leider bin ich mir nicht sicher, ob ich dein Beispiel richtig verstehe. Zunächst mal die Frage, ob PF1 und PF2 zwei verschiedene Bauteile sind. Dann würde ich nämlich gar nicht mit den Achsen arbeiten, sondern mit der Länge der PF. Außerdem würde ich dann ein qty-Attribut erzeugen, dass den Unterdrückungsstatus von PF2 steuert und gleichzeitig als Einschalt-Attribut für deine Berechnung funktioniert. Wie in unseren Beispielen würdest du dann die Länge von PF2 mit der qty multiplizieren und hättest einen Wert für die Länge nur dann raus, wenn es auch ein PF2 gibt. Falls nicht, ergibt sich nur die Länge von PF1 - also:

laenge_pf = laenge_pf1 + qty_pf2 * laenge_pf2

Ich bin kein Freund der 0,0001mm-Angabe, da sie konstruktiv nicht richtig ist. Wenn du es doch über die Achsen Steuern willst, solltest du die Achse mit einem qty-Attribut versehen, um sie nur im Bedarfsfall einzublenden. Ist sie unterdrückt, weil du kein pf2 hast, gibt es auch kein Fehler, wenn der Abstand zwischen axis1 und axis2 0 wäre.

Mit dieser Steuerung würde ich beginnen. Darauf kannst du dann auch Punkt 4 aufbauen, den ich leider nicht so richtig verstehe, ich mache mir aber noch ein paar Gedanken darüber. Vielleicht komme ich drauf, ansonsten kannst du es ja nochmal etwas präziser erläutern.

Schick doch mal deine Emailadresse per PN. Dann kann man schneller auf Problelme reagieren... :-)

Gruß Timo

------------------
"Der Nachteil der Intelligenz besteht darin, dass man ununterbrochen gezwungen ist, dazuzulernen." - George Bernhard Shaw

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

timorp
Mitglied
Technischer Angestellter


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

Beiträge: 84
Registriert: 27.09.2011

AutoCAD Mechanical 2020
CSWA
CSWP Core/DT/SM/WD/SU
Intel Core i9-7900X@3,30GHz
Windows 10 Pro
64,0GB RAM
NVIDIA Quadro P2000

erstellt am: 16. Feb. 2012 13:28    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 Thomas 3D 10 Unities + Antwort hilfreich

...und auch hier noch ein Nachtrag: Wenn du die linearen Muster von der Mitte aus steuern willst, funktioniert das so nicht sauber. Wenn dein Bohrungs- oder Schnittfeature nicht den Körper schneidet, wird zwar das lineare Muster erzeugt, allerdings bekommst du eine Fehlermeldung für das Schnittfeature. Da du beide seiten des linearen Musters bemaßt hast, weiß ich nicht, von wo es startet. Wenn es jeweils von aussen startet, mit dem abstand von 150mm wäre es ja kein Problem, da du ein lineares Muster ebenfalls berechnen kannst. Die Anzahl der Muster ist D1@linearesMuster, der Abstand D3@linearesMuster. Lässt sich genauso als Maß mappen, wie jedes andere auch.

Soll das LM tatsächlich von der Mitte aus starten, würde ich zunächst die Anzahl der Löcher über die Länge berechnen:

anzahl_muster=round((laenge_pf1/raster)+0,4)  [+0,4 hat den Effekt, dass ab x,1 aufgerundet wird, weil du ein Loch mehr als Zwischenräume hast]

und dann als Startpunkt den Abstand zwischen axis2 und dem ersten Loch als:

abstand_loch1=laenge_pf2-(anzahl_muster-1)*raster-150  [150 ist hier dein Abstand von außen zum ersten (letzten) Loch]

Ich hoffe, du verstehst, wie ich es meine. Ich erkläre es aber auch gerne nochmal ausführlicher, wenn es notwendig ist.

Gruß Timo

------------------
"Der Nachteil der Intelligenz besteht darin, dass man ununterbrochen gezwungen ist, dazuzulernen." - George Bernhard Shaw

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



Technischer Zeichner (m/w/d) ? Technischer Produktdesigner (m/w/d)

ibb ist der Engineering-Spezialist für die CAD-Systeme Creo Parametric, CATIA V5 und NX. Seit vielen Jahren unterstützen wir unsere namhaften Kunden in den Themen: Konstruktion und Entwicklung, Design und Konzeption, Produkt- und Werkzeugkonstruktion, FEM-Berechnungen, Technische Dokumentationen etc.

CAD-Schulungen sowie eine interne Aus- und Weiterbildung als zertifizierter Bildungsträger runden unser Portfolio ab....

Anzeige ansehenTechnischer Zeichner, Bauzeichner
Marco83
Mitglied
CNC Programierung & Konstruktion


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

Beiträge: 139
Registriert: 22.11.2011

erstellt am: 22. Feb. 2012 12:19    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 Thomas 3D 10 Unities + Antwort hilfreich


Paneel.zip

 
So hier mal ein Vorschlag von mir.

Eine Lösung die ohne Tabelle und so gut wie ohne Formeln auskommt.
Alles ergibt sich alleine schon daraus wie man zeichnet.
Ich hoffe es ist verständlich.

Sollten Fragen sein einfach Fragen.

######## Nachtrag zur angefügten PDF ########

Das PDF Beispiel zeigt wie man auch mit 0 Werten rechnen kann da SWXSolidWorks nicht mit 0 arbeiten kann. Problem bei der PDF wäre nur das bei einem 0 Wert das Feature komplett weg geschnitten wird. Und das mag SWXSolidWorks nicht. diese Lösung wäre möglich wenn die Skizze für das Feature z.B. auf AXIS 3 liegt. Sprich das Feature nach rechts weiter geht.
Zu deinem Beispiel: PF1 ist ja nur eine verlängerung zu PF2. mit meinem Beispiel kannst du PF1 auf 0 setzten. Dies geht aber nur wenn das Feature von AXIS 3 aus ausgetragen wird.

[Diese Nachricht wurde von Marco83 am 22. Feb. 2012 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)2020 CAD.de | Impressum | Datenschutz