ZWCAD 2017 beta


dmatusz3

Rekomendowane odpowiedzi

Punkty tymczasowe można włączyć przez SHIFT + PPM (prawy przycisk myszy) lub sam PPM->Nadpisanie uchwytów.

Pozdrawiam


VERNUM = "2016.08.26(8293)_x64" (read only)

 

- edytor tekstu wielowierszowego - nie można zamknąć  poprzez ctrl+enter

- fazowanie z SZIFTEM nie działa tak jak powinno

Przekazałem informację do ZWSOFT.
Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

 

 

Małe uszczegółowienie. Nie działa przycinanie polilinii do krawędzi rzutni. Do pozostałych krawędzi działa normalnie

 

Czy udało się Panu sprawdzić zachowanie tej funkcji w najnowszej wersji?

 

=========================================================================

 

Odnośnie dodawania gripów na polilinii (poruszany wcześniej w wątku).

Udało nam się dopasować skrypt, który w miejscu kliknięcia polilinii dodaje uchwyt.

Po wczytaniu skryptu powstaje polecenie apv.

 

Cały opis i pobranie pliku.

Odnośnik do komentarza
Udostępnij na innych stronach

Czy udało się Panu sprawdzić zachowanie tej funkcji w najnowszej wersji?

 

=========================================================================

 

Odnośnie dodawania gripów na polilinii (poruszany wcześniej w wątku).

Udało nam się dopasować skrypt, który w miejscu kliknięcia polilinii dodaje uchwyt.

Po wczytaniu skryptu powstaje polecenie apv.

 

Cały opis i pobranie pliku.

Niestety nic się nie zmieniło - nadal nie przycina do krawędzi rzutni polilinii. Przekażę kolejne uwagi. Najdziwniejszą rzeczą jaką znalazłem jest korzystanie z LUW. Otwierasz rysunek i bez problemu przez jakiś czas możesz się przełączać na inne układy współrzędnych próbkowane z jakichś obiektów rysunku. Po pewnym czasie jednak możliwość ta staje się niemożliwa :) Jeżeli znów chcesz przejść na inny niż standardowy LUW wówczas trzeba zamknąć program i otworzyc jeszcze raz. Spróbujcie sobie to zobaczycie o czym mówię

Odnośnik do komentarza
Udostępnij na innych stronach

kolejny błąd:

- dla ułatwienia piszemy teks jednowierszowy poziomo (kąt obrotu równy 0) np "jeden"

- obracamy LUW o 90° prawo

- ustawiamy widok na aktualy "_plac" "_c"

- piszemy teks jednowierszowy poziomo (kąt obrotu równy 0) np "dwa"

<<<tekst jest do góry nogami>>>

 

 


kolejny błąd

(command "_.zoom" "_c" (trans widok 0 1) wyswidoku)

 

polecenie nie przyjmuje poprawnie ani punktu środka widoku ani jego wysokości (używam tego do obracania widoków o 90° i przywracania środka widoku po obrocie

post-131-0-53662800-1472796390_thumb.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

LISP się znacząco poprawił ale obsługa okien DCL jeszcze nie jest zadowalająca

 

To co zgłaszał Pan wcześniej że okna DCL wieszają program działa, sprawdziłem też temat zawartości list rozwijalnych i też wyświetlają się poprawnie. Proszę podać więcej szczegółów czego jeszcze brakuje.

Dodam, że brakuje jeszcze obsługi bloków dynamicznych (o edycji tych bloków już nie wspominam :) ).

 

Właśnie to sprawdziłem i spotkała mnie miła niespodzianka. na tym przykładzie jaki sprawdziłem, bloki dynamiczne są obsługiwane, co prawda nie ma jeszcze edycji, ale działa to tak, jak było wersji +2015.

(command "_.zoom" "_c" (trans widok 0 1) wyswidoku)

 

polecenie nie przyjmuje poprawnie ani punktu środka widoku ani jego wysokości (używam tego do obracania widoków o 90° i przywracania środka widoku po obrocie

 

Sprawdziłem na takim przykładzie:

Zapisuję aktualny widok w zmiennych:

(setq wyswidoku (getvar "VIEWSIZE") )
(setq widok (trans (getpoint ) 1 0 ) )

zmieniam widok przez zwykłe funkcje ZWCADa,

następnie chce go przywrócić:

(command "_.zoom" "_c" (trans widok 0 1) wyswidoku)

Nie zgłosiło żadnego komunikatu błędu, i widok ustawiło tak, jak przed zmianami.

Żeby sprawdzić działanie funkcji trans na początku zmieniłem układ współrzędnych?

Może jeszcze coś pominąłem, ale moim zdaniem to działa poprawnie.

Odnośnik do komentarza
Udostępnij na innych stronach

;=========================================================================
(defun c:obrlll ()
    (mh:obrotwidoku "L")
); defun
;=========================================================================

;=========================================================================
(defun c:obrrrr ()
    (mh:obrotwidoku "R")
); defun
;=========================================================================

;=========================================================================
(defun mh:obrotwidoku ( mode / widok wyswidoku punktnax punktnay)
; mode [L, R] - L-obrót w lewo, R-obrót w prawo

;=========================
;(setq MHSelMember (mh:SYS_GetSelection))
;(mh:ustzap)
;=========================

;(trans PP 1 0)
(setq	widok (trans (getvar "VIEWCTR") 1 0)
		wyswidoku (getvar "VIEWSIZE")
		punktnax (polar widok (if (= mode "R") (* pi 0.5) (* pi 1.5)) 10)
		punktnay (polar widok (if (= mode "R") (* pi 1) (* pi 0)) 10)
)

(command "_ucs" "3" widok punktnax punktnay)
(command "_plan" "_c")
(command "_.zoom" "_c" (trans widok 0 1) wyswidoku)

			
			
			
;=========================			
;(mh:ustprzywr) 
;(mh:SYS_SetSelection MHSelMember)
(princ)
);defun
;=========================================================================

proszę na tym protestować i porównać wyniki z zwcada 2015 2017

 

 

 

To co zgłaszał Pan wcześniej że okna DCL wieszają program działa, sprawdziłem też temat zawartości list rozwijalnych i też wyświetlają się poprawnie. Proszę podać więcej szczegółów czego jeszcze brakuje.

Okienka do wprowadzania wartości liczbowych nie działają. Listy wyświetlaja się już dobrze.

Odnośnik do komentarza
Udostępnij na innych stronach

 

proszę na tym protestować i porównać wyniki z zwcada 2015 2017

 

OK, teraz widzę różnicę . Przekażę temat do ZWSOFT.

Okienka do wprowadzania wartości liczbowych nie działają.

Proszę mnie poprawić jeśli się mylę. Do wprowadzania wartości odpowiednią "kontrolką" jest : edit_box

Nie ma ona parametru, który zapewniałby ograniczenie wprowadzane wartości tylko do liczb. Czy może jest inaczej?

Jak mogę sprawdzić i udowodnić twórcom ZWCADa że "nie działają"

Odnośnik do komentarza
Udostępnij na innych stronach

Kilka spostrzeżeń odnośnie ZWCAD 2017 vernum = "2016.08.26(8293)_x64"

1. Nie działa zatwierdzanie Ctrl+Enter tekstu wielowierszowego oraz wielolinii odniesienia.

2. Przy ustawieniu bloku w wielolinii odniesienia atrybuty w nim są przesunięte i dodatkowo obrócone o kilka stopni w kierunku dodatnim.

3. Nie można edytować atrybutów bloków umieszczonych w wielolinii odniesienia.

4. Czy w ZWCAD 2017 będzie dostępna funkcja Layer Translator (korzystam z wersji angielskiej), która jest dostępna w ZWCAD+. Bardzo przydatne narzędzie pozwalające w bardzo szybki sposób przekształcić strukturę warstw rysunku wyeksportowanego np. przez zewnętrzny program obliczeniowy, do struktury z której normalnie korzystamy w pozostałych plikach w pracowni.

Odnośnik do komentarza
Udostępnij na innych stronach

OK, teraz widzę różnicę . Przekażę temat do ZWSOFT.

Proszę mnie poprawić jeśli się mylę. Do wprowadzania wartości odpowiednią "kontrolką" jest : edit_box

Nie ma ona parametru, który zapewniałby ograniczenie wprowadzane wartości tylko do liczb. Czy może jest inaczej?

Jak mogę sprawdzić i udowodnić twórcom ZWCADa że "nie działają"

(defun mh:MsgCommaToDot ( msg / dd OutMsg)
; zwraca przetworzony tekst z zamienionymi przecinkami na kropki (np. w celu przeanalizowania tekstu czy nie jest liczbą)
;=========================================================================
(setq    dd 1
        OutMsg ""
);setq
(repeat (strlen msg)
    (progn
        (if (= (substr msg dd 1) ",")
            (setq OutMsg (strcat OutMsg "."))
            (setq OutMsg (strcat OutMsg (substr msg dd 1)))
        );if
    (setq dd (1+ dd))
    );progn
);repeat
OutMsg
);defun



;=========================================================================
(defun c:studnia ( / dcl_id DCL_srednica_studni DCL_osadnik zamkniecie srednica_studni osadnik PG PD A1 A2 A3 A4 A5 A6 B1 B2 B3 B4 B5 B6)

;(mh:ustzap)

;===========================================================
(setvar "dimzin" 0)
(setvar "osnapcoord" 1)
;=============================================================


   (setq dcl_id (load_dialog "profilek-profile.dcl"))
	   (if (not (new_dialog "studnia" dcl_id))
		(progn
			(alert "Nie znaleziono pliku profilek-profile.dcl")
			(exit)
			);progn
		);if
		
;==================
	(if (null *DCL_studnia*)
        (setq *DCL_studnia* (list "42,5" "0"))
      )		
      (setq DCL_srednica_studni (car *DCL_studnia*)
            DCL_osadnik (cadr *DCL_studnia*)
      )  
;==================		
      (foreach % (list "DCL_srednica_studni" "DCL_osadnik")
	  
	    (set_tile % (eval (read %)))
        (action_tile % (strcat "(setq " % " $value)"))
      )
;================
  (start_image "sldStud")
  (fill_image 0 0 (dimx_tile "sldStud")(dimy_tile "sldStud") -0)
  (slide_image 0 0 (dimx_tile "sldStud")(dimy_tile "sldStud") "profilek_studnia")
  (end_image)
  ;================

		   
		   (action_tile "accept" "(done_dialog) (setq zamkniecie 1)")
		   (action_tile "Cancel" "(done_dialog) (setq zamkniecie 0)")
   
   (start_dialog)
   (unload_dialog dcl_id)
   
    
		(if (= zamkniecie 1)
			   (progn
						(setq *DCL_studnia* (list DCL_srednica_studni DCL_osadnik))
			  );progn
		);if


;=========================================================================
;Sprawdzenie i podstawienie do zmiennych numerycznych wartości z editbox'ów
(if (> (atof (mh:MsgCommaToDot DCL_srednica_studni)) 0)
(setq srednica_studni (atof (mh:MsgCommaToDot DCL_srednica_studni)))
(progn
(alert "Średnica studni nie jest wpisana poprawnie!")
(setq zamkniecie 0)
)
)
(if (>= (atof (mh:MsgCommaToDot DCL_osadnik)) 0)
(setq osadnik (atof (mh:MsgCommaToDot DCL_osadnik)))
(progn
(alert "Głębokość osadnika nie jest wpisana poprawnie!")
(setq zamkniecie 0)
)
)
;=========================================================================

(if (= zamkniecie 1)
(progn






(setq 	PG (getpoint "\nKliknij górę studni")
		PD (getpoint PG "\nKliknij dół studni")
);setq

(setq	A1 (polar PG pi (/ srednica_studni 2))
		A2 (polar PG 0 (/ srednica_studni 2))
		A3 (polar A1 (* 1.5 pi) 10)
		A4 (polar A3 0 3)
		A5 (polar A4 0 (- srednica_studni 6))
		A6 (polar A5 0 3)
		B1 (polar (polar PD pi (/ srednica_studni 2)) (* 1.5 pi) (+ 5 osadnik))
		B2 (polar B1 0 srednica_studni)
		B3 (polar B1 (/ pi 2) 10)
		B4 (polar B3 0 3)
		B5 (polar B4 0 (- srednica_studni 6))
		B6 (polar B5 0 3)
);setq

(setvar "celweight" 020)
(command	"_line" A1 A2 B2 B1 A1 ""
			"_line" A3 A6 ""
			"_line" B3 B6 ""
			"_line" A4 B4 ""
			"_line" A5 B5 ""
);command

;(setvar "clayer" "IS_niedruk")
(setvar "celweight" -1)
(command "_point" PD)

);progn
);if

;(mh:ustprzywr)

);defun studnia
;=========================================================================

oraz plik dcl: "profilek-profile.dcl

///////////////////////////////
//  okno główne komendy PKS  //
///////////////////////////////
profil : dialog {
  label = "Opisywanie profili podłużnych";
  : boxed_column {
    label = "Dane:";
    : edit_box {
	  edit_limit = 10;
      edit_width = 10;
      key = "DCL_POZIOM";
      label = "Wpisz wartość poziomu por. [m]: ";
    }
    : edit_box {
	  edit_limit = 10;
      edit_width = 10;
      key = "DCL_odl0";
      label = "Odległość dla punktu \"0\" [m]: ";
    }
    : edit_box {
	  edit_limit = 10;
      edit_width = 10;
      key = "DCL_srednica";
      label = "Średnica rurociągu [mm]: ";
    }
    : edit_box {
	  edit_limit = 10;
      edit_width = 10;
      key = "DCL_skalapoziom";
      label = "Skala pozioma <1:xxx>: ";
    }
    : edit_box {
	  edit_limit = 10;
      edit_width = 10;
      key = "DCL_skalapion";
      label = "Skala pionowa <1:yyy>: ";
    }
    : edit_box {
	  edit_limit = 10;
      edit_width = 10;
      key = "DCL_nrwezla";
      label = "Numer pierwszego węzła: ";
    }
    spacer;
  }
  
  
  
  
  : boxed_column {
    label = "Ustawienia:";
    : popup_list {
	  edit_width = 20;
      label = "Opisywanie kolizji:";
	  key = "DCL_opis_kolizji" ;
    }
    : popup_list {
	  edit_width = 20;
      label = "Metryka tabelki:";
	  key = "DCL_METRYKA" ;
    }
    : popup_list {
	  edit_width = 20;
      label = "Sposób rysowania sieci:";
	  key = "DCL_spodos" ;
    }
	: popup_list {
	  edit_width = 20;
      label = "Sposób liczenia zagłębienia:";
	  key = "DCL_zaglebienie" ;
    }
    : popup_list {
	  edit_width = 20;
      label = "Materiał rurociągu:";
	  key = "DCL_ruramaterial" ;
    }
    : popup_list {
	  edit_width = 20;
      label = "Oznaczenie węzłów:";
	  key = "DCL_wezel" ;
    }
    spacer;
  }
  ok_cancel;
}


///////////////////////////////////
//  okno główne komendy STUDNIA  //
///////////////////////////////////
studnia : dialog {
  label = "Studnia w przekroju";
  : boxed_column {
    label = "Dane:";
    : edit_box {
	  edit_limit = 10;
      edit_width = 10;
      key = "DCL_srednica_studni";
      label = "Średnica studni [cm]: ";
    }
    : edit_box {
	  edit_limit = 10;
      edit_width = 10;
      key = "DCL_osadnik";
      label = "Głębokość osadnika [cm]: ";
    }
    spacer;
  }
  : image {
  height = 17 ;
  width = 20 ;
  key = "sldStud" ;
  color = 0 ;
  }
    ok_cancel;
}

mam nadzieje ze kod będzie działać (wyciąłem go z większego pliku)

plik z załacznika wymaga zmiany rozszerzenia na "*.sld"

pozdrawiam

profilek_studnia.zip

Edytowane przez gruzin
Odnośnik do komentarza
Udostępnij na innych stronach

Wydaje mi się, że temat jest głębszy.

 

W załączniku mój przykład najprostszego okna, zawierającego 2 kontrolki typu "edit_box". Moim zdaniem to działa poprawnie.

 

Natomiast próbując uruchomić Pana przykład, wyświetla się okno, kontrolki są puste, a w pasku poleceń komunikat błędu:

Error: incorrect type - nil
happened in: #<Subr SET_TILE>

Nie da się nic wpisać w kontrolki ani zamknąć okna.

Czy takie objawy występują też u Pana? czy jeszcze coś innego?

 

#<Subr SET_TILE> naprowadza, na to, że błąd jest przy wprowadzaniu wartości do kontrolki edit_box

a komunikat: "incorrect type - nil" świadczy że wprowadzana wartość jest "nil". tak jakby zmienna nie miała przypisanej wartości.

Tylko jak to możliwe skoro linijkę wcześniej ustawia Pan wartość zmiennej ?

Postaram się dowiedzieć czegoś więcej, tylko proszę o potwierdzenie że mówimy o tym samym problemie.

TestDCL.ZIP

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem jak ma to działać w ZwCAD-zie, ale funkcja mh:MsgCommaToDot, ogólnie nie wiadomo czemu służy. W mojej opinii zamiana przecinków na kropki powinna mieć miejsce tylko w jednej sytuacji: pozostałe znaki reprezentują liczby. Tak nie jest.

założenie jakie mi kiedyś przyświecało było takia aby w polu EDIt BOX można było wpisać cyfry zarówno z przecinkiem jak i z kropką. Następnie warunkiem:

(if (> (atof (mh:MsgCommaToDot DCL_srednica_studni)) 0)

sprawdzałem, czy rzeczywiście jest to liczba dodatnia bo tylko taka wprowadzona jest poprawna jako dana do dalszej pracy programu.

 

W zwcad 2017 nie działa mi po prostu pole z wprowadzaniem danych. Nie da się nic w te pola wpisać i nie chodzi tu o funkcje zamiany przecinków na kropki.

 

Nie wiem jak ma to działać w ZwCAD-zie, ale funkcja mh:MsgCommaToDot, ogólnie nie wiadomo czemu służy. W mojej opinii zamiana przecinków na kropki powinna mieć miejsce tylko w jednej sytuacji: pozostałe znaki reprezentują liczby. Tak nie jest.

Jak się głębiej nad tym zastanowić to może masz rację.

Odnośnik do komentarza
Udostępnij na innych stronach

Ja mam małe pytanie odnośnie rastrów.

 

Czy występują jakieś problemy z rastrami - wczytywanie, wyświetlanie, wstawianie, drukowanie?

Podczas publikacji do PDF przy użyciu wewnętrznej drukarki DWG to PDF . Rastry ustawione jako przezroczyste podczas drukowania "tracą" swoją przezroczystość w wyniku czego zasłaniają wszystkie warstwy znajdujące się pod nimi. W zewnętrznych drukarkach (na przykład w PDF Creator) problem nie występuje, ale tam za to nie można ustawić własnego formatu papieru. Dla drogowców to problem.

Odnośnik do komentarza
Udostępnij na innych stronach

Witam

Odnośnie wydruku przez DWG to PDF, to informacja została przekazana.

Niestandardowy format w przypadku drukarek zewnętrznych, można ustawić w opcjach zaawansowanych.

attachicon.gifniestandardowy wydruk pdfCreator.png

Pozdrawiam

Tak.

Dziękuje. 

Rozwiązanie to ma zastosowanie gdy rysunek mieści się na 1 arkuszu.

Gdy rysunek zajmuje 10, 20, arkuszy  , przydatna jednakowoż jest możliwość tworzenia i zapisywania własnych arkuszy papieru ,możliwość taką daje wewnętrzna drukarka PostScrip DWG to PDF. Wystarczy jedynie usunąć z niej wspomniane w wcześniejszych postach błędy.

Dziękuje

Pozdrawiam

Zamykam Temat

Odnośnik do komentarza
Udostępnij na innych stronach

Wydaje mi się, że temat jest głębszy.

 

W załączniku mój przykład najprostszego okna, zawierającego 2 kontrolki typu "edit_box". Moim zdaniem to działa poprawnie.

hmmm. Mi nie udało się tego uruchomić na zw2017

wyskakuje:

Command: TEST:DCL

; error: quit / exit abort

Command:

 

Nie da się nic wpisać w kontrolki ani zamknąć okna.

Czy takie objawy występują też u Pana? czy jeszcze coś innego?

dokładnie tak. nie da się nic wpisać w kontrolki i są one na początku puste bez domyślnych wartości. Okna też się nie da zamknąć.

 

 

#<Subr SET_TILE> naprowadza, na to, że błąd jest przy wprowadzaniu wartości do kontrolki edit_box

a komunikat: "incorrect type - nil" świadczy że wprowadzana wartość jest "nil". tak jakby zmienna nie miała przypisanej wartości.

Tylko jak to możliwe skoro linijkę wcześniej ustawia Pan wartość zmiennej ?

No właśnie. Uprościłem to trochę do stwierdzenia że kontrolki editbox nie działają.

Odnośnik do komentarza
Udostępnij na innych stronach

hmmm. Mi nie udało się tego uruchomić na zw2017

wyskakuje:

Command: TEST:DCL

; error: quit / exit abort

Command:

Myślę, że to kwestia ścieżki do pliku DCL. czy zmienił Pan ścieżkę w linii 8 na taką, w jakiej u Pana jest zapisany plik?

dokładnie tak. nie da się nic wpisać w kontrolki i są one na początku puste bez domyślnych wartości. Okna też się nie da zamknąć.

To chyba dlatego że nie zadziałało set_tile a dalej nie wykonało się start_dialog. 

Proszę dla testu zakomentować linijkę

(set_tile % (eval (read %)))

Nie przypisze wartości domyślnej, ale sprawdzimy czy reszta zadziała.

Odnośnik do komentarza
Udostępnij na innych stronach

Wychodzi na to, że nie działa funkcja action_tile .

(action_tile "accept" "(done_dialog ) (setq zamkniecie 1) ")

Wykonuje (done_dialog), ale już zamkniecie zawsze jest nil.

Z tym można sobie poradzić:

(action_tile "accept" "(done_dialog 1 )")
...
(setq zamkniecie (start_dialog) )

Kolejna sprawa to przypisanie działania do edit_box

(action_tile % (strcat "(setq " % " $value)"))

nie przypisuje wartości do zmiennej

To już poważniejszy temat. można się ratować odczytywaniem zmiennych z kontrolek analogicznie , z użyciem:

(get_tile % )

ale zdaję sobie sprawę, że to byłoby pracochłonne.

Zgłoszę do ZWSOFT co udało  mi się ustalić .

Odnośnik do komentarza
Udostępnij na innych stronach

ja przepraszam że odpisuje tak tylko raz na kilka dni, ale w robocie mam taki nawał pracy że nie mam czasu wgłebić sie w błędy zw2017 i dokładnie ich poanalizować i poszukac. obecnie nie mam czasu na takie przyjemności.

jednak kolejne wersje zwcada bede sukcesywnie testował w wolnej chwili :-) i bede zgłaszał wszystko co uda mi sie znaleźć.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.