Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Bemassung

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
  
Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
Autor Thema:  Bemassung (721 mal gelesen)
idraH
Mitglied



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

Beiträge: 64
Registriert: 22.04.2002

ACAD 2006
Win XP

erstellt am: 01. Mrz. 2004 08:35    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 versuche gerade mal eine Bemassung mittels VBA zu erzeugen (ich weiss das ACAD gute Bemassungstool bietet aber wir haben viele Bemassung mit Textersetzungen zu erzeugen und diese Ersetzungen möchte ich aus einer Listbox wählen und dann auf die Bemassung übertragen), das funktioniert auch soweit ganz gut, ich
habe aber die Koordinatentransformation vom WCS zum UCS noch nicht begriffen und darum tritt mitunterfolgendes Problem auf:
Ausgerichtete Bemassung wird von ACAD immer oberhab der Bemassungslinie dargestellt, bei einem Winkel von 90° und 270° nach dem WCS springt die Bemassung von links nach rechts (und umgekehrt) um bei weiterer vergrößerung des Winkels wieder oberhalb angeordnet zu sein. Genau hier liegt mein Problem, ich wähle meine Bemassungspunkte (für ausgerichtete Bemassung) mit

Punkt1=ThisDrawing.Utility.GetPoint(, "Punkt1 wählen:")
Punkt2 analog.

im Anschluss erzeuge ich die Bemassung mit
Set BemObj = ThisDrawing.ModelSpace.AddDimAligned(Punkt1, Punkt2, Punkt1)
BemObj.TextOverride = TextBoxBEM.Value

wenn jetzt aber z.B. mein UCS in einem bestimmten Winkel zum WCS verdreht ist/wird, steht meine Bemassung auf dem Kopf, da ACAD meine erzeugte Bemassung nach dem WCS ausrichtet.

ich habe folgendes versucht:
Punkt1 = ThisDrawing.Utility.TranslateCoordinates(Punkt1, acWorld, acUCS, False)
Punkt2 = ThisDrawing.Utility.TranslateCoordinates(Punkt2, acWorld, acUCS, False)
dabei wurde die Bemassung aber dann im WCS (und nicht im UCS) an die Koordinaten von Punkt1/Punkt2 gesetzt

Ich habe auch folgendes probiert:
    Dim ucsObj As AcadUCS
    ucsObj = ThisDrawing.ActiveUCS
    TransMatrix = ucsObj.GetUCSMatrix()
    BemObj.TransformBy (TransMatrix)

das hat aber auch noch nicht funktioniert, hat jemand einen Tip für mich?

Und vielleicht weiss ja auch noch jemand wie ich für meine Bemassung einen geschlossenen/gefüllten Pfeil bekommen kann. In der Hilfe habe ich dazu nichts gefunden, entweder gefülltes Kästchen oder geschlossener Pfeil ohne Füllung:
BemObj.Arrowhead1Type = acArrowClosed
oder geht das nur über selbstdefinierten Block?

viele Grüße aus Chemnitz,

Hartmut

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