gruzin Opublikowano 20 Stycznia 2011 Zgłoś Opublikowano 20 Stycznia 2011 mam taki kod: (defun c:rzut2prof ( / Punkt0 Punkt1 PunktT0 PunktT1 RzednaT0 RzednaT1 OpisT1 ZmianaSkalipoz ZmianaSkalipio) ;=========================================================================== ; wybieramy Styl tekstu IS_SIMPLEX jako aktualny lub gdy go nie ma tworzymy go i ustawiamy jako aktualny (if (tblsearch "Style" "IS_SIMPLEX") (command "_textstyle" "IS_SIMPLEX") (progn (command "_-style" "TEMP-STYLE" "simplex.shx" "" "0.7" "" "" "" "") (command "_rename" "_S" "TEMP-STYLE" "IS_SIMPLEX") (command "_textstyle" "IS_SIMPLEX") );progn );if ;=========================================================================== ;=========================================================================== ; wybieramy warstwe IS_tabela jako aktualną lub gdy jej nie ma tworzymy ją (if (tblsearch "Layer" "IS_tabela") (command "_clayer" "IS_tabela") (progn (command "_layer" "_N" "TEMP-LAYER" "_C" "11" "TEMP-LAYER" "_L" "Continuous" "TEMP-LAYER" "_LW" "0.13" "TEMP-LAYER" "") (command "_rename" "_LA" "TEMP-LAYER" "IS_tabela") );progn );if ; wybieramy warstwe IS_tabela jako aktualną lub gdy jej nie ma tworzymy ją (if (tblsearch "Layer" "IS_teren") (command "_clayer" "IS_teren") (progn (command "_layer" "_N" "TEMP-LAYER" "_C" "61" "TEMP-LAYER" "_L" "Continuous" "TEMP-LAYER" "_LW" "0.13" "TEMP-LAYER" "") (command "_rename" "_LA" "TEMP-LAYER" "IS_teren") );progn );if ; wybieramy warstwe IS_opisy jako aktualną lub gdy jej nie ma tworzymy ją (if (tblsearch "Layer" "IS_opisy") (command "_clayer" "IS_opisy") (progn (command "_layer" "_N" "TEMP-LAYER" "_C" "41" "TEMP-LAYER" "_L" "Continuous" "TEMP-LAYER" "_LW" "0.13" "TEMP-LAYER" "") (command "_rename" "_LA" "TEMP-LAYER" "IS_opisy") (command "_clayer" "IS_opisy") );progn );if ;========================================================================= ;=========================================================== (setvar "dimzin" 0) ;ustawienie dokładności cyfr "pełnychg" na dokładność z przecinkami - bez tego poziom 0,0 bedzie bez przecinków podawany (setvar "osnapcoord" 1) ;zmienia sposób przyciągania do punktów, aby nie dociągało wstawianych skryptem elementów do elementów istniejących ;============================================================= ;=========================================================================== (if (null RzednaT1) (setq RzednaT1 112)) (if (null ZmianaSkalipoz) (setq ZmianaSkalipoz 1)) (if (null ZmianaSkalipio) (setq ZmianaSkalipio 1)) ;=========================================================================== (setq Punkt1 (getpoint "\nKliknij pierwszy punkt \"terenu\" od którego rysowany będzie profil (na profilu): ") ZmianaSkalipoz (UIGetDist "\nWpisz o ile razy zmienić skalę POZIOMĄ profilu w stosunku do rzutu (1 - brak zmiany, 0.2 - zmniejszenie 5x długości profilu): " ZmianaSkalipoz) ZmianaSkalipio (UIGetDist "\nWpisz o ile razy zmienić skalę PIONOWĄ profilu w stosunku do skali 1:100 (1 - brak zmiany, 2 - skala 1:50, itp): " ZmianaSkalipio) PunktT1 (getpoint "\nKliknij pierwszy punkt na rzucie.") RzednaT1 (UIGetDist "\nWpisz wartość poziomu terenu w tym punkcje: " RzednaT1) OpisT1 (getstring T "\nWpisz opis na profilu do tego punktu: ") );setq (setvar "clayer" "IS_opisy") (command "_.text" (polar (polar Punkt1 pi 5) (/ pi 2) 30) "18" "90" OpisT1) (setvar "clayer" "IS_tabela") (command "_line" Punkt1 (polar Punkt1 (/ pi 2) 500) "") (setvar "clayer" "IS_opisy") (command "_.text" (polar (polar Punkt1 (* 1.5 pi) (- (* (+ (rem RzednaT1 5) 5) 100) 5)) 0 10) "18" "0" (rtos (- RzednaT1 (/ (+ (rem RzednaT1 5) 5) ZmianaSkalipio)) 2 2)) (command "_circle" (polar Punkt1 (* 1.5 pi) (* (+ (rem RzednaT1 5) 5) 100)) "_d" "10") (setq PunktT0 PunktT1 PunktT1 (getpoint PunktT0 "\nKliknij kolejny punkt na rzucie.") );setq -------------------------------------------- (while PunktT1 (setq Punkt0 Punkt1 RzednaT0 RzednaT1 RzednaT1 (UIGetDist "\nWpisz wartość poziomu terenu w tym punkcje: " RzednaT1) OpisT1 (getstring T "\nWpisz opis na profilu do tego punktu: ") Punkt1 (polar (polar Punkt0 0 (* ZmianaSkalipoz (distance PunktT0 PunktT1))) (/ pi 2) (* ZmianaSkalipio (* (- RzednaT1 RzednaT0) 100))) );setq (setvar "clayer" "IS_opisy") (command "_.text" (polar (polar Punkt1 pi 5) (/ pi 2) 50) "18" "90" OpisT1) (setvar "clayer" "IS_tabela") (command "_line" Punkt1 (polar Punkt1 (/ pi 2) 500) "") (setvar "clayer" "IS_teren") (command "_line" Punkt0 Punkt1 "") (setq PunktT0 PunktT1) (setq PunktT1 (getpoint PunktT0 "\nKliknij kolejny punkt na rzucie.")) );while );defun rzut2prof Pętla while zachowuje się jakoś dziwnie pod zwcadem 2011. Polecenie getpoint nie pozwala na wciśnięcie Prawego Przycisku Myszy i wyjście z pętli. Wyświetla się komunikat: "A numeric value is needed. Please try again:" i jedynym wyjściem jest wciśnięcie ESC co niestety całkowicie przerywa funkcję. Może ktoś wie czemu getpoint nie chce przyjąć ENTERA, czy to błąd w ZWCAD2011 czy coś nie tak jest w moim lispie? Pod Academ działa prawidłowo.
kruszynski Opublikowano 20 Stycznia 2011 Zgłoś Opublikowano 20 Stycznia 2011 Jak na mój pierwszy rzut oka, to wygląda, jakby jakieś śmieci zostały z poprzedniego użycia initget. Proszę spróbować przed getpoit, użyć initget.
gruzin Opublikowano 20 Stycznia 2011 Autor Zgłoś Opublikowano 20 Stycznia 2011 (initget 128) pomogło, wstawiłem je dwukrotnie. (defun c:rzut2prof ( / Punkt0 Punkt1 PunktT0 PunktT1 RzednaT0 RzednaT1 OpisT1 ZmianaSkalipoz ZmianaSkalipio) ;=========================================================================== ; wybieramy Styl tekstu IS_SIMPLEX jako aktualny lub gdy go nie ma tworzymy go i ustawiamy jako aktualny (if (tblsearch "Style" "IS_SIMPLEX") (command "_textstyle" "IS_SIMPLEX") (progn (command "_-style" "TEMP-STYLE" "simplex.shx" "" "0.7" "" "" "" "") (command "_rename" "_S" "TEMP-STYLE" "IS_SIMPLEX") (command "_textstyle" "IS_SIMPLEX") );progn );if ;=========================================================================== ;=========================================================================== ; wybieramy warstwe IS_tabela jako aktualną lub gdy jej nie ma tworzymy ją (if (tblsearch "Layer" "IS_tabela") (command "_clayer" "IS_tabela") (progn (command "_layer" "_N" "TEMP-LAYER" "_C" "11" "TEMP-LAYER" "_L" "Continuous" "TEMP-LAYER" "_LW" "0.13" "TEMP-LAYER" "") (command "_rename" "_LA" "TEMP-LAYER" "IS_tabela") );progn );if ; wybieramy warstwe IS_tabela jako aktualną lub gdy jej nie ma tworzymy ją (if (tblsearch "Layer" "IS_teren") (command "_clayer" "IS_teren") (progn (command "_layer" "_N" "TEMP-LAYER" "_C" "61" "TEMP-LAYER" "_L" "Continuous" "TEMP-LAYER" "_LW" "0.13" "TEMP-LAYER" "") (command "_rename" "_LA" "TEMP-LAYER" "IS_teren") );progn );if ; wybieramy warstwe IS_opisy jako aktualną lub gdy jej nie ma tworzymy ją (if (tblsearch "Layer" "IS_opisy") (command "_clayer" "IS_opisy") (progn (command "_layer" "_N" "TEMP-LAYER" "_C" "41" "TEMP-LAYER" "_L" "Continuous" "TEMP-LAYER" "_LW" "0.13" "TEMP-LAYER" "") (command "_rename" "_LA" "TEMP-LAYER" "IS_opisy") (command "_clayer" "IS_opisy") );progn );if ;========================================================================= ;=========================================================== (setvar "dimzin" 0) ;ustawienie dokładności cyfr "pełnychg" na dokładność z przecinkami - bez tego poziom 0,0 bedzie bez przecinków podawany (setvar "osnapcoord" 1) ;zmienia sposób przyciągania do punktów, aby nie dociągało wstawianych skryptem elementów do elementów istniejących ;============================================================= ;=========================================================================== (if (null RzednaT1) (setq RzednaT1 112)) (if (null ZmianaSkalipoz) (setq ZmianaSkalipoz 1)) (if (null ZmianaSkalipio) (setq ZmianaSkalipio 1)) ;=========================================================================== (setq Punkt1 (getpoint "\nKliknij pierwszy punkt \"terenu\" od którego rysowany będzie profil (na profilu): ") ZmianaSkalipoz (UIGetDist "\nWpisz o ile razy zmienić skalę POZIOMĄ profilu w stosunku do rzutu (1 - brak zmiany, 0.2 - zmniejszenie 5x długości profilu): " ZmianaSkalipoz) ZmianaSkalipio (UIGetDist "\nWpisz o ile razy zmienić skalę PIONOWĄ profilu w stosunku do skali 1:100 (1 - brak zmiany, 2 - skala 1:50, itp): " ZmianaSkalipio) PunktT1 (getpoint "\nKliknij pierwszy punkt na rzucie.") RzednaT1 (UIGetDist "\nWpisz wartość poziomu terenu w tym punkcje: " RzednaT1) OpisT1 (getstring T "\nWpisz opis na profilu do tego punktu: ") );setq (setvar "clayer" "IS_opisy") (command "_.text" (polar (polar Punkt1 pi 5) (/ pi 2) 30) "18" "90" OpisT1) (setvar "clayer" "IS_tabela") (command "_line" Punkt1 (polar Punkt1 (/ pi 2) 500) "") (setvar "clayer" "IS_opisy") (command "_.text" (polar (polar Punkt1 (* 1.5 pi) (- (* (+ (rem RzednaT1 5) 5) 100) 5)) 0 10) "18" "0" (rtos (- RzednaT1 (/ (+ (rem RzednaT1 5) 5) ZmianaSkalipio)) 2 2)) (command "_circle" (polar Punkt1 (* 1.5 pi) (* (+ (rem RzednaT1 5) 5) 100)) "_d" "10") (initget 128) (setq PunktT0 PunktT1 PunktT1 (getpoint PunktT0 "\nKliknij kolejny punkt na rzucie.") );setq -------------------------------------------- (while PunktT1 (setq Punkt0 Punkt1 RzednaT0 RzednaT1 RzednaT1 (UIGetDist "\nWpisz wartość poziomu terenu w tym punkcje: " RzednaT1) OpisT1 (getstring T "\nWpisz opis na profilu do tego punktu: ") Punkt1 (polar (polar Punkt0 0 (* ZmianaSkalipoz (distance PunktT0 PunktT1))) (/ pi 2) (* ZmianaSkalipio (* (- RzednaT1 RzednaT0) 100))) );setq (setvar "clayer" "IS_opisy") (command "_.text" (polar (polar Punkt1 pi 5) (/ pi 2) 50) "18" "90" OpisT1) (setvar "clayer" "IS_tabela") (command "_line" Punkt1 (polar Punkt1 (/ pi 2) 500) "") (setvar "clayer" "IS_teren") (command "_line" Punkt0 Punkt1 "") (initget 128) (setq PunktT0 PunktT1) (setq PunktT1 (getpoint PunktT0 "\nKliknij kolejny punkt na rzucie.")) );while );defun rzut2prof Dziwi mnie tylko trochę fakt, że w ZwCadzie 2010 (oraz AutoCadzie 2010) działa bez problemu a w najnowszym ZwCad2011 nie chce działać bez (initget 128). Może to jakiś błąd w ZwCadzie? Cały plik lisp (jeszcze nie poprawiony) można sobie ściągnąć tutaj: http://instalacjesanitarne.com/download/PROFILEK.zip[/code]
gruzin Opublikowano 20 Stycznia 2011 Autor Zgłoś Opublikowano 20 Stycznia 2011 Załączam plik do testu. Są w nim dwie funkcje TKS (działa OK) oraz RRR, która nie działa bo getpoint nie chce przyjąć entera. W Zwcadzie 2010 działa OK, w 2011 nie działa. Obie funkcje mają pętlę while którą można (teoretycznie) zakończyć poprzez "niekliknięcie" punktu w funkcji getpoint, ale w RRR nie chce to działać i nie wiem czemu tak jest. pozdrawiam ; funkcja: RRR nie działa ; getpoint nie przyjmuje entera lub prawego przycisku myszy więc nie chce lisp wyjść z pętli while ;========================================================================= ; autor funkcji "kruszynski" z forum.projektuje.net (defun UIGetDist (msg DefVal / SelDist) (setq SelDist (vl-catch-all-apply 'getdist (list (strcat msg "<" (rtos DefVal ) ">:")))) (if (not (vl-catch-all-error-p SelDist)) (progn (if SelDist (setq OutVal SelDist ) (setq OutVal DefVal ) ) )) OutVal );defun ;========================================================================= ;========================================================================= (defun kreski (P1 P2 odsuniecie dlugosckreski / katalfa punkttemp punkttemp1 punkttemp2 styllinii grubosc) ;kreski- polecenie rysuje prostopadłe kreseczki na linii od P1 do P2 (setq styllinii (getvar "celtype") grubosc (getvar "celweight") );setq ; styl linii ustawic jako continuous (command "_celtype" "Continuous") ; grubość ustawić jako 0,15 (command "_celweight" 015) (if (> (distance P1 P2) (* 2 odsuniecie)) (progn (setq katalfa (angle P1 P2) punkttemp (polar P1 katalfa odsuniecie) punkttemp1 (polar punkttemp (- katalfa (/ pi 2)) (/ dlugosckreski 2)) punkttemp2 (polar punkttemp (+ katalfa (/ pi 2)) (/ dlugosckreski 2)) );setq (command "_line" punkttemp1 punkttemp2 "") (setq katalfa (angle P2 P1) punkttemp (polar P2 katalfa odsuniecie) punkttemp1 (polar punkttemp (- katalfa (/ pi 2)) (/ dlugosckreski 2)) punkttemp2 (polar punkttemp (+ katalfa (/ pi 2)) (/ dlugosckreski 2)) );setq (command "_line" punkttemp1 punkttemp2 "") );progn do długich kresek (progn (setq katalfa (angle P1 P2) punkttemp (polar P1 katalfa (/ (distance P1 P2) 2)) punkttemp1 (polar punkttemp (- katalfa (/ pi 2)) (/ dlugosckreski 2)) punkttemp2 (polar punkttemp (+ katalfa (/ pi 2)) (/ dlugosckreski 2)) );setq (command "_line" punkttemp1 punkttemp2 "") );progn do krótkich kresek );if (command "_celtype" styllinii "_celweight" grubosc );command );defun kreski ;========================================================================= ;========================================================================= (defun c:RRR ( / Punkt0 Punkt1 PunktT0 PunktT1 RzednaT0 RzednaT1 OpisT1 ZmianaSkalipoz ZmianaSkalipio) ;=========================================================================== ; wybieramy Styl tekstu IS_SIMPLEX jako aktualny lub gdy go nie ma tworzymy go i ustawiamy jako aktualny (if (tblsearch "Style" "IS_SIMPLEX") (command "_textstyle" "IS_SIMPLEX") (progn (command "_-style" "TEMP-STYLE" "simplex.shx" "" "0.7" "" "" "" "") (command "_rename" "_S" "TEMP-STYLE" "IS_SIMPLEX") (command "_textstyle" "IS_SIMPLEX") );progn );if ;=========================================================================== ;=========================================================================== ; wybieramy warstwe IS_tabela jako aktualną lub gdy jej nie ma tworzymy ją (if (tblsearch "Layer" "IS_tabela") (command "_clayer" "IS_tabela") (progn (command "_layer" "_N" "TEMP-LAYER" "_C" "11" "TEMP-LAYER" "_L" "Continuous" "TEMP-LAYER" "_LW" "0.13" "TEMP-LAYER" "") (command "_rename" "_LA" "TEMP-LAYER" "IS_tabela") );progn );if ; wybieramy warstwe IS_tabela jako aktualną lub gdy jej nie ma tworzymy ją (if (tblsearch "Layer" "IS_teren") (command "_clayer" "IS_teren") (progn (command "_layer" "_N" "TEMP-LAYER" "_C" "61" "TEMP-LAYER" "_L" "Continuous" "TEMP-LAYER" "_LW" "0.13" "TEMP-LAYER" "") (command "_rename" "_LA" "TEMP-LAYER" "IS_teren") );progn );if ; wybieramy warstwe IS_opisy jako aktualną lub gdy jej nie ma tworzymy ją (if (tblsearch "Layer" "IS_opisy") (command "_clayer" "IS_opisy") (progn (command "_layer" "_N" "TEMP-LAYER" "_C" "41" "TEMP-LAYER" "_L" "Continuous" "TEMP-LAYER" "_LW" "0.13" "TEMP-LAYER" "") (command "_rename" "_LA" "TEMP-LAYER" "IS_opisy") (command "_clayer" "IS_opisy") );progn );if ;========================================================================= ;=========================================================== (setvar "dimzin" 0) ;ustawienie dokładności cyfr "pełnychg" na dokładność z przecinkami - bez tego poziom 0,0 bedzie bez przecinków podawany (setvar "osnapcoord" 1) ;zmienia sposób przyciągania do punktów, aby nie dociągało wstawianych skryptem elementów do elementów istniejących ;============================================================= ;=========================================================================== (if (null RzednaT1) (setq RzednaT1 112)) (if (null ZmianaSkalipoz) (setq ZmianaSkalipoz 1)) (if (null ZmianaSkalipio) (setq ZmianaSkalipio 1)) ;=========================================================================== (setq Punkt1 (getpoint "\nKliknij pierwszy punkt \"terenu\" od którego rysowany będzie profil (na profilu): ") ZmianaSkalipoz (UIGetDist "\nWpisz o ile razy zmienić skalę POZIOMĄ profilu w stosunku do rzutu (1 - brak zmiany, 0.2 - zmniejszenie 5x długości profilu): " ZmianaSkalipoz) ZmianaSkalipio (UIGetDist "\nWpisz o ile razy zmienić skalę PIONOWĄ profilu w stosunku do skali 1:100 (1 - brak zmiany, 2 - skala 1:50, itp): " ZmianaSkalipio) PunktT1 (getpoint "\nKliknij pierwszy punkt na rzucie.") RzednaT1 (UIGetDist "\nWpisz wartość poziomu terenu w tym punkcje: " RzednaT1) OpisT1 (getstring T "\nWpisz opis na profilu do tego punktu: ") );setq (setvar "clayer" "IS_opisy") (command "_.text" (polar (polar Punkt1 pi 5) (/ pi 2) 30) "18" "90" OpisT1) (setvar "clayer" "IS_tabela") (command "_line" Punkt1 (polar Punkt1 (/ pi 2) 500) "") (setvar "clayer" "IS_opisy") (command "_.text" (polar (polar Punkt1 (* 1.5 pi) (- (* (+ (rem RzednaT1 5) 5) 100) 5)) 0 10) "18" "0" (rtos (- RzednaT1 (/ (+ (rem RzednaT1 5) 5) ZmianaSkalipio)) 2 2)) (command "_circle" (polar Punkt1 (* 1.5 pi) (* (+ (rem RzednaT1 5) 5) 100)) "_d" "10") (setq PunktT0 PunktT1 PunktT1 (getpoint PunktT0 "\nKliknij kolejny punkt na rzucie.") );setq -------------------------------------------- (while PunktT1 (setq Punkt0 Punkt1 RzednaT0 RzednaT1 RzednaT1 (UIGetDist "\nWpisz wartość poziomu terenu w tym punkcje: " RzednaT1) OpisT1 (getstring T "\nWpisz opis na profilu do tego punktu: ") Punkt1 (polar (polar Punkt0 0 (* ZmianaSkalipoz (distance PunktT0 PunktT1))) (/ pi 2) (* ZmianaSkalipio (* (- RzednaT1 RzednaT0) 100))) );setq (setvar "clayer" "IS_opisy") (command "_.text" (polar (polar Punkt1 pi 5) (/ pi 2) 50) "18" "90" OpisT1) (setvar "clayer" "IS_tabela") (command "_line" Punkt1 (polar Punkt1 (/ pi 2) 500) "") (setvar "clayer" "IS_teren") (command "_line" Punkt0 Punkt1 "") (setq PunktT0 PunktT1 PunktT1 (getpoint PunktT0 "\nKliknij kolejny punkt na rzucie.") );setq );while );defun RRR ;========================================================================= ;========================================================================= (defun c:TKS (/ P1 P12 P2 P3 CzyKonczyc) ;========================================================================= (command "_dimzin" "0") ;ustawienie dokładności cyfr "pełnychg" na dokładność z przecinkami - bez tego poziom 0,0 bedzie bez przecinków podawany (command "_osnapcoord" "1") ;zmienia sposób przyciągania do punktów, aby nie dociągało wstawianych skryptem elementów do elementów istniejących ;========================================================================= ;========================================================================= (if (null odsuniecie) (setq odsuniecie 14.143)) (if (null dlugosckreski) (setq dlugosckreski 12.00)) ;========================================================================= ;========================================================================= (setq odsuniecie (UIGetDist "\nPodaj odsunięcie od końca: " odsuniecie) dlugosckreski (UIGetDist "\nWpisz długość kreseczki: " dlugosckreski) );setq ;========================================================================= (setq P1 (getpoint "\nKliknij pierwszy punkt trasy kanalizacji.") P2 (getpoint P1 "\nKliknij drugi punkt trasy kanalizacji.") P3 (getpoint P2 "\nKliknij kolejny punkt trasy kanalizacji.") );setq ;========================================================================= (while P3 (if (and (> (distance P1 P2) 35) (> (distance P2 P3) 35) (or (< (abs (rem (- (angle P2 P1) (angle P2 P3)) (/ pi 2))) 0.017) (> (abs (rem (- (angle P2 P1) (angle P2 P3)) (/ pi 2))) 1.553))) (progn (setq P12 (polar P2 (angle P2 P1) 20) P2 (polar P2 (angle P2 P3) 20)) (command "_line" P1 P12 P2 "") (kreski P1 P12 odsuniecie dlugosckreski) (kreski P12 P2 odsuniecie dlugosckreski) );progn na tak (progn (command "_line" P1 P2 "") (kreski P1 P2 odsuniecie dlugosckreski) );progn na nie );if (setq P1 P2 P2 P3 P3 (getpoint P2 "\nKliknij kolejny punkt trasy kanalizacji.") );setq );while ;========================================================================= (initget 7 "Tak Nie") (setq CzyKonczyc (getkword "\nDorysować kanał do końca? :") ) (if (= CzyKonczyc "Tak") (progn (command "_line" P1 P2 "") (kreski P1 P2 odsuniecie dlugosckreski) );progn );if );defun TKS ;=========================================================================
kruszynski Opublikowano 24 Stycznia 2011 Zgłoś Opublikowano 24 Stycznia 2011 Proszę spróbować wstawić initget w tym kodzie w liniach 155 i 175, w taki sposób: (setq PunktT0 PunktT1 ) (initget 0) (setq PunktT1 (getpoint PunktT0 "\nKliknij kolejny punkt na rzucie.") U mnie zadziałało na 2011
gruzin Opublikowano 25 Stycznia 2011 Autor Zgłoś Opublikowano 25 Stycznia 2011 Maksymalnie uproszczony plik lisp (defun c:rzut3prof () (setq PunktT1 (getpoint "\nKliknij pierwszy punkt: ") PunktT0 PunktT1 );setq (while PunktT1 (setq OpisT1 (getstring "\nWpisz opis do tego punktu: ")) (setq PunktT1 (getpoint PunktT0 "\nKliknij kolejny punkt na rzucie.") ) );while );defun rzut3prof U mnie nie da się wyjść z takiej pętli prawym przyciskiem myszy. Skasowanie linijki: (setq OpisT1 (getstring "\nWpisz opis do tego punktu: ")) naprawia błąd w Zwcadzie 2011 i pętla działa poprawnie. Czy tak powinno być? Autocad 2010 oraz Zwcad 2010 nie sprawiają takiego problemu. Oczywiście ostatnia porada z (initget 0) rozwiązuje problem, ale wydaje mi się, że powinno działać bez tego. Getstring chyba coś psuje w ustawieniach.
kruszynski Opublikowano 25 Stycznia 2011 Zgłoś Opublikowano 25 Stycznia 2011 OK, rzeczywiście nie powinno tak być. Zgłoszę to do supportu
gruzin Opublikowano 25 Stycznia 2011 Autor Zgłoś Opublikowano 25 Stycznia 2011 Wielkie dzięki. pozdrawiam
gruzin Opublikowano 14 Marca 2011 Autor Zgłoś Opublikowano 14 Marca 2011 W wersji ZwCad 2011 z dnia 2011 02 28 błąd został naprawiony.
Rekomendowane odpowiedzi