| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Inventor-Befehle mittels iLogic ausführen (6239 mal gelesen)
|
Thaiga Mitglied Technische Zeichnerin
Beiträge: 37 Registriert: 29.04.2014 Inventor 2013 PsP 2011
|
erstellt am: 31. Jul. 2014 15:55 <-- editieren / zitieren --> Unities abgeben:
|
Frank_Schalla Ehrenmitglied CAD_SYSTEMBETREUER
Beiträge: 1732 Registriert: 06.04.2002 DELL M6800 Cad Admin Methodikentwickler 3D
|
erstellt am: 31. Jul. 2014 19:34 <-- editieren / zitieren --> Unities abgeben: Nur für Thaiga
Hier der ILOGIC code ThisApplication.CommandManager.ControlDefinitions.Item("FinishSketch").Execute iLogicVb.UpdateWhenDone = True "FinishSketch" musst du in deinem Beispiel gegen "AssemblyRebuildAllCmd" tauschen. Die Liste der Kommandos deineer IV Version bekommst du mittels dieser kleinen VBA Routine ************ Sub PrintCommandNames() ' Get the CommandManager object. Dim oCommandMgr As CommandManager Set oCommandMgr = ThisApplication.CommandManager ' Get the collection of control definitions. Dim oControlDefs As ControlDefinitions Set oControlDefs = oCommandMgr.ControlDefinitions ' Open the file and print out a header line. Dim oControlDef As ControlDefinition Open "C:\temp\CommandNames.txt" For Output As #1 Print #1, Tab(10); "Command Name"; Tab(75); _ "Description"; vbNewLine ' Iterate through the controls and write out the name. For Each oControlDef In oControlDefs Print #1, oControlDef.InternalName; Tab(55); _ oControlDef.DescriptionText Next ' Close the file. Close #1 End Sub ------------------ ************************************ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thaiga Mitglied Technische Zeichnerin
Beiträge: 37 Registriert: 29.04.2014 Inventor 2013 PsP 2011
|
erstellt am: 01. Aug. 2014 08:27 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank Frank_Schalla, die iLogic-Regel funktioniert soweit Zwar leider nicht automatisch, habe es auch mittels der Ereignisauslöser versucht, klappt leider nicht. Ich habe mir geholfen, indem ich die Regel in ein Formular gepackt habe. Jetzt erscheint ein schön großes Fenster, indem man die Regel ausführen kann - das sollte wohl niemand übersehen Was du mit dem anderen Code meintest, ist mir nicht ganz klar. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Frank_Schalla Ehrenmitglied CAD_SYSTEMBETREUER
Beiträge: 1732 Registriert: 06.04.2002 DELL M6800 Cad Admin Methodikentwickler 3D
|
erstellt am: 01. Aug. 2014 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für Thaiga
|
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6051 Registriert: 16.09.2004 Inventor Prof. bis 2022
|
erstellt am: 01. Aug. 2014 09:13 <-- editieren / zitieren --> Unities abgeben: Nur für Thaiga
Zitat: Original erstellt von Frank_Schalla:
Der zweite Code generiert dir eine Textdatei welche alle Inventor Command names auswirft.
... und die findet sich, so Du den Code nicht änderst, auf dem Laufwerk C: in einem Unterordner "temp" und heißt "CommandNames.txt". Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) [Diese Nachricht wurde von jupa am 01. Aug. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thaiga Mitglied Technische Zeichnerin
Beiträge: 37 Registriert: 29.04.2014 Inventor 2013 PsP 2011
|
erstellt am: 01. Aug. 2014 09:32 <-- editieren / zitieren --> Unities abgeben:
|
Cläuser Mitglied Zeichner
Beiträge: 4 Registriert: 26.01.2015 Inventor 2013
|
erstellt am: 30. Jan. 2015 08:31 <-- editieren / zitieren --> Unities abgeben: Nur für Thaiga
Hallo zusammen, die codes funkionieren super! Gibt es auch eine Möglichkeit, Befehle aus der idw heraus im verknüpften ipt auszuführen? Ich möchte einen Formularbutton im idw. der den Befehl "Masse aktualisieren" (AppUpdateMassPropertiesCmd) im ipt ausführt, damit iProperties.Volume in der Zeichnung korrekt angezeigt wird. Sollte natürlich unabhängig vom Dateinamen sein. Ich verwende bereits codes die andere iProperties in das ipt übertragen bzw. dort rausziehen. Beispiel unten. Kann man das mit dem "Befehl-ausführen-Code" irgendwie kombinieren?? Mir fehlen die VBA Kenntnisse und das richtige API Objekt-Model um das richtig zu begreifen. Steige gerade erst ein. Viele Grüße Claus 'Define the open document Dim openDoc As Document openDoc = ThisDoc.Document 'Look at the model file referenced in the open document Dim docFile As Document If ThisDoc.ModelDocument IsNot Nothing Then docFile = ThisDoc.ModelDocument Else MessageBox.Show("This drawing has no model reference", "iLogic") Return End If 'format model file name Dim FNamePos As Long FNamePos = InStrRev(docFile.FullFileName, "\", -1) Dim docFName As String docFName = Right(docFile.FullFileName, Len(docFile.FullFileName) - FNamePos) 'define the property set customPropertySet = docFile.PropertySets.Item("Inventor User Defined Properties") 'look for the custom propety and add it if not found iProperties.Value("Summary", "Title") = iProperties.Value(docFName, "Summary", "Title") InventorVb.DocumentUpdate()
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
invhp Ehrenmitglied V.I.P. h.c. MB Techniker, AE, WKZmacher
Beiträge: 5552 Registriert: 16.05.2002 (fast) alles, was Autodesk im Mechanikbereich anbietet ;)
|
erstellt am: 02. Feb. 2015 13:49 <-- editieren / zitieren --> Unities abgeben: Nur für Thaiga
|
Cläuser Mitglied Zeichner
Beiträge: 4 Registriert: 26.01.2015 Inventor 2013
|
erstellt am: 03. Feb. 2015 17:04 <-- editieren / zitieren --> Unities abgeben: Nur für Thaiga
Das Makro funktioniert! Hab jetzt auch über InventorVb.RunMacro meinen Button im Formular. Das mit der Modellreferenzierung ist nochmal Futter zum üben. Ich weiß ja immer noch nicht wo diese Begriffe (Objekts?)herkommen. Brauche dazu doch dieses Wallpaper API-Hilfe oder API Object Model..oder? Danke für die Hilfe! Claus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |