Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API Skipped Items

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
  
SOLIDWORKS PDM Professional im Einsatz bei Wölfle, ein Anwenderbericht
Autor Thema:  API Skipped Items (1662 mal gelesen)
kons92
Mitglied
Konstrukteur


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

Beiträge: 91
Registriert: 07.12.2009

i920,6GB DDR3,FX3500
SW2011 SP1.0
Win7 64Bit

erstellt am: 01. Dez. 2010 20:26    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 an alle,
ich bin gerade dabei ein makro zu schreiben, welches alle zu umgehenden Elemente löscht bei einem Kreismuster.
Code:

boolstatus = swModelDocExtension.SelectByID2("Kreismuster1", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)

Set swSelectionMgr = swModel.SelectionManager

Set swFeature = swSelectionMgr.GetSelectedObject6(1, -1)

Set swCircularPatternFeatureData = swFeature.GetDefinition



Bis dahin wird das Feature ausgewählt. Und mit :
Code:

NbrInstances = swCircularPatternFeatureData.GetSkippedItemCount()


Kann ich die Anzahl der zu umgehenden Features auslesen, doch leider weiß ich nicht, wie man nun die Anzahl auf null setzten kann.

Ich habe leider nur bei der API Hilfe den folgenden Beitrag gefunden: http://help.solidworks.com/2010/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ICircularPatternFeatureData~ISetSkippedItemArray.html?format=P

Daraufhin war mein Ansatz:

Code:

boolstatus = swCircularPatternFeatureData.ISetSkippedItemArray(0, 0)


Doch leider ist dies nicht richtig. Kann mir jemand helfen.

Vielen Dank im voraus

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

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3743
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 01. Dez. 2010 22:42    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 kons92 10 Unities + Antwort hilfreich

Laut der Hilfe wird der zweite Parameter in VB nicht supportet.
Er wird aber von der Sub ByRef behandelt.
Könntest Du mal versuchen, statt der zweiten Null einfach eine Integer-deklariete Variable zu übergeben?

Gruß, Torsten

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

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3743
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 01. Dez. 2010 22:45    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 kons92 10 Unities + Antwort hilfreich

Hatte ich beim ersten Mal nicht gesehen:
Du rufst da eine Sub auf.
also laß vorne mal das 'boolstatus =' weg.
Vielleicht klappt's dann auch mit der zweiten Null

Gruß, Torsten

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

kons92
Mitglied
Konstrukteur


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

Beiträge: 91
Registriert: 07.12.2009

i920,6GB DDR3,FX3500
SW2011 SP1.0
Win7 64Bit

erstellt am: 21. Dez. 2010 00:10    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
leider hatte ich keine Zeit mehr gefunden mich mit dem Script zu beschäftigen, da vor Weihnachten einiges sich bei mir angesammelt hat. Zudem war die EuroMold dazwischen.
Ich habe nun einmal probiert den Code zum laufen zu bekommen. Er läuft auch aber leider ändert er nichts, d.h. er läuft bei mir fehlerfrei nur die Skipped-Items setzt er nicht wie gewünscht auf die entsprechenden werte

Hier der gesamte Code:

Code:
Sub main()

Dim swApp As Object
Dim boolstatus As Boolean
Dim swFeature As SldWorks.Feature
Dim nbrinstances As Integer
Dim swCircularPatternFeatureData As ICircularPatternFeatureData

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Kreismuster1", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)

Set swFeature = Part.SelectionManager.GetSelectedObject6(1, -1)

Set swCircularPatternFeatureData = swFeature.GetDefinition

nbrinstances = swCircularPatternFeatureData.GetSkippedItemCount()
MsgBox (nbrinstances)


'Dim FeatCount As Integer
'Dim ArrayDataIn As Integer

'FeatCount = 0
'ArrayDataIn = 0
'swCircularPatternFeatureData.ISetSkippedItemArray FeatCount, ArrayDataIn

swCircularPatternFeatureData.ISetSkippedItemArray 1, 3

End Sub



Wenn ich die auskommentierte Version nehmen mit Integer bekomme ich den Fehler :
Argumenttyp ByRef unverträglich


Vielleicht hat einer eine Idee, wo der Fehler ist.

Vielen Dank im voraus

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