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