Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API: Typen Unverträglichkeit bei GetEntities?

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
  
Innovationstag mit SolidCAM und Plogmann bei HEDELIUS in Meppen
Autor Thema:  API: Typen Unverträglichkeit bei GetEntities? (268 mal gelesen)
mafu
Mitglied
Student


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

Beiträge: 18
Registriert: 15.10.2002

erstellt am: 17. Jun. 2005 12:12    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!

Ich versuche alle Entity Objekte zu bekommen, die zu einer Skizzenbeziehung gehören.

Das Sketch Relation Objekt bekomme ich noch, aber wenn ich
die Methode SketchRelation.GetEntities aufrufe bekomme ich nur ein Array mit Elementen vom Typ Object zurück.

Normalerweise sollte ich so doch den Zeiger auf alle Entity Objekte bekommen, die an dieser Skizzenbeziehung beteiligt sind.


Hier mal meine Code:

Private Sub Command1_Click()
Set idoc = swapp.ActiveDoc
Set objSelMgr = idoc.SelectionManager

blnRetval = idoc.Extension.SelectByID("Skizze2", "SKETCH", 0, 0, 0, False, 0, Nothing)

If blnRetval = False Then
    MsgBox "Auswahl fehlgeschlagen!"
End If

Set objFeature = objSelMgr.GetSelectedObject5(1)

Set objSKizze = objFeature.GetSpecificFeature2

Set objRelManager = objSKizze.RelationManager

vntRetval = objRelManager.GetRelations(swAll)

For i = 0 To objRelManager.GetRelationsCount(swAll) - 1

Set objSketchRel = vntRetval(i)

    vntEnt = objSketchRel.GetEntities
   
    For z = 0 To objSketchRel.GetEntitiesCount - 1
   
    'Hier ist irgendwo das Problem?
   
        Set objEnt = vntEnt(z)
        ...
        Next z
   
Next i

End Sub

Ich bin leider in der Programmierung nicht so bewandert, und habe dieses Problem mit der Typenunverträglichkeit auch schon an anderer Stelle gehabt.

Was mache ich Falsch?

Viele Grüße Mathias

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

Andreas Müller
Mitglied
Masch. Ing. HTL / Betriebsing. STV


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

Beiträge: 1151
Registriert: 11.04.2001

erstellt am: 17. Jun. 2005 14:33    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 mafu 10 Unities + Antwort hilfreich

Hallo Mathias.

Hmmm...schwierig, schwierig. Ich selber habe noch nie mit diesem Befehl gearbeitet, aber:
1) Empfehle ich Dir im Deklarationsteil "Option Explicit" zu setzen und alle Variablen genau zu deklarieren.

2) Eine Typenunverträglichkeit heisst, dass z.B. das Proggi einem Objekt eine Zahl zuordnen soll, was nicht geht.

3) Setze z.B. am Anfang der ersten For-Schleife einen Haltepunkt und arbeite dich mit "F8" weiter. Dann weisst du sehr genau, wo es klemmt. Das wäre auch für eine Ferndiagnose sehr hilfreich 

------------------
Gruss
Andreas
A+E Müller AG

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

waldi
Mitglied
 Softwerker


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

Beiträge: 272
Registriert: 07.08.2001

SW 2006 SP4

erstellt am: 17. Jun. 2005 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 Nur für mafu 10 Unities + Antwort hilfreich

Ich glaube, der Index startet bei 1, nicht bei 0.

For z = 1 To objSketchRel.GetEntitiesCount
  Set objEnt = vntEnt(z)
      ...
Next z

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

mafu
Mitglied
Student


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

Beiträge: 18
Registriert: 15.10.2002

erstellt am: 17. Jun. 2005 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

Hallo!

Danke erst einmal für die Tipps.

Option Explicit habe ich schon gesetzt, daran kann es eigentlich nicht liegen.

Ich habe die ganze Sache auch mal ohne die Schleifen mit direktem ansprechen des Elementes versucht, leider ohne Erfolg.

Das durchlaufen der einzelnen Skizzenbeziehungen funktioniert einwandfrei und das ist ja das selbe Verfahren. Wenn ich das Array "vntEnt" beobachte, werden dort auch korrekt alle Entities dieser Skizzenbeziehung angezeigt. Nur der Aufruf:
Set objEnt = vntEnt(z) geht nicht.

Viele Grüße Mathias 

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