Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API-Verknuepfung

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
Autor Thema:  API-Verknuepfung (2053 mal gelesen)
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. 2008 09:55    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

Moin,

ich versuche hier über ein Makro eine Symmetrie-Verknüpfung zwischen drei Ebenen von drei Komponenten zu erstellen.
Kleiner Code-Schnipsel:

    'Dritte Verknüpfung
    MateName = strCompName + "_Symetrie"
    FirstSelection = "Ebene4@" + rahmenname(1) & "@" + baugruppenname
    SecondSelection = "Ebene2@" + strCompName & "@" + baugruppenname
    ThirdSelection = "Ebene2@" + steuername & "@" + baugruppenname
    Set swDocExt = swModel.Extension
    swModel.ClearSelection2 (True)
    boolstat = swDocExt.SelectByID2(FirstSelection, "PLANE", 0, 0, 0, True, 1, Nothing, swSelectOptionDefault)
    boolstat = swDocExt.SelectByID2(SecondSelection, "PLANE", 0, 0, 0, True, 1, Nothing, swSelectOptionDefault)
    boolstat = swDocExt.SelectByID2(ThirdSelection, "PLANE", 0, 0, 0, True, 4, Nothing, swSelectOptionDefault)
    MsgBox (mateError)
    Set matefeature = swAssy.AddMate3(swMateSYMMETRIC, swMateAlignALIGNED, False, 0, 0, 0, 0, 0, 0, 0, 0, False, mateError)
    MsgBox (mateError)
    matefeature.Name = MateName

Funktioniert leider nicht. Das Makro bleibt in der letzten Zeile mit Fehler stehen. Die erste MSG-Box zeigt "1" (kein Fehler), die zweite "0" (unbek. Fehler). Im SW-Fenster sind zu diesem Zeitpunkt die richtigen drei Ebenen ausgewählt.
Händisch funktioniert die Zuweisung der Verknüpfung ohne Probleme. Auch andere Verknüpfungen, die durch das Makro gesetzt werden, klappen problemlos.
Nur nicht diese verd.... Symmetrie...
Suche hier im Forum ergibt leider nicht viel. Google liefert hauptsächlich chinesisch. Makro aufzeichnen bringt auch nicht viel, da dort AddMate2 benutzt wird, was dann aber auch nicht funzt.

Erkennt von Euch vielleicht jemand einen offensichtlichen Fehler oder könnte einen Code-Auszug posten, wo erfolgreich eine Symmetrie-Verknüpfung über ein Makro gesetzt wird?

SW-Office 2007 SP5

Danke.

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

Baumjäger
Mitglied
CAD/PDM Administrator


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

Beiträge: 339
Registriert: 21.06.2006

SW2017 - S5.0
AutoCAD Mechanical 2018
Win10
Intel Xeon E3-1240 V2 3,4GHz
16GB RAM
NVIDIA Quadro 4000

erstellt am: 01. Dez. 2008 10:51    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 Torsten Niemeier 10 Unities + Antwort hilfreich

mal so ein ahnungsloser Schuss ins blaue...

(aus der Hilfe)
(long) Mark
Value that you want to use as a mark; this value is used by other functions that require ordered selection

nach X,Y,Z, true kommt diese Zahl. Du verwendest zweimal die eins einmal die vier. Vielleicht musst du diese Zahlen ändern?
Möglicherweise gibst du damit die mittlere Ebene an?

viele Grüße Andy

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. 2008 11: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

Hallo Andy,

genauso ist es. Mit dem Marker "4" wird die gewünschte Symmetrieebene gekennzeichnet. Passiert so beim Makro-Aufzeichnen und steht irgendwo auch so in der Hilfe.
Ich hatte aber trotzdem schon alle Werte zwischen 1 und 8 ausprobiert, aber davon wird es leider nicht besser.
Trotzdem Danke.

Gruß, Torsten

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

Thomas Liebezeit
Mitglied
Dipl.-Ing. Maschinenbau, CSWP


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

Beiträge: 114
Registriert: 01.07.2005

2007 SP5.0
2008 SP4.0
2009 SP3.0

erstellt am: 01. Dez. 2008 13:32    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 Torsten Niemeier 10 Unities + Antwort hilfreich

Hallo Torsten,

kommt denn beim selektieren bei der Variable "boolstat" auch true zurück? Wenn nein, dann wird schon nicht richtig selektiert und die Verknüpfung geht schief.

HTH,

Thomas

------------------

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. 2008 14: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 Thomas,

kann ich mir mal anzeigen lassen. Ich bin mir aber sehr sicher, daß die Auswahl klappt, denn nach dem Abbruch des Makros sind im SW-Fenster die richtigen drei Ebenen ausgewählt. Falls ich mich sonst bei der Benennung verschreibe, dann fehlt in SW normalerweise die Markierung der Ebene, die ich falsch benannt habe.

Gruß, Torsten

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

HaPe
Mitglied
Dipl. Ing Maschinenbau, Konstrukteur, CAD-Admin


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

Beiträge: 1096
Registriert: 27.11.2001

i7 CPU 960@3.20GHz
8GB Ram
Quadro 2000 4GB
70GB Raid 0
WIN7 prof. SP1 64 bit
SWX 2010 SP5.0
SWX 2012 SP5.0
SWX 2013 SP5.0

erstellt am: 01. Dez. 2008 14:35    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 Torsten Niemeier 10 Unities + Antwort hilfreich

Hallo Torsten,

mal eine ganz dumme Idee, gibt es vielleicht schon eine Verknüpfung mit dem selben Namen ?
Stichwort eineindeutige Benennung.

Gruß HaPe

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. 2008 14: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

Hallo HaPe,

das ist alles andere als eine dumme Frage.
Aber dieser Name wird vorher nicht vergeben.

Gruß, Torsten

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

Baumjäger
Mitglied
CAD/PDM Administrator


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

Beiträge: 339
Registriert: 21.06.2006

SW2017 - S5.0
AutoCAD Mechanical 2018
Win10
Intel Xeon E3-1240 V2 3,4GHz
16GB RAM
NVIDIA Quadro 4000

erstellt am: 01. Dez. 2008 15: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 Torsten Niemeier 10 Unities + Antwort hilfreich

was mir noch einfällt,
setz mal nach  "Set matefeature = swAssy.AddMate3(swMateSYMMETRIC, swMateAlignALIGNED, False, 0, 0, 0, 0, 0, 0, 0, 0, False, mateError)"

ein swmodel.clearselection2(true).
Das hat bei mir glaub ich mal geholfen, warum auch immer das nötig ist.

viele Grüße Andy

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. 2008 16:24    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 Andy,

hilft leider nicht.

Gruß, Torsten

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

Thomas Liebezeit
Mitglied
Dipl.-Ing. Maschinenbau, CSWP


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

Beiträge: 114
Registriert: 01.07.2005

2007 SP5.0
2008 SP4.0
2009 SP3.0

erstellt am: 02. Dez. 2008 10:46    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 Torsten Niemeier 10 Unities + Antwort hilfreich


016499_API-Verknuepfung.zip

 
Hallo Zusammen,

habe mal versucht das Problem nachzustellen. Habe es immerhin geschafft, daß kein "MateError" kommt, aber eine Verknüpfung wird auch nicht erstellt. Aber evtl. kann jemand darauf aufbauen. Die Selektion funktioniert (es wird true zurück gegeben). Aber dennoch wird kein Objekt bei AddMate3 erzeugt. Durch das fehlende Objekt kommt es dann zu einem Fehler.
Die dazugehörige Baugruppe und das Makro ist auch im Anhang.

Code:

Option Explicit

Sub main()

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swAssemblyDoc As SldWorks.AssemblyDoc
Dim boolstat As Boolean
Dim MateName As String
Dim FirstSelection As String
Dim SecondSelection As String
Dim ThirdSelection As String
Dim swDocExt As SldWorks.ModelDocExtension
Dim mateError As Long
Dim baugruppenname As String
Dim matefeature As SldWorks.Mate2

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swAssemblyDoc = swApp.ActiveDoc
Set swDocExt = swModel.Extension

    baugruppenname = "Assem"

    swModel.ClearSelection2 True

    FirstSelection = "Ebene vorne@" & "Part-1" & "@" & baugruppenname
    SecondSelection = "Ebene vorne@" & "Part-2" & "@" & baugruppenname
    ThirdSelection = "Ebene vorne@" & "Part-3" & "@" & baugruppenname
   
    boolstat = swDocExt.SelectByID2(FirstSelection, "PLANE", 0, 0, 0, True, 1, Nothing, swSelectOptionDefault)
    boolstat = swDocExt.SelectByID2(SecondSelection, "PLANE", 0, 0, 0, True, 1, Nothing, swSelectOptionDefault)
    boolstat = swDocExt.SelectByID2(ThirdSelection, "PLANE", 0, 0, 0, True, 4, Nothing, swSelectOptionDefault)
   
    'MsgBox (mateError)
    Set matefeature = swAssemblyDoc.AddMate3(swMateSYMMETRIC, swMateAlignALIGNED, False, 0, 0, 0, 0, 0, 0, 0, 0, False, mateError)
    swModel.ClearSelection2 True
    matefeature.Name = "Symmetrie CAD.de"
    MsgBox (mateError)
   
End Sub


Grüße,

Thomas

------------------

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: 02. Dez. 2008 10:54    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 Thomas,

vielen Dank für die Mühe und für die Bestätigung des Problems.
Bekommst Du wirklich keinen MateError? Bei mir ist MateError zu diesem Zeitpunkt jedesmal 0-also UnknownError, während 1 wohl das Ziel ist.
Es scheint aber wohl erstmal nicht möglich zu sein, über ein Makro eine Symmetrie-Verknüpfung zu setzen. Ich habe gestern noch ein wenig mit den Markern und einigen Haltepunkten nach der Selektion herumgespielt, bin aber noch nicht weitergekommen.

Gruß, Torsten

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

Baumjäger
Mitglied
CAD/PDM Administrator


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

Beiträge: 339
Registriert: 21.06.2006

SW2017 - S5.0
AutoCAD Mechanical 2018
Win10
Intel Xeon E3-1240 V2 3,4GHz
16GB RAM
NVIDIA Quadro 4000

erstellt am: 02. Dez. 2008 12:22    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 Torsten Niemeier 10 Unities + Antwort hilfreich

bei mir kommt mit diesem Makro nach der Auswahl schon der Fehler 0 (also unbekannt), Markiert wird trotzdem.
am Ende kommt dann Fehler 4.


Edit: sorry, Fehler 4 kommt nur wenn ich matename ausklammere, ansonsten objekt oder with block variable nicht festgelegt...

[Diese Nachricht wurde von Baumjäger am 02. Dez. 2008 editiert.]

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

Thomas Liebezeit
Mitglied
Dipl.-Ing. Maschinenbau, CSWP


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

Beiträge: 114
Registriert: 01.07.2005

2007 SP5.0
2008 SP4.0
2009 SP3.0

erstellt am: 02. Dez. 2008 13:43    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 Torsten Niemeier 10 Unities + Antwort hilfreich

Oh ja, sorry. Bekomme 0 zurück, hatte dies für Fehlerfrei gehalten.

Kannst auch mal beim API Support nachfragen. Dann kannst Du Dir sicher sein, ob oder ob es nicht funktioniert.

Grüße,

Thomas

------------------

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

Baumjäger
Mitglied
CAD/PDM Administrator


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

Beiträge: 339
Registriert: 21.06.2006

SW2017 - S5.0
AutoCAD Mechanical 2018
Win10
Intel Xeon E3-1240 V2 3,4GHz
16GB RAM
NVIDIA Quadro 4000

erstellt am: 02. Dez. 2008 13: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 Torsten Niemeier 10 Unities + Antwort hilfreich

...würde ich auch vorschlagen, mir kommt es auch so vor als ob da ein Fehlerteufel drinsteckt, da ja nicht mal das aufgezeichnete Makro nochmal sauber abläuft.

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: 02. Dez. 2008 16:53    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

OK, hab's abgeschickt.
Text ähnlich dem obersten Beitrag.
Melde mich, falls ich was höre.
Danke nochmal an alle.

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: 04. Dez. 2008 18: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

Hier die versprochene Antwort (und die Frage):


Summary :  Problems with swMatSYMMETRIC

Dear Support,
I am trying to add a symmetric mate to an assembly with the following code-segment:
    'Dritte Verknüpfung
    MateName = strCompName + "_Symmetrie"
    FirstSelection = "Ebene4@" + rahmenname(1) & "@" + baugruppenname
    SecondSelection = "Ebene2@" + strCompName & "@" + baugruppenname
    ThirdSelection = "Ebene2@" + steuername & "@" + baugruppenname
    Set swDocExt = swModelExtension
    swModel.ClearSelection2 (True)
    boolstat = swDocExt.SelectByID2(FirstSelection, "PLANE", 0, 0, 0, True, 1, Nothing, swSelectOptionDefault)
    boolstat = swDocExt.SelectByID2(SecondSelection, "PLANE", 0, 0, 0, True, 1, Nothing, swSelectOptionDefault)
    boolstat = swDocExt.SelectByID2(ThirdSelection, "PLANE", 0, 0, 0, True, 4, Nothing, swSelectOptionDefault)
    'MsgBox (mateError)
    Set matefeature = swAssy.AddMate3(swMateSYMMETRIC, swMateAlignALIGNED, False, 0, 0, 0, 0, 0, 0, 0, 0, False, mateError)
    'MsgBox (mateError)
    matefeature.Name = MateName

This doesn't work. The Macro stops in the last line with the runtime-error '91'. In the SolidWorks-Window I can see, that the correct planes are selected when the macro stops. Adding the same mate manualy is no problem. Other mates (coincident), that are added to the assembly by the macro work fine, but not the 'swmatesymmetric'.
Is it simply not possible to add a symmetric-mate via a VB-Macro? Even a recorded macro with a symmetric mate doesn't work.
 
My System:
SW-Office 2007 SP5
Thanks. (sorry for the bad english)

Mit freundlichen Grüßen / Kind regards

BKK / Konstruktion
Torsten Niemeier

__________________________________________________________________


Dear Torsten,

Unfortunally this is the known issue. The AssemblyDoc::AddMate3 fails to create symmetric mate for reference planes and the corresponding SPR is opened (FYI SPR 336894).

You are getting the runtime error 91 since you try to call method of null object (in this case Feature::Name).

The macro recording tool is also fails with this mate. It records excess parameters for the AssemblyDoc::AddMate2 method. This issue is also known (FYI SPR 438454).

The possible workarounds to are:

1) Using of faces as "Entities to mate" instead of reference planes:

    ...
    boolstat = swDocExt.SelectByID2("", "FACE", <Face1X>, <Face1Y>, <Face1Z>, True, 1, Nothing, swSelectOptionDefault)
    boolstat = swDocExt.SelectByID2("", "FACE", <Face2X>, <Face2Y>, <Face2Z>, True, 1, Nothing, swSelectOptionDefault)
    boolstat = swDocExt.SelectByID2(ThirdSelection, "PLANE", 0, 0, 0, True, 4, Nothing, swSelectOptionDefault)
    ...

2) Using different mate types which can position the models the same as Symmetric mate.
For example "Distance" mate:
a) calculate the distance between two planes (for example using measure tool API)
b) add mate using half the distance gotten before.

Regards,
Igor Kryuchkov
SolidWorks API Support


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: 04. Dez. 2008 18:40    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

BTWBy the way (So nebenbei bemerkt),

obwohl die Antwort letztendlich negativ ist, halte ich die ganze Sache für eine wirklich ordentliche Support-Leistung:

- schnelle Bestätigung des Service-Request
- schnelle Antwort
- zwei mögliche Workarounds

... da fühlt man sich doch irgendwie geborgen...

Gruß, Torsten

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