Inventor (2018) VBA - Flächen über API heften

Inventor (2018) VBA - Flächen über API heften

fullevent
Advisor Advisor
948Aufrufe
5Antworten
Nachricht 1 von 6

Inventor (2018) VBA - Flächen über API heften

fullevent
Advisor
Advisor

Hallo zusammen,

 

ich würde gerne Volumenkörper aus FLächenkörpern über die API erzeugen und bin schon am Verzweifeln.

Manuell markiere ich den Flächenkörper, führe den Befehl "Heften" aus, bestätige das ganze und schon ist die Geschichte erledigt.

2019-07-18 16_31_30-Marking Menu.png2019-07-18 16_32_19-Marking Menu.png

 

Das würde ich gerne über VBA ausführen können, damit ich die paar tausend einzelnen Dateien nicht manuell bearbeiten muss.

 

Ich habe einiges ausprobiert, aber nichts scheint zu funktionieren. Hat hier jemand eine Idee?

Übrigens handelt es sich um importierte Dateien.. vielleicht liegt es ja daran?

Public Sub Heften()
    Dim oDoc As PartDocument
    Set oDoc = ThisApplication.ActiveDocument
    
    Dim oSurfaces As ObjectCollection
    Set oSurfaces = ThisApplication.TransientObjects.CreateObjectCollection
    
    Dim oSolidBody As SurfaceBody
    Set oSolidBody = oDoc.ComponentDefinition.WorkSurfaces.Item(1).SurfaceBodies.Item(1)
    
'    Dim oFace As Face
'    Dim oFaces As Faces
'    Set oFaces = oDoc.ComponentDefinition.WorkSurfaces.Item(1).SurfaceBodies.Item(1).Faces
'    For Each oFace In oFaces
'        oSurfaces.Add oFace
'    Next

    oSurfaces.Add oDoc.ComponentDefinition.WorkSurfaces.Item(1)
    Dim oKnitFeature As KnitFeature
    Stop
    Set oKnitFeature = oCompDef.Features.KnitFeatures.Add(oSurfaces)
End Sub

Anbei auch eine ipt.

Besten Dank!

 

Gruß,

Aleks


Aleksandar Krstic
Produkt- und Projektmanager

0 „Gefällt mir“-Angaben
Akzeptierte Lösungen (1)
949Aufrufe
5Antworten
Antworten (5)
Nachricht 2 von 6

Sergio.D.Suárez
Mentor
Mentor

Hallo, probier mal etwas ähnliches. Ich stellte fest, dass das Problem darin bestand, eine zusammengesetzte Oberfläche zu nehmen. Das Erfassungsobjekt funktioniert sehr gut, wenn es sich um separate Flächen handelt, nicht um zusammengesetzte Oberflächen. Wenn in Ihrem Beispiel alle Gesichter getrennt wären, sollte es meines Erachtens keinen Fehler geben.
Ich habe ein Modell mit einer Logik angehängt, die es schafft, die Aufgabe auszuführen, wenn es sich um separate Oberflächen handelt.

Dieser Fehler sollte nicht existieren, ich denke es könnte eine Einschränkung sein. Um das zu erreichen, wonach ich gesucht habe, wählen Sie einen alternativen Weg.
Ich denke, Sie könnten den Befehlsmanager und die Anweisung "AppStitchWrapperCmd" ausprobieren, indem Sie sie in Ihren Programmzeilen kombinieren. Ich versuche immer, solche Anweisungen zu vermeiden, weil sie mir normalerweise Kopfschmerzen bereiten. Wie auch immer, Sie sind sehr weise, wo ich versagt habe, ich bin sicher, Sie können den Fehler überwinden. Also warte ich auf das, was du entdeckst und das du teilen kannst. Ich sende Ihnen meine besten Grüße


Please accept as solution and give likes if applicable.

I am attaching my Upwork profile for specific queries.

Sergio Daniel Suarez
Mechanical Designer

| Upwork Profile | LinkedIn

Nachricht 3 von 6

fullevent
Advisor
Advisor

Hello @Sergio.D.Suárez,

 

vielen Dank für deine Antwort und den Tipp mit dem Befehlsmanager.
Aktuell komme ich bis zu dem folgenden Fenster. Dieses müsste ich nun irgendwie mit "Anwenden" bestätigen.
Hast du eine Idee wie das via VBA umzusetzen ist?

Den Weg über die einzelnen Flächen werde ich noch ausprobieren. Sieht aber vielversprechend aus. Danke für den Tipp!

 

---------------ÜBERSETZUNG/TRANSLATION-----------------

thank you very much for your answer and the tip with the command manager.
At the moment I can reach the following window. Now I would have to confirm this somehow with "Apply".
Do you have any idea how to do this via VBA?

I will try out the way over the single surfaces. But it looks promising. Thanks for the tip!

 

 

2019-07-29 11_46_48-Window.png

Greetings

 

 

 

 

@fullevent Textreihenfolge wurde von @michele.mk geändert um Deutsch hervorzuheben, da deutsches Forum. 


Aleksandar Krstic
Produkt- und Projektmanager

0 „Gefällt mir“-Angaben
Nachricht 4 von 6

Sergio.D.Suárez
Mentor
Mentor

-------------------------------------ÜBERSETZUNG-----------------------------

In der angehängten Datei finden Sie Informationen, die hilfreich sein könnten. Nach vielen Tests hatte er es einmal geschafft, aber dieser "cmd" -Pfad verursacht oft Kopfschmerzen. Probleme treten normalerweise auf, wenn Schleifen mit diesen Anweisungen verwendet werden. Manchmal gibt "Execute2 (True)" nicht die erwarteten Ergebnisse zurück. Ich habe jedoch viele Ihrer Arbeiten gesehen und sie sind sehr interessant. Ich denke, Sie könnten eine bessere Lösung finden als das, was ich erreichen könnte, und vielleicht können Sie das Problem besser lösen. : smileywink: Grüße

 

------------------------------ORIGINAL---------------------------------------

In the attached file you have information that could be useful. Once, after many tests he had been able to achieve it, but this "cmd" path often causes headaches. Problems usually occur when loops are used with these instructions, sometimes "Execute2 (True)" does not return the expected results. However, I have seen many of your work and they are very interesting, I think you could find a better solution than what I could achieve and maybe you can kill the problem better. Smiley (zwinkernd)  regards

 

AppContextual_ApplyCmd

AppContextual_BackCmd

AppContextual_CancelCmd

AppContextual_ContinueCmd

AppContextual_CreateCmd

AppContextual_DoneCmd

AppContextual_OKCmd

AppContextual_RemoveCmd

AppContextual_RestartCmd

AppContinueCmd

 

 

 

@Sergio.D.Suárez Text wurde @michele.mk überetzt, da es sich im deutschen Forum befindet. 


Please accept as solution and give likes if applicable.

I am attaching my Upwork profile for specific queries.

Sergio Daniel Suarez
Mechanical Designer

| Upwork Profile | LinkedIn

Nachricht 5 von 6

fullevent
Advisor
Advisor
Akzeptierte Lösung

Vielen Dank.
Soweit funktioniert der code für ein Teil. Ich teste es später mal in einer Schleife.

Generell erhalten wir eigentlich immer eine Step. Ich werde später mal versuchen das "Problem" weiter vorne anzupacken. Also noch vor dem Import-Vorgang.
Dann bestimmt nicht mehr der User die Import-Einstellungen sondern dieser wird im Code vorgegeben.

Ich werde die Woche mal rum probieren und mich melden wenn ich etwas vorzeigen kann.

 

Public Sub RunAppStitchWrapperCmd()
    Dim oCommandMgr As CommandManager
    Set oCommandMgr = ThisApplication.CommandManager
    
    Dim oSelect As SelectSet
    Set oSelect = ThisApplication.ActiveDocument.SelectSet
    Call oSelect.Clear
    Call oSelect.Select(ThisApplication.ActiveDocument.ComponentDefinition.WorkSurfaces.Item(1).SurfaceBodies.Item(1))
    
    Dim oControlDef As ControlDefinition
    Set oControlDef = oCommandMgr.ControlDefinitions.Item("AppStitchWrapperCmd")
    Dim oControlDef_A As ControlDefinition
    Set oControlDef_A = oCommandMgr.ControlDefinitions.Item("AppContextual_ApplyCmd")
    Dim oControlDef_D As ControlDefinition
    Set oControlDef_D = oCommandMgr.ControlDefinitions.Item("AppContextual_DoneCmd")

    Call oControlDef.Execute
    Call oControlDef_A.Execute
    Call oControlDef_D.Execute
End Sub

 

---------------ÜBERSETZUNG/TRANSLATION-----------------

Thank you very much.
So far the code for one part works. I'll test it later in a loop.

In general we always get a step. I will try to handle the "problem" a little bit earlier. So even before the import process.
Then the user doesn't determine the import settings anymore, but instead it's set in the code.

I will try out this week and report when I can demonstrate something.

 

salute

 

 

 

 
@fullevent  Textreihenfolge wurde von @michele.mk  geändert um Deutsch hervorzuheben, da deutsches Forum. 

Aleksandar Krstic
Produkt- und Projektmanager

Nachricht 6 von 6

Sergio.D.Suárez
Mentor
Mentor

Großartig! Es funktioniert super


Please accept as solution and give likes if applicable.

I am attaching my Upwork profile for specific queries.

Sergio Daniel Suarez
Mechanical Designer

| Upwork Profile | LinkedIn