<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Thema "Re: beweglicher text" in Programmierung</title>
    <link>https://community.graphisoft.com/t5/Programmierung/beweglicher-text/m-p/439194#M1514</link>
    <description>Leider kann ich den Text wegen Timeout nicht mehr korrigieren. Es waren ein paar kleine Fehler drin. Hier korrigiert:&lt;BR /&gt; &amp;lt;/font&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;font size="1" face="Verdana, Helvetica, sans-serif"&amp;gt;Code:&amp;lt;/font&amp;gt;&amp;lt;hr /&amp;gt;&amp;lt;pre style="font-size:x-small; font-family: monospace;"&amp;gt;! Parameter:&lt;BR /&gt; ! c: Vertikaler Versatz, Typ Länge&lt;BR /&gt; ! d: Horizontaler Versatz, Typ Länge&lt;BR /&gt; ! w: Rotation, Typ Winkel&lt;BR /&gt; &lt;BR /&gt; txt="Beweg mich! Dreh mich"&lt;BR /&gt; r=stw(txt)/1000*GLOB_SCALE !Textbreite als Radius&lt;BR /&gt; &lt;BR /&gt; HOTSPOT2 0,0,99 !Fangpunkt am Objekteinsetzpunkt&lt;BR /&gt; &lt;BR /&gt; ! Vertikale Richtung&lt;BR /&gt; HOTSPOT2 d, 0, 01,c,1+128 !Basisfangpunkt&lt;BR /&gt; HOTSPOT2 d, c, 02,c,2     !beweglicher Fangpunkt&lt;BR /&gt; HOTSPOT2 d,-1, 03,c,3     !Referenzrichtung&lt;BR /&gt; &lt;BR /&gt; ! Horizontale Richtung&lt;BR /&gt; HOTSPOT2  0,c, 04,d,1+128 !Basisfangpunkt&lt;BR /&gt; HOTSPOT2  d,c, 05,d,2     !beweglicher Fangpunkt&lt;BR /&gt; HOTSPOT2 -1,c, 06,d,3     !Referenzrichtung&lt;BR /&gt; &lt;BR /&gt; add2 d,c&lt;BR /&gt; &lt;BR /&gt; ! Drehung&lt;BR /&gt; hotspot2 0,0, 07,w,6     !Mittelpunkt&lt;BR /&gt; hotspot2 r,0, 08,w,4+128 !Basispunkt&lt;BR /&gt; hotspot2 r*cos(w),r*sin(w),09,w,5 !Beweglicher Punkt&lt;BR /&gt; &lt;BR /&gt; ! Eindrehen und Textausgabe&lt;BR /&gt; rot2 w&lt;BR /&gt; text2 0,0,txt&lt;BR /&gt; del 2</description>
    <pubDate>Mon, 07 Nov 2005 07:19:00 GMT</pubDate>
    <dc:creator>Frank Beister</dc:creator>
    <dc:date>2005-11-07T07:19:00Z</dc:date>
    <item>
      <title>beweglicher text</title>
      <link>https://community.graphisoft.com/t5/Programmierung/beweglicher-text/m-p/439192#M1512</link>
      <description>Hallo forum.&lt;BR /&gt; Für diverse Objekte würde ich gerne einen text generieren, der sich auf der Zeichenebene verschieben und drehen läßt.&lt;BR /&gt; Ich habe versucht das Problem mit editierbaren Hotspots, an welche ich den text hänge, zu lösen.&lt;BR /&gt; Leider bin ich gescheitert, da ich die verwendung&lt;BR /&gt; der Hotspot-Befehle im 2d-skript nicht ganz durchschaue. Kann mir jemand helfen?</description>
      <pubDate>Sat, 05 Nov 2005 13:41:00 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Programmierung/beweglicher-text/m-p/439192#M1512</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-11-05T13:41:00Z</dc:date>
    </item>
    <item>
      <title>Re: beweglicher text</title>
      <link>https://community.graphisoft.com/t5/Programmierung/beweglicher-text/m-p/439193#M1513</link>
      <description>Aus dem Kopf und ohne AC zur Hand und mit Garantie auf kleine Fehler:&lt;BR /&gt; &lt;BR /&gt; ----------------------------&lt;BR /&gt; &lt;BR /&gt; Syntax:&lt;BR /&gt; hotspot2 x,y [,ID [,parametername, typ [,parameterliste]]&lt;BR /&gt; &lt;BR /&gt; Wertebereiche:&lt;BR /&gt; x, Typ real&lt;BR /&gt; y, Typ real&lt;BR /&gt; ID, Typ integer (ab ArchiCAD 6.5)&lt;BR /&gt; parametername, gültiger Parametername aus der Parameterliste des Objektes, der beweglich sein soll (ab ArchiCAD 8.0)&lt;BR /&gt; typ (1 bis 6) Typ integer (ab ArchiCAD 8.0)&lt;BR /&gt; parameterliste&lt;BR /&gt; &lt;BR /&gt; Erläuterung:&lt;BR /&gt; Erzeugt einen Fangpunkt an der Stelle x/y. Dieser wird im Vorschaufenster des Objekteditors zwar als Kreuz angezeigt, ist im Plan platziert später aber unsichtbar. Um langes Suchen mit dem Cursor zu vermeiden sollten diese also in der nähe von sichtbaren Elementen des Objektes liegen. Auf diesen Fangpunkt kann vermaßt werden. Damit ArchiCAD bei mehreren und je nach Darstellung evt. wechselnden Fangpunkten den korrekten assoziiert, kann dem Fangpunkt eine Identifizierungsnummer (ID) zugewiesen werden, die objektweit jedoch eindeutig sein muß. Es ist zu raten dazu eine Variable zu verwenden, die nach jedem HOTSPOT2 hochgezählt wird.&lt;BR /&gt; Ab ArchiCAD 8 können mehrere Fangpunkte gemeinsam einen beweglichen Fangpunkt definieren. Prinzipiell gibt es zwei unterschiedlich Typen: Linear und Winkel. Bei den linearen können auch zwei bewegliche Fangpunkte zusammenfallen, die dann 2 Parameter gleichzeitig verändern. Sie müssen allerdings dann auch theoretisch beweglich sein und sich nicht gegenseitig durch Richtung oder Wertebereiche/Schrittweiten ausschließen. Außerdem müssen sie den maßstäblichen Längen entsprechen. Vor den hotspot2-Befehlen ausgeführte MUL2-Befehle müssen mit den Fangpunkten korrespondieren.&lt;BR /&gt; &lt;BR /&gt; Linear bewegliche Fangpunkte:&lt;BR /&gt; Es wird ein Vektor bestimmt, der die Längenangabe eines Parameters darstellt. Jeder Vektor hat einen Ausgangspunkt (Basis, typ ) und ein Ende (Beweglicher Punkt). Da ein Vektor (Parameter) auch die Länge Null haben kann, wäre in diesem Fall eine Richtung nicht definiert und jede möglich. Um das zu vermeiden muß ein Referenzvektor gesetzt werden, der die (negative) Richtung des Längenvektors angibt.&lt;BR /&gt; &lt;BR /&gt; Nehmen wir mal einen Parameter c als Längenparameter.&lt;BR /&gt; &lt;BR /&gt; HOTSPOT2 0, 0, 01,c,1 !Basisfangpunkt&lt;BR /&gt; HOTSPOT2 0, c, 02,c,2 !beweglicher Fangpunkt&lt;BR /&gt; HOTSPOT2 0,-1, 03,c,3 !Referenzrichtung&lt;BR /&gt; &lt;BR /&gt; Der bewegliche Vektor ist also 01-&amp;gt;02 (vertikal). Der bewegliche Fangpunkt an 0/c. Es ist sicherzustellen, daß im Moment der Erzeugung der Fangpunkte die Länge von 01-&amp;gt;02 (hier im Beispiel also von 0/0 nach 0/c) auch tatsächlich dem Wert entspricht, der in dem Parameter zu diesem Zeitpunkt abgelegt ist. Die Referenzrichtung ist mit 01-&amp;gt;03 definiert.&lt;BR /&gt; Will man den Basisfangpunkt unsichtbar machen, addiert man 128 zu dem Basistyp:&lt;BR /&gt; &lt;BR /&gt; HOTSPOT2 0, 0, 01,c,1+128 !Basisfangpunkt&lt;BR /&gt; &lt;BR /&gt; Der Referenzfangpunkt ist immer unsichtbar.&lt;BR /&gt; &lt;BR /&gt; Nehmen wir noch einen weiteren Parameter d als Längenparameter. Nun aber in die andere Richtung, horizontal:&lt;BR /&gt; &lt;BR /&gt; HOTSPOT2  0,0, 04,d,1 !Basisfangpunkt&lt;BR /&gt; HOTSPOT2  d,0, 05,d,2 !beweglicher Fangpunkt&lt;BR /&gt; HOTSPOT2 -1,0, 06,d,3 !Referenzrichtung&lt;BR /&gt; &lt;BR /&gt; Der Basispunkt muß nicht bei 0/0 liegen. Hier liegt er nun bei d/0:&lt;BR /&gt; &lt;BR /&gt; HOTSPOT2 d, 0, 01,c,129 !Basisfangpunkt&lt;BR /&gt; HOTSPOT2 d, c, 02,c,2   !beweglicher Fangpunkt&lt;BR /&gt; HOTSPOT2 d,-1, 03,c,3   !Referenzrichtung&lt;BR /&gt; &lt;BR /&gt; Ebenso in der anderen Richtung. Der Vektor liegt nun auf der Höhe von c:&lt;BR /&gt; &lt;BR /&gt; HOTSPOT2  0,c, 04,d,129 !Basisfangpunkt&lt;BR /&gt; HOTSPOT2  d,c, 05,d,2   !beweglicher Fangpunkt&lt;BR /&gt; HOTSPOT2 -1,c, 06,d,3   !Referenzrichtung&lt;BR /&gt; &lt;BR /&gt; Durch diese Translation liegen nun beide beweglichen Fangpunkte aufeinander. Damit lassen sich mit einem Drag und drop beide Werte verändern. Eine Kombination mit dem Fanpunkttyp Winkel ist nicht möglich.&lt;BR /&gt; &lt;BR /&gt; Die Definition eines beweglichen Winkelfangpunktes ist ähnlich. Bei einem Winkel ist aber noch neben dem eigentlichen Winkel ein weiteres Maß nötig: Der Radius des Winkelbogens. Nennen wir den mal "r". Satt eines Basispunktes gibt es nun eine Basislinie, die sich durch Winkelzentrum und einen Basispunkt definiert. Üblicherweise nimmt man hierfür die Richtung der X-Achse, da sonst umfangreiche trigonometrische Operationen nötig sind. Zuvorige Transformationen des Koordinatensystems mit ADD2 und ROT2 sind zulässig.&lt;BR /&gt; &lt;BR /&gt; Definieren wir nun den Mittelpunkt des Winkels, z.B. des Parameters w:&lt;BR /&gt; hotspot2 0,0, 07,w,6 !Mittelpunkt&lt;BR /&gt; &lt;BR /&gt; Der Basispunkt auf der X-Achse liegt im Abstand r. Die Addition von 128 macht ihn wieder unsichtbar:&lt;BR /&gt; hotspot2 r,0,08,w,4+128 !Basispunkt&lt;BR /&gt; &lt;BR /&gt; Und nun den beweglichen Punkt, der auf der Kreislinie  liegen muß (Radius r):&lt;BR /&gt; hotspot2 r*cos(w),r*sin(w),09,w,5  !Beweglicher Punkt&lt;BR /&gt; &lt;BR /&gt; Zusammen könnte das so aussehen:&lt;BR /&gt; &lt;BR /&gt; txt="demo2"&lt;BR /&gt; r=stw(txt)&lt;BR /&gt; &lt;BR /&gt; HOTSPOT2 d, 0, 01,c,129 !Basisfangpunkt&lt;BR /&gt; HOTSPOT2 d, c, 02,c,2   !beweglicher Fangpunkt&lt;BR /&gt; HOTSPOT2 d,-1, 03,c,3   !Referenzrichtung&lt;BR /&gt; &lt;BR /&gt; HOTSPOT2  0,c, 04,d,129 !Basisfangpunkt&lt;BR /&gt; HOTSPOT2  d,c, 05,d,2   !beweglicher Fangpunkt&lt;BR /&gt; HOTSPOT2 -1,c, 06,d,3   !Referenzrichtung&lt;BR /&gt; &lt;BR /&gt; add2 c,d&lt;BR /&gt; &lt;BR /&gt; hotspot2 0,0, 07,w,6     !Mittelpunkt&lt;BR /&gt; hotspot2 r,0, 08,w,4+128 !Basispunkt&lt;BR /&gt; hotspot2 r*cos(w),r*sin(w),09,w,5  !Beweglicher Punkt&lt;BR /&gt; &lt;BR /&gt; rot2 w&lt;BR /&gt; &lt;BR /&gt; text2 0,0,txt&lt;BR /&gt; &lt;BR /&gt; del 2</description>
      <pubDate>Sat, 05 Nov 2005 17:57:00 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Programmierung/beweglicher-text/m-p/439193#M1513</guid>
      <dc:creator>Frank Beister</dc:creator>
      <dc:date>2005-11-05T17:57:00Z</dc:date>
    </item>
    <item>
      <title>Re: beweglicher text</title>
      <link>https://community.graphisoft.com/t5/Programmierung/beweglicher-text/m-p/439194#M1514</link>
      <description>Leider kann ich den Text wegen Timeout nicht mehr korrigieren. Es waren ein paar kleine Fehler drin. Hier korrigiert:&lt;BR /&gt; &amp;lt;/font&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;font size="1" face="Verdana, Helvetica, sans-serif"&amp;gt;Code:&amp;lt;/font&amp;gt;&amp;lt;hr /&amp;gt;&amp;lt;pre style="font-size:x-small; font-family: monospace;"&amp;gt;! Parameter:&lt;BR /&gt; ! c: Vertikaler Versatz, Typ Länge&lt;BR /&gt; ! d: Horizontaler Versatz, Typ Länge&lt;BR /&gt; ! w: Rotation, Typ Winkel&lt;BR /&gt; &lt;BR /&gt; txt="Beweg mich! Dreh mich"&lt;BR /&gt; r=stw(txt)/1000*GLOB_SCALE !Textbreite als Radius&lt;BR /&gt; &lt;BR /&gt; HOTSPOT2 0,0,99 !Fangpunkt am Objekteinsetzpunkt&lt;BR /&gt; &lt;BR /&gt; ! Vertikale Richtung&lt;BR /&gt; HOTSPOT2 d, 0, 01,c,1+128 !Basisfangpunkt&lt;BR /&gt; HOTSPOT2 d, c, 02,c,2     !beweglicher Fangpunkt&lt;BR /&gt; HOTSPOT2 d,-1, 03,c,3     !Referenzrichtung&lt;BR /&gt; &lt;BR /&gt; ! Horizontale Richtung&lt;BR /&gt; HOTSPOT2  0,c, 04,d,1+128 !Basisfangpunkt&lt;BR /&gt; HOTSPOT2  d,c, 05,d,2     !beweglicher Fangpunkt&lt;BR /&gt; HOTSPOT2 -1,c, 06,d,3     !Referenzrichtung&lt;BR /&gt; &lt;BR /&gt; add2 d,c&lt;BR /&gt; &lt;BR /&gt; ! Drehung&lt;BR /&gt; hotspot2 0,0, 07,w,6     !Mittelpunkt&lt;BR /&gt; hotspot2 r,0, 08,w,4+128 !Basispunkt&lt;BR /&gt; hotspot2 r*cos(w),r*sin(w),09,w,5 !Beweglicher Punkt&lt;BR /&gt; &lt;BR /&gt; ! Eindrehen und Textausgabe&lt;BR /&gt; rot2 w&lt;BR /&gt; text2 0,0,txt&lt;BR /&gt; del 2</description>
      <pubDate>Mon, 07 Nov 2005 07:19:00 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Programmierung/beweglicher-text/m-p/439194#M1514</guid>
      <dc:creator>Frank Beister</dc:creator>
      <dc:date>2005-11-07T07:19:00Z</dc:date>
    </item>
    <item>
      <title>Re: beweglicher text</title>
      <link>https://community.graphisoft.com/t5/Programmierung/beweglicher-text/m-p/439195#M1515</link>
      <description>thanx für die schnellen Antworten.&lt;BR /&gt; Ausprobieren kann ichs leider erst wenn ich weniger Arbeit habe. Ich werds aber schnellst möglich tun und berichten.</description>
      <pubDate>Mon, 07 Nov 2005 17:28:00 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Programmierung/beweglicher-text/m-p/439195#M1515</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-11-07T17:28:00Z</dc:date>
    </item>
  </channel>
</rss>

