Probleme mit der Inventor API / Inventor
VossiMB 11. Nov. 2017, 22:07

Hallo meine lieben,

ich beschäftige mich momentan etwas mit der Inventor API und bin gerade am herum probieren und natürlich etwas am verzweifeln.
Ich bin normalerweise C++ gewöhnt, programmiere aber unter VB.NET und Inventor 2017.

Der Plan ist es eine einzelne Linie in einer 2D Zeichnung (.dwg) zu verändern (Stärke und Farbe). Hierzu soll die Linie selektiert werden und anschließend soll auf einen Button geklickt werden. Diese Button-Funktion sieht man hier...

Code:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        If _invApp.Documents.Count = 0 Then
            MsgBox("Es ist keine  Datei in Inventor geoeffnet.")
            Return
        End If

        If _invApp.ActiveDocument.DocumentType <> DocumentTypeEnum.kDrawingDocumentObject Then
            MsgBox("Bitte Oeffnen Sie eine Zeichnung.")
            Return
        End If

        Dim drwDoc As DrawingDocument
        drwDoc = _invApp.ActiveDocument

        ' Prueft, ob etwas selektiert wurde
        Dim selSet As SelectSet
        selSet = drwDoc.SelectSet
        If selSet.Count = 0 Then
            Return
        End If

        ' Layer Kopieren und bearbeiten
        Dim lay As Layer
        lay = selSet.Item(1).Layer
        lay.LineWeight = 2

        Try
            Dim obj As Object
            For Each obj In selSet
                ' Layer fuer die Linie setzen
                obj.Layer = lay
            Next
        Catch ex As Exception
            MsgBox("Hat nicht funktioniert.")
            MsgBox(ex.ToString())
            Return
        End Try

    End Sub


Ich habe vorhin das Verändern mit der Linienstärke hinbekommen, jedoch klappt es jetzt nicht mehr. Das mit der Farbe habe ich bisher überhaupt nicht hin bekommen.

Kann mir hier jemand ggf. eine Hilfestellung geben oder mir eine gute Quelle für eine Art Tutorial geben? Die Infos von Autodesk finde ich eher bescheiden. Vielleicht hab ich sie auch nur noch nicht gefunden 

Grüßle
VossiMB

VossiMB 11. Nov. 2017, 22:11

Hallo,

ich sehe gerade, dass es auch ein "Inventor .NET" Forum gibt.
Sorry! Ich hab das nicht gesehen gehabt.

Kann man ggf. diesen Thread dort hin verschieben?

Grüßle
VossiMB

Ruzy5624 12. Nov. 2017, 11:19


LayerObject.pdf


InventorAPIHilfe1711121116.JPG

 
Moin,

das von dir benutzte "LayerObject" besitzt neben den Properties "LineWeight" auch noch weitere Properties wie "Color" und "LineType".
Mit diesen Properties sollte man auch die Farbe und den Type des Layers anpassen können.

Anbei noch ein Auszug aus der Inventor API Hilfe zum "LayerObject" und der Weg zur Inventor API Hilfe, falls dir diese noch nicht bekannt sein sollte 

VossiMB 12. Nov. 2017, 19:41

Hallo Ruzy5624,

vielen Dank für die Info! Mir war das so noch nicht bekannt gewesen.
Leider funktionieren die Beispiele in der API Hilfe nicht wirklich (trotz Anpassung von VBA an VB.NET) gut. Aber es hilft mir wenigstens etwas weiter.