czarnula_100 Opublikowano 17 Grudnia Zgłoś Opublikowano 17 Grudnia Czy jest jakaś funkcja już istniejąca lub lisp który pozwoli zestawić listę layoutów, automatycznie, chodzi o stworzenie listy rysunków np do późniejszego opisu ?
kojacek Opublikowano 17 Grudnia Zgłoś Opublikowano 17 Grudnia 2 godziny temu, czarnula_100 napisał: Czy jest jakaś funkcja już istniejąca lub lisp który pozwoli zestawić listę layoutów, automatycznie, chodzi o stworzenie listy rysunków np do późniejszego opisu ? Co rozumiesz przez "zestawić listę layoutów"? Jeśli chodzi o same nazwy layoutów, funkcja AutoLISP o nazwie layoutlist załatwia sprawę. Przykładowo: (layoutlist) -> ("PIETRO 1-4" "PRZEKROJE") dmatusz3 1
czarnula_100 Opublikowano 17 Grudnia Autor Zgłoś Opublikowano 17 Grudnia a gdzie znajdę tą funkcję (lispa)
kojacek Opublikowano 18 Grudnia Zgłoś Opublikowano 18 Grudnia 8 godzin temu, czarnula_100 napisał: a gdzie znajdę tą funkcję (lispa) w linii poleceń wpisz.
czarnula_100 Opublikowano 18 Grudnia Autor Zgłoś Opublikowano 18 Grudnia 11 godzin temu, kojacek napisał: funkcja AutoLISP o nazwie layoutlist
pawmal Opublikowano 18 Grudnia Zgłoś Opublikowano 18 Grudnia Proszę wraz z nawiasem wpisać (layoutlist)
Marek-M Opublikowano Piątek o 20:49 Zgłoś Opublikowano Piątek o 20:49 (edytowane) Chyba jeszcze podkreślnik przed komendą może pomóc: _layoutlist Edytowane Piątek o 20:49 przez Marek-M
Martin_S Opublikowano Niedziela o 23:25 Zgłoś Opublikowano Niedziela o 23:25 A jest taka możliwość by zrobić zestawienie rysunków (layotów) do pliku tekstowego ze zmiennymi z tabelki rysunkowej w stylu: TYTUŁ RYSUNKU SKALA ..... NR RYSUNKU NP. RZUT FUNDAMENTÓW 1:50 ............. K-01
kojacek Opublikowano Poniedziałek o 07:39 Zgłoś Opublikowano Poniedziałek o 07:39 (edytowane) 8 godzin temu, Martin_S napisał: A jest taka możliwość by zrobić zestawienie rysunków (layotów) do pliku tekstowego ze zmiennymi z tabelki rysunkowej w stylu: TYTUŁ RYSUNKU SKALA ..... NR RYSUNKU NP. RZUT FUNDAMENTÓW 1:50 ............. K-01 Można szybko napisać krótkiego Lisp-a. Na przykład wykorzystując bibliotekę CADPL-Pack-v1.lsp (https://kojacek.wordpress.com/2015/11/04/cadpl-pack/). Funkcją cd:BLK_GetAtts zbierzesz wartości atrybutów bloku (dla każdego layout-u), następnie w dowolny sposób przeformatować listę tak jak potrzeba, i w końcu funkcją cd:SYS_WriteFile możesz zapisać wynik w pliku tekstowym. Zwykle takie rozwiązania są bardziej indywidulane (zależą od nazwy bloków, tagów atrybutów, kolejności wartości itp.) niż uniwersalne. Edytowane Poniedziałek o 07:41 przez kojacek
czarnula_100 Opublikowano 23 godziny temu Autor Zgłoś Opublikowano 23 godziny temu W dniu 18.12.2025 o 09:30, pawmal napisał: Proszę wraz z nawiasem wpisać (layoutlist) nie ma takiej komendy, pracuję na wersji ENG wiec opcja z podkreślnikiem też nie powinna być konieczna, a też jej nie ma Reasumując poradziłam sobie, poratowałam się lispem z neta wiem, że są tu "wytrawni gracze" ale może takiemu laikowi jak ja się przyda😀 (defun c:ZESTLAY (/ doc lays laylist i pt rows cols rowh colw tab) (vl-load-com) (setq doc (vla-get-ActiveDocument (vlax-get-acad-object))) (setq lays (vla-get-Layouts doc)) (setq laylist '()) ;; zbierz layouty (bez Model) (vlax-for lay lays (if (/= (strcase (vla-get-Name lay)) "MODEL") (setq laylist (append laylist (list (vla-get-Name lay)))) ) ) ;; punkt wstawienia tabeli (setq pt (getpoint "\nWskaż punkt wstawienia tabeli: ")) (setq rows (+ 1 (length laylist))) ; nagłówek + layouty (setq cols 2) (setq rowh 8.0) (setq colw '(15.0 80.0)) ;; utwórz tabelę (setq tab (vla-AddTable (vla-get-ModelSpace doc) (vlax-3d-point pt) rows cols rowh (car colw) ) ) ;; ustaw szerokości kolumn (vla-SetColumnWidth tab 0 (nth 0 colw)) (vla-SetColumnWidth tab 1 (nth 1 colw)) ;; nagłówki (vla-SetText tab 0 0 "Nr") (vla-SetText tab 0 1 "Nazwa rysunku") ;; wypełnij tabelę (setq i 1) (foreach name laylist (vla-SetText tab i 0 (itoa i)) (vla-SetText tab i 1 name) (setq i (1+ i)) ) (princ "\nZestawienie layoutów utworzone.") (princ) )
kojacek Opublikowano 22 godziny temu Zgłoś Opublikowano 22 godziny temu Dla ścisłości. Całą poniższą zabawę: (setq laylist '()) ;; zbierz layouty (bez Model) (vlax-for lay lays (if (/= (strcase (vla-get-Name lay)) "MODEL") (setq laylist (append laylist (list (vla-get-Name lay)))) ) ) załatwia przecież samo: (layoutlist) o czem przecież mowa od samego początku jest...
czarnula_100 Opublikowano 22 godziny temu Autor Zgłoś Opublikowano 22 godziny temu a czy mogłabym otrzymać z tej funkcji taką formę jak na zdjęciu poniżej czyli tabelę a nie jak opisy w wierszu command, bo coś mi nie wychodzi , może coś żle robię
czarnula_100 Opublikowano 22 godziny temu Autor Zgłoś Opublikowano 22 godziny temu najlepiej jeszcze jak by się dało oddzielić nr rysunku czyli np A-16 od dalszej nazwy typu SEKCJA C- RZUT III PIĘTRA, ( nazwy layouta nie chcę zmieniać bo to znowu mi się przydaje do póżniejszego "drukowania do pdf" funkcją PUBLISH
czarnula_100 Opublikowano 21 godzin temu Autor Zgłoś Opublikowano 21 godzin temu wiem, że to może głupie ale gdyby tak... nazwa layoutu mogła być blokiem z atrybutami wtedy przez dataextraction można by było "wyciągnąć" potrzebne atrybuty i wyeksportować do plików zewnętrznych, takie jak nr rys, nazwę , skalę, etc
ktomaszewski Opublikowano 21 godzin temu Zgłoś Opublikowano 21 godzin temu Godzinę temu, czarnula_100 napisał: najlepiej jeszcze jak by się dało oddzielić nr rysunku czyli np A-16 od dalszej nazwy typu SEKCJA C- RZUT III PIĘTRA, ( nazwy layouta nie chcę zmieniać bo to znowu mi się przydaje do póżniejszego "drukowania do pdf" funkcją PUBLISH To ja proponuję taki prosty skrypt. Działa tak, że oddziela człon sprzed "_" i wpisuje do komórki Nr arkusza a resztę do nazwy. Jak "_" nie znajdzie to wpisuje po prostu aktualne LP. Tabela będzie wyglądać jak na screenie TableOfLayouts.zelx czarnula_100, dmatusz3 i Adam Klaczek 1 2
RobS Opublikowano 21 godzin temu Zgłoś Opublikowano 21 godzin temu Do wyboru do koloru, ja zrobiłem dla Ciebie skrypt ListaArkuszy.lsp Nazwy arkuszy są formatowane, znak "_" zmieniany jest na spację. Narzędzie wywołaj poleceniem ListaArkuszy dmatusz3 i Adam Klaczek 2
czarnula_100 Opublikowano 21 godzin temu Autor Zgłoś Opublikowano 21 godzin temu 6 minut temu, ktomaszewski napisał: To ja proponuję taki prosty skrypt. Działa tak, że oddziela człon sprzed "_" i wpisuje do komórki Nr arkusza a resztę do nazwy. Jak "_" nie znajdzie to wpisuje po prostu aktualne LP. Tabela będzie wyglądać jak na screenie TableOfLayouts.zelx 1.03 kB · 0 pobrań o to mi chodziło od początku, BARDZO DZIĘKUJĘ , przyspieszy to robotę
czarnula_100 Opublikowano 21 godzin temu Autor Zgłoś Opublikowano 21 godzin temu Najbliżej mi do rozwiązania Pana ktomaszewski, nie mniej wszystkim Państwu dziękuję za pomoc !
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się