Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API-Befehl -swDrawComp.GetChildren- funktioniert seit P03 nicht mehr!

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
  
Warum sich Subscription für SOLIDWORKS lohnt!
Autor Thema:  API-Befehl -swDrawComp.GetChildren- funktioniert seit P03 nicht mehr! (293 mal gelesen)
Thomas5
Mitglied
Konstrukteur, SWX-Admin


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

Beiträge: 420
Registriert: 14.07.2003

SWX2013

erstellt am: 02. Mai. 2005 13:06    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 Ihr API-Wissenden,
kann mir jemand helfen, weiß jemand Rat?
Seit SXW2005 SP03 funktionieren wichtige Makros bei den Zeichnungen nicht mehr. Die Methode  swDrawComp.GetChildren liefert zwar noch ein Array, aber dessen Elemente stehen alle auf Nothing. Wie kann ich das umschiffen.
Zum schnellen Probieren habe ich hier mal den Code aus der SWXSolidWorks-API-Hilfe angehängt, der auch an der Stelle nicht funktioniert.
'-----------------------------------------------
'
' Preconditions:
'        (1) Drawing document is open.
'        (2) Drawing view of an assembly is selected.
'
' Postconditions: Drawing components in the selected drawing view are hidden.
'
'-----------------------------------------------
Option Explicit
'  Types of drawing views
Public Enum swDrawingViewTypes_e
    swDrawingSheet = 1
    swDrawingSectionView = 2
    swDrawingDetailView = 3
    swDrawingProjectedView = 4
    swDrawingAuxiliaryView = 5
    swDrawingStandardView = 6
    swDrawingNamedView = 7
    swDrawingRelativeView = 8
End Enum
Sub ProcessDrawingComponent _
( _
    swDrawComp As SldWorks.DrawingComponent, _
    sPadStr As String _
)
    Dim vDrawCompChildArr          As Variant
    Dim vDrawCompChild              As Variant
    Dim swDrawCompChild            As SldWorks.DrawingComponent
    Debug.Print sPadStr & swDrawComp.Name 'Abbruch wegen swDrawComp=Nothing
    ' Does not affect root component
    swDrawComp.Visible = False
    vDrawCompChildArr = swDrawComp.GetChildren
    If Not IsEmpty(vDrawCompChildArr) Then
        For Each vDrawCompChild In vDrawCompChildArr
            Set swDrawCompChild = vDrawCompChild
            ProcessDrawingComponent swDrawCompChild, sPadStr + "  "
        Next
    End If
End Sub

Sub main()
    Dim swApp                      As SldWorks.SldWorks
    Dim swModel                    As SldWorks.ModelDoc2
    Dim swDraw                      As SldWorks.DrawingDoc
    Dim swSelMgr                    As SldWorks.SelectionMgr
    Dim swView                      As SldWorks.view
    Dim swDrawComp                  As SldWorks.DrawingComponent
    Dim swComp                      As SldWorks.Component2
    Dim bRet                        As Boolean
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swDraw = swModel
    Set swSelMgr = swModel.SelectionManager
    Set swView = swSelMgr.GetSelectedObject5(1)
    Set swDrawComp = swView.RootDrawingComponent
    Debug.Print "File = " & swModel.GetPathName
    Debug.Print "  " & swView.Name & "  [" & swView.Type & "]"
    ProcessDrawingComponent swDrawComp, "    "
End Sub
'---------------------------------------
Viele Grüße
Thomas

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

Thomas5
Mitglied
Konstrukteur, SWX-Admin


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

Beiträge: 420
Registriert: 14.07.2003

SWX2013

erstellt am: 03. Mai. 2005 08:08    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,
eine gute und eine gute Nachricht:
1. Wir brauchen nach keine Lösung für o.g. Problem zu suchen - wir können es nicht lösen.
2. Der API-Support hat sofort geantwortet und folgendes aufgeschrieben:
Hello Thomas,
It appears we already have this issue on file as:
    SPR 267535 - DrawingComponent.GetChildren no longer returns the components in an assembly
I can tell you it will be fixed in SW2005 SP04.

Also lassen wir erst mal unsere Zeichnungen liegen und warten auf das nächste SP.

Viele Grüße und frohes Schaffen!
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