Hot News:
   

Mit Unterstützung durch:

  Foren auf CAD.de
  Rund um AutoCAD
  parametrischer Block: Geometrie per Berechnung steuern

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Kundenreferenz - Gruner und MuM


Mehr Videos >>>

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
akademiekompakt: eXs live erleben - CAE-System für vernetzte Elektrotechnik Pneumatik und Mechatronik Termin: in -10 Wochen
  
Was ist XPlanung? , ein Fachartikel
Autor Thema:  parametrischer Block: Geometrie per Berechnung steuern (787 / mal gelesen)
ArCADe-Spieler
Mitglied
Metallbautechniker


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

Beiträge: 476
Registriert: 05.12.2012

Win 11 pro 64bit
ACAD 2022 Vollversion ohne Aufsätze

erstellt am: 01. Apr. 2025 12: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


schrage_Linie_dyn.dwg

 
Hallo Gemeinde,

in einem parametrischen Block möchte ich die Neigung (zur Vertikalen) einer in x-Richtung 140 Einheiten langen Linie mittels einer "Winkelbemaßung (Dynamisch)" in Abhängigkeit von der Größe des benutzerdefinierten Parameters "Höhe" steuern.

Bei einer Höhe bis zu exakt 140 Einheiten soll der Winkel 45° betragen, bei einer geringeren Höhe soll die y-Länge der in x-Richtung 140 Einheiten langen Linie gleich der Höhe sein; d.h. der Winkel (zur Vertikalen) soll arcustangens 140/Höhe sein.

Hierfür benutze ich für den Ausdruck der dynamischen Winkelbemaßung folgende Formel:

Code:
45*max(0;sign(Höhe-140))+atan(140/Höhe)*max(0;sign(140.00000001-Höhe))

Hierbei ist der Wert 140.00000001 gemäß der maximal hochgedrehten DDUNITS der kleinstmögliche Wert, der noch nicht 140 ist.

Funktioniert soweit halbwegs, gibt jedoch beim Übergang 140.00000001 zu 140 zu 139.99999999 nur annähernd korrekte Werte aus ... daher: hat jemand eine Idee, wie man den Bereich >=140 besser beschreiben kann ... mir gefällt der Ausdruck wegen der offensichtlich notgedrungen verwendeten vielen Kommastellen nicht so wirklich.

Die ursprünglich verwendete Formel:

Code:
45*max(0;sign(Höhe-140))+atan(140/Höhe)*max(0;sign(140-Höhe))

gibt bei einer Höhe von genau 140 (erwartungsgemäß) einen Winkel von 0° aus

Grüße
Gernot

[EDIT1] zur Verdeutlichung einen Beispielblock hochgeladen

[Diese Nachricht wurde von ArCADe-Spieler am 01. Apr. 2025 editiert.]

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

ArCADe-Spieler
Mitglied
Metallbautechniker


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

Beiträge: 476
Registriert: 05.12.2012

Win 11 pro 64bit
ACAD 2022 Vollversion ohne Aufsätze

erstellt am: 03. Apr. 2025 10:27    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


schrage_Linie_dyn_2.dwg

 
Hallo Gemeinde,

wie so häufig muss so ein kleines, hässliches Problem erst eine Weile reifen und einem so richtig widerlich unangenehm im Hinterkopf rumspuken, damit man sich dann irgendwann - gezwungener Maßen - doch die Zeit nimmt, es noch einmal von allen Seiten zu betrachten und eine Lösung auszuknobeln.

Also noch einmal über das eigentliche Ziel nachgedacht und die Formel wie folgt geändert:

Code:
45+(atan(140/Höhe)-45)*max(0;sign(140-Höhe))

Ist wieder mal ein Bisschen "von hinten durch die Brust ins Auge", macht aber diesmal wirklich genau das, was ich möchte.

Und vielleicht findet sich ja jemand mathematisch Begabterer, als ich es bin, der dieses Formelkonstrukt noch ein Wenig eleganter formulieren kann.

Und gleich noch einen angepassten Beispiel-Block angehängt, aus dem sich die Anwendung des Ganzen vielleicht auch ein Bisschen besser erschließt.

Grüße
Gernot

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

ArCADe-Spieler
Mitglied
Metallbautechniker


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

Beiträge: 476
Registriert: 05.12.2012

Win 11 pro 64bit
ACAD 2022 Vollversion ohne Aufsätze

erstellt am: 27. Aug. 2026 13: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

Hallo Gemeinde,

da mir im Zuge des Rumspielens mit parametrischen/dynamischen Blöcken auch ab und zu Fälle begegnen, bei denen nicht ab oder bis zu einem bestimmten Maß eine Änderung der Geometrie erforderlich/gewünscht ist, sondern eben nur ganz genau bei einem ganz exakt definierten Maß, habe ich mich auch damit mal auseinandergesetzt und folgendes Konstrukt kreiert:

Code:
65-10*max(0;sign(abs(2000-lichte_Breite)))

D.h. nur bei einer lichten Breite von exakt 2000 Einheiten werden die 10 Einheiten NICHT von den 65 Einheiten abgezogen ... wahrscheinlich wieder unnötig kompliziert, aber vor lauter Gehirnverzwirnung fiel mir am Ende nichts besseres ein.

Vielleicht hilft's 

Grüße
Gernot

------------------
Die Goldene Regel:
"Was du nicht willst, das man dir tu,
das füg auch keinem andern zu."

Die Salzregel:
"Was immer man mir zugefügt hat, das darf ich auch anderen zufügen; und was immer andere getan haben, das darf man auch ihnen antun."

frei nach Naomi Alderman, The Future

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

ArCADe-Spieler
Mitglied
Metallbautechniker


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

Beiträge: 476
Registriert: 05.12.2012

Win 11 pro 64bit
ACAD 2022 Vollversion ohne Aufsätze

erstellt am: 22. Sep. 2026 10: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

Hallo Gemeinde,

okay, es gibt also mehrere mögliche Fälle, die es einzeln zu betrachten gilt:

(1) ein Wert "A" soll in Abhängigkeit von der Vergrößerung eines anderen Wertes "B" AB einer bestimmten Größe dieses anderen Wertes geändert werden
(2) ein Wert "A" soll in Abhängigkeit von der Vergrößerung eines anderen Wertes "B" BIS zu einer bestimmten Größe dieses anderen Wertes geändert werden
(3) ein Wert "A" soll in Abhängigkeit von der Verkleinerung eines anderen Wertes "B" AB einer bestimmten Größe dieses anderen Wertes geändert werden
(4) ein Wert "A" soll in Abhängigkeit von der Verkleinerung eines anderen Wertes "B" BIS zu einer bestimmten Größe dieses anderen Wertes geändert werden
(5) ein Wert "A" soll in Abhängigkeit von der Veränderung eines anderen Wertes "B" NUR BEI einer bestimmten Größe dieses anderen Wertes geändert werden
(6) ein Wert "A" soll in Abhängigkeit von der Veränderung eines anderen Wertes "B" NUR BEI einer bestimmten Größe dieses anderen Wertes NICHT geändert werden
(7) ein Wert "A" soll in Abhängigkeit von der Veränderung eines anderen Wertes "B" IN EINEM BESTIMMTEN BEREICH der Größe dieses anderen Wertes geändert werden
(8) ein Wert "A" soll in Abhängigkeit von der Veränderung eines anderen Wertes "B" IN EINEM BESTIMMTEN BEREICH der Größe dieses anderen Wertes NICHT geändert werden

Ich glaube, damit habe ich alle Möglichkeiten aufgelistet, die bei Betrachtung von nur zwei Werten ("A" und "B") auftreten können ... wobei ich denke, dass einige der hier separat aufgeführten Möglichkeiten - bei ausreichender Beherrschung der Thematik - durchaus zusammengefasst betrachtet werden könnten: (1) bis (4), (5) und (6) sowie (7) und (8).

Die beiden ersten Posts in diesem Thread behandeln (3) ... hm, womit automatisch auch (2) erledigt ist. Demzufolge sollte eine Lösung für (1) auch für (4) anwendbar sein ... oder halt umgedreht.

Der dritte Post behandelt (6) ... und damit tatsächlich auch (5).

Die Struktur der Formeln ist (bisher) immer:

Code:
"A"+-Änderung*(Bedingung in Abhängigkeit von "B")

Wobei (bisher) "A" ein fixer Wert ist, die Änderung sowohl ein fixer Wert (6) als auch eine Formel in Abhängigkeit von "B" (3) sein kann, und die Bedingung in Abhängigkeit von "B" immer ein Formelkonstrukt zur ausschließlichen Darstellung von entweder 0 oder 1 ist.

Zu (1), (4), (7) und (8) dann mehr im nächsten Post 

Grüße
Gernot

------------------
Die Goldene Regel:
"Was du nicht willst, das man dir tu,
das füg auch keinem andern zu."

Die Salzregel:
"Was immer man mir zugefügt hat, das darf ich auch anderen zufügen; und was immer andere getan haben, das darf man auch ihnen antun."

frei nach Naomi Alderman, The Future

[Diese Nachricht wurde von ArCADe-Spieler am 22. Sep. 2026 editiert.]

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

cadffm
Moderator
良い精神




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

Beiträge: 22857
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 23. Sep. 2026 08:33    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 ArCADe-Spieler 10 Unities + Antwort hilfreich

Ich bestätige hier mind. einen Mitlesenden 

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

ArCADe-Spieler
Mitglied
Metallbautechniker


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

Beiträge: 476
Registriert: 05.12.2012

Win 11 pro 64bit
ACAD 2022 Vollversion ohne Aufsätze

erstellt am: 23. Sep. 2026 10:27    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 Sebastian, hallo Gemeinde,

eigentlich zeigen mir ja schon 600+ Aufrufe in der Forums-Übersicht ein gewisses Interesse am Thema  , aber wenn Du Dich damit persönlich einbringen willst: you're welcome

Beim darüber nachdenken wurde mir klar, dass (7) und (8) eigentlich nur Kombinationen aus je 2x (1) bis (4) sein werden ... also vom Prinzip her vielleicht so:

Code:
"A"+-Änderung*((Bedingung1 in Abhängigkeit von "B")+(Bedingung2 in Abhängigkeit von "B"))

Die beiden Bedingungen in Abhängigkeit von "B" erzeugen jeweils entweder 0 oder 1, wobei sie hier so angelegt sein müssen, dass sie nur die Größe von "B" jeweils AUßERHALB des zu überwachen gewünschten Bereichs testen, damit nie der Fall eintritt, dass beide Bedingungen 1 ausgeben, was das gewünschte Ergebnis verfälschen würde. Damit würde "B" innerhalb des Bereichs immer 0 als Ergebnis haben müssen, während "B" größer oder kleiner als der Bereich 1 ergibt.

Hm, oder man nähert sich der unteren Bereichsgrenze mit einer Bedingung von oben und der oberen mit der anderen Bedingung von unten ... dann müsste die Formel prinzipell eher so aussehen:

Code:
"A"+-Änderung*((Bedingung1 in Abhängigkeit von "B")*(Bedingung2 in Abhängigkeit von "B"))

Und dann würde "B" nur innerhalb des Bereichs 1 ergeben, während es außerhalb 0 ergibt ... scheint mir fast eleganter ... muss ich noch dran rumdenken.

Die Bedingungen können bei beiden Konstrukten als (1) und (3) oder eben (2) und (4) angelegt werden.

Genug Hobby, die Arbeit ruft ... sie schreit geradezu

Grüße
Gernot

------------------
Die Goldene Regel:
"Was du nicht willst, das man dir tu,
das füg auch keinem andern zu."

Die Salzregel:
"Was immer man mir zugefügt hat, das darf ich auch anderen zufügen; und was immer andere getan haben, das darf man auch ihnen antun."

frei nach Naomi Alderman, The Future

[Diese Nachricht wurde von ArCADe-Spieler am 23. Sep. 2026 editiert.]

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

ArCADe-Spieler
Mitglied
Metallbautechniker


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

Beiträge: 476
Registriert: 05.12.2012

Win 11 pro 64bit
ACAD 2022 Vollversion ohne Aufsätze

erstellt am: 25. Sep. 2026 09: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

Hallo Gemeinde,

klingt vielleicht übertrieben verspielt, aber ich versuche mich momentan der ganzen Thematik gedanklich möglichst systematisch anzunähern, um schlussendlich - nach Lösung/Aufdröselung der einzelnen Teilaspekte - eine Art Baukastensystem für die notwendigen Formeln im Parameter-Manager zu haben.

Als Erweiterung von (7) und (8) könnte nun noch ein Fall eintreten, bei dem ein Wert "A" in Abhängigkeit von Wert "B" in Bereich1 die Anderung1 erfahren soll, und zusätzlich und unabhängig davon in Abhängigkeit von Wert "C" in Bereich2 die Änderung2 ... oder noch mehr verallgemeinert müsste man sich ja nicht einmal festlegen, ob es innerhalb eines Bereichs oder bis/ab/bei einem bestimmten Wert sein soll.

Hierfür wäre eine Zusammenstellung für einen Bereich gemäß der zweiten Formel aus dem vorigen Post erkennbar besser geeignet, weil die Änderungen wirklich nur innerhalb des jeweilig gewünschten Bereichs ausgelöst werden, während bei der ersten Variante im vorigen Post die Wechselwirkungen der Änderungen außerhalb der Bereiche betrachtet werden müssten, was den ganzen Aufbau unnötig kompliziert machen würde.

Für die verallgemeinerte Betrachtung würde folgende Formel gelten, die für die Berücksichtigung weiterer (oder weniger) Bedingungen oder Werte oder Operatoren natürlich noch erweitert oder abgeändert werden kann:

Code:
"A"(Operator1+-*/...)Änderung1*(Bedingung1 für "B")(Operator2+-*/...)Änderung2*(Bedingung2 für "C")

Sieht erst einmal furchtbar kompliziert aus, vereinfacht sich bei der Bearbeitung jedoch erheblich, weil für (Operator1+-*/...)Änderung1*(Bedingung1 für "B") der gesamte restliche Term "A"(Operator2+-*/...)Änderung2*(Bedingung2 für "C") dem zu ändernden Wert "A" entspricht, während es für (Operator2+-*/...)Änderung2*(Bedingung2 für "C") wiederum der gesamte andere restliche Term "A"(Operator1+-*/...)Änderung1*(Bedingung1 für "B") ist.

Mein aktuelles Ziel ist demnach eigentlich "nur", für die unterschiedlichen Bedingungen gemäß (1) bis (8) möglichst einfache und verständliche Konstrukte zu entwickeln, die ohne Schwierigkeiten an den jeweils aktuellen Fall anpassbar sind.

Die Bedingungen betrachten also das Passieren (1) bis (4) bzw. das Erreichen (5) und (6) eines bestimmten Wertes, sowie den Aufenthalt in einem Werte-Bereich (7) und (8) ... der als ein Produkt (oder eben auch NICHT: als eine Summe) aus 2x (1) bis (4) definiert werden kann.

(5) und (6) sehe ich als mit dem dritten Post ausreichend gut gelöst an ... andere Meinung: bitte melden ... am besten mit konkreten Fragen/Anregungen.

Mit (1) bis (4) bin ich noch nicht zufrieden ... aber dazu beim nächsten Mal mehr 

Grüße für ein schönes Wochenende
Gernot

------------------
Die Goldene Regel:
"Was du nicht willst, das man dir tu,
das füg auch keinem andern zu."

Die Salzregel:
"Was immer man mir zugefügt hat, das darf ich auch anderen zufügen; und was immer andere getan haben, das darf man auch ihnen antun."

frei nach Naomi Alderman, The Future

[EDIT1] die bereits erwähnten Operatoren in der allgemeinen Formel auch dargestellt
[EDIT2] den "dritten Post" verlinkt
[EDIT3] Betrachtung der Zusammenhänge der Formelteile
[EDIT4] Begriffsdopplungen bereinigt

[Diese Nachricht wurde von ArCADe-Spieler am 25. Sep. 2026 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

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2026 CAD.de | Impressum | Datenschutz