Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  MaxxDB
  MaxxDB64.dll

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
Autor Thema:  MaxxDB64.dll (4391 mal gelesen)
Baltenweck
Mitglied
Konstrukteur


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

Beiträge: 170
Registriert: 13.03.2001

SolidWorks 2010 64bit, MaxxDB 3.0/MySQL

erstellt am: 19. Okt. 2011 15: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

Hallo zusammen,

nachdem ich ein Programm geschrieben habe das den Zeichnungsrahmen tauscht soll die Zeichnung über MaxxDB gespeichert werden damit der Zeichnungskopf aktualisiert wird. Ich spreche die MaxxDB64.dll an und habe folgendes gemacht:

MaxxDB : ICMaxx
.
.
  MaxxDB = CoCMaxx.Create      //funktioniert
  UN    = MaxxDB.GetDBUserName //funktioniert
  MaxxDB.SearchMaxxDB          //MAxxDB-Fenster wird aufgerufen aber wohl nicht die dazugehörige DB
  MaxxDB.SaveMaxxDB            //Fehler: external:SIGSEGV

Ich vermute mal dass man irgenwie noch angeben muss wie man an die SQL-DB rankommt

Hat jemand nen Tip ?

Gruß
Patrick

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

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

Press play on tape
Ehrenmitglied
Konstrukteur und sonst nix!


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

Beiträge: 1945
Registriert: 30.04.2007

erstellt am: 19. Okt. 2011 16:44    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 Baltenweck 10 Unities + Antwort hilfreich

Hallo,

ich habe tatsächlich die gleiche Problematik hier. Mein Weg scheint aber anders zu sein als Dein Weg. Ich habe ein Makro genutzt um die Zeichnungsrahmen zu tauschen und dieses mittels eines scripts in der MaxxDB ablaufen lassen. Das einzige was man über scripts nichts hinbekommt ist das aktualisieren bzw. Zeichnung speichern (MaxxDB speichern) somit blieben meine Rahmen unausgefüllt. Bei mir hat die Problematik intern/extern zu 2 Zeichnungsvorlagen geführt. Vorteil meiner Methode ich kann mittels Listeransicht (sortiert nach Datum) viele Zeichnungen Stapelverarbeiten
Steckengeblieben bin ich beim speichern , da muß alle im moment öffnen und speichern

Das mal einfach zum Thema als anderer Lösungsansatz.

Zum eigentlichen Problem selbst, dem speichern, sties ich hier im Forum auf diesen Beitrag von Jochen Renz. leider sind meine Makro/Programmierkentnisse seh begrenzt sonst hätte ich das schon mal probiert. Aber da Du in dieser hinsicht wesentlich weiter als ich zu sein scheinst könnte Dir das vielleicht helfen.

gruß Heiko

------------------
CAD.de Treffen Stuttgart nicht nur Pro/E!!!!

64bit sind kein Thema mehr ;-)

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

Baltenweck
Mitglied
Konstrukteur


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

Beiträge: 170
Registriert: 13.03.2001

SolidWorks 2010 64bit, MaxxDB 3.0/MySQL

erstellt am: 19. Okt. 2011 17:07    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 Heiko (und andere),

vielen Dank für das Feedback. Wie du ja schon geschrieben hast gibt es verschiedene Wege zum Thema Rahmenaustausch. Funktioniert ja auch.

Bleibt halt wirklich "nur" die eine oder andere MaxxDB-Funktion. Den einzig verwertbare Tip habe ich auch in dem Beitrag von Hr. Renz gesehen (pwbasic.bas). Habe mit Teilen des Basicprogramms experimentiert - leider kein Erfolg. Möglicherweise ist das auch nicht mehr für die MaxxDB 3 auf dem aktuellen Stand (copyright geht von 1999 bis 2007).

Hab mal den Makrorecorder gestartet. Dort wird das aufgezeichnet:
If Not maxxDB Is Nothing Then maxxDB.SaveMaxxDB
Will man das Makro wieder starten wird ein fehlendes Objekt bemängelt.

Ich hab über Delphi die DLL mal importiert und könnte das Ergebnis hier posten, weiss aber nicht ob das ne Rechteverletzung ist.

Gruß
Patrick

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

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

Metallica88
Mitglied
Konstrukteur; CAD Admin


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

Beiträge: 379
Registriert: 01.04.2009

ehem. CAx Admin für ~70 Konstrukteure in verteilten Standorten.

erstellt am: 20. Okt. 2011 10: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 Nur für Baltenweck 10 Unities + Antwort hilfreich

Hallo auch ich habe (hatte) das selbe Problem.

Meine Lösung dafür:
Eine "Konvertierung" mit den Tool convswx.exe (gibts von den MaxxDB Entwicklern) wo das Makro ausgeführt werden kann und über die MaxxDB gespeichert wird.

Dabei muss über MaxxDB Aktionen >> Konvertierung starten ... >> eine Liste mit Zeichnungen (also nur SLDDRW und den Optionen "MaxxDB speichern" und "Dateien nicht auf SWXSolidWorks-Version prüfen" erstellt werden.

Im convswx wird wiederum die Liste und das Makro angeben, hier muss ebenfalls die Option "Dateien nicht auf SWXSolidWorks Version prüfen" aktiviert werden...

Mfg Metallica88

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

Baltenweck
Mitglied
Konstrukteur


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

Beiträge: 170
Registriert: 13.03.2001

SolidWorks 2010 64bit, MaxxDB 3.0/MySQL

erstellt am: 20. Okt. 2011 12:05    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 Metallica88

convswx.exe hab ich auch schon verwendet. Kann "man" auch verwenden wenn für einen bestimmten Datenbestand die Rahmen ausgetauscht werden sollen(Ist auch fürs nächste SWx-Update geplant). Für den Fall "aktuell geladen Zeichnung -> Rahmen tauschen -> MaxxDB speichern" kann ich convswx.exe auch nicht benutzen da ich convswx.exe ja auch anzapfen müsste. convswx.exe kann glaub ich auch über mitgegebene Startparameter aufgerufen werden wobei mein Programm convswx <Parameter> eben aufrufen müsste. Da muss ich mal noch nachlesen ob das geht.

Allerdings wärs mir echt lieber ich könnte das über die MaxxDB-DLL lösen, da in Zukunft ausser Speichern das Steuern anderer MaxxDB-Funktionen ebenfalls interessant wäre.

Gruß
Patrick

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

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

Baltenweck
Mitglied
Konstrukteur


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

Beiträge: 170
Registriert: 13.03.2001

SolidWorks 2010 64bit, MaxxDB 3.0/MySQL

erstellt am: 11. Nov. 2011 10: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


MaxxDBSpeichern.zip

 
Sooo, jetzt konnte ich mich mal wieder mit meinem "Problem" beschäftigen. Habe mir jetzt nochmal genau die pwbasic.bas zu Gemüte geführt und die Funktionen MyCallBack und pw_save_anyway ausgeschnitten.

Jetzt habe ich ein funktionsfähiges Makro:


Dim swapp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim PWS As Long 'Für Rueckgabewert durch Aufruf von pw_save_anyway

'----------- aus pwbasic.bas kopiert ---------------------------------
Public Function MyCallBack(swapp As Object, action As String) As Long
    Dim maxxdb As Object
    If swapp Is Nothing Then
        MyCallBack = -100
        Exit Function
    End If
    Set maxxdb = swapp.GetAddInObject("MaxxDB.CMaxx")
    If maxxdb Is Nothing Then
        MyCallBack = swapp.CallBack("cctools@CallBack", -100, action)
    Else
        maxxdb.Callback2 action, MyCallBack
    End If
End Function

'----------- aus pwbasic.bas kopiert ---------------------------------
Public Function pw_save_anyway(swapp As Object) As Long
    Dim action As String
    Dim rc As Long
    If swapp Is Nothing Then
        MsgBox "Not connected to SolidWorks!"
        Exit Function
    End If
    action = "SAVE_ANYWAY"
    rc = MyCallBack(swapp, action)
    If rc = -100 Then
        MsgBox "CallBack failed, MaxxDB probably not activated in SolidWorks!"
    End If
    pw_save_anyway = rc
End Function

'----------- MAIN ---------------------------------
Sub main()
    Set swapp = Application.SldWorks
    PWS = pw_save_anyway(swapp)'MAxxDB Speichern, egal welcher Dateistatus
End Sub

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

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

Baltenweck
Mitglied
Konstrukteur


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

Beiträge: 170
Registriert: 13.03.2001

SolidWorks 2010 64bit, MaxxDB 3.0/MySQL

erstellt am: 11. Nov. 2011 10:38    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

Kleine Ergänzung:

Das Makro könnte auch durch ein Programm separat aufgerufen werden.

      VBA-Aufruf wäre dann z.B:
      boolstatus = swApp.RunMacro("MaxxDBSpeichern.swp", "MaxxDBSpeichern1", "main")

Möglicherweise müsste der Parameter MaxxDBSpeichern.swp durch Pfadangaben erweitert werden, also z.B. C:\Temp\MaxxDBSpeichern.swp

Gruß
Patrick

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

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

Press play on tape
Ehrenmitglied
Konstrukteur und sonst nix!


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

Beiträge: 1945
Registriert: 30.04.2007

erstellt am: 11. Nov. 2011 11: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 Baltenweck 10 Unities + Antwort hilfreich

Hallo Patrick,

jetzt doch PWBasic.bat 

Danke für Deine Umsetzung, ich habe mir den Beitrag mal mit Lesezeichen markiert damit ichs nicht vergesser wenn ich meine Ecke am Makro mal wieder in die Hand nehme.

gruß Heiko

------------------
CAD.de Treffen Stuttgart nicht nur Pro/E!!!!

64bit sind kein Thema mehr ;-)

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)2025 CAD.de | Impressum | Datenschutz