Ich verwende VBA aus einer Access-Datenbank heraus um Zeichnungseigenschaften aus Intellicad (für Autocad müsste der Code nur etwas umgeschrieben werden)auszulesen und anschließend wieder in die geöffnete Zeichnung zurückzuschreiben (via HandletoObject). Das funktioniert auch prima.
Ich habe nur folgendes Problem.
Ich kann Blöcke mit Attributen skalieren, wobei auch nur die der Block skaliert wird (dScale ist der Wert der die Größe bestimmt), die Schrifthöhe der Attribute bleibt erhalten.
'--------------------------------------------------------------
'Public Function ChangeCadBlkScale
'--------------------------------------------------------------
Public Function ChangeCadBlkScale(oEnt As IntelliCAD.Entity, dScale As Double) As Boolean
Dim oBlk As IntelliCAD.BlockInsert
Set oBlk = oEnt
oBlk.XScaleFactor = dScale
oBlk.YScaleFactor = dScale
oBlk.Update
Set oBlk = Nothing
End Function
Wenn ich nun einzelne Attribute in dem Block doch mal editieren muss, oder Attribut eigenschaften ändere, dann werden auch sämtliche Attribut-Texte entsprechend dem Maßstab der Blockzeichnung vergrößert.
Gibt es in VBA keine andere Möglichkeit statt XScaleFactor, bei der nur die Zeichnung des Blocks, nicht aber die Attributwerte skaliert werden?
PS: Mir ist schon klar, dass ich hier im AutoCad VBA-Forum bin, viele VBA Anweisungen sind in IntelliCad aber vergleichbar.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP