<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Thema "Betreff: Zeichnungssymbole automatisiert in Zeichnung laden" in Inventor - Deutsches Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218062#M2501</link>
    <description>&lt;P&gt;Warum gibst du in Zeile 66 die zuvor definierte Variabel "symbolname" als String an und nicht als Variable?&lt;/P&gt;&lt;LI-CODE lang="general"&gt;Set oSketchedSymbolDef = oDoc.SketchedSymbolDefinitions.Item(symbolname)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp; Habe den Rest des Codes aber nicht geprüft oder getestet&lt;/P&gt;</description>
    <pubDate>Tue, 05 Sep 2023 06:55:40 GMT</pubDate>
    <dc:creator>RaphaelMichel</dc:creator>
    <dc:date>2023-09-05T06:55:40Z</dc:date>
    <item>
      <title>Zeichnungssymbole automatisiert in Zeichnung laden</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12216178#M2500</link>
      <description>&lt;P&gt;Hallo zusammen,&lt;BR /&gt;&lt;BR /&gt;ich arbeite gerade an meinem ersten Makro für Inventor und komme leider nicht weiter.&lt;BR /&gt;Die idee ist, folgende:&lt;BR /&gt;Ich möchte bestimmte Zeichnungssymbole automatisiert in die Zeichnung laden.&lt;BR /&gt;Dazu sind folgende Schritte angedacht&lt;BR /&gt;Das Refernzierte 3D Modell&amp;nbsp; zur Zeichnung finden (klappt)&lt;BR /&gt;Alle darin enthaltenene Bauteile nach einem bestimmten iProperty durchsuchen (klappt)&lt;BR /&gt;Wenn das iProperty vorhanden ist, einen entsprechenden Namen in ein array Speichern. (klappt)&lt;BR /&gt;Die Zeichnungssymbole welche den selben Namen trägt in die Zeichnung laden. (klappt nicht)&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Hier habe ich das Problem, das die Zeichnung nur geladen wird, wenn sie vorher bereits im "lokalen" Zeichnungsgedächnis liegt. (Bild: lokale Daten)&lt;/P&gt;&lt;P&gt;Die Zeichnung wird aber nicht direkt aus den Skizzensymbolen geladen (Bild Skizzensymbol)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kennt hier jemand eine Lösung oder hat einen Tip?&lt;BR /&gt;&lt;BR /&gt;Besten Dank!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="general"&gt;Sub Flansche()





On Error Resume Next

Dim ocustomPropSet As PropertySet

Dim oDoc As DrawingDocument
Set oDoc = ThisApplication.ActiveDocument

Dim BgrDoc As Document
Set BgrDoc = oDoc.ReferencedDocuments.Item(1)

Dim PartDoc As Document
Dim Flange_Nr As Integer
Dim i, j As Integer
Dim Flange() As String
ReDim Flange(1 To 1)
Dim symbolname As String



j = 0

'Sucht das Refernz 3D Teil und sichtet alle enthaltenen Bauteile nach dem iProperty "Flansch Nr"
For Each PartDoc In BgrDoc.AllReferencedDocuments
    Set ocustomPropSet = PartDoc.PropertySets.Item("Inventor User Defined Properties")
    iCount = ocustomPropSet.Count
    Flange_Nr = ocustomPropSet.Item("Flange_Nr").Value
'Wenn was gefunden, dann Schleife, je nachdem wie viele Flansche im Bauteil.
    If Flange_Nr &amp;gt; 0 Then
        For i = 1 To Flange_Nr
            j = j + 1
'erweitert das Array bei Bedarf
            If j &amp;gt; 1 Then
                ReDim Preserve Flange(1 To j)
            End If
'Speichert den Flanschnamen im Array
            Flange(j) = ocustomPropSet.Item("Flange" &amp;amp; i).Value
           
        Next
    End If

Next
    
'Nur Kontrolle, kann später weg
msgString = Join(Flange(), vbCr)
MsgBox "Folgende Flansche wurden gefunden: " &amp;amp; vbCr &amp;amp; msgString


'Abhier sollen die Zeichnungssymbole in die Zeichnung geladen werden.
'Das funktioniert aber nicht wirklich.
Stop

Dim k As Integer
For k = 1 To UBound(Flange())
    
    symbolname = Flange(k)

    Dim oSheet As Sheet
    Set oSheet = oDoc.ActiveSheet
  
    Dim oSketchedSymbolDef As SketchedSymbolDefinition
    Set oSketchedSymbolDef = oDoc.SketchedSymbolDefinitions.Item(symbolname)
    
    Dim oTG As TransientGeometry
    Set oTG = ThisApplication.TransientGeometry

    Dim oSketchedSymbol As SketchedSymbol
    Set oSketchedSymbol = oSheet.SketchedSymbols.Add(oSketchedSymbolDef, oTG.CreatePoint2d(10, 10))

Stop

Next


End Sub
&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 07:08:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12216178#M2500</guid>
      <dc:creator>a_kuhlen</dc:creator>
      <dc:date>2023-09-05T07:08:04Z</dc:date>
    </item>
    <item>
      <title>Betreff: Zeichnungssymbole automatisiert in Zeichnung laden</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218062#M2501</link>
      <description>&lt;P&gt;Warum gibst du in Zeile 66 die zuvor definierte Variabel "symbolname" als String an und nicht als Variable?&lt;/P&gt;&lt;LI-CODE lang="general"&gt;Set oSketchedSymbolDef = oDoc.SketchedSymbolDefinitions.Item(symbolname)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp; Habe den Rest des Codes aber nicht geprüft oder getestet&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 06:55:40 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218062#M2501</guid>
      <dc:creator>RaphaelMichel</dc:creator>
      <dc:date>2023-09-05T06:55:40Z</dc:date>
    </item>
    <item>
      <title>Betreff: Zeichnungssymbole automatisiert in Zeichnung laden</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218080#M2502</link>
      <description>&lt;P&gt;Hallo&lt;BR /&gt;Danke für den Hinweis, allerdings ist das ist ein Kopierfehler gewesen.&lt;BR /&gt;Hatt zuvor einen festen Stringwert des Flanschnamens, um zu schauen ob es am Array liegt. hat aber auch nicht funktioniert.&lt;BR /&gt;Habe den Code gerade nochmal neu abgespeichert.&lt;BR /&gt;Beim Durchlauf in Einzelschritten fällt auch auf, das die oSketchedSymbolDef bei Nothing bleibt. Bild anbei.&lt;BR /&gt;Allerdings finde ich nicht heraus warum.&lt;BR /&gt;&lt;BR /&gt;Beste Grüße&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 07:05:32 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218080#M2502</guid>
      <dc:creator>a_kuhlen</dc:creator>
      <dc:date>2023-09-05T07:05:32Z</dc:date>
    </item>
    <item>
      <title>Betreff: Zeichnungssymbole automatisiert in Zeichnung laden</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218088#M2503</link>
      <description>&lt;P&gt;Hallo&lt;BR /&gt;Danke für den Hinweis, allerdings ist das ist ein Kopierfehler gewesen.&lt;BR /&gt;Hatt zuvor einen festen Stringwert des Flanschnamens, um zu schauen ob es am Array liegt. hat aber auch nicht funktioniert.&lt;BR /&gt;Habe den Code gerade nochmal neu abgespeichert.&lt;BR /&gt;Beim Durchlauf in Einzelschritten fällt auch auf, das die oSketchedSymbolDef bei Nothing bleibt. Bild anbei.&lt;BR /&gt;Allerdings finde ich nicht heraus warum.&lt;/P&gt;&lt;P&gt;Beste Grüße&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 07:10:53 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218088#M2503</guid>
      <dc:creator>a_kuhlen</dc:creator>
      <dc:date>2023-09-05T07:10:53Z</dc:date>
    </item>
    <item>
      <title>Betreff: Zeichnungssymbole automatisiert in Zeichnung laden</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218100#M2504</link>
      <description>&lt;P&gt;Schau doch mal in die oDoc hinein unter SketchedSymbolDefinitions. Welche Items sind darin aufgeführt? Anscheinend wird kein Item gefunden, das mit deiner Variabel übereinstimmt.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 07:15:54 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218100#M2504</guid>
      <dc:creator>RaphaelMichel</dc:creator>
      <dc:date>2023-09-05T07:15:54Z</dc:date>
    </item>
    <item>
      <title>Betreff: Zeichnungssymbole automatisiert in Zeichnung laden</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218169#M2505</link>
      <description>&lt;P&gt;Ok, das ist das Problem. Hier finde ich nur die beiden bereits in der Zeichnung "hinterlegten" Symbole.&lt;BR /&gt;Siehe Bild (Skizzensymbole_1).&lt;BR /&gt;&lt;BR /&gt;Ich möchte aber neue Skizzensymbole aus der Bibliothek suchen und laden. (Siehe Bild Bibliothek)&lt;BR /&gt;Wie kann ich den verweis auf die Bibliotek setzen?&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 07:32:22 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218169#M2505</guid>
      <dc:creator>a_kuhlen</dc:creator>
      <dc:date>2023-09-05T07:32:22Z</dc:date>
    </item>
    <item>
      <title>Betreff: Zeichnungssymbole automatisiert in Zeichnung laden</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218276#M2506</link>
      <description>&lt;P&gt;Ich kenne mich mit Skizzensymbolen nicht grossartig aus. Sind diese in einer Bibliothek.idw oder dwg gespeichert? Du könntest im Makro diese Bibliothek öffnen und die entsprechenden Skizzensymbole kopieren und in deinem Dokument einfügen. Der Code dazu könnte in etwa so aussehen: (ohne Gewähr auf Richtigkeit, da ich nicht testen konnte)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="general"&gt;Sub Main()
    Skizzensymbol_kopieren ("Pfad zur Bibliothek", "Symbolname")
End Sub

Sub Skizzensymbol_kopieren(Pfad As String, Symbol As String)

    'Skizzensymbol von Vorlage kopieren
    Dim oNewDocument As DrawingDocument
    Set oNewDocument = ThisApplication.ActiveDocument

    Dim oSourceDocument As DrawingDocument
    Set oSourceDocument = ThisApplication.Documents.Open(Pfad)

    Dim oSketchedSymbolDef As SketchedSymbolDefinition
    Set oSketchedSymbolDef = oSourceDocument.SketchedSymbolDefinitions.Item(Symbol).CopyTo(oNewDocument)

    oSourceDocument.Close False
End Sub&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 09:29:55 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218276#M2506</guid>
      <dc:creator>RaphaelMichel</dc:creator>
      <dc:date>2023-09-05T09:29:55Z</dc:date>
    </item>
    <item>
      <title>Betreff: Zeichnungssymbole automatisiert in Zeichnung laden</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218499#M2507</link>
      <description>&lt;P&gt;Das war es!&amp;nbsp; &lt;span class="lia-unicode-emoji" title=":leicht_lächelndes_Gesicht:"&gt;🙂&lt;/span&gt;&lt;BR /&gt;ich muss die Symbolbiblkioteheken erst laden und die gefundenen Symbole in das "lokale" verzeichnis kopieren.&lt;BR /&gt;Da wir verschiedene idw Biblioteheken habe muss ich mir noch ne Schleife einbauen, um alle zu durchsuchen...&lt;BR /&gt;Danach kann ich die Symbole dann aus dem lokalen Verzeichnis in die Zeichnung kopieren.&lt;BR /&gt;&lt;BR /&gt;Ich pass das in den nächsten Tagen noch "vernünftig" an und poste das Ergebnis wenn es so klappt wie gewollt.!&lt;BR /&gt;Besten Dank!&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 09:27:27 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12218499#M2507</guid>
      <dc:creator>a_kuhlen</dc:creator>
      <dc:date>2023-09-05T09:27:27Z</dc:date>
    </item>
    <item>
      <title>Betreff: Zeichnungssymbole automatisiert in Zeichnung laden</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12231361#M2508</link>
      <description>&lt;P&gt;Anbei der funktionsfähige Code. Besten Dannk auch nochmal an &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/12231911"&gt;@RaphaelMichel&lt;/a&gt; für die entscheidenen Tips.&lt;BR /&gt;Da ich kein Programmierer bin, ist der Code sicherlich otimierbar und auch das Thema Fehlermanagement ist nicht wirklich berücksichtigt. Allerdings tut es erst mal so, wie ich mir das ganze vorstelle.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="general"&gt;Sub Flansche()
'Autor: Arne Kuhlen
'Sucht nach bestimmten iPropertie "Flange(i)" und nimmt die Bezeichnung in ein Array auf.
'Lädt im Hintergrund die Symbolbibliotheken und "Bib_idw()" und sucht dort die Benennungen aus dem Array.
'wurde etwas gefunden, wird das Zeichnungssymbol in die Zeichnung geladen und platziert.


On Error Resume Next

Dim ocustomPropSet As PropertySet

Dim oDoc As DrawingDocument
Set oDoc = ThisApplication.ActiveDocument

Dim BgrDoc As Document
Set BgrDoc = oDoc.ReferencedDocuments.Item(1)

Dim PartDoc As Document
Dim Flange_Nr As Integer
Dim i, j As Integer
Dim Flange() As String
ReDim Flange(1 To 1)
Dim Symbol As String


j = 0 'Zähler für den Flansch

'Sucht das Refernz 3D Teil und sichtet alle enthaltenen Bauteile nach dem iProperty "Flansch Nr"
For Each PartDoc In BgrDoc.AllReferencedDocuments
    Set ocustomPropSet = PartDoc.PropertySets.Item("Inventor User Defined Properties")
    
    i = 1 'Zähler für den iProperty Namen (Flansch1, Flansch2 innerhalb eines Bauteils)
    
    Do
        'Prüfen ob Zähler hochgesetzt werden soll
        If Flange(j) &amp;lt;&amp;gt; "" Then
            j = j + 1
        End If
                       
        'erweitert das array bei Bedarf
        If j &amp;gt; 1 Then
            ReDim Preserve Flange(1 To j)
        End If
        
        
        'Prüfen ob der Flanschname bereits exisitert
        Dim doppelt As Integer
        doppelt = 0
        For Z = 1 To UBound(Flange())
            If Flange(Z) = ocustomPropSet.Item("Flange" &amp;amp; i).Value Then
            doppelt = 1
            End If
        Next
        
        If doppelt &amp;lt;&amp;gt; 1 Then
        'Den Flanschnamen in das Array schreiben
        Flange(j) = ocustomPropSet.Item("Flange" &amp;amp; i).Value
        End If
    
        i = i + 1
        
         
    Loop Until (ocustomPropSet.Item("Flange" &amp;amp; i).Value = "")

Next

'den letzten Arraypunkt wieder löschen weil leer
ReDim Preserve Flange(1 To (j - 1))
    

msgString = Join(Flange(), vbCr)
MsgBox "Folgende Flansche wurden gefunden: " &amp;amp; vbCr &amp;amp; msgString
'------------------


'Ab hier werden die Symbole in den Bibliotheken gesucht und dann in die Zeichnung geladen
Dim Bib_idw(9) As String

'Pfade zu den einzelnen Zeichnungssymbolbibliotheken
Bib_idw(0) = "C:\...\...\00_Bib_1.idw"
Bib_idw(1) = "C:\...\...\02_Bib_2.idw"
Bib_idw(2) = "C:\...\...\04_Bib_3.idw"
Bib_idw(3) = "C:\...\...\05_Bib_4.idw"
Bib_idw(4) = "C:\...\...\06_Bib_5.idw"
Bib_idw(5) = "C:\...\...\08_Bib_6.idw"
Bib_idw(6) = "C:\...\...\09_Bib_7.idw"
Bib_idw(7) = "C:\...\...\10_Bib_8.idw"
Bib_idw(8) = "C:\...\...\12_Bib_9.idw"
Bib_idw(9) = "C:\...\...\14_Bib_10.idw"

Dim m As Integer


'Schleife für jede Bibliothek
'Smybole werden gesucht und in das lokale Verzeichnis geladen.

For b = 0 To UBound(Bib_idw())


    
    Dim k As Integer
    Dim RefBib As DrawingDocument
    Set RefBib = ThisApplication.Documents.Open(Bib_idw(b), False)
    
    'MsgBox (RefBib.DisplayName)
        
    Dim oSheet As Sheet
    Set oSheet = oDoc.ActiveSheet
    
    For k = 1 To UBound(Flange())
           
        Symbol = Flange(k)

        Dim lokalSketchedSymbolDef As SketchedSymbolDefinition
        Set lokalSketchedSymbolDef = oDoc.SketchedSymbolDefinitions.Item(Symbol)
        
        If lokalSketchedSymbolDef.Name = "" Then
        Dim globalSketchedSymbolDef As SketchedSymbolDefinition
        Set globalSketchedSymbolDef = RefBib.SketchedSymbolDefinitions.Item(Symbol)
        Set globalSketchedSymbolDef = RefBib.SketchedSymbolDefinitions.Item(Symbol).CopyTo(oDoc)
        Set lokalSketchedSymbolDef = oDoc.SketchedSymbolDefinitions.Item(Symbol)
        End If
        Set lokalSketchedSymbolDef = Nothing
        Next
    
    RefBib.Close False
   
Next



'Symbole werden vom lokalen Verzeichnis in die Zeichnung kopiert.

Dim oTG As TransientGeometry
Set oTG = ThisApplication.TransientGeometry


For k = 1 To UBound(Flange())
        Symbol = Flange(k)
        Dim oSketchedSymbol As SketchedSymbol
        Set lokalSketchedSymbolDef = oDoc.SketchedSymbolDefinitions.Item(Symbol)
        Set oSketchedSymbol = oSheet.SketchedSymbols.Add(lokalSketchedSymbolDef, oTG.CreatePoint2d(10 * k, 10))
Next

End Sub

&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Sep 2023 08:08:45 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/zeichnungssymbole-automatisiert-in-zeichnung-laden/m-p/12231361#M2508</guid>
      <dc:creator>a_kuhlen</dc:creator>
      <dc:date>2023-09-11T08:08:45Z</dc:date>
    </item>
  </channel>
</rss>

