Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Koordinatenbemaßung XY in Zeichnung

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
  
PLM TechnologieForum Hannover
Autor Thema:  Koordinatenbemaßung XY in Zeichnung (2690 mal gelesen)
AMG_C30
Mitglied
NC-Programmierer


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

Beiträge: 412
Registriert: 14.12.2003

Win10-64
CATIA V5-6R2021 SP2
SWX 2021
SolidCAM 2021

erstellt am: 17. Dez. 2018 13:29    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


Koordinatenbemasung.jpg

 
Hallo Solidworksexperten,

wie im Anhang zu sehen, möchte ich gerne XY Koordinaten in einer Zeichnungsableitung durch abklicken platzieren.
Leider scheint es dafür keine Standardfunktion zu geben.
So was wie die Bohrungstabelle, aber als Punktetabelle würde schon helfen.
Einen ähnlichen Beitrag von 2007 habe ich gefunden, da war von der Programmierung eines Makros die Rede, davon habe ich leider keine Ahnung, da auch ziemlicher SW Neuling.
Hat jemand eine Idee, wie man das am einfachsten umsetzen könnte?
Als Notlösung würde ich jetzt mit Ordinatenbemaßung arbeiten, ist aber nicht ganz so komfortabel.
Ziel soll sein, dass der Werkzeugschleifer die Koordinaten direkt hintereinander in die Steuerung eintippen kann.

------------------
Gruß Uwe

[Diese Nachricht wurde von AMG_C30 am 17. Dez. 2018 editiert.]

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

Olaf Wolfram
Ehrenmitglied V.I.P. h.c.
CAD-Mutti und Konstrukteur CSWP CSWI



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

Beiträge: 2431
Registriert: 30.06.2008

I7-3770 CPU 3,40 Ghz
32 Gb RAM
64 bit
WIN 10
SWX 2019 SP5
NVIDIA Quadro K2000<P>
Lenovo ThinkStation

erstellt am: 17. Dez. 2018 15: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 AMG_C30 10 Unities + Antwort hilfreich

ich habe hier ein Macro (nicht von miŕ    und keine Ahnung woher ich es habe....)

kann es aber wegen den BOFH nicht hochladen.

deswegen der Text als copy&paste:

Punkt im 3 D selektieren und Macro ausführen...

Dim swApp As Object
Dim Part As Object
Dim SelMgr As Object


Sub main()

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
Set FS = CreateObject("Scripting.FileSystemObject")

' Erzeugen des CSV-Dateinamens
dateiname = Replace(UCase(Part.GetPathName), "SLDPRT", "CSV")

' Wenn das Modell nicht gespeichert ist, kann keine CSV-Datei erzeugt werden --> Abbruch
If (dateiname = "") Then
    MsgBox "Bitte das Model speichern!", vbCritical, "Erfassung Koordinaten"
    Exit Sub
End If

' Freundliche Begrüßung oder Abbruch
Retval = MsgBox("Die ausgewählten Punkt werden in eine CSV-Datei: " & dateiname & " übertragen!" & _
Chr(13) & Chr(13) & "Achtung! Bitte NUR Punkte selektieren!", 33, "Erfassung Koordinaten")
If Retval = 2 Then Exit Sub

' CSV-Datei definieren
Set CSVDatei = FS.CreateTextFile(dateiname, True)

' Überschriften schreiben
CSVDatei.WriteLine "Nr." & ";" & "X" & ";" & "Y" & ";" & "Z"

' Selektierte Punkte zählen
oc = SelMgr.GetSelectedObjectCount

' Wenn Ergebnis der Zählung gleich Null --> Abbruch
If (oc = 0) Then
    MsgBox "Es ist nichts selektiert!", vbCritical, "Erfassung Koordinaten"
    Exit Sub
End If

' Für jedes gezählte Element ...
For oi = 1 To oc Step 1

    ' Koordinaten in X, Y und Z erfassen
    pointx = SelMgr.GetSelectionPoint(oi)
    PunktX = pointx(0) * 1000
    PunktY = pointx(1) * 1000
    PunktZ = pointx(2) * 1000
   
    ' Formatierung der Werte festgelegen
    Formatierung = "#0.00"
   
    ' Formatierung durchführen
    PunktX = Format(PunktX, Formatierung)
    PunktY = Format(PunktY, Formatierung)
    PunktZ = Format(PunktZ, Formatierung)
   
    ' Text erstellen
    Text = oi & ";" & PunktX & ";" & PunktY & ";" & PunktZ
   
    ' Zeile in CSV-Datei schreiben
    CSVDatei.WriteLine Text

Next

' CSV-Datei schließen
CSVDatei.Close

' Abfrage, ob SCV-Datei gezeigt werden soll
Retval = MsgBox(dateiname & " erstellt." & Chr(13) & Chr(13) & "Soll die Datei jetzt angezeigt werden?", 292, "Erfassung Koordinaten")

' Wenn JA, dann in Notepad anzeigen
If Retval = 6 Then start = Shell("notepad " & dateiname, 1)

End Sub

getesten in SWX 2016 evtl. noch die Verweise anpassen.

------------------
Wenn ,Wenn....Wenn meine Tante Nüsse hätte, dann wäre sie mein Onkel....

Nachtrag:

Händische Variante:
Zeichnung ableiten
Tabelle einfügen
3 Spalten (Punktnamen,x-Wert,Y-Wert)
n Zeilen für n Punkte
dann die entsprechende Zelle in der Tabelle anklicken und danach auf das entsprechende Maß auf der Zeichnung klicken.

Warscheinlich ist das Makro schneller auch wenn du dann aus der CSV-Datei die Z-Koordinaten löschen musst.

HTH

[Diese Nachricht wurde von Olaf Wolfram am 17. Dez. 2018 editiert.]

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

AMG_C30
Mitglied
NC-Programmierer


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

Beiträge: 412
Registriert: 14.12.2003

erstellt am: 20. Dez. 2018 10: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 Olaf,

vielen Dank für deine Hilfe.
Wenn ich das richtig sehe ist das macro für Punkte selektieren im SLDPRT gedacht.
Kann man das einfach auf SLDDRW umschreiben? Habe leider gar keine Ahnung von der Materie.
Die händische Variante ist auf jeden Fall zu umständlich.

------------------
Gruß Uwe

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

Olaf Wolfram
Ehrenmitglied V.I.P. h.c.
CAD-Mutti und Konstrukteur CSWP CSWI



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

Beiträge: 2431
Registriert: 30.06.2008

I7-3770 CPU 3,40 Ghz
32 Gb RAM
64 bit
WIN 10
SWX 2019 SP5
NVIDIA Quadro K2000<P>
Lenovo ThinkStation

erstellt am: 20. Dez. 2018 13:02    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 AMG_C30 10 Unities + Antwort hilfreich

Ich bin mir sicher dass das geht, kann dir da aber nicht helfen.
Da aber Zeichnung und Modell assoziativ sind, ist es eigentlich egal, wo du die Koordinaten erzeugst.

Wenn du die Tabelle erzeugt ist(CSV),speichere ich diese als Excelsheet ab und dann zurück zur Zeichnung-->einfügen-->Objekt--> Aus Datei.....Pfad zur Tabelle.

HTH

------------------
Wenn ,Wenn....Wenn meine Tante Nüsse hätte, dann wäre sie mein Onkel....

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

AMG_C30
Mitglied
NC-Programmierer


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

Beiträge: 412
Registriert: 14.12.2003

erstellt am: 21. Dez. 2018 08:46    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

Das das Makro in der Zeichnung zu starten geht, haben wir nicht hinbekommen. Mein Kollege hat es aber so umgeschrieben, dass wir im Part die Punkte selektieren (aus der Skizze vom Rotationskörper ausgewählt),
dann das Makro starten, welches die csv erzeugt( X 5,500 / Y 9,806).
Die Werte kopieren wir nacheinander und fügen sie mitttels Bezugshinweis in der Zeichnung ein.
Das ist zwar nicht sonderlich komfortabel aber es geht erstmal.
Vielleicht kann sich das mal ein Fachmann anschauen und es so anpassen, dass es auch in der Zeichnung läuft!?

Dim swApp As Object
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
Set FS = CreateObject("Scripting.FileSystemObject")

' Erzeugen des CSV-Dateinamens
dateiname = Replace(UCase(Part.GetPathName), "SLDPRT", "CSV")

' Wenn das Modell nicht gespeichert ist, kann keine CSV-Datei erzeugt werden --> Abbruch
If (dateiname = "") Then
    MsgBox "Bitte das Model speichern!", vbCritical, "Erfassung Koordinaten"
    Exit Sub
End If

' Freundliche Begrüßung oder Abbruch
Retval = MsgBox("Die ausgewählten Punkt werden in eine CSV-Datei: " & dateiname & " übertragen!" & _
Chr(13) & Chr(13) & "Achtung! Bitte NUR Punkte selektieren!", 33, "Erfassung Koordinaten")
If Retval = 2 Then Exit Sub

' CSV-Datei definieren
Set CSVDatei = FS.CreateTextFile(dateiname, True)

' Überschriften schreiben
CSVDatei.WriteLine "Koordinatenausgabe X und Y"

' Selektierte Punkte zählen
oc = SelMgr.GetSelectedObjectCount

' Wenn Ergebnis der Zählung gleich Null --> Abbruch
If (oc = 0) Then
    MsgBox "Es ist nichts selektiert!", vbCritical, "Erfassung Koordinaten"
    Exit Sub
End If

' Für jedes gezählte Element ...
For oi = 1 To oc Step 1

    ' Koordinaten in X, Y und Z erfassen
    pointx = SelMgr.GetSelectionPoint(oi)
    PunktX = pointx(0) * 1000
    PunktY = pointx(1) * 1000
   
 
    ' Formatierung der Werte festgelegen
    Formatierung = "#0.000"
 
    ' Formatierung durchführen
    PunktX = Format(PunktX, Formatierung)
    PunktY = Format(PunktY, Formatierung)
   
 
    ' Text erstellen
    Text = i & " X " & PunktX & " / Y " & PunktY
 
    ' Zeile in CSV-Datei schreiben
    CSVDatei.WriteLine Text

Next

' CSV-Datei schließen
CSVDatei.Close

' Abfrage, ob SCV-Datei gezeigt werden soll
Retval = MsgBox(dateiname & " erstellt." & Chr(13) & Chr(13) & "Soll die Datei jetzt angezeigt werden?", 292, "Erfassung Koordinaten")

' Wenn JA, dann in Notepad anzeigen
If Retval = 6 Then Start = Shell("notepad " & dateiname, 1)

Set swApp = Application.SldWorks
End Sub

------------------
Gruß Uwe

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: 02. Jan. 2019 07: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 AMG_C30 10 Unities + Antwort hilfreich


XYZinTabelle_Video.zip


XYZinBemasung_Video.zip

 
Hallo Uwe,
mit einer Vorlage in SLDPRT und einer Vorlage in SLDDRW geht es auch ohne Makro. Siehe Videos. Die SLDPRT-Vorlage enthält Skizzenpunkte in einer 3D-Skizze, die mit gesteuerten Maßen verbunden sind. Die Maße werden durch Gleichungen auf den Nullpunkt bezogen. Der errechnete Wert ist als Benutzerdefinierte Eigenschaft mit der vorbereiteten Zeichnungsvorlage verknüpft. Werden die Maße im Part geändert, passen sich auch die XYZ Werte in der Zeichnung an. Das Ganze wäre auch als Baugruppe denkbar, in der das Teil als Komponente eingefügt wird und die Punkte, in einer eigenen Komponente, an die passende Position gezogen werden. Das habe ich aber noch nicht ausprobiert. Vielleicht ist das eine brauchbare Lösung.

Gruß - Lenz

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