Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Bemassung vs. Zwischenablage!

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
  
Schulung 5-Achs simultan, ein Seminar am 02.12.2024
Autor Thema:  Bemassung vs. Zwischenablage! (5416 mal gelesen)
G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 27. Jul. 2006 07:58    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

Grüsse aus der Sauna!!!!

Kurze Frage: Wie kann ich den Wert einer Bemassung (gesteuerte oder Referenzbemassung) in die Zwischenablage bekommen ohne das eigentliche Modell zu öffnen oder irgendwelche Skizzen zu bearbeiten? Plus, ich möchte den Wert mit allen mikrigen 8 Kommastellen kopieren.

CTRL+C funktioniert hier für mich NICHT! Da nur, wahlweise(nach befinden von SolidWorks?!), 2-3 Kommastellen mitkommen. Manchmal auch nur eine!!!!     

Vielen Dank für Euren Input!

PS: Wäre schön, wenn man das Mass anwählen könnte (egal welche Art von Bemassung), eine Taste drücken und voilà! 

------------------
SolidWorks is my friend... SolidWorks, frieeeend!

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

HaPe
Mitglied
Dipl. Ing Maschinenbau, Konstrukteur, CAD-Admin


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

Beiträge: 1096
Registriert: 27.11.2001

i7 CPU 960@3.20GHz
8GB Ram
Quadro 2000 4GB
70GB Raid 0
WIN7 prof. SP1 64 bit
SWX 2010 SP5.0
SWX 2012 SP5.0
SWX 2013 SP5.0

erstellt am: 27. Jul. 2006 09:26    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 G. Dawg 10 Unities + Antwort hilfreich

Hallo,

bei der Messfunkttion kannst Du die Anzahl der Nachkommastellen einstellen, dann den Abstand messen, der Dich interressiert und den wert aus der Anzeige kopieren, nicht ganz auf Tastendruck aber geht auch recht schnell.

Gruß HaPe

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 27. Jul. 2006 09:35    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

Danke, HaPe!
Du hast meinen Alptraum zu Wirklichkeit werden lassen!!! 
Genau das wollte ich nicht! Denn ich habe ja die Bemassung schon! Ich wollte nur deren Wert. Leider lässt sich ein Mass nicht mehr messen 

Auch in der Bemassungseigenschaften lässt sich der Wert NICHT kopieren! 
(Wieso eigentlich nicht, Mrs. SolidWorks?)
Ich denke, das wird ein Verbesserungsvorschlag!

------------------
SolidWorks is my friend... SolidWorks, frieeeend!

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

Jan
Mitglied
Dipl.-Ing.


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

Beiträge: 1271
Registriert: 23.12.2000

Dienstl. Lenovo 64GB, nVidia, Win10, SW 2019, 2021 u. 2022
Priv. Dell M7740 16GB, nVidia , Win10,
SW 2012, SW 2021 und SW 2022 Prem.

erstellt am: 27. Jul. 2006 10: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 Nur für G. Dawg 10 Unities + Antwort hilfreich

Moin,

mit steuernden Maßen geht es doch!
Doppelklick auf das Feture, doppelklick auf das Maß, im Dialogfenster kopieren und dann wieder irgendwo einfügen!
Wenn Du dir entsprechend alle Nachkommastellen anzeigen läßt, kannst Du ein gesteuertes Maß von hinten durch die Brust ins Auge bekommen.
Starte das Beschriftungswerkzeug und klicke dann auf ein gesteuertes Maß. Dieses wird dann in den Text übernommen und kann kopieret werden;-)

Was willst Du überhaupt mit den ganzen Nachkommastellen? Das gibt Mecker mit der Fertigung!

Jan

[Diese Nachricht wurde von Jan am 27. Jul. 2006 editiert.]

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 27. Jul. 2006 10:18    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

Zitat:
Original erstellt von Jan:
mit steuernden Maßen geht es doch!

Danke Jan!
Doch GENAU das ist mein Problem! Es ist ein NICHT gesteuertes Mass!!! 

Habe SWXSolidWorks mal ein Vorschlag geschickt... in 2012 wird es dann vermutlich funktionieren. Wieso sollte man dieses Mass, aus den Eigenschaften hinaus, nicht kopieren können, frage ich mich!!!

EDIT:
Nun, ich muss auch sichergehen, dass alles stimmt! Wir zeichnen hier aber von Natur aus auf alle Kommastellen genau! Ich runde eigentlich meine Masse nur sehr selten! Da die in der Fertigung unsere Modelle brauchen für die Programme, kann ich nicht einfach alles auf 0.00 runden! Wir müssen sowieso auf 0.000 bemassen und auf 0.00000000 zeichnen. Stimmen muss es bis ins kleinste Molekül!  ...mehr auch wegen der Interferenzprüfung!

------------------
SolidWorks is my friend... SolidWorks, frieeeend!

[Diese Nachricht wurde von G. Dawg am 27. Jul. 2006 editiert.]

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: 27. Jul. 2006 10:35    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 G. Dawg 10 Unities + Antwort hilfreich

Hallo Gilbert,

wenn ich dich richtig verstehe brauchst du das zugrunde liegende "echte" Maß mit allen Nachkommastellen. Wenn dem so ist hab ich dir ein Makro gebastelt, was das auf eine einfache Art zum Kopieren in die Zwischenaböage zur Verfügung stellt:

Code:

' **********************************************************************
' * Makro holt vom selektierten Maß den Wert und zeigt ihn mit
' * allen 8 Nachkommastellen in einer Inputbox zum einfachen kopieren an.
' *
' * 27.07.2006 Stefan Berlitz (stefan.berlitz@solidworks.cad.de)
' * http://solidworks.cad.de
' * http://swtools.cad.de
' **********************************************************************

Dim swApp As Object
Dim ModelDoc As Object
Dim SelectionMgr As Object
Dim DispDim As Object
Dim Dimension As Object
Dim DimValue As Double

Const swSelDIMENSIONS = 14

Sub main()

    Set swApp = CreateObject("SldWorks.Application")
    Set ModelDoc = swApp.ActiveDoc
    Set SelectionMgr = ModelDoc.SelectionManager

    ' dann alle selektierten Objekte durchgehen
    If SelectionMgr.GetSelectedObjectCount <> 1 Then
        ' Warnmeldung
        MsgBox "Bitte nur eine einzelne Bemaßung selektieren"
    Else
        ' wenn es eine Bemaßung ist
        If SelectionMgr.GetSelectedObjectType(1) = swSelDIMENSIONS Then
            ' an die Bemaßung anklinken, auf dem Schirm ist ja eine DisplayDimension
            ' also erst mal den zugrunde liegenden Parameter holen
            Set DispDim = SelectionMgr.GetSelectedObject3(1)
            Set Dimension = DispDim.GetDimension

            ' den Wert auslesen, API typisch ist der in Metern, also umrechnen
            ' Umrechnung quick&dirty auf Millimeter
            DimValue = Dimension.GetSystemValue2("") * 1000
           
            InputBox "Wert ist:", "Bemaßungswert kopieren", DimValue
           
        Else
            MsgBox "Bitte nur eine einzelne Bemaßung selektieren"
        End If
    End If

End Sub


Direkt in die Zwischenablage kopieren würde ich gerne machen, aber von VBA aus ist das nur mit wilder Trickserei zu machen, da denke geht der Umweg über die Inputbox und einmal CTRL-C drücken. GGf. noch ein Sendkeys einfummeln 

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 27. Jul. 2006 10:42    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

Zitat:
Original erstellt von StefanBerlitz:
...wenn ich dich richtig verstehe brauchst du das zugrunde liegende "echte" Maß mit allen Nachkommastellen...

Genau!!! Juhuuu!!!       

Zitat:
Original erstellt von StefanBerlitz:
...Direkt in die Zwischenablage kopieren würde ich gerne machen, aber von VBA aus ist das nur mit wilder Trickserei zu machen...

Och... und das Schönst ist immer das Schwierigst!!! 

Hey, aber ein RIIIESEN Dankeschön!!!!

------------------
SolidWorks is my friend... SolidWorks, frieeeend!

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: 27. Jul. 2006 11:05    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 G. Dawg 10 Unities + Antwort hilfreich

Hehe, na gut, weil Ferien sind, die Bürotemperaturen sich langsam dem Siedepunkt nähern (war das früher schön, als die UNIX-Kisten Temperaturen über 27 Grad nicht ausgehalten haben und deswegen Klimaanlage im Büro Pflicht war. Die blöden modernen Kisten halten viel zu viel aus   ) der Griff in die Trickkiste: Maß selektieren, Makro abfeuern und schon ist der Wert in der Zwischenablage.

Falls du das zwischendurch sehen willst die Zeile mit der Msgbox wieder einkommentieren:

Code:

' **********************************************************************
' * Makro holt vom selektierten Maß den Wert und kopiert ihn mit
' * allen 8 Nachkommastellen in die Zwischenablage.
' *
' * 27.07.2006 Stefan Berlitz (stefan.berlitz@solidworks.cad.de)
' * http://solidworks.cad.de
' * http://swtools.cad.de
' **********************************************************************

Dim swApp As Object
Dim ModelDoc As Object
Dim SelectionMgr As Object
Dim DispDim As Object
Dim Dimension As Object
Dim DimValue As Double

Const swSelDIMENSIONS = 14

' tricksereien um ins Clipboard zu setzen
Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) _
   As Long
Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) _
   As Long
Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, _
   ByVal dwBytes As Long) As Long
Declare Function CloseClipboard Lib "User32" () As Long
Declare Function OpenClipboard Lib "User32" (ByVal hwnd As Long) _
   As Long
Declare Function EmptyClipboard Lib "User32" () As Long
Declare Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any, _
   ByVal lpString2 As Any) As Long
Declare Function SetClipboardData Lib "User32" (ByVal wFormat _
   As Long, ByVal hMem As Long) As Long

Public Const GHND = &H42
Public Const CF_TEXT = 1
Public Const MAXSIZE = 4096
     
Sub main()

    Set swApp = CreateObject("SldWorks.Application")
    Set ModelDoc = swApp.ActiveDoc
    Set SelectionMgr = ModelDoc.SelectionManager

    ' dann alle selektierten Objekte durchgehen
    If SelectionMgr.GetSelectedObjectCount <> 1 Then
        ' Warnmeldung
        MsgBox "Bitte nur eine einzelne Bemaßung selektieren"
    Else
        ' wenn es eine Bemaßung ist
        If SelectionMgr.GetSelectedObjectType(1) = swSelDIMENSIONS Then
            ' an die Bemaßung anklinken, auf dem Schirm ist ja eine DisplayDimension
            ' also erst mal den zugrunde liegenden Parameter holen
            Set DispDim = SelectionMgr.GetSelectedObject3(1)
            Set Dimension = DispDim.GetDimension

            ' den Wert auslesen, API typisch ist der in Metern, also umrechnen
            ' Umrechnung quick&dirty auf Millimeter
            DimValue = Dimension.GetSystemValue2("") * 1000
           
            ' Wert anzeigen
            ' MsgBox "Wert ist: " & DimValue
                       
            ' und noch in die Zwischenablage kopieren
            ClipBoard_SetData CStr(DimValue)
           
        Else
            MsgBox "Bitte nur eine einzelne Bemaßung selektieren"
        End If
    End If

End Sub

Function ClipBoard_SetData(MyString As String)
   ' von http://p2p.wrox.com/topic.asp?TOPIC_ID=15747
  
   Dim hGlobalMemory As Long, lpGlobalMemory As Long
   Dim hClipMemory As Long, X As Long

   ' Allocate movable global memory.
   '-------------------------------------------
   hGlobalMemory = GlobalAlloc(GHND, Len(MyString) + 1)

   ' Lock the block to get a far pointer
   ' to this memory.
   lpGlobalMemory = GlobalLock(hGlobalMemory)

   ' Copy the string to this global memory.
   lpGlobalMemory = lstrcpy(lpGlobalMemory, MyString)

   ' Unlock the memory.
   If GlobalUnlock(hGlobalMemory) <> 0 Then
      MsgBox "Could not unlock memory location. Copy aborted."
      GoTo ExitHere
   End If

   ' Open the Clipboard to copy data to.
   If OpenClipboard(0&) = 0 Then
      MsgBox "Could not open the Clipboard. Copy aborted."
      Exit Function
   End If

   ' Clear the Clipboard.
   X = EmptyClipboard()

   ' Copy the data to the Clipboard.
   hClipMemory = SetClipboardData(CF_TEXT, hGlobalMemory)

ExitHere:

   If CloseClipboard() = 0 Then
      MsgBox "Fehler beim Schließen des Clipboards"
   End If

End Function


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

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: 27. Jul. 2006 11: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 G. Dawg 10 Unities + Antwort hilfreich

Ich denke, damit geht es etwas einfacher...

------------------
Lutz Federbusch
Mein Gästebuch

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 27. Jul. 2006 11: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

Danke Euch beiden!!!!!!
Ich habe es anschliessen auch selber versucht bin aber immerwieder gescheiter!
Dank dem Verwis auf FM20.dll geht nun alles!!!!

Code:
' **********************************************************************
' * Makro holt vom selektierten Maß den Wert und zeigt ihn mit
' * allen 8 Nachkommastellen in einer Inputbox zum einfachen kopieren an.
' *
' * 27.07.2006 Stefan Berlitz (stefan.berlitz@solidworks.cad.de)
' * http://solidworks.cad.de
' * http://swtools.cad.de
' **********************************************************************

Dim swApp As Object
Dim ModelDoc As Object
Dim SelectionMgr As Object
Dim DispDim As Object
Dim Dimension As Object
Dim DimValue As Double
Dim oData As DataObject

Const swSelDIMENSIONS = 14

Sub main()

    Set swApp = CreateObject("SldWorks.Application")
    Set ModelDoc = swApp.ActiveDoc
    Set SelectionMgr = ModelDoc.SelectionManager
    Set oData = New DataObject

    ' dann alle selektierten Objekte durchgehen
    If SelectionMgr.GetSelectedObjectCount <> 1 Then
        ' Warnmeldung
        MsgBox "Bitte nur eine einzelne Bemaßung selektieren"
    Else
        ' wenn es eine Bemaßung ist
        If SelectionMgr.GetSelectedObjectType(1) = swSelDIMENSIONS Then
            ' an die Bemaßung anklinken, auf dem Schirm ist ja eine DisplayDimension
            ' also erst mal den zugrunde liegenden Parameter holen
            Set DispDim = SelectionMgr.GetSelectedObject3(1)
            Set Dimension = DispDim.GetDimension

            ' den Wert auslesen, API typisch ist der in Metern, also umrechnen
            ' Umrechnung quick&dirty auf Millimeter
            DimValue = Dimension.GetSystemValue2("") * 1000
         
            'InputBox "Wert ist:", "Bemaßungswert kopieren", DimValue
           
            ' Verweis auf FM20.dll nötig!!!!
            ' Kopiert den Wert von DimValue in die Windows Zwischenablage
            oData.SetText DimValue
            oData.PutInClipboard
           
         
        Else
            MsgBox "Bitte nur eine einzelne Bemaßung selektieren"
        End If
    End If

End Sub


------------------
SolidWorks is my friend... SolidWorks, frieeeend!

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: 27. Jul. 2006 11: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 G. Dawg 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Lutz Federbusch:
Ich denke, damit geht es etwas einfacher...


Im Prinzip schon, in der Regel nicht 

Bis ich jemandem bei einem Code, der per Copy/Paste einzusetzen ist erklärt habe, wie und wo er das DataObject einbindet mach ich es lieber selbst per Windows API 

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

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: 27. Jul. 2006 11: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 G. Dawg 10 Unities + Antwort hilfreich

Du siehst ja, was der Gilbert macht. Copy&Paste und Verweise setzen und es flutscht!!!

------------------
Lutz Federbusch
Mein Gästebuch

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 27. Jul. 2006 12:33    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 G. Dawg 10 Unities + Antwort hilfreich


DimTracker.zip

 
Holla zusammen,

weils so lustig ist und Stefan heute mal den Turbo reingehauen hat,
hab ich mal ein kleines 'Dim Klick Tracker Tool' im pure VBA angehangen.

- Für alles andere als SWX2k5 müssen die Verweise angepasst werden.
entweder:
- Drawing öffnen
- in Modul1 sub Main ausführen
- Bemassungen anklicken.
oder:
- keine Datei geöffnet
- in Modul1 sub Main ausführen
- Drawing öffnen
- Bemassungen anklicken.

wobei der 2. Weg wesentlich lustiger ist ... denn VBA scheint sich ganz normal beendet zu haben ... ohne Aktion -> nicht darauf reinfallen. Öffnet einfach ein drw und schwupps ist die Maske vorhanden.

Gruß
Micha

------------------
http://classicvb.org/petition/

       

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 27. Jul. 2006 13:42    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

Hm! Interessant!!! Das Makro kopiert sogar 13(!!) Stellen nach dem Komma!!! Wenn das Mass 11.1234567890123456789 eingegeben wurde, als ø z.B., dann wird max. 11.12345679 angezeigt. Das Makro aber kopiert diesen Wert: 11.1234567890123!!!

Mit wieviel Stellen rechnet eigentlich SolidWorks?

------------------
SolidWorks is my friend... SolidWorks, frieeeend!

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 27. Jul. 2006 13:44    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

Zitat:
Original erstellt von VBSpawn:
- Für alles andere als SWX2k5 müssen die Verweise angepasst werden.
entweder:
- Drawing öffnen
- in Modul1 sub Main ausführen
- Bemassungen anklicken.
oder:
- keine Datei geöffnet
- in Modul1 sub Main ausführen
- Drawing öffnen
- Bemassungen anklicken.

Sieht ja toll aus! Aber, ohne zu wissen welche Verweise ich anpassen muss, bin ich hier verloren!! 
Ich würde gerne sehen, was Dein Progi genau macht...!

------------------
SolidWorks is my friend... SolidWorks, frieeeend!

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 27. Jul. 2006 13: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 G. Dawg 10 Unities + Antwort hilfreich


Verweise.JPG

 
Zitat:
Original erstellt von G. Dawg:
Sieht ja toll aus! Aber, ohne zu wissen welche Verweise ich anpassen muss, bin ich hier verloren!!  
Ich würde gerne sehen, was Dein Progi genau macht...!

Siehe Bild.

Falls du kein SWX2k5 hast dann den deiner SWX Version entsprechenden Verweis einbinden.

Gruß
Micha

------------------
http://classicvb.org/petition/

       

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 27. Jul. 2006 14:07    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

Ah! Wer lesen kann ist klar im Vorteil!!! 
DRAWING!!!! In einem Part macht das Makro genau NICHTS!!
Das Makro funkt also auch im SWX2006

------------------
SolidWorks is my friend... SolidWorks, frieeeend!

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 27. Jul. 2006 14:33    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 G. Dawg 10 Unities + Antwort hilfreich


DimTrackerV2.zip

 
Zitat:
Original erstellt von G. Dawg:
Ah! Wer lesen kann ist klar im Vorteil!!!  
DRAWING!!!! In einem Part macht das Makro genau NICHTS!!
Das Makro funkt also auch im SWX2006

<grinz> Dachte wir sind bei drw's naja hier nocheinmal ne Anpassung da gehts dann auch mit asm & prt's

Gruß
Micha

------------------
http://classicvb.org/petition/

       

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 27. Jul. 2006 14: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

Ha! Super!!! 
Jetzt gehts auch in Parts!!!! 

Pretty cool, your tool! 

------------------
SolidWorks is my friend... SolidWorks, frieeeend!

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 03. Aug. 2006 08: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

ACHTUNG!!!!!!!
DIESES MAKRO FUNKTIONIERT NICHT BEI WINKELBEMASSUNG!!!
Da dreht das Marko ein wenig durch und liefert einen falschen Wert!
Auch Dein Makro, VBSpawn, liefert den selben falschen Wert!

Ein Winkelmass von 60.56365° liefert den Wert 1057.03521955285!
Was soll denn das?! Fehlt da noch eine Umrechnugn???

------------------
SolidWorks is my friend... SolidWorks, frieeeend!

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 03. Aug. 2006 09:07    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 G. Dawg 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von G. Dawg:
ACHTUNG!!!!!!!
Da dreht das Marko ein wenig durch und liefert einen falschen Wert!
Auch Dein Makro, VBSpawn, liefert den selben falschen Wert!

Hi und Moin moin,

Klaro sind ja auch 2x die gleichen Quellen

Zitat:
Original erstellt von Stefan Kopiert im Code:
            ' den Wert auslesen, API typisch ist der in Metern, also umrechnen
            ' Umrechnung quick&dirty auf Millimeter
            DimValue = Dimension.GetSystemValue2("") * 1000

ggf musst du dort noch was Anpassen.

Gruß
Micha

------------------
http://classicvb.org/petition/

       

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 03. Aug. 2006 10:12    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 G. Dawg 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Lutz Federbusch:
Ich denke, damit geht es etwas einfacher...



Mpf...man sollte den Thread immer zu Ende lesen (ich meine mich!), bevor man sich an die Arbeit macht. Auf diesen Link bin ich auch gestoßen und mein Makro sieht genauso aus wie das nachfolgende von G. Dawg.

Die anderen Clipboard-Lösungen von Stefan und Micha sind zwar akademisch interessant, aber mir viel zu kompliziert.

------------------
Klaus

www.al-ko.com

>> Unbedingt hier klicken!!! <<


privat...

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 03. Aug. 2006 11:18    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 G. Dawg 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von KMassler:
[QUOTE]Original erstellt von Lutz Federbusch:
Ich denke, damit geht es etwas einfacher...



Die anderen Clipboard-Lösungen von Stefan und Micha sind zwar akademisch interessant, aber mir viel zu kompliziert.
[/QUOTE]

Hallo Klaus,

Ich kann dir dabei zustimmen das ein einbinden vom DataObject einfacher ist, allerdings hat man als Entwickler immer das Problem das man auf die Verwendeten Controls / dll's ect aufpassen muss.
Eine Software, sei es auch nur ein VBA Makro, braucht auf jedem PC die gleichen Komponenten & Verweise ... was wiederrum bei der Installation auf anderen PC mitbeachtet werden muss... indem man die verwendeten ctrls/dll in der entsprechenden Version mitliefert.

Um diesen Aufwand gering zuhalten.... verwende ich 'wo es geht' die WinAPI Calls sodass ich nur noch nach OS unterscheiden brauche... und der 'end user' hat keine Probleme mit regsvr / verweisen usw....


Gruß
Micha

------------------
http://classicvb.org/petition/

       

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 03. Aug. 2006 12: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 G. Dawg 10 Unities + Antwort hilfreich

Hi Micha,

ich gebe dir ja im Grunde recht, die Frage ist nur, ob sich der Aufwand bei solchen kleinen Makroleinchen lohnt.
Hier braucht man noch nicht mal manuell einen Verweis einbinden. Das Einfügen einer Userform (ohne sie dann zu benutzen) hätte hier den gleichen Effekt gehabt. Und beim Weitergeben der Makro-Datei wäre alles dabei gewesen.
Aber für größere Projekte hast du sicher recht.

------------------
Klaus

www.al-ko.com | Pssst...unbedingt hier klicken!!! | mein Gästebuch | privat...

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 03. Aug. 2006 13: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 Nur für G. Dawg 10 Unities + Antwort hilfreich

Hi Klaus,

sicherlich geht mein bsp total übers Ziel hinaus,
allerdings sind gerade solche kleinen Beispiele super hilfreich wenn man sich etwas damit beschäftigt.

Gruß
Micha

------------------
http://classicvb.org/petition/

       

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 04. Aug. 2006 08: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

Tadaaaa!!! So! Nun erkennt das tolle Progi auch Winkelbemassungen und rechnet diese auch korrekt um!!! 

[edit]
PI etwas genauer 
Runden auf 12 Stellen; Danke an HernyV! -> Da mache Masse auf den letzten paar (1 bis 3) Stellen abweichen! Aus welchem Grund auch immer! 
[/edit]


Code:
' ' **********************************************************************
' * Makro holt vom selektierten Maß den Wert und zeigt ihn mit
' * allen 8 Nachkommastellen in einer Inputbox zum einfachen kopieren an.
' *
' * 27.07.2006 Stefan Berlitz (stefan.berlitz@solidworks.cad.de)
' * http://solidworks.cad.de
' * http://swtools.cad.de
' **********************************************************************
' * Richtiges erkennen von Winkelbemassungen und deren Umrechnung.
' * Winkel Umrechnung von Radiant in Grad
' * 4. August 2006, G. Fürer
' **********************************************************************

Dim swApp As Object
Dim ModelDoc As Object
Dim SelectionMgr As Object
Dim DispDim As Object
Dim Dimension As Object
Dim DimValue As Double
Dim oData As DataObject

Const swSelDIMENSIONS = 14

Function GetDimFactor _
( _
    swApp As SldWorks.SldWorks, _
    swModel As SldWorks.ModelDoc2, _
    swDim As SldWorks.Dimension _
) As Double
    Const PI                    As Double = 3.1415926535898
    Const LEN_FACTOR            As Double = 1000#
    Const ANG_FACTOR            As Double = 180# / PI
   
    Select Case swDim.GetType
        Case swDimensionParamTypeDoubleLinear
            GetDimFactor = LEN_FACTOR
           
        Case swDimensionParamTypeDoubleAngular
            GetDimFactor = ANG_FACTOR
           
        Case Else
            Debug.Assert False
    End Select
End Function

Sub main()

    Set swApp = CreateObject("SldWorks.Application")
    Set ModelDoc = swApp.ActiveDoc
    Set SelectionMgr = ModelDoc.SelectionManager
    Set oData = New DataObject

    ' dann alle selektierten Objekte durchgehen
    If SelectionMgr.GetSelectedObjectCount <> 1 Then
        ' Warnmeldung
        MsgBox "Bitte (nur) eine Bemaßung selektieren"
    Else
        ' wenn es eine Bemaßung ist
        If SelectionMgr.GetSelectedObjectType(1) = swSelDIMENSIONS Then
            ' an die Bemaßung anklinken, auf dem Schirm ist ja eine DisplayDimension
            ' also erst mal den zugrunde liegenden Parameter holen
            Set DispDim = SelectionMgr.GetSelectedObject3(1)
            Set Dimension = DispDim.GetDimension

            ' den Wert auslesen, API typisch ist der in Metern, also umrechnen
            ' Umrechnung quick&dirty auf Millimeter
            nDimFactor = GetDimFactor(swApp, ModelDoc, Dimension)
            DimValue = Dimension.GetSystemValue2("") * nDimFactor
            DimValue = Round(DimValue * 100000000000#, 0) / 100000000000#
         
            'InputBox "Wert ist:", "Bemaßungswert kopieren", DimValue
           
            ' Verweis auf FM20.dll nötig!!!!
            ' Kopiert den Wert von DimValue in die Windows Zwischenablage
            'strText = DimValue
            oData.SetText DimValue
            oData.PutInClipboard
         
        Else
            MsgBox "Bitte (nur) eine Bemaßung selektieren"
        End If
    End If
End Sub


------------------
SolidWorks is my friend... SolidWorks, frieeeend!

[Diese Nachricht wurde von G. Dawg am 04. Aug. 2006 editiert.]

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

SolidWemo
Mitglied
Technischer Produktdesigner

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

Beiträge: 3
Registriert: 25.09.2023

erstellt am: 04. Okt. 2023 14: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 G. Dawg 10 Unities + Antwort hilfreich

Hallo,
nutze SW2023 und leider läuft bei mir das Makro nicht. Gibt es aktuelle Lösungsansätze um Bemaßungswerte in die Zwischenablage zu kopieren?
Vielen Dank.


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

Jan
Mitglied
Dipl.-Ing.


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

Beiträge: 1271
Registriert: 23.12.2000

Dienstl. Lenovo 64GB, nVidia, Win10, SW 2019, 2021 u. 2022
Priv. Dell M7740 16GB, nVidia , Win10,
SW 2012, SW 2021 und SW 2022 Prem.

erstellt am: 05. Okt. 2023 08:13    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 G. Dawg 10 Unities + Antwort hilfreich


Kopieren_01.jpg


Kopieren_02.jpg

 
Moin,

vielleicht reichen ja die Bordmittel.

Gruß
Jan

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