Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API - Texte in Blöcken ändern

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
  
Wechsel von CATIA V5 auf 3DEXPERIENCE CATIA - Warum es sich lohnt, ein Fachartikel
Autor Thema:  API - Texte in Blöcken ändern (435 mal gelesen)
Thomas Rolf
Mitglied
Dipl.-Ing. / CAD-Admin


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

Beiträge: 189
Registriert: 02.07.2001

SWX 2015 SP4.0

erstellt am: 28. Aug. 2002 12: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

Hallo APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface)-Experts;

Ich habe ein mal wieder kleines (großes?) Problem mit APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface)-Funktionen.

Ich möchte in einem Block einen Text ändern.

Zunächst habe ich den Block selektiert und prüfe jetzt, ob es ein Block (CustomSymbol) ist.

If SelMgr.GetSelectedObjectType(1) = swSelCUSTOMSYMBOLS Then
Set Symb = SelMgr.GetSelectedObject2(1)

Jetzt versuche ich , den vorhanden Text zu lesen;
laut SWXSolidWorks-APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface)-Hilfe mit:

Dim Retval as Variant
Retval = Symb.GetNotes()
MsgBox Retval(0)
;Gibt einen Abbruch ohne Fehlermeldung

Die alte Funktion
MsgBox Symb.GetText(0)
ergibt einen Leerstring,

Jedoch die (ebenfals alte) Funktion
MsgBox Symb.gettextatindex(0)
ergibt tatsächlich das gewünschte Ergebnis

Soweit, sogut
(wenn ich's auch nicht verstanden habe, so habe ich doch das Ergebnis)

Leider funktioniert die einzige zu Verfügung gestellte Funktion zum Setzen eines Textes nicht

Retbool = Symb.SetText(0, "Fisch")
MsgBox Retbool
ergibt "falsch"

Was mach' ich falsch??

Danke im voraus

Thomas

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

3Defacto
Mitglied
Ingenieurbüro


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

Beiträge: 33
Registriert: 02.04.2001

erstellt am: 28. Aug. 2002 16: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 Nur für Thomas Rolf 10 Unities + Antwort hilfreich

Hallo Thomas,

ich weiß nicht genau ob ich Dir sofort helfen kann, aber ich hatte die letzten Wochen ein ähnliches Problem. Zur Zeit habe ich leider keinen Zugriff auf meine Programmierarbeiten, deshalb nur eine Vermutung und wenn ich wieder meine Daten zur Verfügung habe, dann werde ich mal explizit nachsehen, wie ich vorgegangen bin.

Du hast schon alle Informationen der Note in der Variablen RetVal, warum bleibst Du nicht dabei und versuchst hierüber den Texteintrag zu steuern. Die Funktion sollte eigentlich

retval = Note.SetText ( txt)

lauten.
Da SolidWorks die alte Funktion, wie Du bereits beschrieben hast, nicht mehr unterstützt, bin ich bei meiner Programmierung dann komplett über die Notes-Funktionen gegangen.

Ich hoffe es hilft - mehr wenn ich nächste Woche wieder an meine Sachen komme.

Gruß
Mathias

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

Thomas Rolf
Mitglied
Dipl.-Ing. / CAD-Admin


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

Beiträge: 189
Registriert: 02.07.2001

SWX 2015 SP4.0

erstellt am: 28. Aug. 2002 16: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

Hallo 3Defacto;

Du hast mich total inspiriert.
Funktioniert gut.

Dim Nots as Variant
Nots = Symb.GetNotes
MsgBox Nots(0).GetText
Retbool = Nots(0).SetText("Fisch")
MsgBox Retbool

Danke

Thomas

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