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