Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API Model - Zeichnung - RootDrawComp

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:  API Model - Zeichnung - RootDrawComp (332 mal gelesen)
Stefan Ansgar Böttcher
Mitglied
Stundent und Hilfskraft in Konstr.Büro


Sehen Sie sich das Profil von Stefan Ansgar Böttcher an!   Senden Sie eine Private Message an Stefan Ansgar Böttcher  Schreiben Sie einen Gästebucheintrag für Stefan Ansgar Böttcher

Beiträge: 62
Registriert: 15.07.2003

erstellt am: 30. Jan. 2004 16:02    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

Hiho!

Weiß jemand, wie man in einer Zeichnung per APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface) an die Baugruppe herankommt, die in einer Zeichenansicht dargestellt wird? Man soll also eine Zeichenansicht anklickeln können, in der z.b. die Baugruppe 14711 dargestellt wird. Und wenn man dann das Makro startet, so soll es wissen, daß dort die Baugruppe 14711 dargestellt wird und dann natürlich später noch was mit der Baugruppe anfangen...

Ich hab´s zunächst mit dem Beispiel "Get Componets in Drawing View" aus der APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface)-Hilfe versucht, aber die liefert leider nicht die Assy, sondern nur die der Bestandteile der Assy.

Hab dann mal folgendes probiert:

            Set Model = swApp.ActiveDoc
            Set swDraw = Model
            Set swSelMgr = Model.SelectionManager
            Set swView = swSelMgr.GetSelectedObject5(1)
            Set swRootDrawComp = swView.RootDrawingComponent
            berSfDebug (" Model = " & swRootDrawComp.GetPathName)

aber dann bekomme ich leider die Meldung "Objekt unterstütz methode nicht" oder sowas...

Was mache ich falsch?

tööö
    Ansgar.

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

u.clemens
Mitglied
Konstrukteur


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

Beiträge: 964
Registriert: 04.07.2000

engineer's law
o cheap
o fast
o good
check only two !

erstellt am: 30. Jan. 2004 17:49    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 Stefan Ansgar Böttcher 10 Unities + Antwort hilfreich

hi,

versuchs mal mit View::GetReferencedModelName, das hat bei mir immer geklappt!

------------------
mfg uc

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

Stefan Ansgar Böttcher
Mitglied
Stundent und Hilfskraft in Konstr.Büro


Sehen Sie sich das Profil von Stefan Ansgar Böttcher an!   Senden Sie eine Private Message an Stefan Ansgar Böttcher  Schreiben Sie einen Gästebucheintrag für Stefan Ansgar Böttcher

Beiträge: 62
Registriert: 15.07.2003

erstellt am: 30. Jan. 2004 20:02    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

Hiho!

Vielen Dank für den Tip!

Hab´s ausprobiert - mein Code sieht so aus:

Private Sub cmdSfZeichnung_Click()
    'berSfDebug ("Private Sub cmdSfZeichung_Click")
    Dim swApp As Object
    Dim Model As Object
    Set swApp = CreateObject("SldWorks.Application")
    swApp.Visible = True      'falls nicht sichtbar
    Set Model = swApp.ActiveDoc

    If (Model.gettype() = swDocDRAWING) Then
            'berSfDebug ("Das Model ist ne Zeichung!")
            Dim swDraw                      As Object
            Dim swSelMgr                    As Object
            Dim swView                      As Object
            Dim swRootDrawComp              As Object
            Dim vDrawChildCompArr          As Variant
            Dim vDrawChildComp              As Variant
            Dim swDrawComp                  As Object
            Dim swComp                      As Object
            Dim swCompModel                As Object
            Dim i                          As Long
            Dim bRet                        As Boolean
            Dim Trick17                    As Long
            Dim ModelName                  As String

            ' Set swApp = Application.SldWorks
            ' Set Model = swApp.ActiveDoc
            Set swDraw = Model
            Set swSelMgr = Model.SelectionManager
            Set swView = swSelMgr.GetSelectedObject5(1)
            'Set swRootDrawComp = swView.RootDrawingComponent

            ModelName = swView.GetReferencedModelName()
            berSfDebug (" ModelName = " & ModelName)
            [...]

Allerdings bekomme ich dann immer die Fehlermeldung "Objektvariable oder With-Blockvariable nicht festgelegt" und finde nicht wodrans liegt... 

Weiß jemand mehr als ich? 

tööö
      Ansgar

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

Stefan Ansgar Böttcher
Mitglied
Stundent und Hilfskraft in Konstr.Büro


Sehen Sie sich das Profil von Stefan Ansgar Böttcher an!   Senden Sie eine Private Message an Stefan Ansgar Böttcher  Schreiben Sie einen Gästebucheintrag für Stefan Ansgar Böttcher

Beiträge: 62
Registriert: 15.07.2003

erstellt am: 30. Jan. 2004 20: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

Hideliho!

Hab´s hinbekommen!!!

Private Sub cmdSfZeichnung_Click()
    'berSfDebug ("Private Sub cmdSfZeichung_Click")
    Dim swApp As Object
    Dim Model As Object
    Set swApp = CreateObject("SldWorks.Application")
    swApp.Visible = True      'falls nicht sichtbar
    Set Model = swApp.ActiveDoc

    If (Model.gettype() = swDocDRAWING) Then
            'berSfDebug ("Das Model ist ne Zeichung!")
            Dim swDraw                      As Object
            Dim swSelMgr                    As Object
            Dim swView                      As Object
            Dim swRootDrawComp              As Object
            Dim vDrawChildCompArr          As Variant
            Dim vDrawChildComp              As Variant
            Dim swDrawComp                  As Object
            Dim swComp                      As Object
            Dim swCompModel                As Object
            Dim i                          As Long
            Dim bRet                        As Boolean
            Dim Trick17                    As Long
            Dim ModelPath                  As String

            ' Set swApp = Application.SldWorks
            ' Set Model = swApp.ActiveDoc
            Set swDraw = Model
            Set swSelMgr = Model.SelectionManager
            Set swView = swSelMgr.GetSelectedObject5(1)

            ' der erst View ist immer das Blatt selbst
            Set swView = Model.GetFirstView
            Set swView = swView.GetNextView
            If Not Nothing Is swView Then
                ' ModelName ist nen bischen irreführende, da es eigentlich der Pfad und nicht nur der Name ist
                ModelPath = swView.GetReferencedModelName()
            End If

            'ModelName = swView.GetReferencedModelName()
            berSfDebug (" ModelName = " & ModelName)

MfG
    Ansgar.

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