piotrb Opublikowano 12 Listopada 2020 Zgłoś Udostępnij Opublikowano 12 Listopada 2020 (edytowane) Witam serdecznie, to mój pierwszy post - miejcie wyrozumiałość Chciałem przyspieszyć moją pracę i na początek chciałbym napisać proste polecenie. Mam już istniejący wymiar liniowy (np. A). Chciałbym zamienić tekst na tym wymiarze i uzależnić tekst od wartości wymiaru (chcę opisać ile prętów zbrojeniowych mam na danym odcinku): tekst powinien wyglądać: "#8 co X cm". Gdzie X=A/R (zaokrąglone w górę do całkowitych), gdzie R jest rozstawem. Na początek chciałbym wpisywać w wierszu Rozstaw. Albo, jeśli jest taka możliwość: rysując dany wymiar, chciałbym wprowadzać R i dostawać końcowy rezultat (wymiar z pożądanym tekstem). Pracuję na Arcadia Plus 12.0.109.0.x64.Release. Czy mogę prosić o pomoc? Edytowane 12 Listopada 2020 przez piotrb Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 13 Listopada 2020 Zgłoś Udostępnij Opublikowano 13 Listopada 2020 Tak na szybko to mogłoby to być takie coś: (setq R (getdist "podaj rozstaw")) (setq dim (vlax-ename->vla-object (car(entsel "Wybierz wymiar")))) (setq A (vlax-get-property dim 'Measurement) ) (setq X (/ A R)) (vlax-put-property dim 'TextOverride (strcat "#8 co " (rtos X) " cm")) Nie ma jeszcze zaokrąglenia. Nie wiem czy zadziała w Arcadi. w ZWCAD działa. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
piotrb Opublikowano 13 Listopada 2020 Autor Zgłoś Udostępnij Opublikowano 13 Listopada 2020 Dziękuje za szybką odpowiedź. Po wybraniu lini wymiarowej otrzymuje komunikat: "błąd: aplikacja jest zblokowana i nie można jej rozładować." Czyżby Arcadia nie chciała współpracować? Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 13 Listopada 2020 Zgłoś Udostępnij Opublikowano 13 Listopada 2020 Nie wiem. Nie mam i nie znam Arcadi. Ale tak na czuja to skoro pozwala na wskazanie wymiaru to wygląda na to że LISPy obsługuje. Może nie ma albo nie ładuje z automatu środowiska Visual LISP, spróbuj na początku skryptu dodać linię (vl-load-com) A jak nie łyknie to spróbujemy jeszcze czegoś innego. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
piotrb Opublikowano 13 Listopada 2020 Autor Zgłoś Udostępnij Opublikowano 13 Listopada 2020 Po dodaniu: Cytuj (vl-load-com) 1. wskazuje (wpisuje) rozstaw 2. wskazuje wymiar komunikat: błąd: zbyt mało argumentów Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 16 Listopada 2020 Zgłoś Udostępnij Opublikowano 16 Listopada 2020 W pasku poleceń wklej kolej linie i napisz w której jest problem. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
piotrb Opublikowano 16 Listopada 2020 Autor Zgłoś Udostępnij Opublikowano 16 Listopada 2020 (vl-load-com) (setq R (getdist "podaj rozstaw")) (setq dim (vlax-ename->vla-object (car(entsel "Wybierz wymiar")))) (setq A (vlax-get-property dim 'Measurement) ) (setq X (/ A R)) (vlax-put-property dim 'TextOverride (strcat "#8 co " (rtos X) " cm")) wiersz2: podaje rozstaw wiersz3: wybieram linie wymiarową, po zaakceptowaniu (Enter/spacja) pojawia się komunikat: "błąd: zbyt mało argumentów" --------------------------------- pytanie 2: gdzie i jak mogę sprawdzić parametry linii wymiarowej (np 'Measurement) itd. Chodzi mi o to, żeby poznać nazwy parameterów danych obiektów. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 16 Listopada 2020 Zgłoś Udostępnij Opublikowano 16 Listopada 2020 Tą linię (setq dim (vlax-ename->vla-object (car(entsel "Wybierz wymiar")))) Możesz rozbić na (setq selected(entsel "Wybierz wymiar")) (setq dim (vlax-ename->vla-object (car selected ) ) ) I sprawdź co zwraca (setq selected (entsel "Wybierz wymiar")) Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 16 Listopada 2020 Zgłoś Udostępnij Opublikowano 16 Listopada 2020 56 minut temu, piotrb napisał: pytanie 2: gdzie i jak mogę sprawdzić parametry linii wymiarowej (np 'Measurement) itd. Chodzi mi o to, żeby poznać nazwy parameterów danych obiektów. Jeśli dobrze rozumiem pytanie to będzie to (vlax-dump-object dim t ) gdzie (setq dim (vlax-ename->vla-object (car(entsel "Wybierz ")))) 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ą.