abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

Objekt: Kreis mit Linie, im Kreis variable Zahl

tom60
Contributor
Hallo ich möchte gerne Objekt erstellen aus einem Kreis und einer Linie,
im inneren des Kreises soll sich eine Zahl befinden die variabel ist.
Wie erstelle ich so ein Objekt?

Danke für eure Hilfe!
mfg
Thomas
Archicad 20
Intel xeon 3,5Ghz cpu
8GB Arbeitsspeicher
Windows 7
Nvida Quadro K600
17 ANTWORTEN 17
poeik
Mentor
In der Standardbibliothek unter 6.4 Planzeichen 9/Allgemeine Zeichen 9/Flächennutzung 9/Textsymbole 9 gibts ein "Text_Kreis_1". Leider nicht sehr komfortabel mit Parametern ausgestattet, aber das Umschreiben des Scripts ist wahrscheinliche keine grosse Sache...

Gruss, poeik
ArchiCAD CHE 5 - 27
tom60
Contributor
Danke!
nur würde ich gerne den kreis kleiner bzw. die zahl größer machen! wie geht das?
wo schreibt man das skript um?
Archicad 20
Intel xeon 3,5Ghz cpu
8GB Arbeitsspeicher
Windows 7
Nvida Quadro K600
tom60
Contributor
Kann mir wer so ein Objekt senden?!
wäre sehr nett!
Danke!
Archicad 20
Intel xeon 3,5Ghz cpu
8GB Arbeitsspeicher
Windows 7
Nvida Quadro K600
zzyzx
Newcomer
probier das mal aus:

neues objekt erstellen, das folgende in das 2d skript reinkopieren und die parameter pentxt und r anlegen

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">!!! text mit kreis
!!! nov 2005 by zzyzx
!!!
!!! bei negativen werten für b wird der text gespiegelt
!!! kann man mit geschicktem einsatz von symb_rotangle und symb_mirrored
!!! bestimmt irgendwie verhindern


! parameter anlegen:
! pentxt = 2
! r = 0.2
! texteingabe über ID feld

hotspot2 0,0,1
hotspot2 a,b,2
circle2 0,0,r

if a = 0 then
line2 0,r,b,0
else
wnk = atn(b/a)
rot2 wnk
line2 r,0,sqr(a*a+b*b),0
del 1
endif

define style textstil arial, 0.3*1000/glob_scale, 5, 0
set style textstil
pen pentxt
txt = glob_id
if txt = "" then txt = "X"
text2 0,0, txt
das sollte dann eigentlich klappen
:winken:
tom60
Contributor
wenn ich deinen text kopiere und versuche ihn einzufügen in das 2d skript ist das leider nicht möglich!
Archicad 20
Intel xeon 3,5Ghz cpu
8GB Arbeitsspeicher
Windows 7
Nvida Quadro K600
zzyzx
Newcomer
mit [strg]+[v] müsste das einfügen auf jeden fall klappen.
allerdings sollte das skript als separates fensterchen offen sein, nicht im bibliothekselement fenster!
du kannst den skripttext notfalls auch ins master skript einsetzen.
wenn 'es' die zeilenumbrüche nicht überträgt, setze den inhalt der zwischenablage zuerst in ein leeres wordpad dokument ein und kopiere dort nochmals alles, dann im skriptfenster einsetzen.
:winken:

[ 23. November 2005, 10:51: Beitrag editiert von: zzyzx ]
tom60
Contributor
zeigt mir leider fehlermeldungen an!
Archicad 20
Intel xeon 3,5Ghz cpu
8GB Arbeitsspeicher
Windows 7
Nvida Quadro K600
zzyzx
Newcomer
wenn diese fehler auftreten:
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> Parameter 0 oder negativ
bei Zeile 16 von Datei Ohne Titel-1.gsm.
Stiftnummer ist kleiner als 1 oder größer als 255
bei Zeile 29 von Datei Ohne Titel-1.gsm.
dann musst du noch die beiden parameter
r (längenparameter)mit dem wert 0,2 und
pentxt (stiftparameter) mit dem wert 6 (muss grösser 0 sein)
anlegen.

:winken:
zzyzx
Newcomer
... hab dem ding noch die spiegelung des textes abgewöhnt. dafür hab' ich ein skriptschnipsel aus www.opengdl.org verwendet
herzlichen dank an frank :yeah: :winken:
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> !!! text mit kreis
!!! nov 2005 by zzyzx

! parameter anlegen:
! pentxt = 2 !(textstiftfarbe)
! r = 0.2 !(kreisradius)
! autohor = an !(text automatisch auf horizontalrichtung drehen)
! texteingabe über ID feld

hotspot2 0,0,1
hotspot2 a,b,2
circle2 0,0,r

if a = 0 then
line2 0,r,b,0
else
wnk = atn(b/a)
rot2 wnk
line2 r,0,sqr(a*a+b*b),0
del 1
endif

define style textstil arial, 0.3*1000/glob_scale, 5, 0
set style textstil
pen pentxt
txt = glob_id
if txt = "" then txt = "X"
!!! die nächsten zwei zeilen basieren auf:
!!! http://www.opengdl.org/archiv-de/algori ... usrichtung
mul2 1,1-2*symb_mirrored
rot2 180*symb_mirrored - symb_rotangle*autohor
text2 0,0, txt
del 2