Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  
  Oberflächensymbol mit VBA in idw platzieren

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
[an error occurred while processing this directive]
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Oberflächensymbol mit VBA in idw platzieren (90 / mal gelesen)
jürg-e
Mitglied
Entwickler

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

Beiträge: 2
Registriert: 19.11.2014

Inventor2024.3, Win10

erstellt am: 12. Sep. 2024 12:05    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 miteinander
für ein Automatisierungsprojekt versuche ich das Oberfächensymbol mit VBA oder iLogic auf einen definierten Punkt auf dem Zeichnungsblatt zu platzieren.
In der API von Inventor gibt es ein Bespiel wo das Symbol an ein Mass angeheftet wird. das funktioniert auch gut. Nur brauche ich das Symbol ohne Führungslinie oder zusätzlichen Mausklick.
Ich habe schon einiges versucht, auch mit KI (da ich kein Programmierer bin) aber leider erfolglos.
kann mir jemand weiterhelfen, dass das Ding funktioniert?

Sub PlaceSurfaceTextureSymbol()
    ' Deklaration der Variablen
    Dim oApp As Application
    Dim oDoc As DrawingDocument
    Dim oSheet As Sheet
   
    Dim oPoint As Point2d
    Dim oSurfaceSymbol As SurfaceTextureSymbol

    ' Verweis auf die Inventor-Anwendung und das aktive Dokument
    Set oApp = ThisApplication
    Set oDoc = oApp.ActiveDocument

    ' Überprüfen, ob das aktive Dokument eine Zeichnung ist
    If oDoc.DocumentType <> kDrawingDocumentObject Then
        MsgBox "Bitte öffnen Sie eine Zeichnung."
        Exit Sub
    End If

    ' Verweis auf das aktive Blatt
    Set oSheet = oDoc.ActiveSheet

    ' Erstellen eines Punktes für die Platzierung des Symbols
    Set oPoint = oApp.TransientGeometry.CreatePoint2d(10, 10)

    ' Hinzufügen des Oberflächensymbols
    Set oSurfaceSymbol = oSheet.SurfaceTextureSymbols.Add(oPoint)

    ' Festlegen der Attribute des Oberflächensymbols
    oSurfaceSymbol.SurfaceTextureType = kRoughnessType
    oSurfaceSymbol.ProductionMethod = "Fräsen"
    oSurfaceSymbol.MaximumRoughness = 3.2

    MsgBox "Oberflächensymbol erfolgreich platziert!"
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2580
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 12. Sep. 2024 17:06    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 Nur für jürg-e 10 Unities + Antwort hilfreich

Moin

Das Beispiel aus der Hilfe ist Grütze. Die Add-Methode für SurfaceTextureSymbols gibt es nicht (mehr). Funktioniert zwar, aber nirgends dokumentiert. Dein Fehler war, das du einen Point2D übergeben hast, aber eine ObjectCollection aus Punkten gefordert ist.
Schau mal, ob es so hinkommt:

Code:

Option Explicit

Sub PlaceSurfaceTextureSymbol()
    ' Deklaration der Variablen
    Dim oApp As Inventor.Application
    Dim oDoc As DrawingDocument
    Dim oSheet As Sheet
  
    Dim oPoint As Point2d
    Dim oSurfaceSymbol As SurfaceTextureSymbol

    ' Verweis auf die Inventor-Anwendung und das aktive Dokument
    Set oApp = ThisApplication
   
    ' Überprüfen, ob das aktive Dokument eine Zeichnung ist
    If Not oApp.ActiveDocumentType = kDrawingDocumentObject Then
        MsgBox "Bitte öffnen Sie eine Zeichnung."
        Exit Sub
    End If

    Set oDoc = oApp.ActiveDocument
   
    ' Verweis auf das aktive Blatt
    Set oSheet = oDoc.ActiveSheet

    ' Erstellen einer ObjectCollection
    Dim oPointColl As ObjectCollection
    Set oPointColl = oApp.TransientObjects.CreateObjectCollection
   
    ' Erstellen eines Punktes für die Platzierung des Symbols
    Set oPoint = oApp.TransientGeometry.CreatePoint2d(10, 10)
   
    'Hinzufügen des Punktes zur ObjectCollection
    Call oPointColl.Add(oPoint)
   
    'Erzeugen einer SurfaceTextureSymbolDefinition
    Dim oSurfaceTextureSymbolDef As SurfaceTextureSymbolDefinition
    Set oSurfaceTextureSymbolDef = oSheet.SurfaceTextureSymbols.CreateDefinition()
   
    ' Hinzufügen des Oberflächensymbols
    Set oSurfaceSymbol = oSheet.SurfaceTextureSymbols.AddByDefinition(oPointColl, oSurfaceTextureSymbolDef)

    ' Festlegen der Attribute des Oberflächensymbols
    oSurfaceSymbol.SurfaceTextureType = kMaterialRemovalRequiredSurfaceType '= kRoughnessType
    oSurfaceSymbol.ProductionMethod = "Fräsen"
    oSurfaceSymbol.MaximumRoughness = "3.2"

    MsgBox "Oberflächensymbol erfolgreich platziert!"
End Sub


------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

jürg-e
Mitglied
Entwickler

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

Beiträge: 2
Registriert: 19.11.2014

Inventor2024.3, Win10

erstellt am: 16. Sep. 2024 09:26    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 rkauskh
Super..... herzlichen Dank ..
..und schon wieder mal was von dir gelernt!

Das VBA funktioniert einwandfrei.

Freundliche Grüsse und eine gute Woche!
Jürg

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