| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Screenshot vom Bauteil - AddIn mit C# (1808 mal gelesen)
|
elbardoni Mitglied
Beiträge: 8 Registriert: 30.12.2014
|
erstellt am: 23. Feb. 2015 15:52 <-- editieren / zitieren --> Unities abgeben:
Guten Tag liebe Gemeinde, mir geht es heute darum einen Screenshot vom Bauteil zu machen und diese dann zu speichern. Es funktioniert beim ersten mal wunderbar , aber beim zweiten Mal kommt leider eine Fehlermeldung. Code: private void btnScreenshot_Click(object sender, EventArgs e) { Application app = AddinGlobal.InventorApp; var oDoc = app.ActiveDocument; if (oDoc == null) {} else { try { // Datei wird als PNG gespeichert. oDoc.SaveAs("C:\\Temp\\Test.png", true); _mmHc.ShareFileWithRoom(_room, "C:\\Temp\\Test.png", rTBEingabe.Text); rTBEingabe.Text = ""; var imagelist = new ImageList(); String[] imageFiles = {"C:\\Temp\\Test.png"}; pBScreenshot.Image = Image.FromFile("C:\\Temp\\Test.png"); foreach (var file in imageFiles) { //Screenshot wird zur Imagelist hinzugefügt imagelist.Images.Add(Image.FromFile(file)); } } catch (Exception exception) { MessageBox.Show(Resources.FormChat_SaveAsBmp_Bitte_öffnen_bzw__erstellen_Sie_ein_Dokument_ + exception); } } }
C# meckert bei dieser Zeile
Code: oDoc.SaveAs("C:\\Temp\\Test.png", true);
Dann kommt diese Fehlermeldung: Zitat: System.Runtime.InteropServices.COMException (0x80004005): Unbekannter Fehler (Ausnahme von HRESULT: 0x80004005 (E_FAIL)) bei System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData) bei Inventor._DocumentClass.SaveAs(String FileName, Boolean SaveCopyAs) bei InvAddIn.FormChat.btnScreenshot_Click(Object sender, EventArgs e) in c:\Users\elbardoni\Desktop\Hassan daten\HTW\Programmieren\svn\Klu-Pro-El\Hassan El-Bardan\Prototyp\InventorAddIn2\InventorAddIn2\FormChat.cs:Zeile 135.
Bitte um Rat. Vielen Dank schon mal für die Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9737 Registriert: 01.12.2003 AutoCAD 2.5 - 2023, Inventor AIP 4-2023.1 Windows 11 i7, 96 GB, SSD, Quadro P2200
|
erstellt am: 23. Feb. 2015 17:22 <-- editieren / zitieren --> Unities abgeben: Nur für elbardoni
|
elbardoni Mitglied
Beiträge: 8 Registriert: 30.12.2014
|
erstellt am: 23. Feb. 2015 17:49 <-- editieren / zitieren --> Unities abgeben:
Danke erstmal für die Antwort. Ich habe es auch mit dem Code versucht:
Code: Public Sub SaveAsBMP() ' Get the active document. Dim oDoc As Document Set oDoc = ThisApplication.activeDocument ' Save a copy as a BMP file. Call oDoc.SaveAs("C:\Temp\Test.bmp", True) End Sub
auch mit:
Code: Public Sub SaveAsJPG() ' Get the active view. Dim oView as View Set oView = ThisApplication.ActiveView ' Save the view as a jpg file. Call oView.SaveAsBitmap("C:\Temp\Test.jpg", 700, 500) End Sub
Aber leider kommt immer die gleiche Fehlermeldung. Auch die Tipps au der Webseite : http://modthemachine.typepad.com/my_weblog/2009/02/saving-image-files.html waren leider nicht hilfreich.
Haben Sie noch eine Idee.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2287 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 23. Feb. 2015 21:44 <-- editieren / zitieren --> Unities abgeben: Nur für elbardoni
|
elbardoni Mitglied
Beiträge: 8 Registriert: 30.12.2014
|
erstellt am: 23. Feb. 2015 22:09 <-- editieren / zitieren --> Unities abgeben:
wenn ich das Dokument lösche über: Code: File.Delete("C:\\Temp\\Test.png");
kommt die Fehlermeldung: Zitat: Der Prozess kann nicht auf die Datei "C:\Temp\Test.png" zugreifen, da sie von einem anderen Prozess verwendet wird.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Michael Puschner Moderator Rentner
Beiträge: 12989 Registriert: 29.08.2003 Toshiba Encore mit MS Office Ein Programm sollte nicht nur Hand und Fuß, sondern auch Herz und Hirn haben. (Michael Anton)
|
erstellt am: 24. Feb. 2015 08:46 <-- editieren / zitieren --> Unities abgeben: Nur für elbardoni
|