Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  VBA-Makro zum Ändern von Schraffur und Komponentenlinien in der Zeichnung

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
  
PLM TechnologieForum Bamberg
Autor Thema:  VBA-Makro zum Ändern von Schraffur und Komponentenlinien in der Zeichnung (799 mal gelesen)
Micha1985
Mitglied
Technischer Zeichner


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

Beiträge: 24
Registriert: 30.06.2021

Intel(R) XEON(R) CPU
E5-1620v4 @ 3.49Ghz
32 GB RAM
64-Bit
Windows 10
SolidWorks 2018/SP5.0
proALPHA6.2e00 / CA-Link V9.0

erstellt am: 26. Jul. 2021 08:18    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 Leute!

Ich steh wieder mal Makro-technisch etwas auf dem Schlauch, vielleicht kann mir ja einer von euch da runter helfen... 
Ich möchte ein Makro erstellen dass meinen Kollegen und mir einige Arbeitsschritte abnehmen soll, die bei praktisch jeder unserer Hauptzeichnungen gemacht werden müssen.

Ausgangssituation ist so:
-Eine Zeichnung mit mind. 3 Ansichten ist geöffnet.
-Ansicht 1: Baugruppe, Konfiguration A
-Ansicht 2: Baugruppe, Konfiguration B
-Ansicht 3: Einzelteil, das in der Baugruppe verwendet wird

Das Makro soll jetzt folgendes tun:
-In Ansicht 1 und 2 soll bei einem bestimmten Einzelteil der Baugruppe die Schraffur entfernt und die Komponentenlinien (sichtbare Kanten) auf "Phantom, dünn" gestellt werden.
-Auch in Ansicht 1/2 soll bei einem Einzelteil in einer Unterbaugruppe dasselbe passieren.
-Immer noch in Ansicht 1/2 möchte ich bei 2 Einzelteilen einer anderen Unterbaugruppe die Schraffur auf "gestrichelte Linien", Maßstab 3 ändern.
-In Ansicht 3 soll nur die Schraffur des Teils entfernt werden.

Meine beiden Hauptprobleme daran sind:
Erstens, wie ich die Komponenten am besten ansteuere. Über den Dateinamen/Teilenummer geht es leider nicht. Das einzige eindeutige Erkennungsmerkmal sitzt in den konfigurationsspezifischen Eigenschaften des jeweiligen Teils, aber ich weiß nicht wie ich von der Zeichnung aus am einfachsten dorthin gelange.
Zweitens, wie kann ich Schraffur und Komponentenlinien überhaupt ansteuern und ändern? Im I-Net hab ich nichts brauchbares dazu gefunden, zumindest nicht für die Zeichnung. Und die Makro-aufzeichnen-Funktion von Solid war wie fast immer auch nicht besonders hilfreich...

Hoffentlich kann mir jemand von euch ein paar Fingerzeige geben... bin halt noch blutiger Anfänger 

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 26. Jul. 2021 14:13    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 Micha1985 10 Unities + Antwort hilfreich

Hallo Micha,

mit "ReferencedDocument Property (IView)" hiermit kommst du an das Dokument dass zu einer Ansicht gehört (ModelDoc2 Objekt), die Bauruppe die in diesm Object steckt müsstest du auf Komponentenlevel Travesieren Beispeil dazu wäre "Traverse Assembly at Component and Feature Levels Using Recursion Example (VBA)", hier kommst du dann an die einzelnen Componenten ran (Component2 Objekt) zu diesen Objekten kannst du dir dann das ModelDoc2 Objekt holen und auch gleich die verwendete Konfiguration, mit dem ModelDoc2 und Namen der Konfiguration kannst du die genwünschte Eigenschaft mit "CustomInfo2 Property (IModelDoc2)" auslesen.

Zum Thema Schraffur solltest du dir mal "Get Face Hatch Data Example (VBA)" anschauen und zum Ausschließen einer Komponente musst du glaube ich über "ExcludeSliceSectionBodies Property (IDrSection)" gehen.

Als Anfänger hast du dir da aber eine ordentlich schwere Aufgabe aufgehalst.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

Micha1985
Mitglied
Technischer Zeichner


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

Beiträge: 24
Registriert: 30.06.2021

Intel(R) XEON(R) CPU
E5-1620v4 @ 3.49Ghz
32 GB RAM
64-Bit
Windows 10
SolidWorks 2018/SP5.0
proALPHA6.2e00 / CA-Link V9.0

erstellt am: 27. Jul. 2021 08: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

Hi Bernd,

das ist schon mal ein Schritt in die richtige Richtung, dankeschön!
Ja das Makro hat sich als komplizierter rausgestellt als ich ursprünglich gedacht hatte... hab schon ein paar kleinere nützliche Makros erstellt aber das hier ist schon eine ziemliche Hausnummer. Muss man als Herausforderung sehen 

Also das Traversieren der Komponenten mit "Traverse Assembly at Component..." scheint nur in Baugruppenmodellen zu funktionieren, nicht in der Zeichnung. Hab ich in nem anderen Makro tatsächlich schon in angepasster Form verwendet, aber da ging's auch um eine Baugruppe und nicht um die Zeichnung. Bei Zeichnungen scheint in Solid-VBA ja alles etwas komplizierter zu sein... 

Der Tip mit dem "Get Face Hatch Data..." war super, damit lässt sich einiges anfangen!

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 27. Jul. 2021 13: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 Nur für Micha1985 10 Unities + Antwort hilfreich

Hallo Micha,

natürlich kannst du auch aus der Zeichnung bzw. aus einer Ansicht heraus die zugrunde liegende Baugruppe travesieren.

-Ansicht holen z.B. über GetFirstView / GetNextView oder Selektion
-Zur Ansicht referenziertes Dokument (ModelDoc2) holen mit ReferencedDocument(IView)
-Auf dieses ModelDoc2 Object (das referenzierte Dokument) musst du die Traversierung loslassen nicht auf das ModelDoc2 das zur Zeichnung gehört

Code:
Sub TraverseComponent(swComp As SldWorks.Component2, nLevel As Long)
    Dim vChildComp                  As Variant
    Dim swChildComp                As SldWorks.Component2
    Dim sPadStr                    As String
    Dim i                          As Long
   
    For i = 0 To nLevel - 1
        sPadStr = sPadStr + "  "
    Next i
    vChildComp = swComp.GetChildren
    For i = 0 To UBound(vChildComp)
        Set swChildComp = vChildComp(i)
        Debug.Print sPadStr & "+" & swChildComp.Name2 & " <" & swChildComp.ReferencedConfiguration & ">"
        TraverseComponent swChildComp, nLevel + 1

    Next i

End Sub

Sub main()
    Dim swApp                      As SldWorks.SldWorks
    Dim swModel                    As SldWorks.ModelDoc2
    Dim swDrawModel                As SldWorks.ModelDoc2 'neue Variable hinzugefügt
    Dim swConfMgr                  As SldWorks.ConfigurationManager
    Dim swConf                      As SldWorks.Configuration
    Dim swRootComp                  As SldWorks.Component2
   
    Dim swView                      As SldWorks.View
   
    Set swApp = CreateObject("SldWorks.Application")
    Set swDrawModel = swApp.ActiveDoc 'geändert von swModel auf swDrawModel
   
    Set swSelMgr = swDrawModel.SelectionManager 'neue Zeile wegen der Selektion der Ansicht
    Set swView = swSelMgr.GetSelectedObject6(1, -1) 'neue Zeile wegen der Selektion der Ansicht
    Set swModel = swView.ReferencedDocument 'neue Zeile um an das ModelDoc zum Referenzierten Model zu kommen
   
    Set swConfMgr = swModel.ConfigurationManager
    Set swConf = swConfMgr.ActiveConfiguration
    Set swRootComp = swConf.GetRootComponent3(True)
    Debug.Print "File = " & swModel.GetPathName
    If swModel.GetType = SwConst.swDocASSEMBLY Then
       
        TraverseComponent swRootComp, 1

    End If
   
End Sub


Hier ein einfaches Beispiel, für das anwenden des Beipieles musst du nur eine Ansicht die eine Baugruppe enthält vorher markieren.
Hab hierzu in dem Ursprungsmakro aus der API-Hilfe nur 4 Zeilen eingefügt und eine geändert (siehe Kommentare), das FeatureLevel hab ich auch raus, weil für dich eh uninteressant.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

Micha1985
Mitglied
Technischer Zeichner


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

Beiträge: 24
Registriert: 30.06.2021

Intel(R) XEON(R) CPU
E5-1620v4 @ 3.49Ghz
32 GB RAM
64-Bit
Windows 10
SolidWorks 2018/SP5.0
proALPHA6.2e00 / CA-Link V9.0

erstellt am: 27. Jul. 2021 15: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

Hi Bernd,

danke, das war echt hilfreich! Auf den Gedanken eine zweite ModelDoc2-Variable für die Komponente zu erstellen bin ich wieder nicht gekommen 

Ich hab deinen Code für meine Bedürfnisse umgebaut und es funktioniert prima, die Komponenten werden ausgelesen und ich kann die ausfiltern, die ich bearbeiten will!
Wenn ich jetzt allerdings z.B. von einer dieser Komponenten die Linienart und -stärke ändern will, dann geht das nicht weil swChildComp als Component2 deklariert ist, und nicht als ModelDoc2.
Und wenn ich versuch das ganze in eine neue Variable zu verpacken:

Code:
Dim swChildModel as sldworks.modeldoc2
Set swChildModel = swChildComp.GetModelDoc2

Dann kommt bei der zweiten Zeile die "Typen unverträglich"-Meldung...

Beste Grüße,
Micha

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 27. Jul. 2021 17:27    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 Micha1985 10 Unities + Antwort hilfreich

Hallo Micha,

ohne Kontext ist hier eine Fehlersuche schwierig, theoretisch müsstest das so gehen, bei mir geht es zumindest.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

Micha1985
Mitglied
Technischer Zeichner


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

Beiträge: 24
Registriert: 30.06.2021

Intel(R) XEON(R) CPU
E5-1620v4 @ 3.49Ghz
32 GB RAM
64-Bit
Windows 10
SolidWorks 2018/SP5.0
proALPHA6.2e00 / CA-Link V9.0

erstellt am: 28. Jul. 2021 06:30    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

Hi Bernd,

hier hab ich mal das komplette Ding, wie es momentan aussieht:

Code:
Option Explicit

Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim Ansicht As SldWorks.View
Dim Fehler As Long
Dim Warnung As Long
Dim boolstatus As Boolean
Dim i As Long

Dim EigenschMgr As SldWorks.CustomPropertyManager
Dim Eigenschaft As Integer
Dim EigenschNamen As Variant
Dim EigenschName As Variant
Dim EigenschTypen As Variant
Dim EigenschWerte As String
Dim EigenschWert As String
Dim EigenschErgebnis As String

Dim ZeiPart As SldWorks.ModelDoc2
Dim ZeiNr As String
Dim KonfMgr As SldWorks.ConfigurationManager
Dim Konf As SldWorks.Configuration
Dim Komponente As SldWorks.Component2
Dim Kinder As Variant
Dim KindKomp As SldWorks.Component2
Dim KindPart As SldWorks.DrawingComponent
Dim Spanner As Boolean
Dim Gewindelinien As Variant
Dim Schraffuren As Variant
Dim Schraffur As SldWorks.FaceHatch

Sub main()

Spanner = False
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc

'Prüft, ob eine Zeichnung geöffnet ist.
If Part Is Nothing Then
    NichtsOffen.Show
    NichtsOffen.Repaint
    End
End If
If Part.GetType <> swDocDRAWING Then
    ModellOffen.Show
    ModellOffen.Repaint
    End
End If

'On Error GoTo Fehler

'Wenn eine Zeichnung geöffnet sein sollte, prüfen ob es eine Spannerzeichnung ist.
Set EigenschMgr = Part.Extension.CustomPropertyManager("")
Eigenschaft = EigenschMgr.GetAll2(EigenschNamen, EigenschTypen, EigenschWerte, EigenschErgebnis)
If IsEmpty(EigenschNamen) Then
    boolstatus = Part.Save3(swSaveAsOptions_e.swSaveAsOptions_UpdateInactiveViews, Fehler, Warnung) 'Falls Dateieigenschaften leer sind, erst speichern
End If
For Each EigenschName In EigenschNamen
    If EigenschName Like "*Benennung1*" Then
        boolstatus = EigenschMgr.Get5(EigenschName, True, EigenschWert, EigenschWerte, True)
        If EigenschWert Like "*EINBAUSPANNER*" Or EigenschWert Like "*Einbauspanner*" Then
            Spanner = True
            Exit For
        End If
    End If
Next EigenschName

'Hier geht der eigentliche Teil los.
If Spanner = True Then
   
    'Erster Schritt: Gewindelinien einblenden
    Gewindelinien = Part.InsertModelAnnotations3(0, 1, True, True, False, False)

    Part.EditSheet
    Set Ansicht = Part.GetFirstView
    Set Ansicht = Ansicht.GetNextView 'FirstView ist das Blattformat.
   
    Do While Not Ansicht Is Nothing 'Arbeitet sich durch alle Ansichten.
        'Erst abgebildetes Teil prüfen:
        Set ZeiPart = Ansicht.ReferencedDocument
        ZeiNr = ZeiPart.GetPathName
       
        If ZeiNr Like "*S.sldprt" Then 'Ansicht der Spindelkontur erkannt
            Schraffuren = Ansicht.GetFaceHatches
            If Not IsEmpty(Schraffuren) Then
                For i = 0 To UBound(Schraffuren)
                    Set Schraffur = Schraffuren(i)
                    Schraffur.UseMaterialHatch = True 'Umstellung auf Materialschraffur, d.h. keine
                Next i
            End If
        Else 'Restliche Ansichten, d.h. Spanner
            Set KonfMgr = ZeiPart.ConfigurationManager
            Set Konf = KonfMgr.ActiveConfiguration
            Set Komponente = Konf.GetRootComponent3(True)
            Kinder = Komponente.GetChildren
            'Jetzt wird nach Unterkomponenten sortiert und die jeweiligen Handlungen durchgeführt!
            For i = 0 To UBound(Kinder)
                Set KindKomp = Kinder(i)
                If KindKomp.Name2 Like "*S-*" Or KindKomp.Name2 Like "*T*" Then 'Aktionen für SpiKo und Hilfsteile
'------------BAUSTELLE----------------
                    Set KindPart = KindKomp.GetModelDoc2
                    KindPart.SetLineStyle swDrawingComponentLineFontVisible, swLinePHANTOM
                    KindPart.SetLineThickness swDrawingComponentLineFontVisible, swLW_CUSTOM, 0.00018
                Else
                    'Hier kommt rein was mit Spannkopf, Spannsatz oder ZmH passiert!
                   
                End If
            Next i
'------------BAUSTELLE ENDE----------------
        End If
       
        Set Ansicht = Ansicht.GetNextView
    Loop
   
End If

'Exit Sub
'
'Fehler:

End Sub


Eigentlich funktioniert bis jetzt alles bestens, bis auf den Teil wo BAUSTELLE steht...
Bin für Vorschläge und Kritik immer offen 

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 28. Jul. 2021 13:50    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 Micha1985 10 Unities + Antwort hilfreich

Hallo Micha,

du deklarierst "Dim KindPart As SldWorks.DrawingComponent" aber möchtest da ein "ModelDoc2" reinstecken, das geht nicht. Orrientiert dich doch am Beispiel "Get Components in Drawing View Example (VBA)" bezüglich des herankommens an das "DrawingComponent" Object, hier hast du sogar entsprechend eine Schleife drin die dir auch das IComponent Objekt holt mit dem du analog die Eigenschaften etc. auswerten könntest.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

Micha1985
Mitglied
Technischer Zeichner


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

Beiträge: 24
Registriert: 30.06.2021

Intel(R) XEON(R) CPU
E5-1620v4 @ 3.49Ghz
32 GB RAM
64-Bit
Windows 10
SolidWorks 2018/SP5.0
proALPHA6.2e00 / CA-Link V9.0

erstellt am: 28. Jul. 2021 14:56    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

Hab es jetzt mal so umgebaut dass es dem Beispiel entspricht, ohne Erfolg:

Code:
Dim Kinder As Variant
Dim KindKomp As Variant
Dim KindPart As SldWorks.DrawingComponent
Dim KindPart2 As SldWorks.Component2
Dim KindPart3 As SldWorks.ModelDoc2

(...)
            Kinder = Komponente.GetChildren
            For i = 0 To UBound(Kinder)
                Set KindKomp = Kinder(i)
                If KindKomp.Name2 Like "*S-*" Or KindKomp.Name2 Like "*T*" Then
'------------BAUSTELLE----------------
                    Set KindPart = KindKomp
                    Set KindPart2 = KindPart.Component
                    Set KindPart3 = KindPart2.GetModelDoc2
                    KindPart3.SetLineStyle swDrawingComponentLineFontVisible, swLinePHANTOM
                    KindPart3.SetLineThickness swDrawingComponentLineFontVisible, swLW_CUSTOM, 0.00018
                Else
                                       
                End If
            Next i
'------------BAUSTELLE ENDE----------------


Jetzt kommt bei der Zeile "Set KindPart = KindKomp" die "Typen unverträglich"-Meldung. Ich komm mir langsam echt dämlich vor... 

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 29. Jul. 2021 15: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 Nur für Micha1985 10 Unities + Antwort hilfreich

Hallo Micha,

du kannst nicht einfach ein "Component Object" (das in KindKomp steckt) in ein "DrawingComponent Object" Gewand stecken.

Geh doch den Weg andersrum, dass du mit dem "DrawingComponent Object" anfängst und über dieses an das "Component Object" kommst. In dem Beispiel "Get Components in Drawing View Example (VBA)" ist doch eigentlich schon alles drin um von der Ansicht aus an alle einzelnen "DrawingComponent" und "Component" Objecte zu kommen.

Evtl. hilft es dir auch erst die einzelnen Aufgabenstellungen einzeln zu bearbeiten bevor du sie in ein gesammtes Macro packst, macht das Debuggen meist einfacher.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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