Servus
Ich wollte Texte auf eine einheitliche Schriftgröße bringen.
Im Prinzip eine einfache Sache. Nur wenn MTEXTE unterschiedliche Schriftgrößen haben funkts net so einfach:
Hatte zuerst DXF40 auf die #txthöhe gesetzt und gemerkt, dass einge MTEXTE unverändert geblieben sind ...
Objekt wählen: ; IAcadMText2: AutoCAD MText-Schnittstelle
; Eigenschaftswerte:
; Application (RO) = #<VLA-OBJECT IAcadApplication 00b9d604>
; AttachmentPoint = 1
; BackgroundFill = 0
; Document (RO) = #<VLA-OBJECT IAcadDocument 010b6c10>
; DrawingDirection = 5
; Handle (RO) = "4AEE"
; HasExtensionDictionary (RO) = 0
; Height = 0.3125
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 0a7a6034>
; InsertionPoint = (207.643 27.1688 0.0)
; Layer = "MELDER"
; LineSpacingDistance = 0.520833
; LineSpacingFactor = 1.0
; LineSpacingStyle = 1
; Linetype = "ByLayer"
; LinetypeScale = 1.0
; Lineweight = -1
; Normal = (0.0 0.0 1.0)
; ObjectID (RO) = 2118637744
; ObjectName (RO) = "AcDbMText"
; OwnerID (RO) = 2130382104
; PlotStyleName = "ByLayer"
; Rotation = 4.71239
; StyleName = "Romans"
; TextString = "text-teil1 {\\H2x; text-teil2 II}" <<<<<<Leerzeichen zum Hervorheben eingefügt
; TrueColor = #<VLA-OBJECT IAcadAcCmColor 0a7a43b0>
; Visible = -1
; Width = 9.63162
; Unterstützte Methoden:
; ArrayPolar (3)
; ArrayRectangular (6)
; Copy ()
; Delete ()
; FieldCode ()
; GetBoundingBox (2)
; GetExtensionDictionary ()
; GetXData (3)
; Highlight (1)
; IntersectWith (2)
; Mirror (2)
; Mirror3D (3)
; Move (2)
; Rotate (2)
; Rotate3D (3)
; ScaleEntity (2)
; SetXData (2)
; TransformBy (1)
; Update ()
T
Hab dann
(vla-put-height (vlax-ename->vla-object #ename) #txthoehe) genommen.
Das funkt auch noch, wenn das "H2x" am Anfang des Strings steht, aber nicht wie hier, irgendwo in der Mitte.
Nun könnte man noch das "H2x" herausfiltern - aber gibts da nicht was eleganteres?
------------------
Schöne Grüße
Ernst
www.geopaint.at
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP