Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Blocks skalieren

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
  
PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
Autor Thema:  Blocks skalieren (1924 mal gelesen)
moes
Mitglied
Landschaftsplaner


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

Beiträge: 19
Registriert: 13.06.2004

Windows 2000, Intellicad CMS PE 4,
PIII 1400GHz, 400MB RAM

erstellt am: 29. Jun. 2004 16:46    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

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



Anzeige:Infos zum Werbeplatz >>

GWB Get wooden beams CAD APP für Holzarbeiten, 3D, Tiefbau

An add-on for AUTOCAD wich identifies wooden beams from 3D DWG drawings of wooden houses. The result of the program is a drawing with the identified parts (numbered and dimensioned) and a file of quantities that can be loaded into EXCEL.

moes
Mitglied
Landschaftsplaner


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

Beiträge: 19
Registriert: 13.06.2004

Windows 2000, Intellicad CMS PE 4,
PIII 1400GHz, 400MB RAM

erstellt am: 07. Jul. 2004 09:48    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


Att_test.zip

 
Nachdem es keine Antworten auf meine Frage gibt, war die vielleicht nicht klar genug formuliert, oder es geht tatsächlich nicht.

Allgemeiner also: Kann mann via VBA einen Block mit Attributen so ändern, dass zwar die Größe der Blockzeichnung, nicht aber der Attributanteil skaliert wird, also sowohl Position, wie auch Schriftgröße erhalten bleiben?
Witzigerweise funktioniert das ja auf dem oben beschriebenen Weg, aber eben nur scheinbar, weil die Attribute in der Zeichnung est mal ihre Größe behalten bis - und da steckt der Teufel drin - man ein Attribut editiert. Dann ziehen alle Attributtexte ebenfalls dem Skalierfaktor der Blöcke nach. Eine solche Überraschung möchte ich aber allen, die später vielleicht mal mit den Dateien arbeiten möchten ersparen. (Als Anhang habe ich eine Zeichnung beigefügt, die auf dem genannten Wege erstellt wurde.)

Wenn das nicht sauber geht, muss ich vermutlich die Attribute und das Symbol als zwei getrennte Blocks einfügen, so daß ich beide unabhängig voneinander behandeln kann. Also das Symbol (mit BlockInsert.XScaleFactor)skaliere, ohne die Attributwerte in ihrer Größe zu verändern. Das wäre eine unschöne Lösung, da ich für ein zusammenhängendes Objekt plötzlich zwei Objekte in die Zeichnung einfügen (und verwalten) müsste.

Ich kann mir ja nicht vorstellen, dass nicht schon jemand vor einem ähnlichen Problem gestanden ist.

Gruß Georges
 

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)2025 CAD.de | Impressum | Datenschutz