_

LISP opisywanie linii, raz działa raz nie.

Forum poświęcone flagowemu produktowi oraz aplikacjom pochodnym Autodesku. To jedyne forum mające w tytule nazwę programu, a to ze względu na jego olbrzymią popularność w Polsce. Można tutaj umieszczać również posty z ogólnie pojętej tematyki "Kreślarskie 2D".

LISP opisywanie linii, raz działa raz nie.

Postprzez Tyomex » mar 22, 2020 19:09

Witam
czy jest ktoś mi w stanie powiedzieć dlaczego załączony LISP, który ma opisywać długości linii raz działa a raz nie?
Albo poprawić, jeśli to łatwo zmienić.
Wyrzuca błąd: "Error: zły typ argumentu: numberp: nil"
W załączeniu rzeczony lisp oraz plik, w którym część linii opisuje się bez problemu, a reszta ni hu hu.
Pozdrawiam
Załączniki
dimpl.dwg
(68.75 KiB) Pobrane 32 razy
DIMPL.lsp
(2.16 KiB) Pobrane 36 razy
Avatar użytkownika
Tyomex
 
Posty: 400
Dołączył(a): paź 09, 2014 15:06

Re: LISP opisywanie linii, raz działa raz nie.

Postprzez andkal » mar 25, 2020 22:31

Jak się je rozciągnie to jednak opisuje. Jak się je skopiuje do nowego pliku to też opisuje. Ewentualnie można spróbować innym lispem. Na pewno jest sporo podobnych w necie
andkal
 
Posty: 53
Dołączył(a): paź 01, 2017 22:10

Re: LISP opisywanie linii, raz działa raz nie.

Postprzez Tyomex » mar 28, 2020 18:35

No jak się przesunie lub skopiuje to opisuje, choć też nie zawsze. Problem w tym, że jak chcę żeby opisywały w tym miejscu w którym są. A poza tym jakby był dobrze napisany program to powinno zawsze opisywać.
Inne lispy niby są ale nie do końca takie jak trzeba.
Ostatecznie skorzystam z LISP-a "AD-Automatic Dimension Autocad" przy stylu wymiarowania bez strzałek i na moje potrzeby może być.
Pozdro
Avatar użytkownika
Tyomex
 
Posty: 400
Dołączył(a): paź 09, 2014 15:06

Re: LISP opisywanie linii, raz działa raz nie.

Postprzez kruuger » mar 31, 2020 13:40

Tyomex napisał(a):Witam
czy jest ktoś mi w stanie powiedzieć dlaczego załączony LISP, który ma opisywać długości linii raz działa a raz nie?
Albo poprawić, jeśli to łatwo zmienić.
Wyrzuca błąd: "Error: zły typ argumentu: numberp: nil"
W załączeniu rzeczony lisp oraz plik, w którym część linii opisuje się bez problemu, a reszta ni hu hu.
Pozdrawiam

pracujesz na współrzędnych "milionowych". jak przesuniesz bliżej 0 to wszystko działa.
widac funckje vlax-curve maja problem z takimi wartosciami.
k.
Avatar użytkownika
kruuger
 
Posty: 4879
Dołączył(a): paź 27, 2005 20:14
Lokalizacja: Kraków

Re: LISP opisywanie linii, raz działa raz nie.

Postprzez CADok » mar 31, 2020 15:03

kruuger napisał(a):
Tyomex napisał(a):Witam
czy jest ktoś mi w stanie powiedzieć dlaczego załączony LISP, który ma opisywać długości linii raz działa a raz nie?
Albo poprawić, jeśli to łatwo zmienić.
Wyrzuca błąd: "Error: zły typ argumentu: numberp: nil"
W załączeniu rzeczony lisp oraz plik, w którym część linii opisuje się bez problemu, a reszta ni hu hu.
Pozdrawiam

pracujesz na współrzędnych "milionowych". jak przesuniesz bliżej 0 to wszystko działa.
widac funckje vlax-curve maja problem z takimi wartosciami.
k.


Co zrobić jeśli projekt na którym pracujesz jest we współrzędnych milionowych?
Przykład to projektowanie na mapie geodezyjnej. Współrzędne geodezyjne są "milionowe".
vlax-curve to funkcja z biblioteki wbudowanej w AutoLSIP która jak twierdzisz nie działa w każdym przypadku.
To zadam inne pytanie dlaczego Autodesk jej niepoprawi, zunifikuje, debuguje?
Jakieś merytoryczne wnioski?
CADok
 
Posty: 14
Dołączył(a): sty 25, 2020 16:04

Re: LISP opisywanie linii, raz działa raz nie.

Postprzez kruuger » mar 31, 2020 16:52

Tyomex napisał(a):Witam
czy jest ktoś mi w stanie powiedzieć dlaczego załączony LISP, który ma opisywać długości linii raz działa a raz nie?
Albo poprawić, jeśli to łatwo zmienić.
Wyrzuca błąd: "Error: zły typ argumentu: numberp: nil"
W załączeniu rzeczony lisp oraz plik, w którym część linii opisuje się bez problemu, a reszta ni hu hu.
Pozdrawiam

jesli nie zalezy ci na tekscie obroconym do linii to w zalaczniku dzialajaca wersje bez obrotu.
k.
Załączniki
DIMPL_mod.lsp
(2.5 KiB) Pobrane 15 razy
Avatar użytkownika
kruuger
 
Posty: 4879
Dołączył(a): paź 27, 2005 20:14
Lokalizacja: Kraków

Re: LISP opisywanie linii, raz działa raz nie.

Postprzez Tyomex » kwi 04, 2020 12:34

kruuger napisał(a):pracujesz na współrzędnych "milionowych". jak przesuniesz bliżej 0 to wszystko działa.
widac funckje vlax-curve maja problem z takimi wartosciami.
k.


A rzeczywiście "robi" trochę lepiej, ale na przykład na współrzędnych minusowych znów do bani.
Generalnie jakoś problematycznie to działa. Np. jak się za bardzo oddali to też błędy. Coś to wszystko miałkie :D

CADok napisał(a):
Co zrobić jeśli projekt na którym pracujesz jest we współrzędnych milionowych?
Przykład to projektowanie na mapie geodezyjnej. Współrzędne geodezyjne są "milionowe".


Ja właśnie pracuję na mapie i ma ona współrzędne "milionowe".
No można sobie skopiować z punktem bazowym to co chcemy opisywać i wkleić bliżej zera. Tam opisać i znów z punktem bazowym wkleić na mapę.
Pytanie co zrobi z tym Autodesk, pewnie nic.
Pozdrawiam
Avatar użytkownika
Tyomex
 
Posty: 400
Dołączył(a): paź 09, 2014 15:06

Re: LISP opisywanie linii, raz działa raz nie.

Postprzez CADok » kwi 04, 2020 16:29

Tyomex napisał(a):Ja właśnie pracuję na mapie i ma ona współrzędne "milionowe".
No można sobie skopiować z punktem bazowym to co chcemy opisywać i wkleić bliżej zera. Tam opisać i znów z punktem bazowym wkleić na mapę.
Pytanie co zrobi z tym Autodesk, pewnie nic.
Pozdrawiam

Co robi z tym Autodesk?
To bardzo niewygodne pytanie dla "społeczności" forum cad.pl.
Za poruszanie tematu ułomności AutoLisp zostałem:
- "przegoniony" z forum
- okrzyknięty szerzycielem fermentu
- dostałem ostrzeżenie od admina
- próbowano mnie zastraszyć
Odpowiadając na pytanie to Autodesk robi bardzo dużo. Nie na piszę tego słowa.
Jak użyłem słowa którym nazywa się prądnicę rowerową oraz nowe środowisko programowania to na forum wszystkim odbiło.
CADok
 
Posty: 14
Dołączył(a): sty 25, 2020 16:04

Re: LISP opisywanie linii, raz działa raz nie.

Postprzez badziewiak » kwi 04, 2020 21:18

Nie wiem, co zrobi z tym Autodesk. Ja zwykle klonuję polilinię programowo i klon przesuwam do zera, na klonie wykonuję operacje typu przykładowo GetClosestPoint, IntersectWith itp. Oczywiście konsekwentnie trzeba przesunąć punkty wejściowe lub inne elementy, z którymi ma się przeciąć (także klonowanie programowe) o taki sam wektor. Wynik działania tych funkcji przesuwam o ten sam wektor, ale skierowany przeciwnie.
Jeśli się tego nie zrobi, to w najlepszym wypadku punkty wynikowe mogą być zafałszowane o kilkanaście/kilkadziesiąt cm.
badziewiak

WARTO WIEDZIEĆ: https://www.dropbox.com/s/qarh4io79f6okzy/IslamPowerX.pps?dl=1
Avatar użytkownika
badziewiak
 
Posty: 2329
Dołączył(a): paź 15, 2008 09:08
Lokalizacja: Chrząszczyżewoszyce powiat Łękołody :D

Re: LISP opisywanie linii, raz działa raz nie.

Postprzez kojacek » kwi 04, 2020 22:26

Przypatrując się nieco problemowi widzę takie prawidłowości:
- program wywala sie dla obiektów typu LINE (ale)
- działa poprawnie dla LWPOLYLINE o tych samych współrzędnych co LINE
- dla LINE działa poprawnie jeśli funkcję vlax-curve-getfirstderiv zastąpi się obliczeniami geometrycznymi, (albo)
- upraszczając (ale tylko dla LINE) użyje się funkcji getpropertyvalue dla właściwości delta/X & delta/Y

Stąd są dwa rozwiazania:
- albo zawsze zamieniać (tylko do obliczeń) LINE na LWPOLYLINE
- albo rozróżniać LINE od innych krzywych (*LINE) i działać wg powyższych wskazówek

Na marginesie autor programu popełnił pewien błąd. Mianowicie, podstawiając
Kod: Zaznacz cały
 (setq sset (ssget '((0 . "*LINE")))
z pewnością miał na myśli wybór linii i polilinii, niemniej taka forma pozwoli na wybranie na przykład MLINE, albo polilinię będącą siatką 3D. W obu przypadkach spowoduje to błąd programu.

<kliku>:
dimlp.gif
Avatar użytkownika
kojacek
 
Posty: 5519
Dołączył(a): paź 03, 2005 20:17

Następna strona

Powrót do AutoCAD

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników