czarnula_100 Opublikowano 17 Grudnia 2025 Zgłoś Opublikowano 17 Grudnia 2025 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 ? Cytuj
kojacek Opublikowano 17 Grudnia 2025 Zgłoś Opublikowano 17 Grudnia 2025 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 Cytuj
czarnula_100 Opublikowano 17 Grudnia 2025 Autor Zgłoś Opublikowano 17 Grudnia 2025 a gdzie znajdę tą funkcję (lispa) Cytuj
kojacek Opublikowano 18 Grudnia 2025 Zgłoś Opublikowano 18 Grudnia 2025 8 godzin temu, czarnula_100 napisał: a gdzie znajdę tą funkcję (lispa) w linii poleceń wpisz. Cytuj
czarnula_100 Opublikowano 18 Grudnia 2025 Autor Zgłoś Opublikowano 18 Grudnia 2025 11 godzin temu, kojacek napisał: funkcja AutoLISP o nazwie layoutlist Cytuj
pawmal Opublikowano 18 Grudnia 2025 Zgłoś Opublikowano 18 Grudnia 2025 Proszę wraz z nawiasem wpisać (layoutlist) Cytuj
Marek-M Opublikowano 19 Grudnia 2025 Zgłoś Opublikowano 19 Grudnia 2025 (edytowane) Chyba jeszcze podkreślnik przed komendą może pomóc: _layoutlist Edytowane 19 Grudnia 2025 przez Marek-M Cytuj
Martin_S Opublikowano 21 Grudnia 2025 Zgłoś Opublikowano 21 Grudnia 2025 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 Cytuj
kojacek Opublikowano 22 Grudnia 2025 Zgłoś Opublikowano 22 Grudnia 2025 (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 22 Grudnia 2025 przez kojacek Cytuj
czarnula_100 Opublikowano 23 Grudnia 2025 Autor Zgłoś Opublikowano 23 Grudnia 2025 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) ) Cytuj
kojacek Opublikowano 23 Grudnia 2025 Zgłoś Opublikowano 23 Grudnia 2025 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... Cytuj
czarnula_100 Opublikowano 23 Grudnia 2025 Autor Zgłoś Opublikowano 23 Grudnia 2025 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ę Cytuj
czarnula_100 Opublikowano 23 Grudnia 2025 Autor Zgłoś Opublikowano 23 Grudnia 2025 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 Cytuj
czarnula_100 Opublikowano 23 Grudnia 2025 Autor Zgłoś Opublikowano 23 Grudnia 2025 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 Cytuj
ktomaszewski Opublikowano 23 Grudnia 2025 Zgłoś Opublikowano 23 Grudnia 2025 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 dmatusz3, czarnula_100, pawmal i 1 inny 1 3 Cytuj
RobS Opublikowano 23 Grudnia 2025 Zgłoś Opublikowano 23 Grudnia 2025 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 Adam Klaczek i dmatusz3 2 Cytuj
czarnula_100 Opublikowano 23 Grudnia 2025 Autor Zgłoś Opublikowano 23 Grudnia 2025 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ę Cytuj
czarnula_100 Opublikowano 23 Grudnia 2025 Autor Zgłoś Opublikowano 23 Grudnia 2025 Najbliżej mi do rozwiązania Pana ktomaszewski, nie mniej wszystkim Państwu dziękuję za pomoc ! dmatusz3 1 Cytuj
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ą.