vrs Posted July 13, 2015 Report Posted July 13, 2015 (edited) Potrzebuję zapisać / wyeksportować rysunek do formatu dxf. Wiem, że jest metoda DxfOut z poziomu Database, ale jak bym nie podał jej argumentów, to VS ciągle podkreśla mi kod, mówiąc, że metoda ma nieprawidłowe argumenty. database.DxfOut(_sciezka, 16, DwgVersion.AC1021, false); Oczywiście _sciezka to zwykły string. Najprawdopodobniej przyczyną jest określenie wersji pliku. Próbowałem z różnymi wersjami dwg, ale to nic nie dało. Edited July 13, 2015 by vrs Quote
kruszynski Posted July 13, 2015 Report Posted July 13, 2015 database ma też metodę: saveAs . Czy sprawdzał Pan tez jak ona się zachowa? Quote
kruszynski Posted July 13, 2015 Report Posted July 13, 2015 Potrzebuję zapisać / wyeksportować rysunek do formatu dxf. Wiem, że jest metoda DxfOut z poziomu Database, ale jak bym nie podał jej argumentów, to VS ciągle podkreśla mi kod, mówiąc, że metoda ma nieprawidłowe argumenty. database.DxfOut(_sciezka, 16, DwgVersion.AC1021, false); Oczywiście _sciezka to zwykły string. Najprawdopodobniej przyczyną jest określenie wersji pliku. Próbowałem z różnymi wersjami dwg, ale to nic nie dało. Podkreśla całą linię? czy tylko jeden z parametrów? Quote
vrs Posted July 14, 2015 Author Report Posted July 14, 2015 Metoda saveAs działa, ale zapisuje w formacie dwg, a ja potrzebuję koniecznie pliku dxf, ponieważ trafia on później do innego programu, który wymaga pliku dxf. Chyba, że jest możliwość użycia tej metody do zapisu w formacie dxf. W przypadku dxfOut podkreśla całą linię. Quote
vrs Posted July 14, 2015 Author Report Posted July 14, 2015 Problem stanowi trzeci parametr metody dxfOut, czyli wersja pliku, w jakiej ma być on zapisany. W pryzpadku metody saveAs wersja pliku określana jest klasą DwgVersion, a w dxfOut jest to klasa ZcDb.ZcDbDwgVersion, czyli coś innego. Problem z tym, że ja nie mam w projecie przestrzeni nazw ZcDb. Możliwe, że brakuje mi jakiejś referencji, jednak nie mam pomysłu jakiej. W referencjach mam następujące biblioteki: ZwDatabaseMgd.dll, ZWCAD.exe, ZwManaged.dll. Quote
kruszynski Posted July 14, 2015 Report Posted July 14, 2015 Otrzymałem odpowiedź z ZWSOFT. Jest to problem w samym ZWCADzie. Natomiast w odpowiedzi ZWSODFTu jest informajca, że problem istnieje tylko w C# i jako obejście możemy wykorzystać vb.net . Sam nie łączyłem nigdy tych języków programowania w ramach jednym projekcie, ale może tą część czy procedurę może Pan opracować w VB.Net? Quote
vrs Posted July 14, 2015 Author Report Posted July 14, 2015 ehhh kolejny błąd w ZWCADzie. Niedobrze. Co do łączenia VB z C# to również nie miałem okazji ich łączyć w ramach projektu, jednak pewnie jest to możliwe i staje się kolejnym wyzwaniem przedemną :) Tak więc biorę się do roboty. Dzięki wielkie za pomoc. Przedemną jeszcze wiele wyzwań jeśli chodzi o ZWCADa i C#, więc jeszcze nie raz będę pisał i pytał. Dobrze, że mam kogo pytać :) Jeszcze raz dzięki :good: Quote
vrs Posted July 15, 2015 Author Report Posted July 15, 2015 Udało się zrobić :) Musiałem jedynie kod Vb umieścić w nowym projekcie i dodać go jako referencję do aktualnego projektu. Jednak to nie koniec problemów z exportem. Plik jest tworzony w określonej lokalizacji, nie wyskakują żadne błędy, ale nie mogę go otworzyć. Przy próbie otwarcia pokazuje się komunikat "Plik DXF jest niepoprawny lub niekompletny". Próbowałem różnych wartości w DwgVersion, ale to nic nie dało. Oczywiście jak rysunek, który eksportuję, zapiszę normalnie, przez opcję Zapisz jako, to nie mam problemów z jego otwarciem. Co ciekawe, wyeksportowany plik bez problemów otwiera się w ZWCAD 2012. Ma ktoś pomysł gdzie może leżeć przyczyna ? Quote
kruszynski Posted July 15, 2015 Report Posted July 15, 2015 Czy może Pan przesłać do mnie mailem pliki przed zapisem i wynikowy DXF? mój adres to pomoc@dobrycad.pl Quote
vrs Posted July 17, 2015 Author Report Posted July 17, 2015 Żeby temat zamknąć: Plik generowany przed kod VB, poprzez metodę DxfOut również nie działa. Tak jak wyżej pisałem po wygenerowaniu tak pliku nie można go otworzyć w ZWCADzie, a dokładniej problemem jest BlockTableRocord. Nie wiedzieć czemu, plik jest nieprawidłowo eksportowany. jest jednak rozwiązanie problemu eksportu rysunku do pliku dxf. Działa ono tylko w VB.Net. Działający kod: Public Function exportDatabaseToDxf(_path As String, _document As Document) As Boolean Dim document As Document = _document Dim ss As ZcadSelectionSet = document.ZcadDocument.SelectionSets.Add("sample") document.ZcadDocument.Export(_path, "dxf", ss) document.ZcadDocument.SelectionSets.Item("sample").Delete() Return True End Function Problem rozwiązany. Martin_S 1 Quote
cherokee Posted January 24, 2016 Report Posted January 24, 2016 problem exportu pliku DWG do DXF celem użycia pojawił się również u mnie ... posiadam zwcad+ 2015 , nie bylo tego problemu w wersji starszej np 2010. ROZWIĄZANIE : należy podczas zapisywania pliku jako DXF , wybrać wersję AUTOCAD R12 , wtedy nasz nowy DXF będzie działał bez zarzutu po otworzeniu w każdym innym programie. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.