Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API -- SkizzenText

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
Autor Thema:  API -- SkizzenText (568 mal gelesen)
PaulchenPanter
Mitglied


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

Beiträge: 5
Registriert: 05.04.2004

erstellt am: 05. Apr. 2004 17: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

Ich habe da ein kleines Problem und zwar möchte ich eigentlich eifach im Feature-Baum eine Skizze anwählen können in der nur ein Text vorhanden ist (keine Vermassung oder so). Nun möchte ich mit einem Makro die Einstellung dieses Textes auf "Dokument Standart" einstellen.
Hab da mal dieses Script ausprobiert, aber es klappt nicht!*g*

Hat jemand eine Idee?

'-------------------------------------------
' How to retrieve the text formatting for sketch text
'
' Problem:
'  When there is text in a sketch, how to retrieve
'  and change the formatting of the text
'
' Preconditions:
'      1) part is open
'      2) sketch is selected
'      3) sketch has some text
'
' Postconditions:
'      none
'
' Further Work:
'      1) alter formatting with SketchText::SetTextFormat

Option Explicit

Sub main()
    Dim swApp              As SldWorks.SldWorks
    Dim swModel            As SldWorks.ModelDoc2
    Dim swSelMgr            As SldWorks.SelectionMgr
    Dim swFeat              As SldWorks.feature
    Dim swSketch            As SldWorks.sketch
    Dim vSketchText        As Variant
    Dim swSketchText        As SldWorks.SketchText
    Dim swTextFormat        As SldWorks.textFormat
    Dim i                  As Long
    Dim bRet                As Boolean
    Dim swTextF            As Object
    Dim ac                  As Long
   

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swSelMgr = swModel.SelectionManager
    Set swFeat = swSelMgr.GetSelectedObject5(1)
    Set swSketch = swFeat.GetSpecificFeature
   
    For ac = 0 To swSketchText.GetTextFormatCount - 1
        vSketchText = swSketch.GetSketchTextSegments
        Set swSketchText = vSketchText(i)
        Set swTextFormat = swSketchText.GetTextFormat
        Set swTextF = swSketchText.GetTextFormat(ac)
   
    swModel.EditSketch
    Set swTextFormat = swSketchText.SetTextF(ac, True, swTextF)
   
    Next
   
End Sub
'-------------------------------------------


Grüsse Paulchen

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: 06. Apr. 2004 08: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 Nur für PaulchenPanter 10 Unities + Antwort hilfreich

Hallo Paulchen,

und herzlich willkommen im Forum 

An deinem Beispiel war aber ziemlich viel verbogen, dass kommt so sicher nicht aus der APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface) Hilfe oder von einer Webseite 

Ich hab's mal ein wenig korrigiert, aber noch nicht alles abgefangen, so muss hier in jedem Fall vorher die Skizze aktiviert sein, sonst gibt's einen Fehler. Sieht so aus:

Code:

Option Explicit

Sub main()
    Dim swApp              As SldWorks.SldWorks
    Dim swModel            As SldWorks.ModelDoc2
    Dim swSelMgr            As SldWorks.SelectionMgr
    Dim swFeat              As SldWorks.feature
    Dim swSketch            As SldWorks.sketch
    Dim vSketchText        As Variant
    Dim swSketchText        As SldWorks.SketchText
    Dim swTextFormat        As SldWorks.textFormat
    Dim ac                  As Long
   

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swSelMgr = swModel.SelectionManager
    Set swFeat = swSelMgr.GetSelectedObject5(1)
    Set swSketch = swFeat.GetSpecificFeature2
   
    swModel.EditSketch
   
    vSketchText = swSketch.GetSketchTextSegments
    For ac = 0 To UBound(vSketchText)
        Set swSketchText = vSketchText(ac)
        Set swTextFormat = swSketchText.GetTextFormat
        If swSketchText.SetTextFormat(True, swTextFormat) Then
            ' okay
            MsgBox "Okay"
        Else
            MsgBox "Fehler"
        End If
    Next
   
    swModel.InsertSketch2 True
   
End Sub



Ich hoffe, dass war es was du gesucht hast.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite
http://solidworks.cad.de
KLAMM? Was ist KLAMM?

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

PaulchenPanter
Mitglied


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

Beiträge: 5
Registriert: 05.04.2004

erstellt am: 06. Apr. 2004 13:11    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

Vielen Dank Stefan es funktioniert also mal fürs erste wunderbar, jetzt muss ich nur noch herausfinden wie ich es schaffe das die Linie an dem der Text Uhrsprünglich ausgerichtet war, in den Optionen bestehen bleibt.


Ach ja, ich hab am Standart Makro relativ viel rumgebastelt, hab gedacht da stand viel zu viel drin!*ggg*

Vielen Dank nochmals!

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