Rekomendowane odpowiedzi

Opublikowano (edytowane)

Witam wszystkich. Chciałbym się pochwalić pierwszą nakładką dedykowaną dla ZWCAD 2017, którą napisałem i udostępniam na stronie www.przybornik.parikon.pl. Wkrótce mam zamiar udostępnić następne. Osoby zainteresowane zapraszam do testowania. Niestety ograniczam się tylko do aplikacji 64 bitowych. Sam projekt nakładek jest swego rodzaju nauką programowania. Mam nadzieję, udostępniać coraz ciekawsze programy i liczę także na pomoc na tym forum w kwestii ich testowania i opinii co do ich przydatności.

Edytowane przez Parikon
Opublikowano

Również pobiorę i przetestuję - pod warunkiem, że uda mi się odpalić, bo w moim przypadku bywa z tym różnie. Bardzo fajnie, że bierzesz się za programowanie nakładem i że w ogóle idziesz w kierunku programowania. Z pewnością jest o potrzebne w tej branży.
 

Opublikowano

Próbowałem uruchomić nakładkę, ale na Windows 7 i nie ruszyła.
Czyli faktycznie potrzeba Windows 10. Czym to jest spowodowane użyciem bibliotek, które są tylko pod Win 10?

Objaw jest taki, że znaleziono pliku skala.dll

parikon.png

 

Mała sugestia - często praktykuje się, że po wczytaniu nakładki, że wyświetla się w linii poleceń informacja jakie nowe polecenia są dostępne, czy jak uruchomić okno itp.

 

Opublikowano

Funkcja przeszukująca, która jest  zawarta w lispie przybornik_start.lsp , przeszukuje tylko ścieżki wpisane w ZWCAD-zie jako ścieżki plików suportu. Najprawdopodobniej nie podałeś  ścieżki do katalogu z programem platformie ZWCAD 2017 Pro. Dlatego  ZWCAD nie znalazł pliku skala.dll.

Opis programu Skala

Jeśli w Windows 7 masz Net framework 4.6 to raczej Windows 10 nie musi być. Nie testowałem nakładki pod Windows 7. W zasadzie mogę nakładki kompilować pod niższe wersje jeśli w tym byłby problem. Nie używam w nich jakiś zaawansowanych metod czy też funkcji.

Opublikowano

Także chętnie bym potestował, ale próg NET Framework 4.6 to problem.

Może rozważyłbys lekkie obniżenie wymagań? Zwiekszysz przez to szansę używalności.

Sam nie koduję w .NET ale za http://www.zwsoft.com/zwcad_forum/thread-2876-1-1.html  widac iż w kompilatorze .NET bez kłopotu mozna obniżyć Target Platform (do 4.0)  

ZWCAD 2017 instaluje właśnie  NET 4.0 

Poza tym (troche offtopic) : Mi ręce opadają jak dajemy sie bezkrytycznie mechanizmem Windows Update firmie M$ ubezwłasnowolnić instalując wszystkiego najświeższe wersje. To właśnie to w dużej mierze odpowiada za utratę mocy sprzetu nawet na najszybszych Intel I7. Takie praktyki pozwalają także Microsoftowi na bezkarnie dla mnie 'porażająco nieetyczne'  wciskanie w Windows Update automatycznej instalacji Windows 10 ... .  To będne kolo. Za parę miesięcy wjdzie przeciez .NET 4.7 ... co wtedy?

Pozdrawiam,
J.

Opublikowano

Dobrze, że się uruchamia. A jak z funkcjami które spełnia? Działa wszystko! Aktualnie pracuję nad modułem generującym ramki. Mam nadzieję, że moduły, które udostępniłem działają bez zarzutów.

Opublikowano

Program odwołuje się do obiektu, który nie istnieje. Zasadniczo proponuje skasować plik ustawwartwy.pid w katalogu programu. Plik ten to baza danych warstw. Uruchomić najpierw program do wstawiania warstw. Wstawić sobie chociaż jedną warstwę do bazy i dopiero wywoływać komendę WG_DODAJWARSTWY.

Opublikowano (edytowane)

@ Pawmal

Wydaje mi się, że już ten błąd poprawiłem. Po wykryciu braku danych o warstwach program nie będzie wywoływał kodu po informacji "Brak danych o warstwach". Dodatkowo zabezpieczyłem także możliwość wywołania kodu, kiedy użytkownik wywoła komendę WG_DODAJWARSTWY w sytuacji gdy nigdy nie wywołał okna programu warstwy i nie utworzył bazy. Wtedy także pojawi się komunikat przybornika zamiast komunikatu ZWCADA. Jedno jest fajne, że nawet teraz ZWCAD się nie wysypie tylko ładnie podaje co mu nie pasuje.

Przy następnej wersji PRZYBORNIKA, która pojawi się wraz dodatkowym programem generującym ramki ten błąd będzie już poprawiony.

P.S. Przepraszam że jedno pod drugim ale nie miałem opcji edytuj w poprzedzającym poście.

Edytowane przez Parikon
Przeprosiny
Opublikowano

Tak, właśnie WG_DODAJWARSTWY  powodowało wyświetlenie komunikatu.

Ale jak poprawione jest to fajnie.

Trzymam kciuki za rozwój programu.

PS. Edytować posta można chyba do 1 godziny po wpisie lub do momentu, gdy ktoś wpisze następny post.

Opublikowano

Witam.

Programy są pisane w VB czy może w C#? Od jakiegoś czasu trochę ćwiczę C# ale w zasadzie jako ogólne programowanie aplikacji desktop.  Chętnie bym coś podpatrzył jak zaprząc c# do aplikacji pod zwcd'a bo też mi chodzi parę pomysłów po głowie. Chętnie bym się czegoś nauczył lub wymienił doświadczenia (moje są niewielkie lub wręcz żadne w programowaniu c# pod cad'a ale co nieco napisałem w lispie jak również w innych językach w zastosowaniach ogólnych) lub wziął bym udział w tworzeniu wspólnie narzędzi. Na forum był zapowiadany kurs programowania w c# pod ZwCad'a ale zdaje się nie wystartował :( Może warto taki wątek na forum założyć?

Opublikowano

Ciekawy pomysł z ramką.

Działa fajnie ale nie mogę rozgryźć obrotu ramki. Czy ta opcja nie powinna zamieniać szerokości z wysokością?

Mam dwie ramki, jedną zdefiniowałem jako obróconą a wstawia je jednakowo (chyba, że coś źle robię).

 

Opublikowano (edytowane)

Obrót zamienia długość z szerokością jednakże działa od określonej długości. Od formatu A3 już powinno zamieniać. Dla formatki A4 zamiana nie miałaby sensu lub inaczej mówiąc trzeba by było pisać dużo więcej kodu. To co jest powinno wystarczyć. Do wyboru mamy najczęściej sprzedawane szerokości rolek. Długość możemy ustalić od 210 do 2500mm. Dodatkowo na dole mamy n-znaczników od lewej co 190mm oraz od prawej jeden znacznik 210mm.

Edytowane przez Parikon
Dodatkowe informacje
Opublikowano

Definiując ramki trzeba myśleć w kategoriach szerokości rolki. Mając zakupiony lub założony w ploterze papier o szerokości 914mm tworzę ramkę szerokość 914razy długość 1189. Mam więc coś w rodzaju A0+ oraz nie muszę docinać potem rysunku do A0. Jeśli nie potrzebuję całego A0+ to skracam długość ramki, którą mogę wygenerować w pionie i w poziomie natomiast przy plotowaniu zawsze mam możliwość ustawienia tak aby plotować jak najekonomiczniej.

Opublikowano (edytowane)
2 godziny temu, Parikon napisał:

Pojawił się nowy program w zakresie PI o nazwie OZNACZ PRZEKRÓJ.

Oznacz przekrój

Dodałem także możliwość wyboru w programie RAMKA szerokości papieru 841mm, której zabrakło w pierwszym wydaniu tego programu.

 

Widzę ciągły progress :-)

Dorzuciłbym do okna dialogowego obok textboxa z numerem koloru buttona z podpiętym dialogiem wyboru coloru. W lispie to (acad_truecolordlg ...).

2017-01-02 13_07_59-Select Color.png

W c# zdaje się jest to coś około: 

ColorDialog dlg = new ColorDialog();
                dlg.ShowDialog();

Ale mi w ZwCAD 2015 wyskakuje inne okno niż to wołane przez (acad_truecolordlg) a mianowicie

2017-01-02 13_09_40-Kolor.png

Wiesz może jak w NET.API wywołuje się ten pierwszy dialog?

 

Już znalazłem. Trzeba wskazać pełny Namespace

ZwSoft.ZwCAD.Windows.ColorDialog dlg = new ZwSoft.ZwCAD.Windows.ColorDialog();

 

Edytowane przez perlon
Uzupełnienie
Opublikowano (edytowane)

Aktualnie zależy mi na dodawaniu nowych możliwości do PI. Z czasem trzeba będzie nauczyć  się korzystać z tych okienek.

Tutaj jest strona programisty, który podaje dużo ciekawych przykładów w C# i .net dla AUTOCADA i podany link chyba rozwiązuje ten problem.

oczywiście Autodesk.AutoCAD = ZwSoft.ZwCAD

 

 

 

 

Edytowane przez Parikon
poprawka
Opublikowano (edytowane)
using zzd = ZwSoft.ZwCAD.DatabaseServices;
using zza = ZwSoft.ZwCAD.ApplicationServices;
using zzr = ZwSoft.ZwCAD.Runtime;
using zze = ZwSoft.ZwCAD.EditorInput;
using zzg = ZwSoft.ZwCAD.Geometry;
using zzc = ZwSoft.ZwCAD.Colors;
using zzw = ZwSoft.ZwCAD.Windows;

 private void button1_Click(object sender, RoutedEventArgs e)
        {
            zza.Document doc = zza.Application.DocumentManager.MdiActiveDocument;
            zzd.Database db = doc.Database;
            zze.Editor ed = doc.Editor;
            zzw.ColorDialog cd = new zzw.ColorDialog();

            System.Windows.Forms.DialogResult dr = cd.ShowDialog();            

            if (dr == System.Windows.Forms.DialogResult.OK)

            {
                zzc.Color color = new zzc.Color();
                color = cd.Color;
                coloroznaczenia = color.ColorIndex;               
            }
        }

Taki kod powinien zawsze, niezależnie od tego z której zakładki okna z kolorami korzystam nadać zmiennej coloroznaczenia odpowiedni Colorindex. Jeszcze raz dzięki za naprowadzenie dla @perlon. Oczywiście doc, db, ed, w tym przypadku są niepotrzebne.

Edytowane przez Parikon

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie