Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Text in Autocad

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 in Autocad (706 mal gelesen)
JoergAD
Mitglied



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

Beiträge: 43
Registriert: 07.03.2007

erstellt am: 07. Mrz. 2007 13:00    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, Leute.

Ich habe ein Problem mit VBA in Autocad.

Unter der Version 2004 ging es noch, dass man mittels sendcommand
auf die Befehlszeile den Befehl TEXT senden konnte, und danach
mittels SendCommand den Inhalt des Textes.

Jetzt haben wir autocad 2007.

Wenn man hier mittels SendCommand textinhalt im Befehl text schreiben will, so wird dieser nicht übernommen.

Der Befehl bleibt einfach an der Stelle stehen, wo man den Text eingeben soll.

Was mache ich falsch?

Über jede Hilfe wäre ich sehr erfreut.

Vielen Dank im voraus, JoergAD!

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1357
Registriert: 24.07.2002

AutoCAD ACA 2018
Solidworks 2016 Sp5
Enterprise PDM 2016 Sp5
Pascam Woodworks
Visual Studio 2017 Pro
Windows 10 64Bit
Dell T3620
Intel Core i7-7700K
16 GB Arbeitsspeicher
2x Samsung S24C650
Dell M4800

erstellt am: 07. Mrz. 2007 14:30    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 JoergAD 10 Unities + Antwort hilfreich

Hi und Willkommen,

Wie sieht denn euer Code-Ausschnitt bisher aus?!
Normalerweise solltest du ein SendCommand mit dem Befehl abschicken können und dann den Text per 2. SendCommand.

Gruß, Carsten

Edit: Warum nutzt ihr denn denn nicht die Funktion "AddText" von VBA. Sendcommand sollte man meiner Meinung nach immer nur dann einsetzen, wenn es nicht anders geht.

[Diese Nachricht wurde von Carsten1210 am 07. Mrz. 2007 editiert.]

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

JoergAD
Mitglied



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

Beiträge: 43
Registriert: 07.03.2007

erstellt am: 07. Mrz. 2007 15:00    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 Carsten,

vielen Dank fpr Deine Antwort.

Nun zu deinem Statement:

Ich benutze SendCommand, weil das ganze ein Programmkomplex ist schon vor einiger Zeit so programmiert wurde und unter CAD 2004 immer funktioniert hat. Es ist ein Programm was Höhenquoten in Zeichnungen in Bezug auf andere Höhenquoten selbständig berechnet.

Nun klappt es nicht mehr in 2007, weil es an der Stelle immer hängen bleibt, wo der Text eingegeben werden soll.

Das alles umzuschreiben ist aufwendig, deshalb der Wunsch SendCommand beizubehalten.


Aber es geht auch schon ohne den ganzen Programmkomplex nicht.

Beispiel:

Code:
Public Sub testung()
ThisDrawing.SendCommand "text 0,0    "
ThisDrawing.SendCommand "blabla"
End Sub

Wenn man das kleine obrige Programm ausführt passiert folgendes

- text wird in Befehlszeile geschrieben
- ein Return für Befehlseingabe
- 0,0 wird für die Position gesendet und ein Leerzeichen für Return
- ein Leerzeichen für Return, damit die Vorgabe 2,5 Schrifthöhe übernommen wird
- ein Leerzeichen für weiteres Return um den Drehwinkel von 0 zu übernehmen.

Und jetzt kommt es. Als nächstes sollte BlaBla im Text stehen.

Tut es aber nicht.

Anstatt wartet der Eingabecourser auf die Eingabe des Textes.
Gibt man diesen von Hand ein und bestätigt mit return ist der Befehl beendet. In der Befehlszeile steht wieder Befehl, und erst JETZT steht dort BlaBla.

SendCommand sendet nicht an die Texteingabe selber.

Vielleicht gibt es einen Trick, einen Parameter, oder einen andern ähnlichen Befehl der den Text an die richtige Stelle sendet.
(SendKeys) funzt auch nicht, habe ich schon probiert.

Was ist zu machen?

Danke, JörgAD

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

ACAD 2008 Mechanical

erstellt am: 07. Mrz. 2007 15:04    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 JoergAD 10 Unities + Antwort hilfreich

wird vielleicht noch nach der Texthöhe gefragt, weil in gerade aktuellen Textstil die Texthöhe mit 0 vorgegeben wird?

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

JoergAD
Mitglied



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

Beiträge: 43
Registriert: 07.03.2007

erstellt am: 07. Mrz. 2007 15:09    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

Nein, das ist definitiv nicht das Problem.

Der Courser wartet ja an der Stelle und blinkt, und wartet darauf, dass man den Text per Hand eingibt, obwohl noch ein SendCommand wartet abgeschossen zu werden.

CUSee You, JörgAD

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

JoergAD
Mitglied



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

Beiträge: 43
Registriert: 07.03.2007

erstellt am: 07. Mrz. 2007 15:11    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

Egal welche Eingabe per VBA kommt. Autocad wartet bis der text eingegeben wird.

Auch ein einfaches Return, was ja keinen Text erzeugen würde, aber den Programmablauf weiter führt (entweder als Leerzeichen, oder codiert als vbCr) nimmt er nicht an.

Was kann ich machen?

CUSee You, JörgAD

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

ACAD 2008 Mechanical

erstellt am: 07. Mrz. 2007 15:35    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 JoergAD 10 Unities + Antwort hilfreich

probier's mal mit

Public Sub testung()
ThisDrawing.SendCommand "-text 0,0    "
ThisDrawing.SendCommand "blabla"
End Sub

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

JoergAD
Mitglied



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

Beiträge: 43
Registriert: 07.03.2007

erstellt am: 07. Mrz. 2007 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

Volltreffer CADmium!!!

Das wars!

So ein unscheinbarer kleiner Strich.

Vielen Dank!

Mensch wer denkt denn auch daran, dass der Textbefehl neuderdings  zu den Befehlen mit Dialogfenstern gehört, wo doch gar kein richtiges Dialogfenster vorhanden ist.

Ich meine, wer denkt schon daran, wenn man nicht gerade CADmium heisst. 

Danke nochmal. Jörg AD

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