Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  VBA: in drawing view auf selected component zugreifen

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 Professor Videos | Tipps & Tricks (SolidCAM)
Autor Thema:  VBA: in drawing view auf selected component zugreifen (1520 mal gelesen)
Iwona W.
Mitglied
Konstrukteurin, SWX key-user


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

Beiträge: 130
Registriert: 25.04.2005

SWX 2011, SP 4.0
Win 7 64bit; AS 32GB; Intel Xeon 3,40GHz
NVidia Quadro 4000

erstellt am: 25. Jun. 2009 10:35    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 VBA-Bastler!

habe Probleme mit dem SelectionManager. ich will in einer ANSICHT auf die Benutzerdefinierten Eigenschaften des MARKIERTEN EINZELTEILS zugreifen (SWXSolidWorks gibt den Namen im Tooltip zurück). Die Auswahl gibt mir aber nur die Ansicht selbst zurück (Type = 12) und nicht die Komponente. API-Hilfe gibt gute Beispiele darüber, wie man die Komponenten (Baugruppe/ Einzelteile) in einer Ansicht auflistet (über SldWorks.DrawingComponent) Ich kann nur nicht dem SelMgr verticken, dass er die eine ausgewählte aufnehmen soll. Kann jemand helfen?

------------------
Iwona

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

Iwona W.
Mitglied
Konstrukteurin, SWX key-user


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

Beiträge: 130
Registriert: 25.04.2005

SWX 2011, SP 4.0
Win 7 64bit; AS 32GB; Intel Xeon 3,40GHz
NVidia Quadro 4000

erstellt am: 25. Jun. 2009 11: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

Hier mein Code, so ist es vielleicht einfachher zu verstehen, was ich meine. (code verkürzt, ohne Fehlermeldungen wenn nichts selektiert/ wenn keine Zeichnung usw.)

'------
Sub main()

Dim swApp              As SldWorks.SldWorks
Dim swModel            As SldWorks.ModelDoc2
Dim swSelMgr            As SldWorks.SelectionMgr
Dim swSelObj            As Object
Dim swEnt              As SldWorks.Entity
Dim swSelComp          As SldWorks.Component2
Dim swSelModel          As SldWorks.ModelDoc2

Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
   
Set swSelComp = swSelMgr.GetSelectedObjectsComponent2(1)
   
MsgBox "Typ-Nr.= " & swSelMgr.GetSelectedObjectType2(1)

'ab da klappt es nicht mehr

    If swSelComp Is Nothing Then
        Set swSelComp = swEnt.GetComponent
    End If

    If Not swSelComp Is Nothing Then
        Set swSelModel = swSelComp.GetModelDoc
        MsgBox "CompName    = " + swSelComp.Name2
        MsgBox "ModelPath    = " + swSelModel.GetPathName
    End If
       
Dim vDrawCompChildArr As Variant
Dim vDrawCompChild As Variant
Dim swDrawCompChild As SldWorks.DrawingComponent
   
MsgBox sPadStr & swDrawComp.Name

End Sub

------------------
Iwona

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 25. Jun. 2009 11:35    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 Iwona W. 10 Unities + Antwort hilfreich

Hallo Iwona,

was liefert dir SelectionMgr.GetSelectedObject6 zurück?

Die Befehle GetSelectedObjectsComponent3 und GetSelectedObjectsDrawingView2 geben in einer Baugruppe bzw. Zeichnung nur das übergeordnete Element der Selektion zurück.

Wenn du also in der Zeichnung eine Komponente markierst müsste Sie ganz normal im Selektionsmanager stehen.

Ausprobiert habe ich das allerdings nicht, ist nur eine Vermutung

------------------
Mfg Daniel

www.MySldWorks.de - SolidWorks API Snippets

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

Iwona W.
Mitglied
Konstrukteurin, SWX key-user


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

Beiträge: 130
Registriert: 25.04.2005

SWX 2011, SP 4.0
Win 7 64bit; AS 32GB; Intel Xeon 3,40GHz
NVidia Quadro 4000

erstellt am: 25. Jun. 2009 11:54    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 Daniel,

swSelMgr.GetSelectedObject6 gibt mir nur die aktive Ansicht zurück.

Gruß

------------------
Iwona

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