kruszynski Opublikowano 24 Stycznia 2018 Zgłoś Udostępnij Opublikowano 24 Stycznia 2018 22 godziny temu, jacnightingale napisał: Czy jest jakaś szansa, żeby opis oznakowania wstawiał się na wybraną przeze mnie warstwę Zastanawialiśmy się nad tym jak to zrobić żeby przygotować rozwiązanie szybko. I wyszło nam, że znacznie szybciej niż przebudować logikę działania programu, będzie dorobić nową funkcję/makro, które odpowiednie elementy wstawi na odpowiednie warstwy. Nie działałoby to w czasie wstawiania znaku, ale zupełnie niezależnie. po włączeniu funkcji na dowolnym rysunku. Jak taka funkcja miałaby działać? możemy zrobić np tak, że zaznaczy wszystkie strzałki (MLeadery) i wstawi je na warstwę która będzie kopią (kolor, typ liniii) tej warstwy gdzie są obecnie ale bedzie można ją wyłączyć niezależnie. Podobnie może zaznaczać wszsytkie bloki opisowe, albo wszysktie elementy, które użytkownik zaznaczy, na z góry przewidziane (w pliku konfiguracyjnym ) założone warstwy. Jak powinna taka funkcja działać, żeby najlepiej spełniać Państwa oczekiwania ? zpraszam do dyskusji Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jacnightingale Opublikowano 24 Stycznia 2018 Zgłoś Udostępnij Opublikowano 24 Stycznia 2018 (edytowane) 11 minut temu, kruszynski napisał: Zastanawialiśmy się nad tym jak to zrobić żeby przygotować rozwiązanie szybko. I wyszło nam, że znacznie szybciej niż przebudować logikę działania programu, będzie dorobić nową funkcję/makro, które odpowiednie elementy wstawi na odpowiednie warstwy. Nie działałoby to w czasie wstawiania znaku, ale zupełnie niezależnie. po włączeniu funkcji na dowolnym rysunku. Jak taka funkcja miałaby działać? możemy zrobić np tak, że zaznaczy wszystkie strzałki (MLeadery) i wstawi je na warstwę która będzie kopią (kolor, typ liniii) tej warstwy gdzie są obecnie ale bedzie można ją wyłączyć niezależnie. Podobnie może zaznaczać wszsytkie bloki opisowe, albo wszysktie elementy, które użytkownik zaznaczy, na z góry przewidziane (w pliku konfiguracyjnym ) założone warstwy. Jak powinna taka funkcja działać, żeby najlepiej spełniać Państwa oczekiwania ? zpraszam do dyskusji Jeżeli będzie możliwość przeniesienia w szybki sposób wszystkich opisów na zdefiniowaną przez mnie warstwę (np. ZNAKI-OPIS) to rozwiązanie jest dla mnie wystarczające. Później, gdy podczytam plik z organizacją ruchu będę mógł w łatwy sposób wyłączyć opisy. Edytowane 24 Stycznia 2018 przez jacnightingale Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dmatusz3 Opublikowano 24 Stycznia 2018 Autor Zgłoś Udostępnij Opublikowano 24 Stycznia 2018 Też mi się wydaje, że to dobre rozwiązanie, bo: możemy tę funkcję zastosować do istniejących już rysunków, nie trzeba zmieniać logiki programu głównego, łatwo będzie można utworzyć swoją konfigurację. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 24 Stycznia 2018 Zgłoś Udostępnij Opublikowano 24 Stycznia 2018 Dnia 22.01.2018 o 20:11, ssoran napisał: Fajnie! Ale coś się teraz zmieniło w znakach F-10 Jak go obrócić poprawnie i straciło się niebieskie tło Przygotowałem poprawkę z rozwiązaniem tego tematu. Aby ją poprać wystarczy uruchomić funkcję aktualizacji: Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 24 Stycznia 2018 Zgłoś Udostępnij Opublikowano 24 Stycznia 2018 53 minuty temu, jacnightingale napisał: Jeżeli będzie możliwość przeniesienia w szybki sposób wszystkich opisów na zdefiniowaną przez mnie warstwę (np. ZNAKI-OPIS) to rozwiązanie jest dla mnie wystarczające. Później, gdy podczytam plik z organizacją ruchu będę mógł w łatwy sposób wyłączyć opisy. Czyli działanie programu przyjmujemy takie: 1. Użytkownik uruchamia funkcję nazwijmy ją : przenieśopisy 2. Program wybiera z rysunku bloki opisowe i ich strzałki 3. Skąd program ma wiedzieć na jaką warstwę przenieść elementy? zakładamy na stałe np "ZNAKI-OPIS" czy pozostawiamy do wyboru ? czy tworzymy kopię tej, na której opis się znajduje ? 4. Z automatu wyłączamy wybraną warstwę ? Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ssoran Opublikowano 30 Stycznia 2018 Zgłoś Udostępnij Opublikowano 30 Stycznia 2018 dziala juz znak F-10 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kamchem Opublikowano 20 Lutego 2018 Zgłoś Udostępnij Opublikowano 20 Lutego 2018 Witam! Pragnę zwrócić uwagę na nieprawidłowy kolor biało- czerwony wygrodzenia U-12a "Bariera chodnikowa z poprzeczkami" (ta pierwsza w zestawieniu) - zgodnie z "czerwoną książką" (Rozporządzeniem) dozwolonymi kolorami dla U-12a są żółty i szary. Wiem że na drogach publicznych w naszym kraju w wielu miejscach można spotkać takie właśnie wygrodzenia w kolorze biało- czerwonym, co nie faktu że są one niezgodne Rozporządzeniem. My rysując takie wygrodzenia w PSOR, możemy sugerować zarządcom dróg nieprawidłowe rozwiązania niezgodne z przepisami. Kolor biało- czerwony możemy jedynie stosować dla U-12b, U12c. Inną sprawą jaką chciałbym poruszyć są słupki U-1a, U-1b, na drogach wojewódzkich i krajowych na tych słupkach umieszcza się dodatkowo symbole U-1f (nr drogi), U-7 (znaki kilometrowe) i U-8 (znaki hektometrowe). Dla wielu projektantów, którzy opracowują projekty PSOR na takich drogach zapewne było by wielkim ułatwieniem, gdyby wstawiając taki słupek od razu mogliby podać te wszystkie informacje. Oczywiście wiem że stosuje się również tez słupki bez w/w oznaczeń. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 21 Lutego 2018 Zgłoś Udostępnij Opublikowano 21 Lutego 2018 7 godzin temu, kamchem napisał: Inną sprawą jaką chciałbym poruszyć są słupki U-1a, U-1b, na drogach wojewódzkich i krajowych na tych słupkach umieszcza się dodatkowo symbole U-1f (nr drogi), U-7 (znaki kilometrowe) i U-8 (znaki hektometrowe). Dla wielu projektantów, którzy opracowują projekty PSOR na takich drogach zapewne było by wielkim ułatwieniem, gdyby wstawiając taki słupek od razu mogliby podać te wszystkie informacje. Oczywiście wiem że stosuje się również tez słupki bez w/w oznaczeń. Ten wątek jest bardzo interesujący. Chciałbym się z tym zmierzyć w niedalekiej przyszłości ( choć na razie jeszcze nic nie obiecuję ). może Pan podesłać na adres pomoc@zwcad.pl przykład projektu gdzie takie oznaczenie jest zastosowane ? jak to powinno wyglądać? Jak chciałby Pan z takiej funkcjonalności korzystać? co chciałby Pan wprowadzić? i jaki powinien być tego wynik ? Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Włodek Opublikowano 25 Lutego 2018 Zgłoś Udostępnij Opublikowano 25 Lutego 2018 (edytowane) Dnia 21.02.2018 o 00:03, kamchem napisał: Witam! Pragnę zwrócić uwagę na nieprawidłowy kolor biało- czerwony wygrodzenia U-12a "Bariera chodnikowa z poprzeczkami" (ta pierwsza w zestawieniu) - zgodnie z "czerwoną książką" (Rozporządzeniem) dozwolonymi kolorami dla U-12a są żółty i szary. Wiem że na drogach publicznych w naszym kraju w wielu miejscach można spotkać takie właśnie wygrodzenia w kolorze biało- czerwonym, co nie faktu że są one niezgodne Rozporządzeniem. My rysując takie wygrodzenia w PSOR, możemy sugerować zarządcom dróg nieprawidłowe rozwiązania niezgodne z przepisami. Kolor biało- czerwony możemy jedynie stosować dla U-12b, U12c. Inną sprawą jaką chciałbym poruszyć są słupki U-1a, U-1b, na drogach wojewódzkich i krajowych na tych słupkach umieszcza się dodatkowo symbole U-1f (nr drogi), U-7 (znaki kilometrowe) i U-8 (znaki hektometrowe). Dla wielu projektantów, którzy opracowują projekty PSOR na takich drogach zapewne było by wielkim ułatwieniem, gdyby wstawiając taki słupek od razu mogliby podać te wszystkie informacje. Oczywiście wiem że stosuje się również tez słupki bez w/w oznaczeń. Co do U-12a, to faktycznie przepis przepisem i niektóre zarządy trzymają się go jak przysłowiowy rzep. Niewątpliwie wersja (niezgodna z przepisami) biało-czerwona jest czasami lepiej widoczna i może w aktualizacji się doczekamy i takiego rozwiązania ... U-1a - jako rozwiązanie pośrednie moje ułatwienie w załączeniu (wersja słupka jest powiększona). U-1a_L1.dwg U-1a_P1.dwg Edytowane 25 Lutego 2018 przez Włodek korekta Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Włodek Opublikowano 25 Lutego 2018 Zgłoś Udostępnij Opublikowano 25 Lutego 2018 (edytowane) Po wstawieniu podajemy wartość U-7 i U-8... W wersji L nie działa mi wstawienie opisu, ale dojdę dlaczego.... Edytowane 25 Lutego 2018 przez Włodek Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jacnightingale Opublikowano 10 Maja 2018 Zgłoś Udostępnij Opublikowano 10 Maja 2018 Dnia 24.01.2018 o 14:02, jacnightingale napisał: Jeżeli będzie możliwość przeniesienia w szybki sposób wszystkich opisów na zdefiniowaną przez mnie warstwę (np. ZNAKI-OPIS) to rozwiązanie jest dla mnie wystarczające. Później, gdy podczytam plik z organizacją ruchu będę mógł w łatwy sposób wyłączyć opisy. Czy dzieje się coś w tej sprawie? Przyznam szczerze, że mocno komplikuje to projektowanie. Za każdym razem muszę wszystkie opisy do oznakowania poziomego przerzucać ręcznie na inne warstwy 😥 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 10 Maja 2018 Zgłoś Udostępnij Opublikowano 10 Maja 2018 W poprzednim poście w tym temacie zaproponowałem pewne rozwiązanie i zapytałem o kwestie, w których mam wątpliwości. Dnia 24.01.2018 o 15:01, kruszynski napisał: Czyli działanie programu przyjmujemy takie: 1. Użytkownik uruchamia funkcję nazwijmy ją : przenieśopisy 2. Program wybiera z rysunku bloki opisowe i ich strzałki 3. Skąd program ma wiedzieć na jaką warstwę przenieść elementy? zakładamy na stałe np "ZNAKI-OPIS" czy pozostawiamy do wyboru ? czy tworzymy kopię tej, na której opis się znajduje ? 4. Z automatu wyłączamy wybraną warstwę ? Nie otrzymałem odowiedzi więc nie wiem czy to właśnie tak ma działać program. Dlatego nie zajołęm się przygotowaniem rozwiązania, które może działać sprzeczenie z oczekiwaniami. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jacnightingale Opublikowano 10 Maja 2018 Zgłoś Udostępnij Opublikowano 10 Maja 2018 2 minuty temu, kruszynski napisał: W poprzednim poście w tym temacie zaproponowałem pewne rozwiązanie i zapytałem o kwestie, w których mam wątpliwości. Nie otrzymałem odowiedzi więc nie wiem czy to właśnie tak ma działać program. Dlatego nie zajołęm się przygotowaniem rozwiązania, które może działać sprzeczenie z oczekiwaniami. Mea culpa. Musiałem przeoczyć ten post. 😇 Moim zdaniem: Dobry sposób, może to być osobna funkcja, która będzie uruchamiana przez użytkownika. Tak, bloki opisowe i strzałki na jednej warstwie. Według mnie może być tak (nie wiem czy to jest wykonalne, bo się na tym nie znam), że program nas zapyta jak nazwać warstwę i sam ją tworzy, ewentualnie my wcześniej tworzymy taką warstwę np. ZNAKI-OPIS i wskazujemy, żeby na taką warstwę przeniósł opisy. Z tej opcji bym zrezygnował. Mi zależy na wygaszeniu warstwy z opisami dopiero po podpięciu do innego pliku jako odnośnik, więc tam muszę to zrobić ręcznie i to już nie problem. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 10 Maja 2018 Zgłoś Udostępnij Opublikowano 10 Maja 2018 24 minuty temu, jacnightingale napisał: Tak, bloki opisowe i strzałki na jednej warstwie można tak, żeby żeby zaznaczył Pan jeden blok , a program zaznaczy wszystkie inne bloki o tej samej nazwie na tej samej warstwie. Tak będzie OK? Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 10 Maja 2018 Zgłoś Udostępnij Opublikowano 10 Maja 2018 35 minut temu, jacnightingale napisał: program nas zapyta jak nazwać warstwę i sam ją tworzy tak można. tylko z mojego doświadcznia wynika że częstotliwość popełniania literówek jest denerwująca. i bedzie powstawało zbyt dużo podobnych warstw a może tylko ja szybciej piszę niż myślę 😉 35 minut temu, jacnightingale napisał: my wcześniej tworzymy taką warstwę np. ZNAKI-OPIS i wskazujemy, żeby na taką warstwę przeniósł opisy. wolałbym to rozwiązanie. tylko jak wskazać warstwę, można tak: - wybieramy dowolny element na warstwie docelowej - myślę, że to byłoby najłatwiejsze w użyciu, pod warukniem że coś juz na tej warstwie jest - pojawia się okno z listą wszystkich warstw do wyboru - to byłoby łatwe w użyciu jeśli mielibyśmy mało warstw przy dużej ilości wartw pewnie już nie. - wrzucamy np na aktualną warstwę - to byłoby najłatwiejsze do napisania ale czy funkcjonalne ? - może jeszcze coś? Możemy też zrobić takie combo typu Podaj nazwę warstwy lub [Zaznacz/Wybierz/Aktualna]: Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jacnightingale Opublikowano 10 Maja 2018 Zgłoś Udostępnij Opublikowano 10 Maja 2018 (edytowane) 27 minut temu, kruszynski napisał: można tak, żeby żeby zaznaczył Pan jeden blok , a program zaznaczy wszystkie inne bloki o tej samej nazwie na tej samej warstwie. Tak będzie OK? 18 minut temu, kruszynski napisał: tak można. tylko z mojego doświadcznia wynika że częstotliwość popełniania literówek jest denerwująca. i bedzie powstawało zbyt dużo podobnych warstw a może tylko ja szybciej piszę niż myślę 😉 wolałbym to rozwiązanie. tylko jak wskazać warstwę, można tak: - wybieramy dowolny element na warstwie docelowej - myślę, że to byłoby najłatwiejsze w użyciu, pod warukniem że coś juz na tej warstwie jest - pojawia się okno z listą wszystkich warstw do wyboru - to byłoby łatwe w użyciu jeśli mielibyśmy mało warstw przy dużej ilości wartw pewnie już nie. - wrzucamy np na aktualną warstwę - to byłoby najłatwiejsze do napisania ale czy funkcjonalne - może jeszcze coś? Możemy też zrobić takie combo typu Podaj nazwę warstwy lub [Zaznacz/Wybierz/Aktualna]: Rozumiem, że ja miałbym: Wpisać komendę np. przeniesopisy Kliknąć na opis znaku + ew. linię odnoszącą (rozumiem, że nie byłoby tutaj problemu z tym, że znaki są automatycznie grupowane i tak naprawdę klikam na grupę? wolałbym nie rozbijać za każdym razem tych grup) Wybieram przykładowo opcję z tego combo - Zaznacz Klikam na jakiś element znajdujący się na docelowej warstwie Klikam enter i to tyle. Dobrze to zrozumiałem? PS. Pomysł z takim combo wydaje się być bardzo dobry. ZAPOMNIAŁBYM! Kiedy będzie możliwość wstawienia oznakowania poziomego i pionowego na dwie odrębne warstwy? W tej chwili w ustawieniach możemy tylko rozróżnić pomiędzy projektowanym, istniejącym itd., ale mimo wszystko projektowane pionowe i poziome wskakuje na tę samą warstwę. Jest to też spore utrudnienie, bo wszystko trzeba przenosić ręcznie chcąc mieć możliwość wygaszenia oznakowania pionowego, a pozostawienia poziomego do podczytania. Byłoby to duże usprawnienie działania nakładki. Edytowane 10 Maja 2018 przez jacnightingale Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 10 Maja 2018 Zgłoś Udostępnij Opublikowano 10 Maja 2018 1 godzinę temu, jacnightingale napisał: Rozumiem, że ja miałbym: Wpisać komendę np. przeniesopisy Kliknąć na opis znaku + ew. linię odnoszącą (rozumiem, że nie byłoby tutaj problemu z tym, że znaki są automatycznie grupowane i tak naprawdę klikam na grupę? wolałbym nie rozbijać za każdym razem tych grup) < TAK wystarczy zaznaczyć opis. Grupa nie byłaby tu przeszkodą > Wybieram przykładowo opcję z tego combo - Zaznacz Klikam na jakiś element znajdujący się na docelowej warstwie Klikam enter i to tyle. Dobrze to zrozumiałem? tak. 1 godzinę temu, jacnightingale napisał: ZAPOMNIAŁBYM! Kiedy będzie możliwość wstawienia oznakowania poziomego i pionowego na dwie odrębne warstwy? W tej chwili w ustawieniach możemy tylko rozróżnić pomiędzy projektowanym, istniejącym itd., ale mimo wszystko projektowane pionowe i poziome wskakuje na tę samą warstwę. Jest to też spore utrudnienie, bo wszystko trzeba przenosić ręcznie chcąc mieć możliwość wygaszenia oznakowania pionowego, a pozostawienia poziomego do podczytania. Byłoby to duże usprawnienie działania nakładki. Trudno powiedzieć. Nie zostało to jeszcze ujęte w przewidywalnych planach Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jacnightingale Opublikowano 10 Maja 2018 Zgłoś Udostępnij Opublikowano 10 Maja 2018 Teraz, kruszynski napisał: tak. Trudno powiedzieć. Nie zostało to jeszcze ujęte w przewidywalnych planach Szkoda. Dla mnie jest to problem tego samego kalibru co problem z opisem, więc czekam z niecierpliwością ☺️ Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 11 Maja 2018 Zgłoś Udostępnij Opublikowano 11 Maja 2018 Dnia 10.05.2018 o 10:30, kruszynski napisał: zaznaczyć jeden blok, a program zaznaczy wszystkie inne bloki o tej samej nazwie na tej samej warstwie to też uwzględnić? czy przenosić tylko ten jeden zaznaczony blok? Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jacnightingale Opublikowano 11 Maja 2018 Zgłoś Udostępnij Opublikowano 11 Maja 2018 8 minut temu, kruszynski napisał: to też uwzględnić? czy przenosić tylko ten jeden zaznaczony blok? Najlepiej, żeby program sam przenosił wszystkie opisy i strzałki automatycznie - bez zaznaczania. Tylko z poprzedniego posta zrozumiałem, że to jest niemożliwe i musimy mu wskazać przykład bloku jaki ma przenieść. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 11 Maja 2018 Zgłoś Udostępnij Opublikowano 11 Maja 2018 Możliwe to jest, tylko potencjalnie narażone na komplikacje. Bo jak odróżnić blok opisowy od innych? Można w programie zapisać na stałe nazwę bloku opisowego. Ale jeśli ktoś chciałby użyć tego narzędzia w innym przypadku to nie zadziała. zaznaczenie jednego bloku wzorca chyba nie jest zbyt kłopotliwe a daje nam dużą elastyczność. jacnightingale 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 14 Maja 2018 Zgłoś Udostępnij Opublikowano 14 Maja 2018 Pierwsza wersja gotowa. przeniesopisy.lsp (defun C:przeniesopisy ( / selElement allElements SelLayer *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nC:przeniesopisy:*error*: " ) (princ msg ) (princ "\n") ) ) ) (defun AskForBlock ( label / *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nAskForBlock:*error*: " ) (princ msg ) (princ "\n") ) ) ) (setq block (SelSet:Entsel label (list (cons 0 "INSERT" ))) ) ) (defun GetCorespondingElements ( selElement / LayerName BlockName Blocks Leaders Selected *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nGetCorespondingElements:*error*: " ) (princ msg ) (princ "\n") ) ) ) (setq LayerName (vlax-get-property selElement 'Layer ) ) (setq BlockName (vlax-get-property selElement 'Name ) ) (setq Blocks (ssget "X" (list (cons 0 "INSERT") (cons 2 BlockName ) (cons 8 LayerName ) ) ) ) ( if (not (null Blocks) ) (progn (setq Selected (SelSet:ToList Blocks ) ) ) ) (setq Leaders (ssget "X" (list (cons 0 "MULTILEADER") (cons 8 LayerName ) ) ) ) ( if (not (null Leaders) ) (progn (setq Leaders (SelSet:ToList Leaders ) ) (setq Selected (append Selected Leaders ) ) ) ) Selected ) (defun AskForLayer ( msg / Options selString *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nAskForLayer:*error*: " ) (princ msg ) (princ "\n") ) ) ) (setq Options (list "Zaznacz" "Aktualna" ) ) ; "Wybierz" (setq selString (String:Get (strcat msg " lub " (UserInput:FormatOptions Options ) ":" ) "" ) ) (cond ( ( or ( null selString ) (not (= (type selString ) 'STR))) nil) ( ( or ( = ( strcase selString ) (substr ( strcase ( car Options ) ) 1 1) ) ( = ( strcase selString ) ( strcase ( car Options ) ) ) ) ( progn ; "Zaznacz" (setq elem (SelSet:Entsel "Wybierz element z warstwy na którą przenieść opisy" nil) ) (setq Layer (vlax-get-property elem 'Layer ) ) ) ) ;( ( or ( = ( strcase selString ) (substr ( strcase ( cadr Options ) ) 1 1) ) ; ( = ( strcase selString ) ( strcase ( car Options ) ) ) ; ) ( progn ; "Wybierz" ; (print "eNotImplementedYet" ) ;) ) ( ( or ( = ( strcase selString ) (substr ( strcase ( cadr Options ) ) 1 1) ) ( = ( strcase selString ) ( strcase ( car Options ) ) ) ) ( progn ; "Aktualna" ( setq Layer ( vlax-get-property ( vlax-get-property (vla-get-activedocument (vlax-get-acad-object) ) 'ActiveLayer ) 'Name ) ) ) ) ( T (setq Layer selString ) ) ) Layer ) (setq selElement ( AskForBlock "Wskaż blok" )) (setq allElements (GetCorespondingElements selElement ) ) (setq SelLayer (AskForLayer "Podaj nazwę warstwy" ) ) ( Layer:Set allElements SelLayer ) ) ; (defun ------ UserInput ------------ ( / ) (defun UserInput:FormatOptions ( Options / *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nUserInput:FormatOptions:*error*: " ) (princ msg ) (princ "\n") ) ) ) (setq Out "[" ) (if (> (length Options) 0) (setq Out (strcat "[" (car Options) ) ) ) (foreach % (cdr Options) (setq Out (strcat Out "/" % ) ) ) (setq Out (strcat Out "]") ) ) (defun String:Get (komunikat defVal / Wynik tekst *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nString:Get:*error*: " ) (princ msg ) (princ "\n") ) ) ) ; (setq komunikat "podaj tekst" ) ; (setq defVal "SLU" ) (if defVal (if (not(= defVal "")) (setq komunikat (strcat komunikat "<" defVal ">:" ) )) ) (setq tekst(vl-catch-all-apply 'getstring (list komunikat ))) (if (vl-catch-all-error-p tekst) (progn (prompt (vl-catch-all-error-message tekst)) (setq Wynik nil ) ) (progn (if (null tekst) (setq Wynik defVal ) (if (= tekst "") (setq Wynik defVal ) (if (= tekst ".") (setq Wynik "") (setq Wynik tekst) ) ) ) ) ) Wynik ) ; (defun ------ Layer ------------ ( / ) (defun Layer:Set ( Element LayerName / *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nLayer:Set:*error*: " ) (princ msg ) (princ "\n") ) ) ) (if (= ( Layer:Exist LayerName ) :vlax-false ) ( Layer:Create LayerName ) ) ( cond ( ( = (type Element ) 'LIST ) (progn (foreach % Element ( Layer:Set % LayerName ) ) ) ) ( ( = (type Element ) 'ENAME ) (progn ( Layer:Set (vlax-ename->vla-object Element ) LayerName ) ) ) ( ( = (type Element ) 'VLA-OBJECT ) (progn (setq ans(vl-catch-all-apply 'vlax-put-property (list Element 'Layer LayerName ))) ) ) ) ) (defun Layer:Exist ( Name / layers ans Out *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nLayer:Exist:*error*: " ) (princ msg ) (princ "\n") ) ) ) (setq layers (vlax-get-property (vla-get-activedocument (vlax-get-acad-object) ) 'Layers ) ) (setq ans(vl-catch-all-apply 'vlax-invoke-method (list layers 'Item Name ) ) ) (setq Out (if (vl-catch-all-error-p ans ) :vlax-false :vlax-true ) ) Out ) (defun Layer:Create ( Name / layers ans *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nLayer:Create *error*: " ) (princ msg ) (princ "\n") ) ) ) (setq layers (vlax-get-property (vla-get-activedocument (vlax-get-acad-object) ) 'Layers ) ) (setq ans (vl-catch-all-apply 'vlax-invoke-method (list layers 'Add Name ) ) ) (if (vl-catch-all-error-p ans) nil ans ) ) (defun Layer:Purge ( Name / layers ans Out *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nLayer:Purge:*error*: " ) (princ msg ) (princ "\n") ) ) ) (setq layers (vlax-get-property (vla-get-activedocument (vlax-get-acad-object) ) 'Layers ) ) (setq layer (vl-catch-all-apply 'vlax-invoke-method (list layers 'Item Name ) ) ) (if (not (vl-catch-all-error-p layer )) (vl-catch-all-apply 'vlax-invoke-method (list layer 'Erase ) ) ) nil ) ; (defun ------ SelSet ------------ ( / ) (defun SelSet:ToList (selset / Wynik ileelementow i *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nSelSet:ToList:*error*: " ) (princ msg ) (princ "\n") ) ) ) (if selset (progn (setq ileelementow(sslength selset) ) (setq i 0 ) (repeat ileelementow (setq Wynik (append Wynik (list (vlax-ename->vla-object(ssname selset i) ) ))) (setq i (1+ i )) ) )) Wynik ) (defun SelSet:Entsel (tresc filter / OldNoMutt MSel OutVal *error* ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nSelSet:Entsel:*error*: " ) (princ msg ) (princ "\n") ) ) ) (setq tresc (strcat "\n" tresc ": ") ) (prompt tresc ) (setq OldNoMutt (getvar 'NOMUTT)) (setvar 'NOMUTT 1) (setq MSel (if (null filter) (vl-catch-all-apply 'ssget (list ":S:E" )) (vl-catch-all-apply 'ssget (list ":S:E" filter )) ) ) (setvar 'NOMUTT OldNoMutt ) (if (vl-catch-all-error-p MSel) (progn (prompt (vl-catch-all-error-message MSel)) ) (progn (if MSel (progn (setq OutVal (vlax-ename->vla-object (ssname MSel 0)) ) )) ) ) OutVal ) Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jacnightingale Opublikowano 21 Czerwca 2018 Zgłoś Udostępnij Opublikowano 21 Czerwca 2018 Dnia 14.05.2018 o 11:04, kruszynski napisał: Pierwsza wersja gotowa. przeniesopisy.lsp Dopiero teraz miałem okazję przetestować. Niestety, skrypt przenosi również linie odnoszące znaków pionowych na inną warstwę. Mój tok postępowania: uruchamiam skrypt zaznaczam opis przy oznakowaniu poziomym wybieram opcję Zaznacz i w tym momencie skrypt przenosi na odpowiednią warstwę wszystkie opisy w oznakowaniu poziomym (tak jak powinien) i linie odnoszące (tylko linie - bez opisów) z oznakowania pionowego (tego już nie powinien robić) Proszę o analizę i ewentualne poprawki. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dmatusz3 Opublikowano 22 Czerwca 2018 Autor Zgłoś Udostępnij Opublikowano 22 Czerwca 2018 Dobrze, dziękuję za informacje, przejrzymy skrypt. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 2 Lipca 2018 Zgłoś Udostępnij Opublikowano 2 Lipca 2018 Proszę sprawdzić czy teraz jest OK przeniesopisy.lsp Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ą.