Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Text als Gravur

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
  
CAD/CAM-Workshop in Suhl-Friedberg: SolidCAM + SOLIDWORKS
Autor Thema:  Text als Gravur (3183 mal gelesen)
mmac
Mitglied
Dipl.-Ing. (FH) - Maschinenbau


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

Beiträge: 30
Registriert: 01.08.2005

SW2018

erstellt am: 18. Mrz. 2008 23: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


Text.zip

 
Hallo,

wir verarbeiten Blech. In die herzustellenden Teile soll mittels Laser die Teilenr. und die Seriennr. eingraviert werden.
Die Teilenr. verändert sich nicht, die SN ändert sich bei jeder Neuproduktion.
Ich suche nun nach einer Möglichkeit den Text komfortabler ändern zu können, als die Skizze zu öffnen und dort den Skizzentext zu ändern.
Leider habe ich keine Möglichkeit, wie z. B. bei der Bemassung, gefunden, um z. B. dem Text einen Namen zu geben und den Text aus VB auszulesen, zu ändern und den geänderten Wert zu schreiben.
Anbei ein Archiv mit dem verwendeten LibFeaturePart.

Hat jemand eine Idee / einen Tipp?

Vielen Dank im Voraus.

------------------
Viele Gr��e

Martin

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: 19. Mrz. 2008 07: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 Nur für mmac 10 Unities + Antwort hilfreich

Vielleicht hilft Dir das Beispiel aus der SolidWorks API weiter:

Code:
'-------------------------------
'
' Preconditions:
'          (1) Part document is open and contains
'              sketch text.
'          (2) Feature for sketch text is selected.
'
' Postconditions: Original sketch text is replaced with
'          new sketch text, "New text".
'
'-------------------------------
Option Explicit

Dim swApp As SldWorks.SldWorks
Dim swModel As Object
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFeat As SldWorks.Feature
Dim swSketch As SldWorks.Sketch
Dim swSketchText As SldWorks.SketchText
Dim params As Variant

Sub main()

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager

' Get the selected feature of the sketch text
Set swFeat = swSelMgr.GetSelectedObject6(1, 0)
Set swSketch = swFeat.GetSpecificFeature2

' Edit the sketch of the sketch text
swModel.EditSketch

' Get the sketch text
params = swSketch.GetSketchTextSegments
' Only one instance of sketch text so
' set SketchText to that instance
Set swSketchText = params(0)

' Print the current sketched text
Debug.Print swSketchText.text
'Change the sketched text
swSketchText.text = "New text"
' Print the changed text
Debug.Print swSketchText.text

' Insert the new text in the sketch,
' rebuild the part with any changes
' made to the sketch, and
' exit sketch mode
swModel.InsertSketch2 True

End Sub

Unglaublich, aber es funktioniert sogar!   
Mann muss nur die Skizze mit dem Skizzentext auswählen (Unterhalb vom Feature) und das Makro starten.

------------------

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

CSchnitz
Mitglied



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

Beiträge: 30
Registriert: 12.03.2008

SWX 2011 64x SP 3.0
WINDOWS7 64bit

erstellt am: 19. Mrz. 2008 08:45    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 mmac 10 Unities + Antwort hilfreich

Hallo!


Wäre es eventuell möglich das man statt new text den Dateinamen (bei uns Teilenr.) anzeigen lassen könnte.
Was müsste man dann ins Makro schreiben ?


Gruß

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: 19. Mrz. 2008 08: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 Nur für mmac 10 Unities + Antwort hilfreich

Dieser Schnipsel sollte Dir eigentlich weiterhelfen.

Code:

dummy = swModel.AddCustomInfo3("", "Dateiname", swCustomInfoText, "$PRP:""SW-Dateiname(File Name)""")
        swModel.CustomInfo("Dateiname") = "$PRP:""SW-Dateiname(File Name)"""
        GET_DATEINAME = swModel.GetCustomInfoValue("", "Dateiname")


------------------

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

mmac
Mitglied
Dipl.-Ing. (FH) - Maschinenbau


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

Beiträge: 30
Registriert: 01.08.2005

SW2018

erstellt am: 20. Mrz. 2008 23: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 G. Dawg,

habe es soeben ausprobiert. Funktioniert einwandfrei, vielen Dank.

Ich hatte auch die SW-API-Beispiele durchsucht und wahrscheinlich das Beispiel am unteren Ende der Liste übersehen.

Vielen Dank

Gruß

Martin

------------------
Viele Gr��e

Martin

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

CSchnitz
Mitglied



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

Beiträge: 30
Registriert: 12.03.2008

SWX 2011 64x SP 3.0
WINDOWS7 64bit

erstellt am: 26. Mrz. 2008 12: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 mmac 10 Unities + Antwort hilfreich

Danke erstmal G. Dawg!

Vielleicht könntest du das ganze API hier reinstellen, ich habs versucht,
hab aber leider keine ahnung wie das funktioniert.

Gruß

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: 26. Mrz. 2008 13:09    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 mmac 10 Unities + Antwort hilfreich

Ich habs jetzt nicht ausprobiert, aber so ca. so sollte es gehen:

Code:
'-------------------------------
'
' Preconditions:
'          (1) Part document is open and contains
'              sketch text.
'          (2) Feature for sketch text is selected.
'
' Postconditions: Original sketch text is replaced with
'          new sketch text, "New text".
'
'-------------------------------
Option Explicit

Dim swApp As SldWorks.SldWorks
Dim swModel As Object
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFeat As SldWorks.Feature
Dim swSketch As SldWorks.Sketch
Dim swSketchText As SldWorks.SketchText
Dim params As Variant

Dim dummy
Dim getTextDateiname As String

Sub main()

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager

'''''''''' START Dateiname als Benutzerdefinierte Eigenschaft erstellen und Dateiname eintragen
dummy = swModel.AddCustomInfo3("", "TextDateiname", swCustomInfoText, "$PRP:""SW-Dateiname(File Name)""")
        swModel.CustomInfo("TextDateiname") = "$PRP:""SW-Dateiname(File Name)"""
        getTextDateiname = swModel.GetCustomInfoValue("", "TextDateiname")
'''''''''' ENDE Dateiname als Benutzerdefinierte Eigenschaft erstellen und Dateiname eintragen


' Get the selected feature of the sketch text
Set swFeat = swSelMgr.GetSelectedObject6(1, 0)
Set swSketch = swFeat.GetSpecificFeature2

' Edit the sketch of the sketch text
swModel.EditSketch

' Get the sketch text
params = swSketch.GetSketchTextSegments
' Only one instance of sketch text so
' set SketchText to that instance
Set swSketchText = params(0)

' Print the current sketched text
Debug.Print swSketchText.Text
'Change the sketched text
swSketchText.Text = getTextDateiname
' Print the changed text
Debug.Print swSketchText.Text

' Insert the new text in the sketch,
' rebuild the part with any changes
' made to the sketch, and
' exit sketch mode
swModel.InsertSketch2 True

End Sub



Vermutlich gäbe es eine elegantere Lösung den Dateiname zu finden, als den zuerst als BDE anzulegen. Leider weiss ich die (noch) nicht! 

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