x11start
Guest
Hallo alle,
Ich mache eine Lispe, die Textattribute innerhalb von Blöcken manipuliert.
die Blöcke stellen Objekte (Säulen oder Balken) dar und haben Größe 1 x 1, so dass richtig skaliert, erlauben mir, die gewünschte Größe zu erhalten.
Leider habe ich festgestellt, dass der Skalenfaktor auch das interne Attribut auf den Block beeinflusst.... so finde ich einen Text "allargato" auf das Inverosimile, wenn er immer Wert 1 haben sollte.
Der Code, der die Breite des Attributtextes betrifft, ist 41... aber ich habe ein Problem, es wieder auf 1 zu bekommen!
Hier ist die Codescheibe, in der
ent ist das Blockauswahlset
attr1 ist sein Attribut
larat ist die Attributtextbreite, die, wenn es größer als 1 ist, die "absurd" Breite (!) durch den Wert 1 ersetzt
Alles scheint zu funktionieren
... und entmod (oder entupd) sollte die Änderung funktionieren ... aber es funktioniert nicht!
(setq attr1 (entnext (cdr))))
(setq atpr (cdr (assoc 1 attr1))); Attributwert (gültig jetzt nur eins)
(setq larat (cdr (assoc 41 attr1))); Attributtextbreite (muss höchstens 1,0 sein)
(falls (> larat 1.0) ; wenn die Attributtextbreite größer als 1 ist
(Progn; .... setzt es gleich 1...
(Setq attr1 (Substrate 41 1.0)(cons 41 larat) attr1))
(entmod attr1)
)
)
Kann mir jemand helfen?
Ich mache eine Lispe, die Textattribute innerhalb von Blöcken manipuliert.
die Blöcke stellen Objekte (Säulen oder Balken) dar und haben Größe 1 x 1, so dass richtig skaliert, erlauben mir, die gewünschte Größe zu erhalten.
Leider habe ich festgestellt, dass der Skalenfaktor auch das interne Attribut auf den Block beeinflusst.... so finde ich einen Text "allargato" auf das Inverosimile, wenn er immer Wert 1 haben sollte.
Der Code, der die Breite des Attributtextes betrifft, ist 41... aber ich habe ein Problem, es wieder auf 1 zu bekommen!
Hier ist die Codescheibe, in der
ent ist das Blockauswahlset
attr1 ist sein Attribut
larat ist die Attributtextbreite, die, wenn es größer als 1 ist, die "absurd" Breite (!) durch den Wert 1 ersetzt
Alles scheint zu funktionieren
... und entmod (oder entupd) sollte die Änderung funktionieren ... aber es funktioniert nicht!
(setq attr1 (entnext (cdr))))
(setq atpr (cdr (assoc 1 attr1))); Attributwert (gültig jetzt nur eins)
(setq larat (cdr (assoc 41 attr1))); Attributtextbreite (muss höchstens 1,0 sein)
(falls (> larat 1.0) ; wenn die Attributtextbreite größer als 1 ist
(Progn; .... setzt es gleich 1...
(Setq attr1 (Substrate 41 1.0)(cons 41 larat) attr1))
(entmod attr1)
)
)
Kann mir jemand helfen?