Recommended Posts

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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

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.
 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

Zapraszam w takim razie i dziękuję  za odzew. Przybornik to aktualnie 5 nowych komend i 3 okna dialogowe. Mam nadzieję, że pod  Windows 10 i ZWCAD 2017 Pro uruchomi się bez problemu.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

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.

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

@ 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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

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ć?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

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ę).

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach
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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach
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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

Żeby dodać komentarz, musisz założyć konto lub zalogować się

Tylko zarejestrowani użytkownicy mogą dodawać komentarze

Dodaj konto

Załóż nowe konto. To bardzo proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się teraz