Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API in Baugruppe Excel Wert auslesen und an Bauteilskizze schicken

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 SOLIDWORKS
  
Nahe an industriellen Realbedingungen
Autor Thema:  API in Baugruppe Excel Wert auslesen und an Bauteilskizze schicken (1571 / mal gelesen)
Bernhard09
Mitglied
Konstrukteur Rohrbündelwärmetauscher


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

Beiträge: 80
Registriert: 09.04.2013

Intel i7-8850 @2,6GHz
32GB Ram
Nvidia Quadro P1000
Windows 10 Enterprise 1809
Inventor Professional 2016 SP26
Vault Basic 2016
SoliWorks 2019
Pro.File 8.7

erstellt am: 24. Jun. 2019 11: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

Hallo Gemeinde

Erst mal die Gegebenheiten beschreiben.
Wir nutzen zur Zeit Inventor 2016 und müssen auf Solidworks 2017 (bald 2019) umsteigen.
Im Inventor haben wir uns Baugruppen erstellt die per iLogic eine Excel Datei öffnen in der wir alle Parameter der einzelnen Bauteile berechnen und dann an die einzelnen Parameter der Bauteile schicken. Auch steuern wir Unterdrückungen von Bauteilen und Features darüber.
In diesen Excel Dateien steckt viel arbeit und sie erleichtert uns das leben ungemein.

Jetzt würden wir gerne diese Excel Dateien weiter nutzen in Solidworks.
Ich habe es ja schon hinbekommen das einzelne Bauteile ihre Werte aus dem Excelsheet bekommen aber nie aus einer Baugruppe heraus. Jetzt dachte ich das könnte man vielleicht über die API per VBA oder andere Sprachen lösen aber ich habe von Programmierung gar keine Ahnung.

iLogic im Inventor ist ja mehr ein zusammenklicken von Befehlen wie eine richtige Programmierung.

Im Grunde würde es mir ja schon reichen wenn ich einen Anfang bekäme den ich dann erweitern könnte.
Also Excel Datei per Pfadangabe des Users öffnen.
Wert "X" aus Zelle "A24" der Exceldatei an Bauteil "X" das in der Baugruppe "Y" verbaut ist schicken.

Ist das viel Aufwand oder ein Problem im allgemeinen????

Wie schon gesagt. Ich habe vom Programmieren überhaupt keine AHNUNG.

Über Hilfe, Tips, Kommentare ect. würde ich mich sehr freuen.

Danke
Grüße Bernhard


------------------
Personalführung ist die Kunst, den Mitarbeiter so schnell über den Tisch zu ziehen das er die Reibungshitze als Nestwärme empfindet.

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

Lunik
Mitglied
Konstrukteur


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

Beiträge: 44
Registriert: 05.07.2017

Hardware
-Intel Xeon W2123
-Nvidia Quadro P2000
-32GB RAM
---------------------
Software
-Windows 10 Professional 64bit
-SolidWorks 2018 SP5.0
-Office 2010
---------------------
Sonstiges
-SpaceMousePro Wireless
-CadMouse Wireless

erstellt am: 24. Jun. 2019 11: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 Nur für Bernhard09 10 Unities + Antwort hilfreich

Hallo Bernhard,

vielleicht wäre das kostenlose DPS MacroSheet was für euch.
Damit kannst du auch Teile über Logiken steuern. Du findest es bei DPS unter Servive > DPS Tools.

------------------
Grüße Lukas

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

Bernhard09
Mitglied
Konstrukteur Rohrbündelwärmetauscher


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

Beiträge: 80
Registriert: 09.04.2013

Intel i7-8850 @2,6GHz
32GB Ram
Nvidia Quadro P1000
Windows 10 Enterprise 1809
Inventor Professional 2016 SP26
Vault Basic 2016
SoliWorks 2019
Pro.File 8.7

erstellt am: 24. Jun. 2019 11: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

Hallo Lunik.

Danke für den Hinweis. Das Tool kenne ich schon. Funktioniert auch gut nur kann ich
1. die vorhandenen Sheets nicht benutzen.
2. Unser Chef will sich nicht von Software abhängig machen wo man nicht weiß wie lange sie noch unterstützt wird.

Trotzdem Danke

Gruß Bernhard

------------------
Personalführung ist die Kunst, den Mitarbeiter so schnell über den Tisch zu ziehen das er die Reibungshitze als Nestwärme empfindet.

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 24. Jun. 2019 13: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 Bernhard09 10 Unities + Antwort hilfreich

Hallo Bernhard,

diese Aufgabe wirst du mit 0 VBA Kenntnissen wahrscheinlich nur schwer gelöst bekommen.
MacroSheet ist doch auch nur ein Macro wie deines auch eines werden wird, in der Regel gibt es nur sehr sehr selten Umstellungen in der SWX API die ein Macro unbrauchbar machen. Ich würde MacroSheet oder alternativ DriveWorks für die Aufgabe verwenden.

Je nach Komplexität könntest du die Tabelle auch direkt in SWX als Konfigurationstabelle einbinden und die Baugruppe über einbe Layoutskizze steuern die ihre Maße über die Tabelle bekommt.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

Lenzcad
Ehrenmitglied
Selbständiger Handwerker


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

Beiträge: 1539
Registriert: 21.10.2003

CPU i7-9700K
RAM 64GB
Quadro P2200
SW 2022
SW Simulation 2022

erstellt am: 24. Jun. 2019 16:34    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 Bernhard09 10 Unities + Antwort hilfreich

Hallo Bernhard,
ich stand vor mehreren Jahren vor dem gleichen Problem. Damals habe ich es folgendermaßen gelöst (soweit ich mich erinnern kann).

- In den betreffenden Komponenten eine eingebettete Exceltabelle mit den nötigen Parametern erstellt.
- Die Tabelle von Text auf Standard formatiert.
- Die Zellen für die Parameterwerte mit den entsprechenden Zellen in der externen "Gesamttabelle" verknüpft.

Nachteil:
- Werden Werte in der Gesamttabelle geändert oder hinzugefügt, müssen die Tabellen in den betreffenden Komponenten aktualisiert werden.

Deshalb habe ich später, die Werte der Gesamttabelle in die einzelnen Tabellen kopiert und die Gesamttabelle gelöscht.


Gruß - Lenz

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

Bernhard09
Mitglied
Konstrukteur Rohrbündelwärmetauscher


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

Beiträge: 80
Registriert: 09.04.2013

Intel i7-8850 @2,6GHz
32GB Ram
Nvidia Quadro P1000
Windows 10 Enterprise 1809
Inventor Professional 2016 SP26
Vault Basic 2016
SoliWorks 2019
Pro.File 8.7

erstellt am: 25. Jun. 2019 08:04    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

Mhh dann wird mir wohl nichts anderes übrig bleiben wie mich in die Materie einzuarbeiten. Mein Chef weigert sich ein extra Tool einzusetzen. ich werde mal mein Glück versuchen.
Danke euch für die Tipps.
Ich möchte halt ungern den Excelsheet nochmal neu machen müssen. Da steckt jede menge Zeit drinne.

------------------
Personalführung ist die Kunst, den Mitarbeiter so schnell über den Tisch zu ziehen das er die Reibungshitze als Nestwärme empfindet.

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 25. Jun. 2019 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 Nur für Bernhard09 10 Unities + Antwort hilfreich

Hallo Bernhard,

bekommst du dann wenigstens eine Schulung für die Thematik VBA bzw. SolidWorks / Excel API?
Wenn du explizite Fragen zu einzelnen API Befehlen hast wird dir hier bestimmt gerne geholfen.

Paar Tipps für den Einstieg:

- Die SWX API Hilfe ist dein Freund auch wenn sie anfangs nicht unbedingt zugänglich ist
- Hier und da mal den Macro-Recorder verwenden um einzelne Befehle ausfindig zu machen (der Macro-Recorder zeichnet i.d.R. mehr auf wie nötig manches aber leider auch garnicht)
- SolidWorks auf Englisch stellen um Befehle zu finden
- Beispiele im WWW oder auf YT anschauen um den allgemeinen Macro-Aufbau in SWX zu verstehen
- Ganz viel Kommentare ins Macro schreiben um später nachzuvollziehen was deine Gedanken zu dem Zeitpunkt waren
- Als Anfänger mit "Early Binding" arbeiten (Variablen vorab Deklarieren / Open Explicit verwenden)
- Nicht frustrieren lassen wenn du anfangs viel Zeit dafür brauchen wirst und manchmal einen irrweg gehst 

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

Bernhard09
Mitglied
Konstrukteur Rohrbündelwärmetauscher


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

Beiträge: 80
Registriert: 09.04.2013

Intel i7-8850 @2,6GHz
32GB Ram
Nvidia Quadro P1000
Windows 10 Enterprise 1809
Inventor Professional 2016 SP26
Vault Basic 2016
SoliWorks 2019
Pro.File 8.7

erstellt am: 26. Aug. 2019 09:14    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

Nee eine Schulung werde ich sicherlich nicht bekommen. Vielleicht wenn ich hartnäckig genug bin. mal sehen.

In der Zwischenzeit habe ich mich mal an einem Teil versucht und auch hinbekommen.
Jetzt sollte das ganze noch in einer Baugruppe passieren nur weiß ich jetzt nicht mehr weiter.

Ich öffne die Braugruppe in der das Teil verbaut ist und möchte an diesem Teil ein Maß in der Skizze ändern.

hier mein Code.

Code:

Option Explicit

Dim swApp          As SldWorks.SldWorks
Dim Teil1          As SldWorks.PartDoc
Dim myD1            As SldWorks.Dimension
Dim objSource      As Excel.Worksheet
Dim xl              As Excel.Workbook
Dim Errors          As Long
Dim Warnings        As Long
Dim Name1, Name2    As String

Sub main()
  Set swApp = Application.SldWorks
      Set Teil1 = swApp.ActiveDoc
   
    'Verbindung zum Excel-Dokument
    Set xl = GetObject("C:\Users\Weinel.Be\OneDrive - Kelvion Holding GmbH\Desktop\Test\Mappe1.xlsx")
    'Auswahl des Tabellenblatts
    Set objSource = xl.Worksheets("Tabelle1")
   
    Set myD1 = Teil1.Parameter("D1@Skizze1")
    'bei Eingabe 20 (mm) in Excel wird SolidWorks es als 20.000 mm verarbeiten, da die API-Funktionen auf m ausgelegt sind.
    'Siehe API-Hilfeseiten (Change dimensions)
    myD1.Value = objSource.Range("A2")
    'swApp.SendMsgToUser (objSource.cells(2, 2))
    Teil1.ClearSelection2 True
End Sub


Vielen Dank für eure Zeit.

------------------
Personalführung ist die Kunst, den Mitarbeiter so schnell über den Tisch zu ziehen das er die Reibungshitze als Nestwärme empfindet.

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