Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Problem mit MText-Erstellung in Vb.net - Textausrichtung

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:  Problem mit MText-Erstellung in Vb.net - Textausrichtung (372 mal gelesen)
tappenbeck
Mitglied
Vermessungsingenieur


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

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 11. Nov. 2020 15:12    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

Moin!

ich habe vor längerer Zeit ein Programm geschrieben bei dem MText-Objekte erstellt werden.

Code:

...
Using acMText As MText = New MText()
acMText.Location = InsertPoint
If TextStyleName.Length > 0 Then
acMText.TextStyleId = acTextStyleID
End If
acMText.Width = TextWindowWidth
acMText.TextHeight = TextHeight
acMText.Attachment = MTextAlign
acMText.BackgroundFill = UseFuellfarbeHintergrund 'Füllfarbe des Zeichnungshintergrundes verwenden
acMText.UseBackgroundColor = FreistellungAnwenden
acMText.BackgroundScaleFactor = FreistellungUmlaufenderAbstand
acMText.BackgroundFillColor = Autodesk.AutoCAD.Colors.Color.FromColorIndex(Colors.ColorMethod.None, FreistellungFarbe) ' Farbe für den Hintergrund

acMText.ColorIndex = ColorIndex
acMText.Contents = Text2Write
acMText.Rotation = Orientation


acBlkTblRec.AppendEntity(acMText)
acTrans.AddNewlyCreatedDBObject(acMText, True)
End Using 'acMText
...


Der aufrufenden Funktion wird ein Wert für die Ausrichtung über MTextAlign als AttachmentPoint übergeben.

Ich hatte damals schon eine "Sicherung" eingebaut um ungültige Wert abzufangen.

Code:

If CInt(MTextAlign) > 9 Then MTextAlign = AttachmentPoint.TopLeft

Nun habe ich aber das Problem, dass ObenMitte (TopMid) mit dem Wert 24 kommt.

Ich habe die Sicherung entsprechend angepasst.

Also wird die 23 durchgereicht an den ersten Code-Block.

Nun kommt es aber wieder zu einer Fehlermeldung

Zitat:

Autodesk.AutoCAD.Runtime.Exception: eInvalidInput
  bei Autodesk.AutoCAD.DatabaseServices.MText.set_Attachment(AttachmentPoint value)
  bei EBL.Service.Acad.CreateMText(Point3d InsertPoint, String Text2Write, Double Orientation, Double TextWindowWidth, Double TextHeight, String TextStyleName, Boolean FreistellungAnwenden, Boolean UseFuellfarbeHintergrund, Double FreistellungUmlaufenderAbstand, Int32 FreistellungFarbe, Int32 ColorIndex, AttachmentPoint MTextAlign, Int64 FID4ErrLog) in C:\VSProjects\2019\EBL.Service\EBL.Service\cls_Acad.vb:Zeile 2462.

Die angemerkte Zeile ist auch

Code:

acMText.Attachment = MTextAlign

Kann mir einer weiterhelfen?

Gruß Jan

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