Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  VBasic / vb.net / vbs / wsh
  MTEXT mit VBA

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
Autor Thema:  MTEXT mit VBA (684 mal gelesen)
Heiko76
Mitglied
Applikationsingenieur


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

Beiträge: 589
Registriert: 21.03.2002

Win10 64bit
Autodesk Produkte 2018
VB.net / Powershell

erstellt am: 23. Jul. 2003 16: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

Hallo zusammen,
ich komme nicht mehr weiter. Ich will einen MText in eine ACAD Zeichnung eintragen. Das kriege ich auch hin, nur leider mit einer Texthöhe von "0".  Das ist nicht so gut zu lesen. Hier der Code in VBA. Was habe ich vergessen oder was kann ich da tun?

Dim einfuege As Variant
Dim acadapp As Object
Dim acaddoc As Object
Dim acadutil As Object
Dim Bestxt As String
Dim Besbreite As Double
Besbreite = 50
Bestxt = "Zusatztext: "
Set acadapp = GetObject(, "AutoCAD.Application")
Set acaddoc = acadapp.ActiveDocument
Set acadutil = acaddoc.Utility

    einfuege = acadutil.GetPoint(, "Bitte den Einfügepunkt wählen")
        Set blockref = ThisDrawing.ModelSpace.AddMText(einfuege, Besbreite, Bestxt)
        ThisDrawing.Regen acAllViewports

------------------

cu
Heiko

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

J.Becker
Mitglied
Dipl.-Ing. Versorgungstechnik


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

Beiträge: 78
Registriert: 28.05.2003

erstellt am: 26. Jul. 2003 16:43    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 Heiko76 10 Unities + Antwort hilfreich

Hallo Heiko,

ich habe es mal ausprobiert. Hier die Routine:
Sub main()
    Dim einfuege As Variant
    Dim Bestxt As String
    Dim Besbreite As Double
    Dim objMText As AcadMText

    Besbreite = 50
    Bestxt = "Zusatztext: "
    einfuege = ThisDrawing.Utility.GetPoint(, "Bitte den Einfügepunkt wählen")
    Set blockref = ThisDrawing.ModelSpace.AddMText(einfuege, Besbreite, Bestxt)
   
    ThisDrawing.Regen acAllViewports

End Sub

Dazu Folgendes.
1. Du brauchst nicht, wenn du im AutoCAD bist ein AutoCAD Objekt zu öffnen. Wie du oben siehst geht es auch ohne. Wenn du es jedoch machst, dann solltest du es vor dem Beenden der Routine auf Nothing setzen, sonst läuft dein Speicher u.U. über.

Set [objekt] = Nothing

2. Das Objekt BlockRef war bei dir nicht dimensioniert. Solltest du unbedingt machen. Am besten im Deklarationsbereich "Option Explicit" eintragen, dann warnt VBA dich, wenn du eine Dimensionierung vergessen hast.

3. Bei mir trat im Übrigen der Fehler mit einer Texthöhe nicht auf. Bei mir wurde der Text in einer Texthöhe von 2.5 Zeicheneinheiten eingefügt.

Ich habe noch nicht nachgeforscht warum das so ist. Stell im AutoCAD Mtext auf eine Texthöhe manuell ein und versuch es dann noch mal.

Es gibt Steuerzeichen, die die Texthöhe im Mtext definieren (such mal in der Dokumentation), vielleicht solltest du diese Steuerzeichen in den Text mit einfügen.

Viel Spaß noch.

Jürgen

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