Hallo Ansgar,
wenn ich die an Deinen Post angehängte Datei als Block in eine leere Zeichnung einfüge, fällt mir als Erstes der extreme Unterschied zwischen Einfügpunkt Deines Blockes und eigentlichem Blockinhalt (das Wort "BUS") auf allen drei Koordinatenachsen auf. Um spätere Bearbeitungen zu erleichtern, sollte sich der Einfügepunkt in unmittelbarer Nähe des Blockinhalts befinden.
aber Schritt für Schritt:
Zitat:
Original erstellt von ansgarmw74:
Ist es möglich, wenn ein Block aus einem Text besteht, diesen dynamisch (in zwei Richtungen strecken) zu machen?
Deine Fragestellung ist etwas unpräzise: möchtest Du diesen Text nur von der Mitte der Textlänge aus nach links und rechts strecken - also den Breitenfaktor des Textes ändern, die Texthöhe jedoch unverändert lassen? Oder möchtest Du den Text sowohl bezüglich der Breite als auch der Höhe (unabhängig voneinander) ändern?
Da sich bei Texten mittels Parameter-gesteuerter Aktionen meines Wissens nur per Skalieren sowohl die Breite als auch die Höhe gleichzeitig und mit dem jeweils gleichen Faktor (bezogen auf den Bezugspunkt der Skalierungsaktion) ändern lassen, scheint ein dynamischer Block für die von Dir (wahrscheinlich) gewünschte Zielstellung nicht unbedingt das Mittel der Wahl zu sein.
Zitat:
Original erstellt von ansgarmw74:
Der Block ist angehängt.
Wie bereits oben von mir und in vorangegangenen Posts von z.B. cadffm ausgeführt, weist die von Dir hochgeladene Datei "BUS.dwg" einige, nicht wirklich hilfreiche Besonderheiten auf.
Zitat:
Original erstellt von ansgarmw74:
Ich möchte nicht die Skalierung anpassen, damit ich im Falle einer Blockaktualisierung nicht alle Blöcke neu anpassen muss.
Es spricht nichts gegen die Verwendung der Skalierung der Block-Skalierungsfaktoren auf den drei Koordinatenachsen ... selbst wenn Du nachträglich innerhalb des Blockes den Text z.B. von BUS auf TAXI ändern solltest. Die Faktoren X, Y und Z bereits in einer Zeichnung eingefügter Instanzen einer Blockdefinition werden NICHT geändert, wenn die Blockdefinition selbst nachträglich geändert wird. Extrem hilfreich ist allerdings - wie von mir bereits oben angesprochen, wenn der Einfügepunkt des Blockes in unmittelbarer Nähe des eigentlichen Blockinhaltes liegt.
Im Anhang mal ein solcher Block innerhalb einer leeren Zeichnung, wie ich ihn vielleicht realisieren würde.
Hierbei liegt der Basispunkt des Blockes auf dem Basispunkt des Text-Attributes, welches den Inhalt des Blocks bestimmt ... ich habe mich für zentriert entschieden ... jede andere Formatierung des Text-Attributes wäre ebenfalls möglich und wäre vielleicht sogar hilfreicher. Problem bei vielen Schriftarten ist nämlich, dass die "greifbaren" Punkte des jeweiligen Textes nicht auf den Außenkanten der dargestellten Schriftzeichen/Texte liegen, und so die Skalierung erheblich erschwert wird.
Den textlichen Inhalt "erzeuge" ich über ein Attribut. So brauche ich nur einen Block, um alle möglichen Texte abzubilden (siehe BUS, TAXI, RAD, TRAM und Zug). Es wäre natürlich auch möglich jeweils einen neuen Block für einen neuen Text zu erzeugen (siehe BAHN). Um eine sichere Skalierungsbasis zu habe, habe ich das Attribut (und gleichermaßen sollte auch mit dem Text verfahren werden) auf Texthöhe 1 und Breitenfaktor 1 skaliert ... siehe all die lustigen Bemaßungen in der Zeichnung.
Zuerst skaliert man den gesamten Block gemäß der gewünschten Texthöhe ... hier also mit 0.016 ... dann den Faktor X so, dass er der gewünschten Breite entspricht.
Bei diesen Attribut-Text-Blöcken ist UNBEDINGT zu beachten, dass sie NICHT über die Änderung des Wertes "Drehung" im Eigenschaftsfenster gedreht werden dürfen, da sonst die Faktoren für die X- und Y-Koordinate der Blöcke gemäß dem Zeichnungs-Koordinatensystem beim Einfügen der betreffenden Blockinstanz folgend ausgerichtet bleiben (siehe RAD und TRAM), gleichermaßen, wenn man beim Einfügen der Instanz einen Drehwinkel ungleich Null wählt (siehe Zug) ... das ist der Haupt-Nachteil der Blöcke mit Attribut-Text. Statt dessen muss die jeweilige, bereits mit Drehwinkel Null eingefügte und fertig skalierte Blockinstanz mit dem Befehl "Drehen" entsprechend gedreht werden (siehe untere BUS und TAXI). Auch hier wäre "ein Block für einen Text" im Vorteil (wieder siehe BAHN).
So, genug rumgespielt ... Grüße
Gernot
[EDIT] "und fertig skalierte" hinzugefügt ... wichtig!!!
[Diese Nachricht wurde von ArCADe-Spieler am 13. Jan. 2025 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP