| |
| 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: iLogic: Volumen aus Volumenkörper (multibogy) auslesen (2582 / mal gelesen)
|
mechaningenieur Mitglied Dipl.-Ing.
Beiträge: 20 Registriert: 06.07.2012
|
erstellt am: 03. Dez. 2020 15:16 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, habe schon etwas gegoogelt aber irgendwie nichts brauchbares herausbekommen. Mein Problem: mit volume=iProperties.Volume kann ich das Volumen des ganzen Parts auslesen, oder auch von einzelnen features (z.B. Umdrehung1), wenn die anderen Features unterdrückt sind. Aber ich habe mehrere Volumenkörper, die auch z.T. an denselben Features "dranhängen", weil sie durch "Trennen" entstanden sind. Deshalb hilft mir das Auslesen des Volumens eines Features nicht weiter. Gibt es einen einfachen Weg, direkt das Volumen eines Volumenkörpers auszulesen? So in der Art vol=Volumenkörper1.Volume? Der Wert liegt ja immerhin vor, man kann sich ja per Mausklick unter Eigenschaften das Volumen anschauen. Leider sehe ich da auch nicht, wie der Parameter heißt. Vielen Dank für jeden Tipp! Bleibt gesund! VG Helmut Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EIBe 3D Mitglied Dipl. - Ing. (FH)
Beiträge: 267 Registriert: 24.01.2020 HP Z4 G4 Workstation Xeon 3,6 32GB Nvidia P2000 WIN10 SW2015 SP5.0 SW2017 ************* Inv2018 akt.SP
|
erstellt am: 03. Dez. 2020 15:43 <-- editieren / zitieren --> Unities abgeben: Nur für mechaningenieur
Hallo Helmut, mit folgendem Code bekommst du für jeden Volumenkörper in einem Multibody Part das Volumen ausgegeben
Code: Sub Main()Dim oPrtDoc As PartDocument = ThisApplication.ActiveDocument Dim oSurfBodies As SurfaceBodies = oPrtDoc.ComponentDefinition.SurfaceBodies Dim oSurfBody As SurfaceBody For Each oSurfBody In oSurfBodies MsgBox(oSurfBody.Volume(100)) Next End Sub
Gruß EIBe 3D
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mechaningenieur Mitglied Dipl.-Ing.
Beiträge: 20 Registriert: 06.07.2012
|
erstellt am: 03. Dez. 2020 18:34 <-- editieren / zitieren --> Unities abgeben:
|
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 720 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 04. Dez. 2020 08:44 <-- editieren / zitieren --> Unities abgeben: Nur für mechaningenieur
|
mechaningenieur Mitglied Dipl.-Ing.
Beiträge: 20 Registriert: 06.07.2012
|
erstellt am: 04. Dez. 2020 10:40 <-- editieren / zitieren --> Unities abgeben:
hallo KraBBy, ja das sicherlich, aber denke, das war nur als Beispiel gemeint. Aber etwas anderes hat mich irritiert, nachdem ich das ausprobiert hatte und ich frage mich ob es mit der "100" zu tun hat. Die Ausgabe ist (offensichtlich) in cm^3, obwohl ich mm,N,s eingestellt habe, hmm. Grüße, Helmut Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RolandD Mitglied
Beiträge: 558 Registriert: 07.01.2005 i7-9700k 32GB DDR4-RAM Nvidia RTX 2060 SSD 970 m.2 Win10-64 (21H2) AIP 2020.3 Dell U3417W
|
erstellt am: 04. Dez. 2020 10:48 <-- editieren / zitieren --> Unities abgeben: Nur für mechaningenieur
Zitat: Original erstellt von mechaningenieur: Die Ausgabe ist (offensichtlich) in cm^3, obwohl ich mm,N,s eingestellt habe,
Inventor verarbeitet intern alle Längenmaße in cm. Also wird auch das Volumen in cm³ ausgegeben. ------------------ Gruß Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mechaningenieur Mitglied Dipl.-Ing.
Beiträge: 20 Registriert: 06.07.2012
|
erstellt am: 05. Dez. 2020 13:28 <-- editieren / zitieren --> Unities abgeben:
|
RolandD Mitglied
Beiträge: 558 Registriert: 07.01.2005 i7-9700k 32GB DDR4-RAM Nvidia RTX 2060 SSD 970 m.2 Win10-64 (21H2) AIP 2020.3 Dell U3417W
|
erstellt am: 05. Dez. 2020 16:01 <-- editieren / zitieren --> Unities abgeben: Nur für mechaningenieur
Hallo Helmut, kannste glauben, das ist der Grund. Alles, was Inventor in Parameter schreibt, wird so formatiert, wie von dir vorgegeben. (".. obwohl ich mm,N,s eingestellt habe ..") Wenn du aber einen internen Wert abfragst, ist er in der internen Einheit. ------------------ Gruß Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 720 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 05. Dez. 2020 19:11 <-- editieren / zitieren --> Unities abgeben: Nur für mechaningenieur
|
mechaningenieur Mitglied Dipl.-Ing.
Beiträge: 20 Registriert: 06.07.2012
|
erstellt am: 07. Dez. 2020 12:21 <-- editieren / zitieren --> Unities abgeben:
|
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 720 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 07. Dez. 2020 13:08 <-- editieren / zitieren --> Unities abgeben: Nur für mechaningenieur
Kommt eben drauf an, was man braucht. Willst Du das Volumen immer in der gleichen Einheit (z.B. mm³), dann würde ich die Umrechnung 'fest' im Code machen. Also die internen cm³ * 1000. (Das halte ich für einfacher, als den folgenden Weg.) Soll sich die Ausgabe nach der verwendeten Einstellung im Dokument richten, dann eben über UnitsOfMeasure.LengthUnits bzw. auch UnitsOfMeasure.ConvertUnits (das Ergebnis ist eine Zahl) UnitsOfMeasure.GetStringFromValue (liefert einen String mit Einheit) Vielleicht hilft da dieses Beispiel weiter: Create or update custom iProperty API Sample ------------------ Gruß KraBBy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EIBe 3D Mitglied Dipl. - Ing. (FH)
Beiträge: 267 Registriert: 24.01.2020 HP Z4 G4 Workstation Xeon 3,6 32GB Nvidia P2000 WIN10 SW2015 SP5.0 SW2017 ************* Inv2018 akt.SP
|
erstellt am: 07. Dez. 2020 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für mechaningenieur
Zitat: Original erstellt von KraBBy: Es hat mich interessiert, was der Parameter 100 bei .Volume(100) bedeutet. So landete ich in der Hilfe Help API - SurfaceBody.Volume PropertyWenn ich das richtig verstehe, wird der zulässige Fehler angegeben. Bei Angabe von 0.01 wäre max. 1 Prozent Abweichung zulässig. Dann wäre ein Wert von 100 ... naja vielleicht etwas 'sehr groß'
Ich hatte es beim schnellen "Überfliegen" genau umgekehrt verstanden als geforderte Genauigkeit. Wenn der zulässige Fehler jedoch bei 100% liegt wäre das selbstverständlich eher ungünstig
Beim Nachlesen was die Muttersprachler so treiben sah ich auch, dass sie scheinbar den durch 100 geteilten Wert angeben. Also Fehler 1% -> 0,01. Ich vermute dass die Toleranzeinstellung sich erst bemerkbar macht bei komplexeren Teilen als einem Quader. Grüße
EIBe 3D
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |