Hallo Ingo,
geht schon, aber nicht mit der integrierten Tabelle/Doppelklick-Methode. Mit ein paar API-Aufrufen geht das aber ganz gut und einfach. Hab mal ein Beispiel angehängt. Zur Vorbereitung machst du dir einfach ein leeres Excelblatt, erzeugst dir einen Befehlsknopf, doppelklick drauf und dann fügst du den Code ein.
Arbeitet wie folgt: du selektierst in SolidWorks die Bemassung (ob gesteuert oder nicht) und drückst auf die Befehlsfläche, Makro liest den Wert und trägt ihn in Zelle A1 ein, dann kannst du damit in Excel machen was du willst. Ich denke, mit der Technik müßstest du dann bei deinem speziellen Problem weiterkommen, in dem du das anpaßt / weiterbastelst.
Hoffe, das hilft dir weiter
Stefan
Code:
Const swSelDIMENSIONS = 14 ' "DIMENSION"Private Sub CommandButton1_Click()
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
' wenn überhaupt was selktiert ist
If (SelMgr.GetSelectedObjectCount = 1) Then
If (SelMgr.GetSelectedObjectType(1) = swSelDIMENSIONS) Then
Set DispDim = SelMgr.GetSelectedObject3(1)
Set Dimension = DispDim.GetDimension
mass = Dimension.Value
' erst Blatt leeren, dann Wert in Zelle A1 eintragen
Cells.Select
Selection.ClearContents
Range("A1").Select
ActiveCell.FormulaR1C1 = mass
Else
MsgBox ("Geht nur mit Bemassung")
End If
Else
MsgBox ("Funktioniert nur mit einer selektierten Bemassung")
End If
End Sub
------------------
--
Inoffizielle Solidworks Hilfeseite
http://solidworks.cad.de
EMail: Stefan.Berlitz@solidworks.cad.de
[Diese Nachricht wurde von StefanBerlitz am 31. Januar 2001 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP