|
Inventor VBA : Bauteilende hoch, Unterdrückung aufheben und auf Medianwert schalten
st.w am 09.01.2013 um 16:38 Uhr (0)
Hallo Ralf, Hallo zusammen,eine Nachfrage stellt sich mir noch:Das Exportieren der STP klappt auch bei iPart-Bauteilen, d.h. das Modell ist richtig erstellt. Jedoch wird es unter dem Namen des Mutterbauteils gespeichert. :-(Wie müßte der Code aussehen, dass bei einem iPart auch die Step-Datei den Dateinamen des aktivierten Kindes trägt?Ich habe wohl gesucht und gegoogelt, jedoch keine Infos gefunden.Danke Euch,StefanAIV2008SP3 mit XPPro------------------IV2008
|
| In das Form Inventor VBA wechseln |
|
Inventor VBA : Bauteilende hoch, Unterdrückung aufheben und auf Medianwert schalten
st.w am 14.01.2013 um 11:18 Uhr (0)
Hallo Ralf,der test ist positiv, es gibt den DeselSpawnCtxCmd in 2008.Ich habe den Test mal in die CreateOrUpdateChild-Function integriert und die Fehlerbehandlung geändert. Da zeigt sich, dass der Fehler in der ZeileCode: Call oDoc.SelectSet.Select(oRow)auftritt.Code:Private Function CreateOrUpdateChild(ByVal oDoc As PartDocument) As Boolean Err.Clear On Error GoTo ErrorCreateOrUpdateChild Dim oRow As iPartTableRow Set oRow = oDoc.ComponentDefinition.iPartFactory.DefaultRow oDoc.SelectSet.Clear ...
|
| In das Form Inventor VBA wechseln |
|
Inventor VBA : Bauteilende hoch, Unterdrückung aufheben und auf Medianwert schalten
rkauskh am 09.01.2013 um 20:01 Uhr (0)
HiBin mir nicht ganz sicher, aber probier mal:Code:Private Sub Main()Dim oApp As ApplicationSet oApp = ThisApplicationDim oDoc As PartDocumentSet oDoc = oApp.ActiveDocumentTransaction vorbereitenDim oTransGeom As TransientGeometrySet oTransGeom = ThisApplication.TransientGeometryTransaction startenDim oTrans As TransactionSet oTrans = ThisApplication.TransactionManager.StartTransaction(oDoc, "Export als Step")Dim oCompDef As PartComponentDefinitionSet oCompDef = oDoc.ComponentDefinitionDim oSplitFeature As ...
|
| In das Form Inventor VBA wechseln |
|
Inventor VBA : Bauteilende hoch, Unterdrückung aufheben und auf Medianwert schalten
st.w am 10.01.2013 um 09:43 Uhr (0)
Hallo Ralf,du kannst Dir sicher sein, es funktioniert klasse.Beim Ausprobieren hatte ich jetzt noch ein Phänomen, dass das Kind des iParts hatte vorher mit Dateien erstellen neu generiert hätte werden müssen.Kann ich so etwas vor der Erstellung der stp erzwingen?Bei der manuellen Nutzung von Inventor ist der Eintrag Dateien erstellen im Kontextmenü manchmal nicht da, oder speichert nicht für mich sichtbar.Von daher wäre eine erzwungene Neuerstellung der Datei natürlich die sichere Methode.Weißt du das auch ...
|
| In das Form Inventor VBA wechseln |
|
Inventor VBA : Bauteilende hoch, Unterdrückung aufheben und auf Medianwert schalten
rkauskh am 10.01.2013 um 10:59 Uhr (0)
HiVersuchen wirs mal so:Code:Private Sub Main()Dim oApp As ApplicationSet oApp = ThisApplicationDim oDoc As PartDocumentSet oDoc = oApp.ActiveDocumentTransaction vorbereitenDim oTransGeom As TransientGeometrySet oTransGeom = ThisApplication.TransientGeometryTransaction startenDim oTrans As TransactionSet oTrans = ThisApplication.TransactionManager.StartTransaction(oDoc, "Export als Step")Dim oCompDef As PartComponentDefinitionSet oCompDef = oDoc.ComponentDefinitionIf oDoc.ComponentDefinition.IsiPartFactory ...
|
| In das Form Inventor VBA wechseln |
|
Inventor VBA : Bauteilende hoch, Unterdrückung aufheben und auf Medianwert schalten
st.w am 10.01.2013 um 12:10 Uhr (0)
Hallo Ralf,Danke für den schnellen Lösungsvorschlag.Leider erhalte ich immer die Fehlermeldung, egal ob sich das iPart geändert hat oder nicht.Es ist wohl der execute-Befehl, der den Fehler macht.Wenn ich unter DeselSpawnCtxCmd die Hilfe befrage (gemäß Deiner Quellenangabe) oder google, dann finde ich nichts Geeignetes.Liegt hier ein Tippfehler vor?!?!Oder als Idee zum Thema: Kann ich den Status des iPart-Kindes auf false=nicht aktuell setzen und dann neu erstellen?Fragen über Fragen...Danke für Deine Unte ...
|
| In das Form Inventor VBA wechseln |
|
Inventor VBA : Bauteilende hoch, Unterdrückung aufheben und auf Medianwert schalten
rkauskh am 10.01.2013 um 20:10 Uhr (0)
HiDa ist kein Tipfehler (leider). Kannst du mir so ein Teil bei dems schief geht hochladen?Nochmal für mich zum Verständnis, das iPart soll vor oder nach dem Verschieben des Bauteilendes, Aufheben der Unterdrückung usw. exportiert werden?------------------MfGRalf
|
| In das Form Inventor VBA wechseln |
 ST1035.zip |
Inventor VBA : Bauteilende hoch, Unterdrückung aufheben und auf Medianwert schalten
st.w am 11.01.2013 um 09:30 Uhr (0)
Hallo Ralf,anbei das Bauteil ST1035 mit Unterordner der erstellten Kinder, sowie mein derzeit verwendetes Modul.Damit die exportierte STP ganz aktuell ist, möchte ich die Aktualierung vor der Transaction aktualisieren. Siehe Modul.Ich rufe das kombinierte Makro STP_pdf auf, da dies beim Bauteil die STP erstellt und bei einer Zeichnung eine pdf speichert.Soweit der Stand...Danke!Stefan------------------IV2008
|
| In das Form Inventor VBA wechseln |
|
Inventor VBA : Bauteilende hoch, Unterdrückung aufheben und auf Medianwert schalten
rkauskh am 11.01.2013 um 22:51 Uhr (0)
HiAuch mit deinem Bauteil und Code tritt bei mir kein Fehler auf. Kannst du mal prüfen, ob Inventor2008 den Befehl DeselSpawnCtxCmd kennt? Einfach mal die Sub ausführen.Code:Private Sub test()Dim oControldef As ControlDefinitionFor Each oControldef In ThisApplication.CommandManager.ControlDefinitions If oControldef.InternalName = "DeselSpawnCtxCmd" Then MsgBox "Gefunden" End IfNext End SubSollte der nicht gefunden werden, könnte es sein das der früher anders lautete. Halte ich aber für unwahrscheinli ...
|
| In das Form Inventor VBA wechseln |
|
Inventor VBA : Bauteilende hoch, Unterdrückung aufheben und auf Medianwert schalten
rkauskh am 06.12.2012 um 19:17 Uhr (0)
HiGenial ist da nix. Probiere das Script mal in einem Bauteil ohne die Trennung aus. Inventor anwerfen, auf das kleine schwarze Dreieck neben dem Hilfezeichen klicken, unter "weitere Ressourcen" (oder so ähnlich) versteckt sich im Untermenü die Programmierungshilfe. Da finden sich auch eine Reihe Beispiele. Ansonsten Googlen und der Rest ist Erfahrung und Spieltrieb.------------------MfGRalf
|
| In das Form Inventor VBA wechseln |
|
Inventor VBA : Bauteilende hoch, Unterdrückung aufheben und auf Medianwert schalten
rkauskh am 14.01.2013 um 11:49 Uhr (0)
HalloDann setze mal bitte im VBA-Editor einen Haltepunkt auf die Zeile und lege eine Überwachung für oRow an. Wenn der Fehler auftritt, prüfe mal den Inhalt von oRow. Ich vermute die Variable ist dann leer, nur warum weiß ich im Moment noch nicht.------------------MfGRalf
|
| In das Form Inventor VBA wechseln |
|
Inventor VBA : Bauteilende hoch, Unterdrückung aufheben und auf Medianwert schalten
st.w am 14.01.2013 um 12:27 Uhr (0)
Hallo Ralf,oRow=Nothing - gut vermutet.Nur warum, dass weiß ich auch nicht Mein googlen brachte auch keinen Erkenntnisgewinn... hmmWas nun?Gruß,Stefan------------------IV2008
|
| In das Form Inventor VBA wechseln |
|
Inventor VBA : Bauteilende hoch, Unterdrückung aufheben und auf Medianwert schalten
rkauskh am 14.01.2013 um 12:46 Uhr (0)
HalloDu hast weiter oben erwähnt das manchmal der Eintrag "Dateien erstellen" im Kontextmenü fehlt. Die Ursache dafür könnte auch die Ursache für den Fehler sein. Es wäre daher interessant genau so ein Teil mal unter die Lupe zu nehmen.Ansonsten kann man nur eine Prüfung einbauen, ob oRow leer ist und die Funktion vorzeitig verlassen.------------------MfGRalf
|
| In das Form Inventor VBA wechseln |