Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  iLogic Masse in einer Drawing auslesen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   iLogic Masse in einer Drawing auslesen (359 mal gelesen)
Shanks10
Mitglied



Sehen Sie sich das Profil von Shanks10 an!   Senden Sie eine Private Message an Shanks10  Schreiben Sie einen Gästebucheintrag für Shanks10

Beiträge: 29
Registriert: 20.10.2016

Inventor 2017

erstellt am: 08. Jan. 2018 14:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

ich habe folgenden Standardcode verwendet:
mass = iProperties.Mass
iProperties.Value("Custom", "Masse") = mass
MessageBox.Show("Mass = " & mass, "iLogic")

Wenn ich diese Regel in meiner .ipt ausführe bekomme ich in der Messagebox das Gewicht ohne Einheit angezeigt (alles gut). Bei der gleichen Regel/Code in meiner .dwg Datei ist die Ausgabe immer "0". Kann mir einer erklären wieso? Ich möchte die Masse als Benutzerparameter in meiner Drawing speichern, sodass ich diese ohne Einheit in meinen Title Block schreiben kann. Ich bekomme auf den verschiedensten wegen immer wieder "0" raus.

Der Code spuckt mir nur das richtige Ergebnis aus wenn ich
mass = iProperties.Mass(iProperties.Value("Project", "Part Number")& ".ipt")
iProperties.Value("Custom", "Masse") = mass
eingebe und mich so direkt auf mein Part beziehe. Nun habe ich aber auch .iam Daten und will nicht jedes Mal die Regel umschreiben müssen. Wie komme ich an die Masse in einer Drawing bzw wie komme ich an den Datentyp .ipt / .iam in einer Drawing?

Vielen Dank schonmal 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ruzy5624
Mitglied
Konstruktionsleiter / staatl. gepr. Techniker


Sehen Sie sich das Profil von Ruzy5624 an!   Senden Sie eine Private Message an Ruzy5624  Schreiben Sie einen Gästebucheintrag für Ruzy5624

Beiträge: 251
Registriert: 01.07.2015

Product Design Suite 2018 Ultimate
Visual Studio 2017
Windows 10 Pro
Intel Xeon E3-1245 v5 @ 3,5GHz
Nvidia Quadro M4000 8GB
RAM 32GB
2x 24" Monitore FullHD
SpaceMouse Pro

erstellt am: 08. Jan. 2018 18:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Shanks10 10 Unities + Antwort hilfreich


Masse1801081837.JPG

 
Dafür brauchst du keine iLogic-Regel...

Du kannst die Masse des Bauteils direkt in einen Text packen, siehe hierzu angehängtes Bild.

Dein erster iLogic-Code greift zudem auf die Masse der Zeichnung zu und diese hat logischerweise keine Masse, da es sich ja um eine Zeichnung handelt.

Wenn du die Masse unbedingt per iLogic aus dem Modell ziehen möchtest und nicht auf die standardmäßig gegebenen Text-Funktionen zurückgreifen möchtest, dann sag Bescheid...
Den Code dafür stelle ich dir gerne zur Verfügung, auch mit Unterscheidung zwischen Bauteil und Baugruppe.

------------------
Mit Besten Grüßen

Marcel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shanks10
Mitglied



Sehen Sie sich das Profil von Shanks10 an!   Senden Sie eine Private Message an Shanks10  Schreiben Sie einen Gästebucheintrag für Shanks10

Beiträge: 29
Registriert: 20.10.2016

Inventor 2017

erstellt am: 09. Jan. 2018 15:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

"Bescheid"

Danke für deine Antwort.

Da ich wie erwähnt die Masse ohne Einheit in meinem Title Block benötige, bringt mir die standardmäßige Textfunktion nichts. Dann würde ich auch gar keinen Aufwand fahren müssen....Ich habe mir den Code in meinem Titble Block Template jetzt so zurecht gelegt, dass nach dem Speichern eines Bauteils (und somit ein vorhandener XXX.ipt name) auf die .ipt zugegriffen wird und dort die Masse ohne Einheit rausgeschrieben wird. Da ich dies nur bei 2-3 Assemblies machen muss, änder ich dafür meine Regel ab, würde trotzdem gerne die saubere Lösung wissen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ruzy5624
Mitglied
Konstruktionsleiter / staatl. gepr. Techniker


Sehen Sie sich das Profil von Ruzy5624 an!   Senden Sie eine Private Message an Ruzy5624  Schreiben Sie einen Gästebucheintrag für Ruzy5624

Beiträge: 251
Registriert: 01.07.2015

Product Design Suite 2018 Ultimate
Visual Studio 2017
Windows 10 Pro
Intel Xeon E3-1245 v5 @ 3,5GHz
Nvidia Quadro M4000 8GB
RAM 32GB
2x 24" Monitore FullHD
SpaceMouse Pro

erstellt am: 10. Jan. 2018 20:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Shanks10 10 Unities + Antwort hilfreich

Code:
Dim oDrwDoc As DrawingDocument = ThisApplication.ActiveEditDocument
Dim oUseProps As PropertySet = oDrwDoc.PropertySets("Inventor User Defined Properties")
Dim oSheet As Sheet = oDrwDoc.Sheets(1)

If oSheet.DrawingViews.Count = 0 Then
MessageBox.Show("Es ist keine Ansicht auf der Zeichnung vorhanden!", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If

Dim oView As DrawingView = oSheet.DrawingViews(1)

Dim oRefDoc As Document = DirectCast(oView.ReferencedFile.ReferencedDocument, Document)
Dim oRefDesProps As PropertySet = oRefDoc.PropertySets("Design Tracking Properties")

Dim dblMass As Double = CDbl(oRefDesProps("Mass").Value) / 1000
dblMass = Math.Round(dblMass,2)

Try
oUseProps.Add("", "ModellMasse")
Catch
End Try

oUseProps("ModellMasse").Value = dblMass


Der Code liest die Masse aus dem Modell auf der Zeichnung aus und schreibt sie in ein benutzerdefiniertes iProperty der Zeichnung.

Das iProperty der Zeichnung heißt: "ModellMasse"

Dieses kann dann in der Zeichnung abgerufen werden.

Dabei ist es dem Code völlig egal, um was für ein Modell es sich handelt... Also Bauteil, Baugruppe, ...

------------------
Mit Besten Grüßen

Marcel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2018 CAD.de