Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Solid Edge
  SolidEdge HTTP Post Fileupload current model as STL

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 SolidEdge
Autor Thema:  SolidEdge HTTP Post Fileupload current model as STL (1826 mal gelesen)
bschla
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Windows 8, Solid Edge ST7, Visual studio 2015, c++

erstellt am: 20. Aug. 2015 16:14    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 SE-Entwickler!

Ich arbeite an ein Add in welches das aktuelle 3D Modell in Solid Edge per Druck auf ein Button in der Ribbonbar in ein STL Format temporär lokal speichert um dieses dann mit HTTP Post request auf ein Server hochzuladen welcher eine URL zurückgibt die dann im Browser geöffnet werden soll.

USER: Pusht mein Button, Browser öffnet sich mit der vom Post request zurückgegebenen URL.

Leider stehe ich gerade beim Speichern an. das ActiveDocument Objekt hat die geerbte Methode "SaveAs" aber ich kann keinen Pfad angeben, lediglich einen Namen... Hat jemand eine Idee? Ich find die API nicht sehr übersichtlich, noch sind die Methoden gut erklärt.. (was genau macht "GetPath()" ?? (habs probiert.. nicht das wonach sich die Benennung anhört..)


Ich bin für jede Hilfe dankbar. Falls jemand schon Erfahrung mit einer Methode hat die ich brauch etc. bitte melden (Beim HTTP Request wär Hilfe auch super, zurzeit kämpfe ich mit mit libcurl durch um das zu realisieren).

 

[Diese Nachricht wurde von bschla am 20. Aug. 2015 editiert.]

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

wolha
Moderator
CAD - Consultant


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

Beiträge: 5563
Registriert: 30.01.2002

Win 10 Pro
Solid Edge 2023
CAMWorks
Primus PDM
FEMAP
Dynamic Designer
Teamcenter

erstellt am: 20. Aug. 2015 21: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 Nur für bschla 10 Unities + Antwort hilfreich

Hallo,


der Name sollte IMHO (zumindest war es früher so) auch ein kompletter Pfad und Filename sein können.

Welches GetPath meinst Du genau?


------------------
mfg

Wolfgang Hackl
CAD/CAM - Consult
http://www.cadcam-consult.com

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

bschla
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Windows 8, Solid Edge ST7, Visual studio 2015, c++

erstellt am: 21. Aug. 2015 17: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

Danke für die Antwort!
habs mit saveAs(Path\Name.Format) probiert.

Ich denke auch dass das grundlegend funktioniert. Leider kommt immer die Fehlermeldung
"File Transformation Error"

hab ich das richtig verstanden, saveAs(Path\Name.Format) würde das aktuelle Modell in den angegebenen Ordnerpfad abspeichern?
Würde dann SaveCopyAs(Path\Name.Format) eine Kopie des aktuellen Modells speichern?

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

wolha
Moderator
CAD - Consultant


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

Beiträge: 5563
Registriert: 30.01.2002

Win 10 Pro
Solid Edge 2023
CAMWorks
Primus PDM
FEMAP
Dynamic Designer
Teamcenter

erstellt am: 21. Aug. 2015 18: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 Nur für bschla 10 Unities + Antwort hilfreich

Hallo,


soweit ich weiß, sollte SaveAs funktionieren.

Hast Du sicher gestellt, dass der Verzeichnispfad auch wirklich existiert und Du Schreibrechte hast?


------------------
mfg

Wolfgang Hackl
CAD/CAM - Consult
http://www.cadcam-consult.com

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

bschla
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Windows 8, Solid Edge ST7, Visual studio 2015, c++

erstellt am: 21. Aug. 2015 18:28    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

Mein Versuch derzeit:


_bstr_t stlFilename = "tmp.stl";
_bstr_t stlFilepath = "C:\\Users\\%%USERNAME%%\\AppData\\Local\\Temp\\";
const variant_t stl = "STL";

pDoc->SaveCopyAs(stlFilepath + stlFilename);
(oder
pDoc->SaveAs(stlFilepath + stlFilename, NULL, stl); )

Bei beiden kommt der file transformation error.
Auch wenn ich den oberen Pfad (ohne doppelte Sonderzeichen) manuell in SE eingeben wenn ich manuell "Save As" klicke.

Wo finde ich heraus ob ich schreibrechte habe?

[Diese Nachricht wurde von bschla am 21. Aug. 2015 editiert.]

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

wolha
Moderator
CAD - Consultant


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

Beiträge: 5563
Registriert: 30.01.2002

Win 10 Pro
Solid Edge 2023
CAMWorks
Primus PDM
FEMAP
Dynamic Designer
Teamcenter

erstellt am: 21. Aug. 2015 21: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 Nur für bschla 10 Unities + Antwort hilfreich

Hallo,


ich vermute, dass die Systemvariable %Username% nicht aufgelöst wird.


Versuch doch einmal einen Hardlink auf c:/temp

------------------
mfg

Wolfgang Hackl
CAD/CAM - Consult
http://www.cadcam-consult.com

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

bschla
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Windows 8, Solid Edge ST7, Visual studio 2015, c++

erstellt am: 24. Aug. 2015 21: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

Also ich habs jetzt mit SaveCopyAs("C:\\temp") probiert, was hervorragend funktioniert hat. Wenn ich jedoch SaveCopyAs("C:\\temp.stl") probiere kommt ein File translation Error..

Irgendwelche Ideen?

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

wksyspro
Mitglied
Dipl.-Ing.


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

Beiträge: 200
Registriert: 19.11.2004

erstellt am: 25. Aug. 2015 02: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 Nur für bschla 10 Unities + Antwort hilfreich

Hallo,

du solltest statt der Methode SaveCopyAs() zum Konvertieren die Methode SaveAs() verwenden. Zum Auflösen von Windows Environment Variablen dient z.B. die C++ Standardbibliotheksfunktion std::getenv().

------------------
Viele Grüße,

Wolfgang Kunert
www.wksyspro.de

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

bschla
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Windows 8, Solid Edge ST7, Visual studio 2015, c++

erstellt am: 25. Aug. 2015 10:36    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

Gut. Ich werde getenv() (oder die alternative _dupenv_s) ausprobieren. Was ist denn genau der Unterschied zwischen saveAs und saveCopyAs??

Andere Frage: Weiß jemand wie man überprüft ob sich im aktuellen Dokument überhaupt ein Modell befindet?

mfg, Bettina

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

Arne Peters
Ehrenmitglied V.I.P. h.c.
CAD Dokumentation / Training / Programmierung / Datenbanken


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

Beiträge: 7321
Registriert: 05.2002.24

Solid Edge Seminarunterlagen
Training, Beratung, Programmierung

erstellt am: 25. Aug. 2015 10: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 bschla 10 Unities + Antwort hilfreich

Der Unterschied ergibt sich interaktiv in der Baugruppe.

SaveAs speichert beim bearbeiten vor Ort unter neuem Namen und tauscht das Teil in der Baugruppe aus.
SaveCopyAs tauscht nicht aus.
In VB steht es auch in der Objektbibliothek so drin "without modifying the open document"

------------------
Arne

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

bschla
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Windows 8, Solid Edge ST7, Visual studio 2015, c++

erstellt am: 25. Aug. 2015 14:21    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

wenn ich dann temporär das Modell als STL speichere, bearbeite und dann lösche per addin command wäre es doch besser wenn ich saveCopyAs machen oder?

Was meinst du genau mit VB?

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

Arne Peters
Ehrenmitglied V.I.P. h.c.
CAD Dokumentation / Training / Programmierung / Datenbanken


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

Beiträge: 7321
Registriert: 05.2002.24

Solid Edge Seminarunterlagen
Training, Beratung, Programmierung

erstellt am: 25. Aug. 2015 16:17    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 bschla 10 Unities + Antwort hilfreich

1. VB = Visual Basic
2. In einem Part oder im TopLevel eine Baugruppe ist SaveCopyAs garnicht verfügbar.  SaveCopyAs also nur, wenn ein untergeordnetes Dokument in einer Baugruppe vor Ort geöffnet ist. 


------------------
Arne

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

bschla
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Windows 8, Solid Edge ST7, Visual studio 2015, c++

erstellt am: 25. Aug. 2015 17: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

Dachte ich mir, war nur verwirrt weil ich mit c++ entwickle.

Laut SolidEdge SDK ST7 ist SaveCopyAs teil der Assembly, Part, Draft und Framework Type Library. Demnach in der Part und Assembly Umgebung.

Was meinst du mit Baugruppe? Sorry, bin etwas verwirrt da ich Solid Edge nicht benutze, derzeit jedoch versuche ein Addin zu schreiben!

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

Arne Peters
Ehrenmitglied V.I.P. h.c.
CAD Dokumentation / Training / Programmierung / Datenbanken


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

Beiträge: 7321
Registriert: 05.2002.24

Solid Edge Seminarunterlagen
Training, Beratung, Programmierung

erstellt am: 25. Aug. 2015 17: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 Nur für bschla 10 Unities + Antwort hilfreich

OK.

Wenn Du eine Baugruppe, in der Teile verbaut sind, geöffnet hast kannst Du mit Doppelklick auch untergeordnete Teile oder Unterbaugruppen in der Baugruppe bearbeiten. Du bist aber immer noch in der Baugruppe.
Wie ein Excel Objekt in Word.
Und jetzt kommt der Unterschied der beiden Befehle, wie schon erläutert.

------------------
Arne

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

Zeitbeisser
Moderator
CAD-Ko­ry­phäe




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

Beiträge: 2646
Registriert: 25.06.2014

Die Computerrevolution ist vorbei - sie haben gewonnen.

erstellt am: 25. Aug. 2015 22: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 bschla 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von bschla:
[...]
Andere Frage: Weiß jemand wie man überprüft ob sich im aktuellen Dokument überhaupt ein Modell befindet? [...]

Ich würde dafür beliebige Abfrage der ersten Occurence der asm machen mit try-catch, wenn Exception geworfen wird, dann ist die asm leer...

Eine von vielen Möglichkeiten! 

Hilft das!?

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

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

Arne Peters
Ehrenmitglied V.I.P. h.c.
CAD Dokumentation / Training / Programmierung / Datenbanken


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

Beiträge: 7321
Registriert: 05.2002.24

Solid Edge Seminarunterlagen
Training, Beratung, Programmierung

erstellt am: 25. Aug. 2015 23: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 Nur für bschla 10 Unities + Antwort hilfreich

Und im Part nach Models suchen oder so ähnlich.

------------------
Arne

[Diese Nachricht wurde von Arne Peters am 26. Aug. 2015 editiert.]

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

bschla
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Windows 8, Solid Edge ST7, Visual studio 2015, c++

erstellt am: 26. Aug. 2015 10: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

Also ich habs mal kurz getestet, wenn ich ein asm Projekt offen hab und Doppelklick auf ein Bauteil mach und dann savecopyas anwende funktionierts, wenn ich das ganze bauteil savecopyas funktioniert und wenn ich von grunf auf nur ein par teil öffne funktioniert savecopyas.

Meintest du diese Environments?
(Weldment übrigens auch und Sheetmetal, wenn 3D data vorhanden ist!)

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

bschla
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Windows 8, Solid Edge ST7, Visual studio 2015, c++

erstellt am: 26. Aug. 2015 10:34    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

bin dabei, danke!

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