Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Externe Bezüge beim Kopieren aktualisieren

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
  
Technikerschüler der staatlichen Feintechnikschule Schwenningen zu Besuch bei SolidCAM GmbH in Schramberg
Autor Thema:  Externe Bezüge beim Kopieren aktualisieren (2862 mal gelesen)
MarkusGr
Mitglied
Konstrúkteur

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

Beiträge: 3
Registriert: 21.03.2006

erstellt am: 21. Mrz. 2006 12: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 zusammen,

in unserem Unternehmen steuern wir über eine externe Mastertabelle mehrere in SolidWorks eingebettete Tabellen. Nach der Änderung eines Wertes in der Mastertabelle öffnen wir jede der eingebetteten Tabellen und aktualisieren so die Geometrie der einzelnen Teile. Wenn wir nun das komplette Verzeichnis (in diesem ist die Mastertabelle und die einzelnen Teile enthalten) kopieren, werden leider die Bezüge in den gesteuerten Tabellen nicht geändert. Die Bezüge verweisen weiterhin auf die ursprüngliche Masterdatei und nicht auf die kopierte Masterdatei.

Ist es möglich, dass beim Kopieren des ganzen Verzeichnisses die Bezüge aktualisiert werden.

Bezüge zwischen externen Excel- Dateien kann man ja auch über Extras -> Optionen -> Berechunung -> Remotebezüge aktualisieren deaktivieren steuern.

Gruß Markus

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 22. Mrz. 2006 09: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 Nur für MarkusGr 10 Unities + Antwort hilfreich

Hallo Markus,

und herzlich willkommen im SolidWorks-Brett auf CAD.de 

Da hast du aber gleich einen echten Knacker mitgebracht. Wir arbeiten selbst nicht so, aber ich hab das mal versucht nachzustellen, im Gegensatz zu Exceldokumente untereinander scheinen die eingebetteten Excelarbeitsblätter sich immer den ursprünglichen Pfad zu merken und den nicht anzupassen, wenn sie merken, dass ein Dokument mit dem entsprechenden Namen bereits geöffnet ist.

Das ist allerdings kein Phänomen innerhalb von SolidWorks, sondern offensichtlich das Standardverhalten von eingebetteten Excelobjekten, ich habs mit Word und Powerpoint versucht, ist in beiden Fällen genau dasselbe Verhalten wie du es in SolidWorks erlebst, d.h. die eingebetteten Exceltabellen kennen und behalten den ursprünglichen Bezug.

Das einzige, was man dagegen machen kann ist halt von Hand dann den Bezug bei geöffneter Exceltabelle unter Bearbeiten/Verknüpfungen zu aktualisieren und umzubiegen.

Wenn einer was dagegen tun kann dann wahrscheinlich Microsoft. A propos, ich hab es bei mir hier mit Office XP (2002) SR3 probiert, ich weiß nicht wie es mit Office 2003 ist.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Member of CAD.de BOINC Team  -  | Seti@Home | CPDN | Einstein@Home

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

MarkusGr
Mitglied
Konstrúkteur

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

Beiträge: 3
Registriert: 21.03.2006

erstellt am: 22. Mrz. 2006 09: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 Stefan,

Danke für die Antwort.

Weißt Du, ob man mit einem SolidWorks- Makro auch Excel- Funktionen aufrufen kann?. Meine Idee ist, dass ich

- mit einem Makro den Pfad des Teils in eine
  benutzerdefenierte Eigenschaft (hier Pfad1) schreibe
- dann die, im Teil integrierte, Tabelle öffne,
- mit ModelDoc.CustomInfo("Pfad1") die benutzerdefinierte
  Eigenschaft auslese und
- mit der Excel- Funktion
    ActiveWorkbook.ChangeLink Name:="Mappe1.xls", NewName:= Pfad, Type:=xlExcelLinks
  die Verknüpfungen automatisch umbiege und
- dann die Tabelle wieder schließe.

Bis auf das Umbiegen der Verknüpfungen klappt alles. Das Umbiegen habe ich als Makro in Excel schon getestet. Schön wäre es, wenn man die Excel- Funktion aus SolidWorks aufrufen kann oder dass man ein Excel- Makro automatisch über ein SolidWorks- Makro starten kann.

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

Kalle
Mitglied
Student


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

Beiträge: 706
Registriert: 14.04.2002

erstellt am: 22. Mrz. 2006 13: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 MarkusGr 10 Unities + Antwort hilfreich

Aheu Markus,

na klar geht das. Es sollte neben SolidWorks kein Excel am laufen sein. Dein Makro muss sich dann (wenn die Tabelle geöffnet wurde) an die laufende Excel Instanz dranhängen (diese wurde ja dann von SolidWorks gestartet). Dann sollte die Fernsteuerung eigentlich gehen.
Kann sein, dass die Tabelle dann aber in einem extra Fenster und nicht innerhalb von SolidWorks geöffnet werden muss.

Wenn Du ums verrecken nicht weiterkommst, dann nochmal melden. Vielleicht finde ich Zeit das mal selbst zu probieren.

Bis dann,
Kalle

------------------
-----------------------------------------
Es gibt immer mehr Lösungen als Probleme.

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

MarkusGr
Mitglied
Konstrúkteur

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

Beiträge: 3
Registriert: 21.03.2006

erstellt am: 23. Mrz. 2006 08:25    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 Kalle,

Danke für Deine Antwort. Ich habe mal versucht das Ganze umzusetzten. Leider scheitere ich am Aufruf der Excel- Prozedur.

Wenn ich das folgende Makro ausführe:

Dim SwApp As Object
Dim Part As Object
Dim SelMgr As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Sub main()

Set SwApp = Application.SldWorks

Set Part = SwApp.ActiveDoc
Set SelMgr = Part.SelectionManager
SwApp.ActiveDoc.ActiveView.FrameState = 1
boolstatus = Part.Extension.SelectByID2("Tabelle", "DESIGNTABLE", 0, 0, 0, False, 0, Nothing, 0)
Part.InsertFamilyTableEdit

VerknüpfungenAktuallisieren

SwApp.ActiveDoc.ActiveView.FrameState = 1
Part.ClearSelection2 True
Part.CloseFamilyTable
SwApp.ActiveDoc.ActiveView.FrameState = 1
End Sub

'***********************************************************************
Sub VerknüpfungenAktuallisieren()

Dim SwApp As Object        ' SolidWorks
Dim ModelDoc As Object      ' aktuelles Part
Dim SelMgr As Object        ' Auswahl
Dim DispDim As Object      ' angezeigte Bemassung
Dim Dimension As Object    ' dazugehörende Bemassung
Dim mass As Double          ' Wert der Bemassung

Set SwApp = GetObject(, "SldWorks.Application")
Set ModelDoc = SwApp.ActiveDoc  ' aktives Dokument anpacken
Set SelMgr = ModelDoc.SelectionManager() 'Auswahl im aktiven Dokument

Dim ExcelSheet As Object
'Set ExcelSheet = GetObject(, "Excel.Application")
Set ExcelSheet = CreateObject("Excel.Application")

'Dateipfad ermitteln
Pfad = Part.GetPathName
Pfad = Left(Pfad, Len(Pfad) - 7)  'Dateipfad ohne Dateiendung
   
'Dateipfad ohne Dateiname
Do Until Right(Pfad, 1) = "\"
    Pfad = Left(Pfad, Len(Pfad) - 1)
Loop
Pfad = Left(Pfad, Len(Pfad) - 1)
 
NeueMappe = Pfad & "\Mappe1.xls"
 
    ExcelSheet.ActiveWorkbook.ChangeLink Name:="Mappe1.xls", NewName:= _
        NeueMappe, Type:=xlExcelLinks

End Sub

erhalte ich für die Zeile ExcelSheet.ActiveWorkook.ChangeLink... den Laufzeitfehler 91. Ich bin noch nicht ganz dahinter gestiegen, wie man eine Excel- Prozedur aus SolidWorks aufruft. 

Vielleicht kannst Du (oder jemand anderes aus der Gemeinde) mit weiterhelfen.

Gruß Markus

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