Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  VBA von Stückliste auf Teil abspringen

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
  
3DEXPERIENCE Conference 2024 | München
Autor Thema:  VBA von Stückliste auf Teil abspringen (675 mal gelesen)
Christoph Weise
Mitglied
Technischer Produktdesigner / Konstruktion / CAD-Admin


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

Beiträge: 204
Registriert: 22.03.2015

Dell 3650
Intel I7 11700k
32 GB RAM
Nvidia RTX A4000 16GB
Win 10 22H2 64-bit
SolidWorks 2022SP5
QuickPress 6.3.3
PortaX 2.27
SAP ERP 6.0

erstellt am: 28. Jul. 2021 10: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

Hallo Cad'ler,

ich hatte früher schonmal das besstreben die Zeichnungen nach Stückliste sortiert auszudrucken. Damals Ist es in dem bekannten Makro "Assambly Print Drawings" geendet. Vielen Dank nochmals dafür. Nun ist das Thema aber wieder aktuell, da uns inzwischen eine Sortierung nach Namen nicht mehr ausreicht. Hauptgrund ist hier, das die Dokumente auch in einer PDF zur Baugruppe zusammengefasst werden. Hier lässt sich der letzte Rest einfach schwerer und aufwändiger nach Reihnfolge sortieren als ein Papier-Ordner.

Die Stückliste auslesen ist inzwischen kein Problem mehr, allerdings kann ich aufgrund der Daten in der Stückliste nicht auf den Dateinamen bzw. den Speicherort schließen.
Eine Möglichkeit ist, alle Dokumente die in der jeweiligen Baugruppe eingebaut sind nach den richtigen Eigenschaften zu durchsuchen -> Verdammt aufwändig da es auch Dokumente mit verschiedenen Konfigurationen gibt.Außerdem ergibt sich hier bei Großen Baugruppen eine sehr lange Laufzeit

Die andere Möglichkeit ist , von der Stückliste direkt in auf das jeweilige Dokument abzuspringen bzw. davon auszulesen.
Händisch gibt es die Funktion mit Rechtsklick auf die Position in der Stückliste -> Öffnen XXXX.
Im VBA hab ich leider die Funktion noch nicht finden können. Auch der Makrorecorder hat mir bis jetzt nicht weitergeholfen.
Auf die Stückliste greife ich über SldWorks.TableAnnotation zu.

Gruß Christoph

------------------
Wer einen Fehler findet darf ihn behalten,
wer zwei findet kann beide behalten,
ab fünf Fehler gibs Rabatt :-)

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

CAD-Maler
Mitglied
Konstrukteur / CAD-Admin / Mädchen für alles


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

Beiträge: 720
Registriert: 17.01.2007

SWX 2019 SP5
AutoCAD 2019
Win 10 pro 64 bit
Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz
64GB RAM
Nvidia Quadro M5000
SWx EPDM

erstellt am: 28. Jul. 2021 14:56    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 Christoph Weise 10 Unities + Antwort hilfreich

Hallo Christoph,

ich füge beim Stücklistenauslesen automatisch 2 Spalten mit Ordnername und Dateiname an die Stückliste an und lösche die danach wieder:

Code:
        boolstatus = TA.InsertColumn2(swTableItemInsertPosition_Last, 0, "SW-Ordnername(Folder Name)", swInsertColumn_DefaultWidth)
        boolstatus = TA.SetColumnType(TA.ColumnCount - 1, swWeldTableColumnType_CustomProperty)
        boolstatus = TA.SetColumnCustomProperty(TA.ColumnCount - 1, "SW-Ordnername(Folder Name)")
'
'
'
boolstatus = TA.DeleteColumn(TA.ColumnCount - 1)


bzw. "SW-Dateiname(File Name)" für den Dateinamen. TA ist dabei die TableAnnotation. Damit hast du ddann den Pfad zur jew. Datei.

Gruß, Jens

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

Christoph Weise
Mitglied
Technischer Produktdesigner / Konstruktion / CAD-Admin


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

Beiträge: 204
Registriert: 22.03.2015

Dell 3650
Intel I7 11700k
32 GB RAM
Nvidia RTX A4000 16GB
Win 10 22H2 64-bit
SolidWorks 2022SP5
QuickPress 6.3.3
PortaX 2.27
SAP ERP 6.0

erstellt am: 28. Jul. 2021 15:23    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 Jens,

Das wäre dann der Weg Nr 3....und der einfachste. 

Super vielen Dank

Gruß Christoph

------------------
Wer einen Fehler findet darf ihn behalten,
wer zwei findet kann beide behalten,
ab fünf Fehler gibs Rabatt :-)

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

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



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

Beiträge: 3094
Registriert: 03.12.2001

alle SW seit 97+
AutoCAD2016-2022
ERP ProAlpha + CA-Link
Intel Core i7-7820K 32GB
Win10x64 Quadro K5000
SpacePilot

erstellt am: 30. Jul. 2021 09:00    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 Christoph Weise 10 Unities + Antwort hilfreich

Hallo!

Wenn Du den Namen des Dokuments weißt, dann kannst Du versuchen, es auszuwählen und mit Part.OpenCompFile zu öffnen. So hatte ich sowas früher gemacht (der Befehl ist jetzt als obsolet gekennzeichnet). Das klappt, wenn das Teil mit im Speicher ist i.d.R., auch wenn es in anderen Ordnern liegt...

VG

Lutz Federbusch

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

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

Christoph Weise
Mitglied
Technischer Produktdesigner / Konstruktion / CAD-Admin


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

Beiträge: 204
Registriert: 22.03.2015

Dell 3650
Intel I7 11700k
32 GB RAM
Nvidia RTX A4000 16GB
Win 10 22H2 64-bit
SolidWorks 2022SP5
QuickPress 6.3.3
PortaX 2.27
SAP ERP 6.0

erstellt am: 02. Aug. 2021 09:21    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 Lutz

mein Problem war das ich eben nicht wusste wie meine Dokument heißt.
Ich hatte zuvor nur Eingenschaften in der Stückliste stehen , mit denen keine direkten Rückschluss auf den Dateinamen bzw. den Speicherort möglich war.


Die Zeichnung selbst öffne ich nun mit OpenDoc6, den ich habe nun den kompletten Pfad jeder Zeichnung. Ist die Zeichnung schon geöffnet, wird sie mit ActivateDoc in den Vordergrund geholt.

Das Problem am Befehl OpenCompFile ist das dieser Befehl nur die schon im Speicher geladenen Bauteile öffnet (soweit ich das verstanden habe). Da ich aber die Zeichnung direkt öffne, ist diese oft nicht im Hintergrund geladen.
Außerdem weiß ich nicht wie der Befehl auf "Reduziert" geladene Bauteile reagiert.

Gruß Christoph

------------------
Wer einen Fehler findet darf ihn behalten,
wer zwei findet kann beide behalten,
ab fünf Fehler gibs Rabatt :-)

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

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



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

Beiträge: 3094
Registriert: 03.12.2001

alle SW seit 97+
AutoCAD2016-2022
ERP ProAlpha + CA-Link
Intel Core i7-7820K 32GB
Win10x64 Quadro K5000
SpacePilot

erstellt am: 02. Aug. 2021 09:47    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 Christoph Weise 10 Unities + Antwort hilfreich

Hallo Christoph!

Reduzierte lade ich immer alle vollständig nach.

Viele Grüße!

Lutz Federbusch

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

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