Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  BOM API Export über iLogic

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
Mit SAP ERP/PLM den Anlagenbau perfekt organisiert - NEUMAN & ESSER GROUP , ein Anwenderbericht
Autor Thema:  BOM API Export über iLogic (622 / mal gelesen)
RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 29. Jul. 2024 10:07    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, ich möchte gerne eine BOM Liste aus dem 3D Modell ziehen und ins Excel Format übertragen.
Zeile A Soll Level of Detail sein, B Item Number, C Objektmenge, D Summe Objektmenge, E Revisionsnummer, F Titel, G Icon (Bild des Bauteils/Baugruppe), H Beschreibung, I Bauteilnummer, J Bestandsnummer, K BOM (Normal und Gekauft), L Material, M Masse , N Dichte, O iPropertie benutzerdefiniert "Zuschnitt", P Part Color

Level of Detail wenn möglich soll von der obersten baugruppe bis zur tiefsten Unterbaugruppe bis zu jedem Bauteil (auch wenn es in der obersten Baugruppe verbaut ist) alle erfassen.

Vorgabe Stücklistenstruktur soll Normal und Gekauft sein, da andere (Phantom, Unteilbar und Referenz in der Stückliste wohl nicht angezeigt werden)
Sollte es da Probleme geben reicht mir die Vorgabe Stückliste "Normal".
Inhaltscenter Bauteile wie Schrauben solle auch in den BOM Export.

Die Excelliste soll im Pfad des Projekts erstellt werden und der Name soll dem der Baugruppe entsprechen aber ggf. im Fenster was beim speichern angezeigt wird, geändert werden können.

Trotz Recherche habe ich irgendwie nicht brauchbares gefunden.
Daher habe ich meine Goldrandlösung oben formuliert. Bin gespannt.
Vielen Dank im voraus.

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2580
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 29. Jul. 2024 14:43    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 RP4711 10 Unities + Antwort hilfreich

Moin

Dichte gibt es in der BOM so nicht. Die Dichte kannst du z.B. über eine kleine iLogicregel, die beim Speichern das benutzerdefinierte iProp mit der gewünschten Formatierung schreibt, in die Stückliste holen. Dazu im aktiven Material des Bauteiles im PhysicalPropertiesAsset nach "structural_Density" schauen.

Level of Detail gibt es nicht mehr. Ist vielleicht der model state gemeint?

Wie ergibt sich die Summe Objektmenge? Ich rate mal damit ist die Anzahl gemeint, also Objektmenge multipliziert mit Basismenge?

Part Color = Darstellung?

Du solltest die Stückliste einmal manuell so hinfummeln und die Anpassung als XML-Datei eportieren. Dann suchst du dir einen BOM Export Code der diese Stücklistenanpassung importiert und dann den Export durchzieht. Etwas in der Art müsste sogar hier im Forum rumliegen. Code zum Auslesen des Projektpfades (Application.DesignProjectManager.ActiveDesignProject.WorkSpacePath-Property), des Baugruppennamen (System.IO.Path.GetFileNameWitoutExtension-Methode) und für einen Dateidialog gibt's auch zu Hauf im Netz.

------------------
MfG
Ralf

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 29. Jul. 2024 15:30    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, vielen Dank für die Rückmeldung.
Dichte über eine kleine Ilogicregel klingt gut, so mache ich es auch mit dem Zuschnitt.
Allerdings weiß ich nicht wie "xlsRow.Add(propSets("{F29F85E0-4FF9-1068-AB91-08002B27B3D9}")("Title").Value)" als Benutzerdefinierte iPropertie ausformuliert mit der
richtigen ID, also dem Code stimmt. Im Handbuch zum Thema API habe ich schon mal gestöbert.
Genau die Anzahl ist gemeint. Bei einer idw kann mal ja die Objektmenge nehmen, da sonst bei einem Träger 1000mm lang die Menge bei zweien auf 2000mm als Anzahl steht.
Part Color ist die aktuelle Bauteilfarbe, wird auch wohl eine kleine Ilogicregel werden.

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2580
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 30. Jul. 2024 08:03    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 RP4711 10 Unities + Antwort hilfreich

Moin

Schreibst du die Stückliste von Excel aus, indem du jeden Wert einzeln aus der Inventor BOM holst? Oder wo kommt so was wie "xlsRow.Add..." her?  Da machst du dir das Leben mM schwerer als es sein müsste.
Falls du schon Codeteile hast, wäre es vielleicht hilfreich die zu posten, damit wir nicht aneinander vorbei reden.

iLogic für die Dichte als benutzerdef. iProp:

Code:

Dim oDoc As PartDocument = ThisDoc.Document
Dim oMat As MaterialAsset = oDoc.ActiveMaterial
Dim dDensity As Double = oMat.PhysicalPropertiesAsset.Item("structural_Density").value
iProperties.Value("Custom", "Dichte") = dDensity.ToString & " kg/m³"

Part Color gibt es nicht, auch nicht als iLogic. Die "Darstellung" fasst diverse Optionen (Farbe, Muster, Relief usw.) zusammen. Eine Darstellung kann natürlich "Blau" heißen und so den Eindruck erwecken einfach nur eine Farbe zu sein. Schau mal in der Stückliste in die Spalte "Darstellung", ich denke das ist das gesuchte.

Die Spalte "Objektmenge" in der Stückliste ist in der API die "ItemQuantity". Das entspricht der Anzahl wie oft das Bauteil in der Baugruppe enthalten ist. Leider gibt es bei der Spalte ANZAHL ein echtes Übersetzungchaos. Die Spalte "ANZAHL" in der Stückliste ist in der API die "TotalQuantity" (ist gleich ItemQuantity * Basismenge). Das hätte man eher mit Gesamtmenge übersetzen sollen.

Wie gesagt, stellt dir einmal die Stückliste manuell korrekt ein, exportier diese Anpassung als XML-Datei und lies die Anpassungsdatei vor jedem Export ein. Dann die BOM einfach als Excel exportieren, fertig.

------------------
MfG
Ralf

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 30. Jul. 2024 10:02    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 und nochmals vielen Dank für die Antwort.
Ich möchte mit ilogic eine BOM ziehen und in Excel übertragen. Die Datei ist dann für weitere Arbeiten in Excel. Mit dem Inventor muss dann nix mehr gemacht werden.
Part color habe ich  >> iProperties.Value("Custom", "Part color") =iProperties.PartColor als externe Regel erstellt, Dichte werden ich dann auch wie von Ihnen geschrieben
umsetzen.

Ich bin durch Zufall über diese Lösung vom Herrn Navara gestolpert:
https://forums.autodesk.com/t5/inventor-programming-ilogic/export-bom-model-data-to-excel/td-p/12176183
habe diese gestern schon getestet und diese läuft bis auf die benutzerdefinierten iProperties "Zuschnitt, Part color und Dichte" (die als iPropertie nun mit jeweils einer kleinen externen Regel erstellt werden.

Die Anzahl ist bei der Regel https://forums.autodesk.com/t5/inventor-programming-ilogic/export-bom-model-data-to-excel/td-p/12176183 vom Herrn Navara für mich passend.

Es fehlen mir eigentlich "nur" noch die benutzerdefinierten iProperties und wenn möglich die Möglichkeit mit der Namensgebung der Datei.

Für mich ist die iLogic Lösung einfacher, da Vorlagen schnell mal verschwinden und überspeichert werden. Außerdem ist wie ich festgestellt habe, nicht Excel gleich Excel.

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 30. Jul. 2024 10: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

Die Funktion ein Bild vom Bauteil in Excel mit iLogic einzufügen habe ich im Handbuch API gefunden und auch schon in einem VBA Code entdeckt.
Die Umsetzung ist aber wohl kritisch.

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2580
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 30. Jul. 2024 13:09    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 RP4711 10 Unities + Antwort hilfreich

Moin

Die Anpassungsdatei legt man sich z.B. mit in den Ordner für externe iLogicregeln. Ist der Ordner weg, macht es auch nix wenn die Datei fehlt. Gegen unbeabsichtigte oder böswillige Veränderungen, könnte man Zugriffsrechte setzen. Theoretisch könnte man auch den Inhalt, ist ja lesbarer Text, in eine eigene Sub in der Exportregel legen und halt immer wenn die Datei benötigt wird, an einer definierten Stelle neu erstellen und anschließend wieder löschen.
Aber wie du willst.

Warum Autodesk für die Thumbnails immer noch keine sinnvolle Alternative zu den IPictureDisp gebracht hat...keine Ahnung. Es ist ein Krampf damit. Hab es nicht getestet, aber so sollte es gehen.

In den Header deiner Regel:

Code:
AddReference "System.Drawing"
AddReference "stdole"
AddReference "System.Windows.Forms"

Deine ganze bisherige Regel muss als "Sub Main" in Class "ThisRule", da unten drunter noch die AxHostConverter Klasse muss.

Code:

Class ThisRule
Sub Main
'##############################################
' HIER KOMMT DEINE GANZE STÜCKLISTENREGEL REIN
' mittels:
' Dim oImg As System.Drawing.Image = MakeThumb(oDoc)
' holst du dir in jeder Stücklistenzeile das
' Thumbnail als Image und fügst es in die xlsRow
' Liste ein. Speichern muss nicht sein.
'##############################################
End Sub

Private Function MakeThumb(byVal oDoc As Document) as System.Drawing.Image
    Dim oDoc As Document = ThisDoc.Document
    Dim oThumb As stdole.IPictureDisp
    Do
        oThumb = oDoc.Thumbnail
    Loop While oThumb.Handle<0
    Dim myPict As New AxHostConverter
    Dim oImage As System.Drawing.Image=myPict.GetImageFromIPictureDisp(oThumb)
    'Optional Speichern
    'Dim sPath As String = System.IO.Path.ChangeExtension(oDoc.FullFileName, "jpg")
    'oImage.Save(sPath,System.Drawing.Imaging.ImageFormat.Jpeg )
End Function
End Class

Class AxHostConverter
Inherits System.Windows.Forms.AxHost

Public Sub New()
    MyBase.New("{63109182-966B-4e3c-A8B2-8BC4A88D221C}")
End Sub

Public Function GetImageFromIPictureDisp(ByVal pictureDisp As stdole.IPictureDisp) As System.Drawing.Image
Return CType(MyBase.GetPictureFromIPicture(pictureDisp), System.Drawing.Image).GetThumbnailImage(150,150,a,b)
End Function
End Class



iProperties.PartColor ist die Darstellung des Bauteiles. Warum die iLogic Programmierer da jetzt wieder mit Farbe anfangen ... 
Beachte aber, das gibt dir die Einstellung des Bauteiles an. Die kann aber je Exemplar in der Baugruppe überschrieben werden.

Für die benutzerdefinierten iProps müsste es dann so lauten:

Code:

xlsRow.Add(propSets("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}")("Zuschnitt").Value)
xlsRow.Add(propSets("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}")("Part color").Value)


Die Position innerhalb der Objektliste "xlsRow" beachten und in der Sub "GetBOMHeader" die Spaltenüberschriften ergänzen.


Für den Dialogzum Speicherort und Name, in der Regel von M.Navara die Zeile

Code:

Dim excelFileName As String = System.IO.Path.ChangeExtension(asm.FullFileName, ".xlsx")

ersetzen mit:

Code:

Dim oApp As Inventor.Application = ThisApplication
Dim sPath As String = oApp.DesignProjectManager.ActiveDesignProject.WorkspacePath
Dim sName As String = System.IO.Path.GetFileNameWithoutExtension(asm.FullFileName)

Dim oDlg As Inventor.FileDialog
oApp.CreateFileDialog(oDlg)

oDlg.Filter = "Excel Files (*.xlsx)|*.xlsx|All Files (*.*)|*.*"
oDlg.FilterIndex = 1
oDlg.DialogTitle = "iLogic - Export BOM"
oDlg.InitialDirectory = sPath
oDlg.FileName = sPath & "\" & sName
oDlg.CancelError = True
oDlg.ShowSave

If oDlg.FileName <> "" Then
    Dim excelFileName As String = oDlg.FileName
End If


------------------
MfG
Ralf

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 30. Jul. 2024 13: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

Da sag ich vorab schon mal vielen Dank. Das sieht so schon sehr gut aus.
Melde mich wenn ich alles eingefügt habe.

Vielen Dank.

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 31. Jul. 2024 08:19    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 , ich habe die Regel mal zusammengefügt und bekomme "Fehler in Zeile 25 : Die Variable "excelFileName" verbirgt eine Variable in einem einschließenden Block."
als Fehlermeldung.
Zeile 25 Dim excelFileName As String = oDlg.FileName

"Die Position innerhalb der Objektliste "xlsRow" beachten und in der Sub "GetBOMHeader" die Spaltenüberschriften ergänzen" soll wo ergänzt werden?

"Dim oImg As System.Drawing.Image = MakeThumb(oDoc)" soll wo genau rein?

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2580
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 31. Jul. 2024 09:31    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 RP4711 10 Unities + Antwort hilfreich

Moin

Mach aus

Code:
If oDlg.FileName <> "" Then
    Dim excelFileName As String = oDlg.FileName
End If

Code:

Dim excelFileName As String
If oDlg.FileName <> "" Then
    excelFileName = oDlg.FileName
Else
    Exit Sub
End If

VB mag es nicht wenn eine Variable in einer IF-Abfrage deklariert wird. Das Exit Sub im ELSE-Zweig führt zum Abbruch, wenn der Benutzer im Dialog den Abbrechen-Button gedrückt hat.

M. Navara hat für die Spaltenüberschriften diese Funktion:

Code:

Function GetBomHeader() As List(Of Object)
Dim header As New List(Of Object)
header.Add("Level")
header.Add("ItemNumber")
header.Add("ItemQuantity")
header.Add("TotalQuantity")
header.Add("BOMStructure")
header.Add("Part Number")
header.Add("Title")

Return header
End Function


Da muss an der gewünschten Stelle z.B. ein Eintrag header.Add("Zuschnitt") rein, sonst fehlt diese Spaltenüberschrift und deine Werte stehen in der falschen Spalte.

In der Sub GetBomRowData werden die einzelnen Werte einer Stücklistenzeile in der Reihenfolge geholt, wie sie später von links nach rechts in der Exceltabelle stehen sollen. Soll das Thumbnail hinter die Spalte "Title", muss also in der Sub unter die Zeile

Code:

xlsRow.Add(propSets("{F29F85E0-4FF9-1068-AB91-08002B27B3D9}")("Title").Value)

das Thumbnail eingefügt werden mit

Code:

xlsRow.Add(MakeThumb(oDoc))

Soweit der Plan, ich hab's nicht ausprobiert. Vielleicht funktioniert es so einfach nicht.

------------------
MfG
Ralf

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 31. Jul. 2024 10:08    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, die Änderungen haben geholfen vielen Dank.
Allerdings kommt nun "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt"
Zeile 140 >>  oThumb = oDoc.Thumbnail

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2580
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 31. Jul. 2024 12:37    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 RP4711 10 Unities + Antwort hilfreich

Moin

Schreib in die Sub GetBomRowData unter die Zeile

Code:
Dim compDef As ComponentDefinition = oBomRow.ComponentDefinitions(1)

noch
Code:
Dim oDoc as Document = oCompDef.Document

Es ist halt schwer, wenn der Quellcode nicht vorliegt, immer alle Variablendeklarationen im Auge zu behalten.

------------------
MfG
Ralf

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 31. Jul. 2024 12:49    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

Moin, das hat auch wieder Fehler behoben nun ist aber noch diese Meldung aufgetaucht:
Fehler in Zeile 159 : "a" ist nicht deklariert. Auf das Objekt kann aufgrund der Schutzstufe möglicherweise nicht zugegriffen werden.
Fehler in Zeile 159 : "b" ist nicht deklariert. Auf das Objekt kann aufgrund der Schutzstufe möglicherweise nicht zugegriffen werden.

Zeile 159
Return CType(MyBase.GetPictureFromIPicture(pictureDisp), System.Drawing.Image).GetThumbnailImage(150,150,a,b)

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2580
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 31. Jul. 2024 12:57    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 RP4711 10 Unities + Antwort hilfreich

Moin

Achja, die hatte ich als Platzhalter eingesetzt und dann vergessen. Das Alter 
Die ganze AxHostConverter Klasse ersetzen mit:

Code:

Class AxHostConverter
Inherits System.Windows.Forms.AxHost

Public Sub New()
    MyBase.New("{63109182-966B-4e3c-A8B2-8BC4A88D221C}")
End Sub
Public Function ThumbnailCallback() As Boolean
  Return False
End Function

Public Function GetImageFromIPictureDisp(ByVal pictureDisp As stdole.IPictureDisp) As System.Drawing.Image
    Dim Cb As New Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
    Return CType(MyBase.GetPictureFromIPicture(pictureDisp), System.Drawing.Image).GetThumbnailImage(150,150,Cb,IntPtr.Zero)
End Function
End Class


------------------
MfG
Ralf

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 31. Jul. 2024 13: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, dafür ist der Prozess um diese Regel doch recht fortgeschritten, möchte ich meinen.

Fehler in Zeile 161 : Der Typ "Image.GetThumbnailImageAbort" ist nicht definiert
Zeile 161 >> Dim Cb As New Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2580
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 31. Jul. 2024 13: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 Nur für RP4711 10 Unities + Antwort hilfreich

Ändere bitte
Code:
Dim Cb As New Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)

in
Code:
Dim Cb As New System.Drawing.Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)

------------------
MfG
Ralf

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 31. Jul. 2024 14:38    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 nochmals vielen Dank, der Fehler ist weg.
Das Thumb (Bildchen des Bauteils oder Baugruppe) fehlt im Excel
Auszug aus dem Code
Function GetBOMHeader() As List(Of Object)
Dim header As New List(Of Object)
header.Add("Level")
header.Add("ItemNumber")
header.Add("ItemQuantity")
header.Add("TotalQuantity")
header.Add("BOMStructure")
header.Add("Title")
header.Add("Thumb")
header.Add("Description")
header.Add("Part Number")
header.Add("Stock Number")
header.Add("Zeichnungsnummer")
header.Add("Material")
header.Add("BenDichte")
    header.Add("Zuschnitt")
    header.Add("Part color")

weiterer Auszug aus der Regel
    xlsRow.Add(System.Enum.GetName(GetType(BOMStructureEnum), compDef.BOMStructure))
    xlsRow.Add(propSets("{F29F85E0-4FF9-1068-AB91-08002B27B3D9}")("Title").Value)
xlsRow.Add(MakeThumb(oDoc))
xlsRow.Add(propSets("{32853F0F-3444-11D1-9E93-0060B03C1CA6}")("Description").Value)
Wenn iPropertie leer sein sollten aber angelegt oder ganz fehlen (kann bei Step Daten) passieren, stoppt die Regel und erstellt nicht die Excelliste.
Geht in der Richtung noch was?

Läuft bei der schlimmsten Baugruppe die ich habe Step Import (11163 Bauteile und 610 Baugruppen) fast durch. Fast.

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2580
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 31. Jul. 2024 21:52    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 RP4711 10 Unities + Antwort hilfreich

Moin

Langsam wird es schwierig noch nachzuvollziehen was du wo ändern musst.

Also, für die nicht vorhandenen benutzerdefinierten iProps (die Standardprops sind immer da, leere iProps stören nicht) füge in Class ThisRule irgendwo die Funktion

Code:

Private Function GetPropValue(ByVal oDoc As Document, ByVal sPropSet As String, ByVal sPropName As String) As String
Dim oPropSet As PropertySet = oDoc.PropertySets(sPropSet)
Try
GetPropValue = oPropSet.item(sPropName).value
Catch
GetPropValue = String.Empty
End Try
End Function

ein. In der Sub GetBomRowData änderst du die beiden Zeilen für die benutzerdefinierten iProps in

Code:

xlsRow.Add(GetPropValue(oDoc,"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}","Zuschnitt"))
xlsRow.Add(GetPropValue(oDoc,"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}","Part color"))

Außerdem änderst du in der gleichen Sub GetBomRowData die Zeile

Code:
xlsRow.Add(MakeThumb(oDoc))

in

Code:

Dim oImg As System.Drawing.Image = MakeThumb(oDoc)
xlsRow.Add(oImg)

Die Sub WriteDataToExcel ersetzt du, falls die noch original von Navara ist, mit:

Code:

Sub WriteDataToExcel(xlsFileName As String)
StartExcel()

Dim workBook = GoExcel.Application.Workbooks.Add()
Dim iPicCol As Integer
Dim rowsCount As Integer = Rows.Count
Dim columnsCount As Integer = rows(0).Count

Dim data(rowsCount, columnsCount) As Object
For c As Integer = 0 To columnsCount - 1
For r As Integer = 0 To rowsCount - 1
If Not TypeOf rows(r)(c) Is System.Drawing.Image Then
data(r, c) = rows(r)(c)
Else
iPicCol = c+1
End If
Next
Next

Dim columnName As String = Char.ConvertFromUtf32(columnsCount + 64)

workBook.Worksheets(1).Range("A1:" & columnName & rowsCount).Value2 = data

Dim PicColName As String = Char.ConvertFromUtf32(iPicCol + 64)

For r As Integer = 1 To rowsCount - 1
Dim myPic As System.Drawing.Bitmap = rows(r)(iPicCol-1)

System.Windows.Forms.Clipboard.Clear()
System.Windows.Forms.Clipboard.SetDataObject(myPic, True)

Dim myRange = workBook.worksheets(1).Range(PicColName & r+1)

workBook.Worksheets(1).Paste(myRange, myPic)
Next

workBook.SaveAs(xlsFileName)
workBook.Close()

GoExcel.QuitApplication
End Sub


Die Funktion MakeThumb ersetzen mit:

Code:

Private Function MakeThumb(ByVal oDoc As Document) As System.Drawing.Image
    Dim oThumb As stdole.IPictureDisp
    Do
        oThumb = oDoc.Thumbnail
    Loop While oThumb.Handle<0
    Dim myPict As New AxHostConverter
    Dim oImage As System.Drawing.Image=myPict.GetImageFromIPictureDisp(oThumb)
    Return oImage
End Function



------------------
MfG
Ralf

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 01. Aug. 2024 07:22    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

Guten Morgen,

die Regel läuft sogar bei der extremen Step Datei so durch (11163 Bauteile, 610 Baugruppen).
Zeit ca. 5 Minuten (nur zur Info, habe mit deutlich mehr gerechnet). 860 Zeilen im Excel.

Eine bescheidene Sache noch (wenn es nicht geht ist meine Anfrage zu 100% gelöst):
Die Bilder der Bauteile und Baugruppen sind überlappend da die Zeilenhöhe Standard ist.
Die Spaltenbreite von 150 und Zeilenhöhe von 150 kann ich händisch eingeben.
Eine Formatierung kann man da nicht einstellen oder?

Vielen Dank für Ihre Bemühungen und die starke Umsetzung meiner Anfrage.

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2580
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 01. Aug. 2024 16:24    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 RP4711 10 Unities + Antwort hilfreich

Moin

Die Zeilenhöhe rechnet Excel aber in Points und die Spaltenbreite in Anzahl Zeichen der Standardschrift. Die Pixelwerte helfen da nur bedingt weiter. Die Umrechnung klappt oft nur mäßig gut. Ich würde es einfach iterativ ermitteln und komme bei mir auf Spaltenbreite ungefähr 20 und Zeilenhöhe ungefähr 115.

Code:

Sub WriteDataToExcel(xlsFileName As String)
StartExcel()

Dim workBook = GoExcel.Application.Workbooks.Add()
Dim iPicCol As Integer
Dim rowsCount As Integer = Rows.Count
Dim columnsCount As Integer = rows(0).Count

Dim data(rowsCount, columnsCount) As Object
For c As Integer = 0 To columnsCount - 1
For r As Integer = 0 To rowsCount - 1
If Not TypeOf rows(r)(c) Is System.Drawing.Image Then
data(r, c) = rows(r)(c)
Else
iPicCol = c+1
End If
Next
Next

Dim columnName As String = Char.ConvertFromUtf32(columnsCount + 64)

workBook.Worksheets(1).Range("A1:" & columnName & rowsCount).Value2 = data

Dim PicColName As String = Char.ConvertFromUtf32(iPicCol + 64)

Dim myRange As Object

For r As Integer = 1 To rowsCount - 1
Dim myPic As System.Drawing.Bitmap = rows(r)(iPicCol-1)

System.Windows.Forms.Clipboard.Clear()
System.Windows.Forms.Clipboard.SetDataObject(myPic, True)

myRange = workBook.worksheets(1).Range(PicColName & r+1)
myRange.rowheight = 115

Try
workBook.Worksheets(1).Paste(myRange, myPic)
Catch ex As Exception
Logger.Debug(ex.Message)
End Try


Next

myRange = workBook.worksheets(1).Range(PicColName & 1)
myRange.columnwidth = 20

workBook.SaveAs(xlsFileName)
workBook.Close()

GoExcel.QuitApplication
End Sub



Bei den ganzen Schleifendurchläufen pro Stücklistenzeile ist der Wert gar nicht so schlecht. Die Krücke das Thumbnail über die Zwischenablage einzufügen, bremst vermutlich auch. Könntest ja mal die Zeiten vergleichen, wenn in der Sub WriteDataToExcel diese ganze Schleife auskommentiert ist. Bei mir war das mal eben Faktor 4-5 schneller ohne den Thumbnailkonvertierungskram. 

Code:

For r As Integer = 1 To rowsCount - 1
    Dim myPic As System.Drawing.Bitmap = rows(r)(iPicCol-1)

    System.Windows.Forms.Clipboard.Clear()
    System.Windows.Forms.Clipboard.SetDataObject(myPic, True)

    myRange = workBook.worksheets(1).Range(PicColName & r+1)
    myRange.rowheight = 115

Try
workBook.Worksheets(1).Paste(myRange, myPic)
Catch ex As Exception
Logger.Debug(ex.Message)
End Try


Next


------------------
MfG
Ralf

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 02. Aug. 2024 07:31    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

Guten Morgen,

die Regel ist getestet und läuft einwandfrei.
Die extreme Baugruppe 11163 Bauteile und 610 Baugruppen läuft so durch.

Nochmals ein dickes DANKE für Unterstützung und die Umsetzung dieser Anfrage.
Wiedermal 120% getroffen.

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 02. Aug. 2024 07:49    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, die Masse selber kann ich anders als gedacht nicht einstellen.
Ich hätte hier gerne 3 Nachkommastellen und kg drin.
Sonst schrreib ich mir den mit der Formatierung als benutzerdefinierten iPrpopertie.

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2580
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 02. Aug. 2024 09:36    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 RP4711 10 Unities + Antwort hilfreich

Moin

Und woher und wie holst du die Masse? Ist es eine Spalte der BOM oder greifst du in jedem Teil in die physischen Eigenschaften? In den physischen Eigenschaften steht die Masse eh schon in kg drin, muss man nur noch runden und die Einheit ankleben. Den Umweg ein iProp zu erzeugen kann man sich sparen, wenn es nur dafür benötigt wird.

Code:

Try
    xlsRow.Add(Round(compDef.massproperties.mass, 3) & " kg")
Catch
    'virtuelle Bauteile haben keine Masseeigenschaften
    xlsRow.Add("0 kg")
End Try

------------------
MfG
Ralf

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 02. Aug. 2024 09:58    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

Das ist definitiv besser. Regel funktioniert einwandfrei.

Vielen Dank.

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 07. Aug. 2024 08:55    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

Guten Morgen,

eine Frage habe ich noch.
Ich habe die Blechstärke auch als iPropertie zum BOM Export hinzugefügt
xlsRow.Add(GetPropValue(oDoc,"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}", "Stärke"))

Ich hätte da gerne eine Nachkommastelle.

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2580
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 07. Aug. 2024 10:30    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 RP4711 10 Unities + Antwort hilfreich

Moin

Der Code zeigt, dass du ein benutzerdefiniertes iProp "Stärke" ausliest. Vermutlich ist dieses bereits vom Format her Text. Die Nachkommastelle solltest du einen Schritt vorher, beim Auslesen der Blechstärke und schreiben in dieses iProp einfügen. Woher holst du denn den Wert für "Stärke"? Der simpelste Weg wäre den fx-Parameter als "Export" zu markieren und in den Exporteinstellungen das Format korrekt einzustellen. Kein Code erforderlich.

------------------
MfG
Ralf

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

RP4711
Mitglied
Technischer Produktdesigner


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

Beiträge: 24
Registriert: 01.03.2024

Inventor 2024

erstellt am: 07. Aug. 2024 14:59    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

Moin,

das war mir schon bekannt trotzdem danke.
Ich habe leider den Fall, dass ich ein Step Modell bekomme, bei dem die Standard Vorlage ja zum einlesen der Daten benutzt wird.
In der normalen Vorlage habe ich eine Nachkommastelle eingestellt. Wenn ich die AV mache wählt der eine, für mich nicht greifbare
Vorlage aus oder das ist da so programmiert. Daher wäre dieses iLogic Schnippsel für mich passend.
Wenn ich z.B. ein Normbauteil (beim 2024er Inventor Standard Bauteil) in ein Blech konvertiere, wählt der Inventor wenn die Blechstärke erkannt wurde
die falsche Blechregel aus (Filter springt in den Blechstandards auf alle Normen) und wenn die Blechstärke beim ins Blech konvertieren NICHT erkannt wurde,
nimmt er den aktiven Blechstandard. Der Filter muss pro Session auf aktiver Blechstandard gestellt werden, dann gehts. Die Nachkommastellen sind aber immer noch da.
Die Speichererinnerung fliegt auch immer wieder raus. Ich stelle das komplett aus. Naja

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2580
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 07. Aug. 2024 22: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 RP4711 10 Unities + Antwort hilfreich

Moin

Inventor benutzt für die Importe die Standard.ipt/iam (Standardpfad C:\Users\Public\Documents\Autodesk\Inventor 2024\Templates\de-DE) so sie vorhanden ist. Fehlt diese, wird meines Wissens eine hart codierte Vorlage benutzt. Öffne mal die Standard.ipt (Sicherungskopie vorher nicht vergessen), konvertiere sie in ein Blechteil und kontrollieren a) den eingestellten Blechstandard und b) den Export des fx-Parameters "Stärke". Konvertiere zurück in ein Bauteil und speichere die Vorlage. Damit sollten diese Voreinstellungen beim Erstellen eines Bauteiles während des Importes bereits korrekt sein.

Zitat:
In der normalen Vorlage habe ich eine Nachkommastelle eingestellt.

Was ist die "normale" Vorlage? Da gehört sicherheitshalber der Pfad mit dazu. Wo hast du die Nachkommastelle eingestellt? Ein Screenshot würde echt helfen.
Zitat:
Daher wäre dieses iLogic Schnippsel für mich passend.

Sorry, null Plan was der Schnipsel tun soll.
Zitat:
falsche Blechregel aus (Filter springt in den Blechstandards auf alle Normen)

Im Dialog "Blechstandards" gibt es keinen Filter und auch keine Option "alle Normen" Vielleicht mal ein Screenshot der zeigt wo du das siehst?
Zitat:
Der Filter muss pro Session auf aktiver Blechstandard gestellt werden, dann gehts.

Welcher Filter? Wo? Auch hier würde ein Screenshot wirklich helfen.
Zitat:
Die Nachkommastellen sind aber immer noch da.

Nachkommastellen im iProp oder wo? Denk bitte mal daran, dass außer dir keiner deinen Bildschirm sehen kann.
Zitat:
Die Speichererinnerung fliegt auch immer wieder raus.

Was hat das jetzt mit dem Rest zu tun? Wenn die Anwendungsoptionen nicht gespeichert werden, hat es vielleicht ja damit zu tun --> click

Ich will nicht unhöflich sein, aber wenn du dir selbst mal deine Frage durchliest und schaust in welchem Ausgangsthema du die gestellt hast, würdest du auf Anhieb auf das kommen was auch immer du vor hast?

------------------
MfG
Ralf

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)2024 CAD.de | Impressum | Datenschutz