Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Bamaßung abrufen und Maße (grob) ausrichten

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
Autor Thema:  Bamaßung abrufen und Maße (grob) ausrichten (735 mal gelesen)
st.w
Mitglied



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

Beiträge: 59
Registriert: 08.11.2011

erstellt am: 23. Mai. 2013 11:04    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

Hallo VBAler,

ich suche und suche... und brauche noch einen oder zwei Tipps von Euch:

Am liebsten würde ich
1. die Bemaßungen per Makro abrufen und dann
2. die Bemaßungen ausrichten (besser gesagt, Bemaßungen außerhalb des Sheets einfangen).

Ich habe schon mal einen Code zusammengesetzt, der die Maße, die außerhalb des Sheets sind wieder einfängt. Jedoch komme ich nicht an die Winkelbemaßungen ran, da ich nicht weiß, wo die Positionen des Maßtextes abgespeichert sind.

Wer kann mir bei diesen Baustein helfen?

Viele Grüße,
Stefan

Code:
Public Sub EditDrawingDimensions()
    Dim oDrawDoc As DrawingDocument
    Set oDrawDoc = ThisApplication.ActiveDocument    ' Set a reference to the drawing document. This assumes a drawing document is active.

    Dim oSheet As Sheet
    Set oSheet = oDrawDoc.ActiveSheet    'Set a reference to the active sheet.

    Dim oPMitteLinie As Point2d
    Dim oPCenterText As Point2d
    Dim dmaxHeight As Double, dminHeight As Double, dmaxWidth As Double, dminWidth As Double

    dmaxHeight = oSheet.height - 0.7
    dminHeight = 0.7
   
    dmaxWidth = oSheet.Width - 0.7
    dminWidth = 0.7
   
    Dim oDrawingDim As DrawingDimension
    For Each oDrawingDim In oSheet.DrawingDimensions
        Set oPMitteLinie = Nothing
        On Error Resume Next
        Set oPMitteLinie = oDrawingDim.DimensionLine.MidPoint ' Get the position of the midpoint of the dimension line.
        If Not (oPMitteLinie Is Nothing) Then
            'change dimension position
            Set oPCenterText = oDrawingDim.Text.Origin
            If oDrawingDim.DimensionLine.Direction.x = 0 Then
                oPCenterText.y = oPMitteLinie.y
                If oPCenterText.x > dmaxWidth Then
                    dmaxWidth = dmaxWidth - 1
                    oPCenterText.x = dmaxWidth
                ElseIf oPCenterText.x < dminWidth Then
                    dminWidth = dminWidth + 1
                    oPCenterText.x = dminWidth
                End If
            ElseIf oDrawingDim.DimensionLine.Direction.y = 0 Then
                oPCenterText.x = oPMitteLinie.x
                If oPCenterText.y > dmaxHeight Then
                    dmaxHeight = dmaxHeight - 1
                    oPCenterText.y = dmaxHeight
                ElseIf oPCenterText.y < dminHeight Then
                    dminHeight = dminHeight + 1
                    oPCenterText.y = dminHeight
                End If
            Else
                ' Bemassung ist schräg
            End If
            oDrawingDim.Text.Origin = oPCenterText
   
            'oDrawingDim.Text.FormattedText = "<DimensionValue/> <StyleOverride Bold='True' Italic='True'>(Metric)</StyleOverride>"            ' Add some formatted text to all dimensions on the sheet.
        End If
    Next
End Sub



------------------
IV2008

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