Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  mit entmod von Linksbündig auf zentriert

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  mit entmod von Linksbündig auf zentriert (486 mal gelesen)
Peter2
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von Peter2 an!   Senden Sie eine Private Message an Peter2  Schreiben Sie einen Gästebucheintrag für Peter2

Beiträge: 3701
Registriert: 15.10.2003

Win 10/64 Pro
AutoCAD MAP 3D 2018
BricsCAD 22

erstellt am: 21. Feb. 2005 15:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich habe ATTDEFs, bei denen ich mit Lisp die Lextausrichtung von "Linksbündig" auf "Oben" ändern möchte.

Die Hilfe spricht zu mir:

Gruppencode GC 72: 0 = links = default; 1 = oben

GC 10: Ausrichtungswert 1; nur wichtig für GC72=0; wenn GC72 nicht 0, dann wird ignoriert und über GC11 und Textgrösse neu gerechnet

GC 11: Ausrichtungswert 2; nur wichtig für GC72 nicht 0; wenn GC72 = 0, dann wird ignoriert.

Ansatz a:
1) Ich schreibe mit entmod in den GC11 die Werte von GC10
2) Dann setze ich mit entmod den GC72 auf 1.
-> Ergebnis: Das ATTDEF ist zentriert, springt aber immer auf GC11 = 0,0,0

Ansatz b (gerade umgekehrt):
1) Ich setze GC72 mit entmod auf 1.
2) Dann setze ich GC11 auf die Werte von GC 10
-> Ergebnis: Gar keines - alles unverändert.

Irgendwie hängt es an der Reihenfolge und den gegenseitigen Abhängigkeiten - welche ist die richtige??

(Ein Ansatz wäre auch ein "entmake", aber da kommt mir die Elementreihenfolge, die hier wichtig ist, ziemlich durcheinander...)

Peter

------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 21. Feb. 2005 15:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Peter2 10 Unities + Antwort hilfreich

Am besten, du schaust mal hier ...

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Peter2
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von Peter2 an!   Senden Sie eine Private Message an Peter2  Schreiben Sie einen Gästebucheintrag für Peter2

Beiträge: 3701
Registriert: 15.10.2003

Win 10/64 Pro
AutoCAD MAP 3D 2018
BricsCAD 22

erstellt am: 21. Feb. 2005 20:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

 
Zitat:
Original erstellt von Peter2:
Irgendwie hängt es an der Reihenfolge und den gegenseitigen Abhängigkeiten - welche ist die richtige??

Na, wer sagt's denn:

Ansatz c (funktioniert):
1) Speichern des GC10.
2) Speichern der Objektdaten (entget ..) in der Objektdatenvariable
3) Ändern der Objektdatenvariable (SUBST .. GC72 auf 1)
4) ENTMOD der Objektdatenvariable
5) Ändern der Objektdatenvariable (gespeicherter GC10 auf GC11)
6) ENTMOD der Objektdatenvariable

Der Zaubertrick ist also die Reihenfolge der GC-Änderungen UND die Trennung der Änderungen von ENTMOD. Bei anderen Elementen bzw. GC ist diese Trennung anscheinend nicht nötig, aber hier bei den gegenseitigen Abhängigkeiten offenbar schon.

Danke an Thomas

Peter


Nachtrag: Mit dieser Lösung verschiebt sich natürlich der Text so, dass die "Mitte" nun dort liegt, wo der linke Textanfang war. Soll der Text an der gleichen Stelle bleiben, muss man GC11 neu berechnen (siehe Code von Cadmium). Aber das war hier nicht nötig.

Peter

[Diese Nachricht wurde von Peter2 am 22. Feb. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz