Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  Schriftfeld (Inventor 2018) mit Daten aus Excel-Datei füllen

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:   Schriftfeld (Inventor 2018) mit Daten aus Excel-Datei füllen (825 mal gelesen)
Sikis
Mitglied


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

Beiträge: 8
Registriert: 05.02.2018

Inventor 2018

erstellt am: 05. Feb. 2018 14: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

Hallo zusammen!
Kann mir ”Jemand” helfen ein Schriftfeld (Inventor 2018) mit Daten aus einer Excel-Datei zu füllen?
Stelle mir das so vor:
1. Zeichnung geöffnet mit leerem Schriftfeld außer der Zeichnungsnummer, die ist eingetragen.
2. Excel-Datei liegt auf z.B. „C:\Users\Desktop\...test.xls  ; mit allen relevanten Daten
3. Über eine Regel in Inventor den Datei-Explorer öffnen, Excel-Datei auswählen, und die Daten aus der Excel Datei in das Schriftfeld automatisch übertragen. Die Spalten/Reihe Identifikation wird anhand der vorgegebenen Zeichnungsnummer gesteuert. Z.B.  „Zeichnungsnummer 0815“ = suche/gehe in Reihe/Spalte 0815 und fülle Feld „B01_Designed“ mit „SR“
Dabei ist …
• der Inhalt der Excel-Datei von Projekt zu Projekt verschieden und wird vom Kunden vorgegeben.
• Total ca. 25 Felder die gefüllt werden müssen
• die Excel-Datei enthält nicht die Namen der Felder die im Zeichnungsrahmen (Titel-Block) beschrieben sind, zB. „B01_Designed“ im Titelblock ist in Excel die Zelle „L13“

Danke im Vorraus!

------------------
S.R.

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

Tacker
Mitglied
TZ, Tech. MB, Softwareentwickler


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

Beiträge: 88
Registriert: 23.09.2010

IV 2015 & IV 2017 Pro
i7-7700K 4x4.2GHz
32GB DDR4-2400
GTX 1060 6GB DDR5

erstellt am: 05. Feb. 2018 16: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 Nur für Sikis 10 Unities + Antwort hilfreich

Moin 

Mit den klassischen Bordmitteln von Inventor wirst da keinen Erfolg haben, möglich wäre iLogic, VBA oder VB.net. Hinweis: in jedem Fall wirst du dich mit Programmierung beschäftigen müssen.
Würde dir VBA empfehlen, das wäre für den Fall am brauchbarsten und du hättest einen extra Button am Ende (auch mit Bild wenn dir eins machst). VB.net ist da dann die Luxus-Variante, die könnte das komplett automatisieren, ist aber auch deutlich aufwändiger als ein VBA-Makro (Ja, ich weis, es gibt Events für Makros, aber... das will man nicht haben).

Die 2min Recherche:
VBA:
https://forums.autodesk.com/t5/inventor-customization/title-block-info-from-excel-sheet/td-p/1515204
iLogic:
https://forums.autodesk.com/t5/inventor-customization/link-excel-cells-to-inventor-drawing-text/td-p/5860557

Es gibt bestimmt noch bessere Ergebnisse, aber erst einmal sollte man sich für eine Vorgehensweise entscheiden.

Gruß

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

Sikis
Mitglied


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

Beiträge: 8
Registriert: 05.02.2018

Inventor 2018

erstellt am: 06. Feb. 2018 07:28    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,
danke ein guter Anfang.
Habe heut Nacht mich mit VB schon etwas beschäftigt.

i = GoExcel.FindRow () etc.

SR

------------------
S.R.

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

Fischkopp
Mitglied



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

Beiträge: 169
Registriert: 23.02.2004

Die Diva und das Biest...

erstellt am: 06. Feb. 2018 23:16    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 Sikis 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Sikis:
Guten Morgen,
danke ein guter Anfang.
Habe heut Nacht mich mit VB schon etwas beschäftigt.

i = GoExcel.FindRow () etc.

SR


Viel Spass....

Ich würde mir erst einmal einenSchriftkopf basteln, der die Daten aus (benutzerdefinierten) iProperties bezieht. DIe Properties kannst Du nämlich recht einfach mit den XLS-Daten füllen, ohne in der DAtenstruktur des Schriftfeldes suchen zu müssen, z.B. nach dem Feldnamen.

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

Tacker
Mitglied
TZ, Tech. MB, Softwareentwickler


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

Beiträge: 88
Registriert: 23.09.2010

IV 2015 & IV 2017 Pro
i7-7700K 4x4.2GHz
32GB DDR4-2400
GTX 1060 6GB DDR5

erstellt am: 07. Feb. 2018 10:06    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 Sikis 10 Unities + Antwort hilfreich

Moin  ,

Also soll es iLogic sein.
Fischkopps Empfehlung kann ich nur unterstützen, das macht das deutlich einfacher.

Hier noch ein Artikel dazu: https://www.cadlinecommunity.co.uk/hc/en-us/articles/201789402-Inventor-Automatically-Add-iProperties-for-BIM-with-iLogic

Hinweis: Wenn du die Properties mit deiner iLogic-Regel gefüllt hast, wird es höchstwahrscheinlich sein, dass dir das Ergebnis nicht sofort angezeigt wird. Also dein Text nicht sofort im Schriftfeld erscheint. Das könnte mit diesen beiden Zeilen kein Problem mehr sein:

RuleParametersOutput()
InventorVb.DocumentUpdate()

Sollte es der Fall sein, dass du sowieso nicht sofort das Ergebnis angezeigt brauchst (weil du noch weiter arbeitest und auf ein automatisches Update von Inventor warten kannst), dann kannst den gesamten Hinweis ignorieren. Solltest du allerdings die Zeichnung direkt weiter bearbeiten wollen, beispielsweise: iLogic-Regel immer beim Schließen einer Zeichnung ausführen und mit der Regel zusätzlich automatisch ein PDF erstellen, dann wirst Inventor zu einem Update zwingen müssen.

Gruß

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

Sikis
Mitglied


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

Beiträge: 8
Registriert: 05.02.2018

Inventor 2018

erstellt am: 09. Feb. 2018 08:41    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

So, hab's fast geschafft!

nur noch ein Problem. Die Excel Datei vom Kunden enthält Eine Spalet mit Datum,
das so aussieht 2018-01-01. Wenn ich darauf zugreife/auslese bekomme ich
das zurück:

als string bekomme ich 43101
als Date bekomme ich 00:00:00
als Decimal bekomme ich 43101

Ich schaffe es einfach nicht das Datum in Form von 2018-01-01 in mein ipropertie zu übertragen

der code sieht so aus:

'die Excel Datei auswählen
Dim oFileDlg As Inventor.FileDialog = Nothing
InventorVb.Application.CreateFileDialog(oFileDlg)
'oFileDlg.Filter = "Inventor Files (*.iam;*.ipt)|*.iam;*.ipt|All Files (*.*)|*.*"
'oFileDlg.Filter = "XML Files (*.xml)|*.xml"
'oFileDlg.Filter = "Text Files (*.txt;*.csv)|*.txt;*.csv"
'oFileDlg.Filter = "SAT Files (*.sat)|*.sat"
'oFileDlg.Filter = "IGES Files (*.igs)|*.igs"
'oFileDlg.Filter = "Step Files (*.stp)|*.stp"
oFileDlg.Filter = "Excel Files (*.xls;*.xlsx)|*.xls;*.xlsx"
oFileDlg.DialogTitle ="Välj den Excel file du ska jobba med"
oFileDlg.InitialDirectory = ThisDoc.Path
oFileDlg.CancelError = True
On Error Resume Next
oFileDlg.ShowOpen()
If Err.Number <> 0 Then
MessageBox.Show("File not chosen.", "Dialog Cancellation")
ElseIf oFileDlg.FileName <> "" Then
selectedfile = oFileDlg.FileName
MessageBox.Show("File " & selectedfile & " was selected.", "Dialog Selection Made")
End If

GoExcel.Open(selectedfile, "DrwDoc list")
GoExcel.TitleRow = 7
MatchRow = GoExcel.FindRow(selectedfile, "DrwDoc list", "B16", "=", InputBox("Skriv in ritnings nummer enligt Kundens önskemål", "Feld 'B16' = Rit-Nr.", "Hur ska ritning döpas"))
iProperties.Value("Custom", "B16_DRAWING_NO")= GoExcel.CurrentRowValue("B16")
'wenn nicht gefunden msgBox und beep
If MatchRow = - 1 Then
Beep
MessageBox.Show("...ritnings nummern som du har angivit!", "Hittar inte den... ")
Else
MessageBox.Show("...som du har skrivit in.BRA!", "Jag har hittad den ritnings nummer... ")
End If

' hier beginnt mein problem!!!

Dim Zelle7  As Date     
Zelle7 = GoExcel.CurrentRowValue("B07")
MessageBox.Show(Zelle7,"Title")
iProperties.Value("Custom", "B07_DATE" ) = Zelle7

Zelle16 = GoExcel.CurrentRowValue("B16")
MessageBox.Show(Zelle16, "Title")
iProperties.Value("Custom", "B16_DRAWING_NO") = Zelle16

GoExcel.Save
GoExcel.Close
iLogicForm.Show("Title Block")
ThisDoc.Save

Dim objSPVoice, colVoices
objSPVoice = CreateObject("SAPI.SpVoice")
objSPVoice.Speak ("Bra yobad, doookdig")

------------------
S.R.

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

Sikis
Mitglied


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

Beiträge: 8
Registriert: 05.02.2018

Inventor 2018

erstellt am: 09. Feb. 2018 08:48    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

Nachtrag:

... die MsgBoxen habe ich zur Kontrolle eingefügt, nicht zwingend notwendig.
... auch die Sprachausgabe ist nur ein gimmick.
Und natürlich lese ich noch mehr Zellen aus aus meiner Excel Datei. Nur hier im Beispiel
die zwei mit Zeichnungsnummer und das Datum.

------------------
S.R.

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

Lothar Boekels
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau und CAD-Trainer



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

Beiträge: 3538
Registriert: 15.02.2001

DELL Precision 7520 Win10Pro-64
Autodesk Product Design Suite Ultimate 2018
mit Vault-Professional
---------------------
Während man es aufschiebt,
verrinnt das Leben.
Lucius Annaeus Seneca
(ca. 4 v. Chr - 65 n. Chr.)

erstellt am: 09. Feb. 2018 09: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 Sikis 10 Unities + Antwort hilfreich

Hallo Sikis,

die Datumsgeschichte ist eigentlich ganz einfach:
wenn Du den Text '2018-01-01 einliest, dann kann Excel mit der Funktion
Datwert(Text) das in das Datumsformat konvertieren. Das wird Excel-intern als
serielle Zahl dargestellt hier '43101. Diese Zelle mit dem gewünschten Datumsformat versehen und gut is.

HTH

------------------
mit freundlichem Gruß
aus der Burggemeinde Brüggen
Lothar Boekels

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

Lothar Boekels
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau und CAD-Trainer



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

Beiträge: 3538
Registriert: 15.02.2001

DELL Precision 7520 Win10Pro-64
Autodesk Product Design Suite Ultimate 2018
mit Vault-Professional
---------------------
Während man es aufschiebt,
verrinnt das Leben.
Lucius Annaeus Seneca
(ca. 4 v. Chr - 65 n. Chr.)

erstellt am: 09. Feb. 2018 09:50    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 Sikis 10 Unities + Antwort hilfreich

andererseits kannst Du die Funktion:
=TEXT(E6;"JJJJ-MM-TT")
benutzen um aus allen Darstellungen ein Datumsformat in der gewünschten Form zu generieren.

------------------
mit freundlichem Gruß
aus der Burggemeinde Brüggen
Lothar Boekels

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

Sikis
Mitglied


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

Beiträge: 8
Registriert: 05.02.2018

Inventor 2018

erstellt am: 09. Feb. 2018 09: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

Hallo Lothar

das ist mir schon klar.
Aber, ich will nicht am Excel-Formular rumfummeln sonder nur die Daten auslesen.
Das Excel-Scheet ist von meinem Kunden und da hab ich nichts dran zu "rühren".

Gruss SR

------------------
S.R.

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

Lothar Boekels
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau und CAD-Trainer



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

Beiträge: 3538
Registriert: 15.02.2001

DELL Precision 7520 Win10Pro-64
Autodesk Product Design Suite Ultimate 2018
mit Vault-Professional
---------------------
Während man es aufschiebt,
verrinnt das Leben.
Lucius Annaeus Seneca
(ca. 4 v. Chr - 65 n. Chr.)

erstellt am: 09. Feb. 2018 11:06    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 Sikis 10 Unities + Antwort hilfreich

nun denn kannst Du die 43101 Tage zum Startdatum hinzuzählen.
Startdatum ist der 0.1.1900
so dass Tag 1 der 1.1.1900 ist
und der 43101. Tag der 01.01.2018

HTH

------------------
mit freundlichem Gruß
aus der Burggemeinde Brüggen
Lothar Boekels

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

Lothar Boekels
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau und CAD-Trainer



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

Beiträge: 3538
Registriert: 15.02.2001

DELL Precision 7520 Win10Pro-64
Autodesk Product Design Suite Ultimate 2018
mit Vault-Professional
---------------------
Während man es aufschiebt,
verrinnt das Leben.
Lucius Annaeus Seneca
(ca. 4 v. Chr - 65 n. Chr.)

erstellt am: 09. Feb. 2018 11: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 Nur für Sikis 10 Unities + Antwort hilfreich

dann sollte Dir dieses iLogic-Script hier helfen:

Code:

Dim iDatum As Integer
iDatum = 43101
Dim dDatum As Date
dDatum = Date.FromOADate(iDatum)
MsgBox(dDatum)

------------------
mit freundlichem Gruß
aus der Burggemeinde Brüggen
Lothar Boekels

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

Sikis
Mitglied


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

Beiträge: 8
Registriert: 05.02.2018

Inventor 2018

erstellt am: 09. Feb. 2018 14: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

Das war die Lösung! Super, Danke!!

Dim iDatum As Integer
iDatum = GoExcel.CurrentRowValue("B07")

Dim dDatum As Date
dDatum = Date.FromOADate(iDatum)
'MessageBox.Show(dDatum, "Title")
iProperties.Value("Custom", "B07_DATE") = dDatum

------------------
S.R.

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