Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API - Symbole nach ISO128

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
  
SolidCAM auf der HERMLE HAUSAUSSTELLUNG 2024
Autor Thema:  API - Symbole nach ISO128 (3286 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: 26. Jul. 2001 14: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

Hallo VB- und API-ler,

Bin noch ganz am Anfang der SWXSolidWorks-API-Programmierung
und stoße schon auf "unüberwindliche Schwierigkeiten".
Hier meine Aufgabenstellung:
Wir fügen in unsere Schriftfelder immer ein Symbol für die
Projektionsmethode nach ISO128 ein. Dies Symbol habe ich
als Block für Methode 1 bzw. 2 erstellt. Ich möchte jetzt
über ein VB-Prog erreichen, daß das vorhandene Symbol
im Blattformat gefunden, gelöscht und durch ein anderes
ersetzt wird.
Habe jedoch schon am Anfang große Schwierigkeiten, das vorhanden Symbol (Annotation) zu selectieren.
Wie selectiere ich überhaupt z.B. alle CUSTOMSYMBOLS ???

Bin dankbar für jede Hilfe

mfg
Thomas

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. 2001 08:03    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 befürchte, dass wird so nicht funktionieren. Um an irgendetwas in einem SolidWorks Dokument gezielt heranzukommen brauchst du praktisch den Namen des Objektes, dann kann man mit ModelDoc.SelectByID (objectName, objectType, x, y, z) das Ding selektieren und hat den Objektpointer.

ABER: wenn du den Block in die Zeichnung haust, bekommt das dazu passende Objekt immer erst in dem Moment einen neuen Namen. Und den kann man bei Customsymbols nicht selbst vergeben oder ändern. Es würde also für das allererste Austauschen funktionieren (wenn ihr das Symbol in den Vorlagen unterbringt, könnt ihr euch den Namen ja rausholen) aber nach dem ersten Austauschen hängt es davon ab, wieviele Texte in der Zeichnung drin sind, welchen Namen dann das ausgetauschte Symbol bekommt.

Für den zweiten Teil der Frage: alle Customsymbols sind relativ einfach (aber viel Tipparbeit): einen Loop über alle Zeichnungsansichten (Views), darin dann jeweils mit View::GetFirstCustomSymbol und CustomSymbol::GetNext nacheinander alle Blöcke dieser Zeichnungsansicht durchklappern.

Hoffe ich hab dir jetzt nicht das schöne Wochenende versaut, aber vielleicht weiß ja jemand einen anderen Weg

Ciao,
Stefan

------------------
--
Inoffizielle Solidworks Hilfeseite
http://solidworks.cad.de
EMail: Stefan.Berlitz@solidworks.cad.de

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: 27. Jul. 2001 08:21    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:

... View::GetFirstCustomSymbol und CustomSymbol::GetNext nacheinander alle Blöcke dieser Zeichnungsansicht durchklappern.


Hallo Stefan;
Habe mir schon fast so etwas gedacht.
Ich muß aber beim Selectieren von CustomSymbols nochmal nachhaken.
Bei View::GetFirstCustomSymbol usw. habe ich (als Laie)
echte Probleme:

Habe bisher durch

Set swApp = CreateObject("SldWorks.Application")
Set Drawingdoc = swApp.ActiveDoc
If (Drawingdoc.GetType <> swDocDRAWING) Then
MsgBox "Keine SWXSolidWorks-Zeichnung"
Exit Sub
End If
Set ActView = Drawingdoc.ActiveView

das aktive View ermittelt (hoffentlich richtig??)

Set CSym = ActView.GetFirstCustomSymbol

Bringt aber 'ne Fehlermeldung (Methode wird nicht unterstützt)

Was kann ich alles falsch gemacht haben??
Wahrscheinlich alles.

Ein verzweifelter
Thomas

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. 2001 09:51    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

Zitat:
Was kann ich alles falsch gemacht haben?? Wahrscheinlich alles.
Ein verzweifelter Thomas

Ganz ruhig ... (über den Kopf streichel) die Welt ist gar nicht so grausam

Du hast nur eine Kleinigkeit falsch gemacht, und da hast du sogar schon selbst den Finger drauf gelegt: das ActiveView gibt dir keine Zeichnungsansichten, sondern die bildliche Darstellung auf dem Bildschirm.

Mit dem Loop über die Views und Symbole könnet so aussehen:

Code:

Private Sub Command1_Click()

Dim swApp As Object
Dim Drawingdoc As Object
Dim ActView As Object
Dim CSym As Object


Set swApp = CreateObject("SldWorks.Application")
Set Drawingdoc = swApp.ActiveDoc

If (Drawingdoc.GetType <> swDocDRAWING) Then
MsgBox "Keine SWX-Zeichnung"
Exit Sub
End If


Set ActView = Drawingdoc.GetFirstView
While Not ActView Is Nothing
Debug.Print ActView.Name
Set CSym = ActView.GetFirstCustomSymbol
While Not CSym Is Nothing
' irgendwas mit dem Symbol machen
Debug.Print CSym.Angle
' und das nächste Symbol
Set CSym = CSym.GetNext
Wend

Set ActView = ActView.GetNextView
Wend

End Sub

Hoffe damit kommt das Lächeln wieder ins Gesicht

Ciao,
Stefan

------------------
--
Inoffizielle Solidworks Hilfeseite
http://solidworks.cad.de
EMail: Stefan.Berlitz@solidworks.cad.de

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: 30. Jul. 2001 07: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

Zitat:
Original erstellt von StefanBerlitz:

Hoffe damit kommt das Lächeln wieder ins Gesicht



Moin Stefan;

Mein Gesicht verzerrt sich gerade;
(zum positiven hin)
Dein Tip hat wirklich gut geklappt.
Die Welt ist wieder i.O.

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