| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Gewichte von iparts exportieren (4182 mal gelesen)
|
BountyB Mitglied
Beiträge: 30 Registriert: 15.07.2013 Inventor 2014
|
erstellt am: 15. Jul. 2013 13:51 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe das Problem, dass ich die Gewichte von den Varianten in einem ipart brauche. Da es sich um sehr viele iparts und Varianten handelt möchte ich nicht im Baum auf jede einzelne Variante klicken und dann in den iproperties nachsehen wie sich die Masse verändert hat. Gibt es eine Möglichkeit sich die Masse evtl. auch in der Tabelle Vom ipart anzeigen zu lassen? Unter den physikalischen Eigenschaften finde ich nur das Material was man sich anzeigen lassen kann. Vielen Dank für eure Hilfe! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
77Andreas Mitglied Techniker
Beiträge: 244 Registriert: 17.10.2012 Win 7 SP1.0 / 64 bit / IV 2014
|
erstellt am: 15. Jul. 2013 14:27 <-- editieren / zitieren --> Unities abgeben: Nur für BountyB
Hallo! wie wär es mit einer iLogic Regel, bei dem das Gewicht ausgelesen wird und sich in die iPropartis schreibt!?! mass = iProperties.Mass iProperties.Value("Custom", "Gewicht")=Round(mass, 3) Sobald diese in den iProparties enthalten ist ( Regel von hand ausführen ), hat man in/bei den iParts den Zugriff und man kann sich das Gewicht in die Spalte auslesen lassen!
Habe es gerade versucht und es hat gefunkt-ist zwar mit arbeit verbunden ( meine Version ) -lässt sich aber sicher automatisieren-denke ichmal lg ------------------ ----------------------------- Thxs 77Andreas Tippfehler sind gewollt Einen Vorsprung im Leben hat, wer da anpackt, wo die anderen erst einmal reden. John F. Kennedy [Diese Nachricht wurde von 77Andreas am 15. Jul. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BountyB Mitglied
Beiträge: 30 Registriert: 15.07.2013 Inventor 2014
|
erstellt am: 15. Jul. 2013 14:44 <-- editieren / zitieren --> Unities abgeben:
|
77Andreas Mitglied Techniker
Beiträge: 244 Registriert: 17.10.2012 Win 7 SP1.0 / 64 bit / IV 2014
|
erstellt am: 15. Jul. 2013 15:05 <-- editieren / zitieren --> Unities abgeben: Nur für BountyB
Hallo BountyB! Du müsstest die iLogic - Funktionalität im IV einschalten ( Ansicht-Benutzeroberfläche-iLogic Browser) unter dem Reiter Regel eine neue Regel hinzufügen und einem definierten Namen vergeben den bereits geposteten Code reinkopieren mit der RMT diese neu erstellte Regel ausführen das Gewicht wird dann automatisch in die iProperties geschriebenund kann in den iParts als zusaätzliche Spalte ausgelesen werden müsstest für ein jedes erstellte iPart einmal händisch diese Regel ausführen lassen! hoffe ich konnte mit diesem Kurzeinblick etwas Licht ins Dunkle bringen! lg
------------------ ----------------------------- Thxs 77Andreas Tippfehler sind gewollt Einen Vorsprung im Leben hat, wer da anpackt, wo die anderen erst einmal reden. John F. Kennedy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BountyB Mitglied
Beiträge: 30 Registriert: 15.07.2013 Inventor 2014
|
erstellt am: 15. Jul. 2013 15:15 <-- editieren / zitieren --> Unities abgeben:
|
77Andreas Mitglied Techniker
Beiträge: 244 Registriert: 17.10.2012 Win 7 SP1.0 / 64 bit / IV 2014
|
erstellt am: 15. Jul. 2013 15:38 <-- editieren / zitieren --> Unities abgeben: Nur für BountyB
Freut mich, dass es soweit funktioniert! Wie gesagt, du müsstest jede iPart-Variante einmal öffnen die iLgic Regel mit der RMT von Hand aus ausführen lassen anschliessend die iProperties öffnen & kurze Kontrolle der Benutzerdef. Einträge iParts-Tabelle bearbeiten ( es sollte dann eine Meldung kommen )--> iParts_Meldung.JPG iPartsTabelle müsste dann aktualisiert sein ( iParts_Tabelle_aktualisiert.jpg) hoffe diese Erklärung hilft wieder ein wenig weiter lg ------------------ ----------------------------- Thxs 77Andreas Tippfehler sind gewollt Einen Vorsprung im Leben hat, wer da anpackt, wo die anderen erst einmal reden. John F. Kennedy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BountyB Mitglied
Beiträge: 30 Registriert: 15.07.2013 Inventor 2014
|
erstellt am: 15. Jul. 2013 15:42 <-- editieren / zitieren --> Unities abgeben:
Ah Okay, jetzt habe ich verstanden was du mit ipart meinst (Du meist jede in dem dem ipart vorhande Variante muss über run aktualisiert werden) Das ist ja genau das was ich nicht will... Ich möchte, dass ich gleich für alle Varianten das Gewicht ausgespuckt bekomme ohne einzeln durchzuklicken Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BountyB Mitglied
Beiträge: 30 Registriert: 15.07.2013 Inventor 2014
|
erstellt am: 15. Jul. 2013 15:45 <-- editieren / zitieren --> Unities abgeben:
|
77Andreas Mitglied Techniker
Beiträge: 244 Registriert: 17.10.2012 Win 7 SP1.0 / 64 bit / IV 2014
|
erstellt am: 15. Jul. 2013 16:09 <-- editieren / zitieren --> Unities abgeben: Nur für BountyB
...deswegen habe ich ja gemeint, dass man diese ( meine ) Variante sicherlich noch weiter automatisieren kann / könnte! immerhin ein Anfang ist gemacht! ------------------ ----------------------------- Thxs 77Andreas Tippfehler sind gewollt Einen Vorsprung im Leben hat, wer da anpackt, wo die anderen erst einmal reden. John F. Kennedy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roland Schröder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13438 Registriert: 02.04.2004 IV 2024
|
erstellt am: 16. Jul. 2013 00:45 <-- editieren / zitieren --> Unities abgeben: Nur für BountyB
Zitat: Original erstellt von BountyB: ... Ich möchte, dass ich gleich für alle Varianten das Gewicht ausgespuckt bekomme ohne einzeln durchzuklicken.
Und ich möchte, dass ich mein Geld bekomme, ohne mich dafür immer so anstrengen zu müssen. Was Du möchtes, geht grundsätzlich nicht! Die Tabelle kann nur die Eingabewerte zeigen. Die Masse ist aber das Ergebnis der ausmodellierten Form, und die muss erst erzeugt werden, um das Volumen und daraus errechnet die Masse bestimmen zu können. Wenn das in der Tabelle stehen könnte, würden wir kein teures Inventor kaufen müssen, sondern würden mit Excel modellieren. ------------------ Roland www.Das-Entwicklungsbuero.de It's not the hammer - it's the way you hit! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
winter7288 Mitglied Konstrukteur
Beiträge: 40 Registriert: 03.07.2008 HP Z420 Workstation Intel Xeon E5-1620 @3,6GHz; 32GB RAM NVIDIA Quadro K4000; 3GB 3Dconnexion SpaceExplorer MS Windows 7 Professional SP1 (x64) Autodesk Product Design Suite 2016 SP2 (x64)
|
erstellt am: 16. Jul. 2013 08:26 <-- editieren / zitieren --> Unities abgeben: Nur für BountyB
Hallo, ich habe dafür mal ein Makro in irgendeinem englischsprachigen Forum gefunden. Leider weiß ich nicht mehr, von wem das war.
Code: Public Sub UpdateWeightOfiParts() ' Get the active document. This assumes it is a part. Dim oPartDoc As PartDocument Set oPartDoc = ThisApplication.ActiveDocument ' Check that this part is an iPart factory. If Not oPartDoc.ComponentDefinition.IsiPartFactory Then MsgBox "Dieses Teil muss eine iPart-Fabrik sein." Exit Sub End If Dim oFactory As iPartFactory Set oFactory = oPartDoc.ComponentDefinition.iPartFactory ' Check that there's a "Gewicht" column in the iPart table, ' and get its index in the table. Dim iWeightColumnIndex As Long iWeightColumnIndex = GetColumnIndex(oFactory, "Gewicht") If iWeightColumnIndex = -1 Then MsgBox "Die Spalte ""Gewicht"" existiert nicht in der Tabelle." Exit Sub End If ' Iterate through the rows Dim oRow As iPartTableRow For Each oRow In oFactory.TableRows ' Make this the active row so the model will recompute. oFactory.DefaultRow = oRow ' Get the weight. Dim dWeight As Double dWeight = oPartDoc.ComponentDefinition.MassProperties.Mass ' Convert it to current mass units defined by the document. Dim strWeight As String strWeight = oPartDoc.UnitsOfMeasure.GetStringFromValue( _ dWeight, kDefaultDisplayMassUnits) ' Set the row value for the weight column. oRow.Item(iWeightColumnIndex).Value = strWeight Next End Sub ' Function that given a factory and the name or a column will return ' the index number of the column, if it’s found in the factory’s ' table. If the column is not found it returns –1. The comparison ' of the name is done in a case insensitive way. Private Function GetColumnIndex(ByVal Factory As iPartFactory, _ ByVal ColumnName As String) As Long ' Iterate through all of the columns looking for a ' match to the input name. Dim i As Long For i = 1 To Factory.TableColumns.Count Dim oColumn As iPartTableColumn Set oColumn = Factory.TableColumns.Item(i)
' Compare this column with the input name. If LCase(oColumn.DisplayHeading) = LCase(ColumnName) Then ' A matching column was found so exit. GetColumnIndex = i Exit Function End If Next ' The column wasn't found so return -1. GetColumnIndex = -1 End Function
Das setzt voraus, daß es eine benutzerdefinierte iProperty "Gewicht" gibt. Wenn das Makro ausgeführt wird, werden alle iParts erstellt und das Gewicht in die iPart-Tabelle geschrieben.Das lässt sich sicher auch mit iLogic machen, nur leider kenne ich mich damit nicht aus. ------------------ Gruß aus dem Westerwald, Manfred Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BountyB Mitglied
Beiträge: 30 Registriert: 15.07.2013 Inventor 2014
|
erstellt am: 16. Jul. 2013 09:26 <-- editieren / zitieren --> Unities abgeben:
Ja Super! Genau sowas habe ich gebraucht! Funzt 1A! Danke Manfred Kannte mich zwar weder mit iLogic noch mit den Macros aus aber es hat auf anhieb funktioniert! Kann ich dieses Macro auch irgendwie speichern damit ich ich es bei anderen iparts nur noch aufrufen muss nachdem ich bei den benutzerdefinierten iproperties "Gewicht" hinzugefügt habe? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
winter7288 Mitglied Konstrukteur
Beiträge: 40 Registriert: 03.07.2008 HP Z420 Workstation Intel Xeon E5-1620 @3,6GHz; 32GB RAM NVIDIA Quadro K4000; 3GB 3Dconnexion SpaceExplorer MS Windows 7 Professional SP1 (x64) Autodesk Product Design Suite 2016 SP2 (x64)
|
erstellt am: 16. Jul. 2013 09:29 <-- editieren / zitieren --> Unities abgeben: Nur für BountyB
Leider kenne ich mich auch nicht wirklich mit Makros aus. Ich habe es in "Module1" in der ipt gespeichert. Hast Du schon probiert, es im Anwendungsprojekt zu speichern? ------------------ Gruß aus dem Westerwald, Manfred Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
77Andreas Mitglied Techniker
Beiträge: 244 Registriert: 17.10.2012 Win 7 SP1.0 / 64 bit / IV 2014
|
erstellt am: 16. Jul. 2013 09:44 <-- editieren / zitieren --> Unities abgeben: Nur für BountyB
Ich bekomme mit dem angefügten Code eine Fehlermeldung.... wer kann mir da freundlicherweise weiterhelfen....? Thxs
------------------ ----------------------------- Thxs 77Andreas Tippfehler sind gewollt Einen Vorsprung im Leben hat, wer da anpackt, wo die anderen erst einmal reden. John F. Kennedy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
winter7288 Mitglied Konstrukteur
Beiträge: 40 Registriert: 03.07.2008 HP Z420 Workstation Intel Xeon E5-1620 @3,6GHz; 32GB RAM NVIDIA Quadro K4000; 3GB 3Dconnexion SpaceExplorer MS Windows 7 Professional SP1 (x64) Autodesk Product Design Suite 2016 SP2 (x64)
|
erstellt am: 16. Jul. 2013 09:53 <-- editieren / zitieren --> Unities abgeben: Nur für BountyB
|
BountyB Mitglied
Beiträge: 30 Registriert: 15.07.2013 Inventor 2014
|
erstellt am: 16. Jul. 2013 10:05 <-- editieren / zitieren --> Unities abgeben:
Hatte auch erst eine Fehlermeldung da ich "end function" mit reinkopiert hatte obwohl es schon im VBA Editor stand also war es doppelt. Ansonsten einfach in der ipart Tabelle den Colum "Gewicht" hinzufügen und dann hat es geklappt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
77Andreas Mitglied Techniker
Beiträge: 244 Registriert: 17.10.2012 Win 7 SP1.0 / 64 bit / IV 2014
|
erstellt am: 16. Jul. 2013 10:30 <-- editieren / zitieren --> Unities abgeben: Nur für BountyB
Funkt*danke* ------------------ ----------------------------- Thxs 77Andreas Tippfehler sind gewollt Einen Vorsprung im Leben hat, wer da anpackt, wo die anderen erst einmal reden. John F. Kennedy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dilpschi Mitglied Ing. Verfahrenstechnik
Beiträge: 18 Registriert: 29.04.2013
|
erstellt am: 01. Okt. 2014 08:35 <-- editieren / zitieren --> Unities abgeben: Nur für BountyB
Hallo Allerseits, basierend auf den Thread hätte ich noch einmal eine Frage. Ich würde gern eine Art Kalkulationsgewicht als iProp erzeugen, welches 20% über der regulären Masse liegt. So eine Art: iProperties.Value ("Custom", "Gew") = iProperties.Mass * 1,2 Aber soooo einfach gehts natürlich nicht . Was mach ich falsch? VG Tom ------------------ Einfach mal rechts fahren.... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
surfeu36 Mitglied
Beiträge: 5 Registriert: 08.02.2007
|
erstellt am: 21. Okt. 2016 23:36 <-- editieren / zitieren --> Unities abgeben: Nur für BountyB
|