Hallo,
ich habe ein Problem mit dem Strecken eines dynamischen Blocks in Form einer Kurve.
Die Kurve symbolisiert eine Förderband, dass eine Richtungsänderung um 90° nach links oder rechts bewirkt.
Je nach Richtung gibt es natürlich einen eigenen dynamischen Block.
Die Kurve soll dynamisch angepasst werden. Dabei soll zum einen der Radius (Mittelpunkt zu Mittellinie) vergrößert werden, möglichst ohne die Breite der Kurve zu ändern, zum anderen soll die Breite der Kurve verändert werden können ohne den Radius der Kurve zu ändern.
Soll-Radius-Änderung:
Soll-Breiten-Änderung:
Bezüglich des Radius habe ich es bisher nur geschafft die Kurve zu skalieren, was bedeutet, dass sich die Breite entsprechend mit ändert.
Eigentlich soll sich aber nur der Radius und damit entsprechend die Länge der Kurve ändern (wie im Bild oben zu sehen).
Die Änderung der Breite während des Skalierens könnte ich verkraften, wenn diese entsprechend anpassbar wäre.
Blockeditor:
Bei der Änderung der Breite nutze ich bis her einen Parameter der mit zwei Streckaktionen verbunden ist, wobei die eine Streckaktion mit einem Winkelversatz von 90° verbunden ist, damit die beiden Kurven Lotrecht bleiben. Mit der Abhängigkeit Lotrecht funktionierte dies leider nicht. Momentan ändert sich bei der Breiten-Änderung die Form der äußeren Kurvenlinie. Um so breiter die Kurve, um so eher wird die Außenlinie zu einer Geraden.
Bei der Breiten-Änderung ist das eigentliche Ziel ausgehend von der Mittellinie die Breite so anpassen zu können, dass der Radius dabei gleich bleibt. Dies würde bedeuten, dass man zwei Parameter hat,Kurvenbreite-Innen und Kurvenbreite-Außen. Dies sollte aber kein Problem darstellen, wenn die eigentliche Breiten-Änderung erst mal funktioniert.
Ich hoffe ihr könnt mir helfen.
Danke 🙂
Gruß Paul
Die Themenüberschrift wurde zum besseren Verständnis editiert
von Sofia Xanthopoulou
Gelöst! Gehe zur Lösung
Gelöst von Sofia.Xanthopoulou. Gehe zur Lösung
Gelöst von Alfred.NESWADBA. Gehe zur Lösung
Hi,
>> ich habe ein Problem mit dem Strecken eines dynamischen Blocks in Form einer Kurve.
mach skalieren und nicht strecken 😉
- alfred -
Wenn ich skaliere, dann passiert so etwas:
Wenn ich die Innenlinie beim Skalieren mit anspreche, dann wird zwar die Kurve breiter, aber auch länger. Die Länge sollte aber nicht verändert werden.
Hallo @paul.aurich9APA6,
hast du dir so etwas vorgestellt?
Hi,
>> dann wird zwar die Kurve breiter, aber auch länger. Die Länge sollte aber nicht verändert werden
Im ersten Moment hätte ich gesagt "skalieren um den richtigen Basispunkt", aber je länger ich überlege, komme ich nicht dahinter, was mit "Länge" genau gemeint wäre. Ich kann mir nicht vorstellen, wie man einen Radius verändern sollte, aber die Bogenlänge (welches für mich die einzige erkennbare Länge wäre) sich nicht ändern sollte.
Aber vielleicht hilft ja der beiliegende Versuch 😉
- alfred -
Hallo @Sofia.Xanthopoulou,
ich arbeite mit AutoCAD 2017.
Danke für das Beispiel.
Die Kurve muss ein Block sein, da dieser mit Hilfe eines Skripts (c#.dll) eingefügt werden soll.
Zum Verständnis:
Ziel ist es mit diesem Skript verschiedene Blöcke der Blocktabelle an vorgegebenen Orten zu positionieren und zu parametrisieren.
Dazu wird zunächst ausgelesen und in eine XML-Datei geschrieben, welche Blöcke in der Blocktabelle der Zeichnung vorhanden sind.
Dann werden über ein weiteres Tool bestimmte Blöcke ausgewählt und mit Parametern sowie einer Position versehen und in einer weiteren XML-Datei gespeichert.
Anschließend wird diese eingelesen. Dabei wird ein Block aus der Blocktabelle angesprochen, an der gegebenen Position eingefügt und dann parametrisiert.
Ich werde versuchen die Parameter deines Beispiels in meinen Block aufzunehmen.
Vielleicht klappt das ja.
Gruß Paul
Hallo @paul.aurich9APA6,
ich habe das ganze auch mal als Block mit Parametern erzeugt.
Vielleicht kannst du das einsetzen.
LG
Irgendwie fühle ich mich ignoriert ...
...................Alfred wird gemobbt, Alfred wird gemobbt, Alfred wird gemobbt. ...................................
Hallo @Sofia.Xanthopoulou und @Alfred.NESWADBA,
ich verwende jetzt eine Variante aus beiden Lösungen.
Danke für eure Hilfsbereitschaft.
Gruß Paul
ooooch Alfred..., hat bestimmt keiner böse gemeint @paul.aurich9APA6 hat deine Antwort sehr gewürdigt!!
Pfui, Hans! Sei nicht so schadenfroh
@paul.aurich9APA6, freut mich, dass wir dich mit vereinten Kräften ans Ziel bringen konnten
Das Kirschchen auf der Torte wäre jetzt, wenn du uns deine Lösung auch präsentierst.
Das ist dann ein Musterbeitrag vom Feinsten, wo alle Leser geballtes Wissen mitnehmen können.
So sieht eine Community aus!!
Vielen Dank für deinen Beitrag, hat Spaß gemacht mit dir zu knobeln - auch dem Alfred!
Würde mich freuen wieder von dir zu lesen.
LG
Sie finden nicht, was Sie suchen? Fragen Sie die Community oder teilen Sie Ihr Wissen mit anderen.