Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Text aus Lisp - Ribbon Texteditor

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:  Text aus Lisp - Ribbon Texteditor (1844 mal gelesen)
kamehama
Mitglied
techn. Angestellter


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

Beiträge: 81
Registriert: 07.12.2004

erstellt am: 16. Dez. 2009 14:10    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

Hallo

Möchte einen Text mittels Lisp erzeugen, um die Texthöhe und Stil vorzudefinieren. Den Text selbst soll der User dann wie gewohnt eintippen und dabei soll die Multifunktionsleiste auf den Texteditor umschalten. Soweit schaffe ich es mit folgender Befehlsreihenfolge:
(initdia "mtext")
(command "_mtext" pause "_s" "textstil" "_h" hoehe)

Nun möchte ich jedoch auch, dass ich für die Erstellung des Textes nicht beide Eckpunkte antippen muss, sondern nur den oberen Rechten Punkt antippe und dass ich anschliessend den Text eintippen kann. Dies hatte ich in Autocad 2009 folgendermassen gelöst:
(initdia "mtext")
(command "_mtext" pause "_s" "textstil" "_h" hoehe "" "_w" "")

Dabei wird nun leider, ab Autocad 2010, das initdia ignoriert, und die Multifunktionsleiste bleibt auf dem Menü Start. Ich habe leider keine Idee wie ich diese Befehlsreihenfolge anders realisieren könnte. Möchte auch den Aufruf über Lisp belassen, weil anschliessend noch eine Anpassung bzgl. Layer ebenfalls mittels Lisp durchgeführt wird.

Bitt um Anregungen wie ich mein Problem lösen kann.

mfg Kamehama

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 16. Dez. 2009 15:26    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 kamehama 10 Unities + Antwort hilfreich

Sicher das dies SO in irgendeiner Acad-Version lief 

(command "_mtext" pause "_s" "textstil" "_h" hoehe "" "_w" "")

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

kamehama
Mitglied
techn. Angestellter


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

Beiträge: 81
Registriert: 07.12.2004

erstellt am: 16. Dez. 2009 15:39    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

Sorry

Habe beim verallgemeinern vom Textstil und Höhe leider einen kleinen Fehler eingebaut.
So sollte es klappen. Allerdings mit den vorhin beschriebenen Fehlern.

(setq textstil "standard")
(setq hoehe "5")
(initdia)
(command "_mtext" pause "_s"  textstil  "_h" hoehe "_w" "")

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 16. Dez. 2009 15:42    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 kamehama 10 Unities + Antwort hilfreich

ok, nach der Korrektur des Schreibfehlers: Lasse das Initdia mal weg, ich denke das meinst du ! (es wird nämlich garnicht ignoriert, es regelt die Sache aber anders herum wie früher  )

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

kamehama
Mitglied
techn. Angestellter


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

Beiträge: 81
Registriert: 07.12.2004

erstellt am: 16. Dez. 2009 15:45    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

Leider klappts ohne initdia auch nicht.
Ohne initdia wird nicht mal eine Voransicht des erstellten Textes gemacht.

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: 16. Dez. 2009 16:23    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 kamehama 10 Unities + Antwort hilfreich

so ?

(setq textstil "standard")
(setq hoehe 5)
(initdia)
(command "_mtext" (setq P(getpoint "\nunten Links:"))  "_st"  textstil  "_h" hoehe (mapcar '+ P (list (* 5 Hoehe) Hoehe 0)))

------------------
  - 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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 16. Dez. 2009 16:26    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 kamehama 10 Unities + Antwort hilfreich

ok, JETZT habe ich dich verstanden, du meinst die Einblendung der (Ribbon)Gruppen
für die MText-Bearbeitung.. [Gruppen: Stil,Formatierung,Absatz,Einfügen,Optionen,schließen]

Ich konnte das Problem nachvollziehen, falls ich Lust&Zeit finde schau ich mal nach,
spontan fällt mir aber nichts dazu ein.

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

kamehama
Mitglied
techn. Angestellter


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

Beiträge: 81
Registriert: 07.12.2004

erstellt am: 16. Dez. 2009 16:31    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

Danke für euere Bemühungen

Ich hätte gerne dass die Multifunktionsleiste (Ribbon) auf die, sonst verborgene, Registerkarte "Texteditor" umschaltet.
Ich kann mir auch vorstellen, dies manuell über Lisp oder VBA zu machen, allerdings habe ich da auch keine Ahnung wie ich dies machen könnte.


@CADium  Leider auch dasselbe Ergebnis wie mit meinem Code.
@cadffm  Genau das ist mein Anliegen, Danke


[Diese Nachricht wurde von kamehama am 16. Dez. 2009 editiert.]

[Diese Nachricht wurde von kamehama am 16. Dez. 2009 editiert.]

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 17. Dez. 2009 11:36    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 kamehama 10 Unities + Antwort hilfreich

Hi,

ich habe mal kurz nachgeschaut. Über LISP oder ActiveX scheint es keine dokumentierte Möglichkeit zu geben, auf das Ribbon zuzugreifen.


Was bleibt wären zwei Workarounds:
1. Vorher die Systemvariable MTEXTTOOLBAR auf 1 setzen. Dadurch wir der altbekannte Werkzeugkasten eingeblendet.
2. mit der Methode SendCommand arbeiten. Und damit's nicht zu unübersichtlich wird und sicherer läuft, sollten die verwendeten Variablen im Vorfeld gesetzt und abgefragt sein. So oder ähnlich:

Code:

(setvar "TEXTSTYLE" "Standard"); Horror
(setq hoehe 5)
(setq P (getpoint "\nunten Links:"))
(vlax-invoke-method
  (vlax-get-property
    (vlax-get-acad-object)
    'ActiveDocument)
  'SendCommand
  "_mtext
  !P
  _h
  !hoehe
  (mapcar '+ P (list (* 5 hoehe) hoehe 0)) "
  )


Gruß
CADchup

------------------
CADmaro.de

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

kamehama
Mitglied
techn. Angestellter


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

Beiträge: 81
Registriert: 07.12.2004

erstellt am: 17. Dez. 2009 13:03    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

Danke, das ist genau das was ich erreichen wollte.
Nun habe ich nur noch das Problem,  dass die nachfolgenden Befehle in meiner Funtion leider nicht mehr ausgeführt werden, weil der Befehl nach meiner Texteingabe abgebrochen wird.

mfg Kamehama

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

Claudio
Mitglied
Architekt


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

Beiträge: 334
Registriert: 13.04.2002

ACA, Revit, MAX 2020

erstellt am: 27. Dez. 2009 14:55    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 kamehama 10 Unities + Antwort hilfreich


RIB_Tabact.zip

 
Hallo Kamehama!

"Ich hätte gerne dass die Multifunktionsleiste (Ribbon) auf die, sonst verborgene, Registerkarte "Texteditor" umschaltet."

-> Das ist nur über die API möglich -> im Anhang stelle ich Dir
  die RIB_Tabact.dll rein, mit der es möglich ist, einen Tab
  direkt über den Namen zu aktivieren (auch verborgene)
  ->z.b. Befehl: (Ribtabact "Texteditor")
  - mit Klammern, Tabname in Anführungszeichen.

Der Befehl: Ribtablist  listet alle im Ribbon vorhandenen Tabs auf.

Der C#-Quellcode ist beigefügt und Du kannst ihn, wenn notwendig,
an Deine Bedürfnisse anpassen.

RIB_Tabact.dll mit Befehl: netload laden, dann stehen die 2 Befehle
zur verfügung. (Benützung auf eigene Gefahr)

Gruß Claudio

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