piotrb Opublikowano 12 Listopada 2020 Zgłoś 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
kruszynski Opublikowano 13 Listopada 2020 Zgłoś 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.
piotrb Opublikowano 13 Listopada 2020 Autor Zgłoś 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ć?
kruszynski Opublikowano 13 Listopada 2020 Zgłoś 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.
piotrb Opublikowano 13 Listopada 2020 Autor Zgłoś 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
kruszynski Opublikowano 16 Listopada 2020 Zgłoś Opublikowano 16 Listopada 2020 W pasku poleceń wklej kolej linie i napisz w której jest problem.
piotrb Opublikowano 16 Listopada 2020 Autor Zgłoś 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.
kruszynski Opublikowano 16 Listopada 2020 Zgłoś 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"))
kruszynski Opublikowano 16 Listopada 2020 Zgłoś 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 "))))
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ę