_

LISP i bloki dynamiczne

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 i bloki dynamiczne

Postprzez Kajtek » kwi 27, 2010 09:13

Witam
Pytanie początkującego programisty :) Jak za pomoca Lispa wprowadzić dane do parametrów bloków dynamicznych takich jak: lookup, distance,angle itd.? Występują one w zakładce properties/custom.
Pozdrawiam
Kajtek
 
Posty: 25
Dołączył(a): sty 19, 2009 08:24
Lokalizacja: Gdańsk

Re: LISP i bloki dynamiczne

Postprzez asa » kwi 27, 2010 17:08

Kajtek napisał(a):Witam
Pytanie początkującego programisty :) Jak za pomoca Lispa wprowadzić dane do parametrów bloków dynamicznych takich jak: lookup, distance,angle itd.? Występują one w zakładce properties/custom.
Pozdrawiam

nie wiem czy Ci o to chodzi
mój blok ma między innymi parametr "szer" który odpowiedzialny jest za jego rozciąganie. A tak za pomocą lisp się do niego wgrzebuję:
Kod: Zaznacz cały

(mapcar '(lambda(el)(if (=(vla-get-propertyname el)"szer")
    (vla-put-value el(vlax-make-variant  (getreal"\podaj nową wartosc parametru: ") vlax-vbDouble))))
(vlax-safearray->list(vlax-variant-value(vla-GetDynamicBlockProperties(vlax-ename->vla-object(car(entsel)))))))

pozdrawiam ciepło
asa
asa
 
Posty: 619
Dołączył(a): lut 18, 2007 20:01

Re: LISP i bloki dynamiczne

Postprzez Kajtek » kwi 27, 2010 20:46

Dzięki wielkie. O to właśnie mi chodziło.
Pozdrawiam
Kajtek
 
Posty: 25
Dołączył(a): sty 19, 2009 08:24
Lokalizacja: Gdańsk

Re: LISP i bloki dynamiczne

Postprzez badziewiak » kwi 27, 2010 22:09

asa napisał(a):
Kajtek napisał(a):Witam
Pytanie początkującego programisty :) Jak za pomoca Lispa wprowadzić dane do parametrów bloków dynamicznych takich jak: lookup, distance,angle itd.? Występują one w zakładce properties/custom.
Pozdrawiam

nie wiem czy Ci o to chodzi
mój blok ma między innymi parametr "szer" który odpowiedzialny jest za jego rozciąganie. A tak za pomocą lisp się do niego wgrzebuję:
Kod: Zaznacz cały

(mapcar '(lambda(el)(if (=(vla-get-propertyname el)"szer")
    (vla-put-value el(vlax-make-variant  (getreal"\podaj nową wartosc parametru: ") vlax-vbDouble))))
(vlax-safearray->list(vlax-variant-value(vla-GetDynamicBlockProperties(vlax-ename->vla-object(car(entsel)))))))

pozdrawiam ciepło
asa
:shock: A tak po naszemu mozna?
Avatar użytkownika
badziewiak
 
Posty: 2412
Dołączył(a): paź 15, 2008 09:08
Lokalizacja: Chrząszczyżewoszyce powiat Łękołody :D

Re: LISP i bloki dynamiczne

Postprzez asa » kwi 28, 2010 20:32

badziewiak napisał(a):
asa napisał(a):
Kajtek napisał(a):Witam
Pytanie początkującego programisty :) Jak za pomoca Lispa wprowadzić dane do parametrów bloków dynamicznych takich jak: lookup, distance,angle itd.? Występują one w zakładce properties/custom.
Pozdrawiam

nie wiem czy Ci o to chodzi
mój blok ma między innymi parametr "szer" który odpowiedzialny jest za jego rozciąganie. A tak za pomocą lisp się do niego wgrzebuję:
Kod: Zaznacz cały

(mapcar '(lambda(el)(if (=(vla-get-propertyname el)"szer")
    (vla-put-value el(vlax-make-variant  (getreal"\podaj nową wartosc parametru: ") vlax-vbDouble))))
(vlax-safearray->list(vlax-variant-value(vla-GetDynamicBlockProperties(vlax-ename->vla-object(car(entsel)))))))

pozdrawiam ciepło
asa
:shock: A tak po naszemu mozna?

Badziewiaku ale o co chodzi? Nie chodzi ? to poprawię
pozdrawiam ciepło
asa
asa
 
Posty: 619
Dołączył(a): lut 18, 2007 20:01

Re: LISP i bloki dynamiczne

Postprzez badziewiak » kwi 28, 2010 21:12

asa napisał(a):
badziewiak napisał(a):
asa napisał(a):
Kajtek napisał(a):Witam
Pytanie początkującego programisty :) Jak za pomoca Lispa wprowadzić dane do parametrów bloków dynamicznych takich jak: lookup, distance,angle itd.? Występują one w zakładce properties/custom.
Pozdrawiam

nie wiem czy Ci o to chodzi
mój blok ma między innymi parametr "szer" który odpowiedzialny jest za jego rozciąganie. A tak za pomocą lisp się do niego wgrzebuję:
Kod: Zaznacz cały

(mapcar '(lambda(el)(if (=(vla-get-propertyname el)"szer")
    (vla-put-value el(vlax-make-variant  (getreal"\podaj nową wartosc parametru: ") vlax-vbDouble))))
(vlax-safearray->list(vlax-variant-value(vla-GetDynamicBlockProperties(vlax-ename->vla-object(car(entsel)))))))

pozdrawiam ciepło
asa
:shock: A tak po naszemu mozna?

Badziewiaku ale o co chodzi? Nie chodzi ? to poprawię
pozdrawiam ciepło
asa
Wybacz, tak mi sie wyrwalo. Lisp jest mi obcy i napawa wstretem ;), zakochalem sie w ARXie, ktory choc ma wady wytykane przez Mr 'K', daje o wiele wieksze mozliwosci... ale to inna bajka. Z grubsza wiem o co chodzi w tym przykladzie, ale np. vlax-make-variant czy vla-object(car(entsel)) sa dla mnie dziwnie brzmiace. Nie wspomne o jakichs lambdach i mapcar-ach... Mniejsza z tym. Merytorycznie nic do tego nie mam, bo nie sprawdzalem :) Moj tekst wynika z mojej nieznajomosci lispa, ale ta moja nieznajomosc nie powinna robic zamieszania na forum, za co przepraszam ;) Z mojej strony EOT.
Avatar użytkownika
badziewiak
 
Posty: 2412
Dołączył(a): paź 15, 2008 09:08
Lokalizacja: Chrząszczyżewoszyce powiat Łękołody :D

Re: LISP i bloki dynamiczne

Postprzez kojacek » kwi 28, 2010 21:37

badziewiak napisał(a): (...) Nie wspomne o jakichs lambdach i mapcar-ach... (...)


;)

Proszę nie przyjmować, że Lisp nadaje się tylko do programowania Animacji i Grafiki, SI, Bioinformatyki, B2B i E-Commerce, Zbierania Danych, aplikacji EDA/Semiconductor, Systemów Eksperckich, Finansów, Inteligentnych Agentów, Zarządzania Wiedzą, Mechanicznych CAD, Modelowania i Symulacji, Naturalnych Języków, Optymalizacji, Badań i Rozwoju, Analizy Ryzyka, Planowania, Telekomunikacji i Tworzenia Stron WWW tylko dlatego, że te rzeczy zostały wymienione na liście.
— Kent Pitman
Avatar użytkownika
kojacek
 
Posty: 5574
Dołączył(a): paź 03, 2005 20:17

Re: LISP i bloki dynamiczne

Postprzez badziewiak » kwi 28, 2010 21:59

kojacek napisał(a):
badziewiak napisał(a): (...) Nie wspomne o jakichs lambdach i mapcar-ach... (...)


;)

Proszę nie przyjmować, że Lisp nadaje się tylko do programowania Animacji i Grafiki, SI, Bioinformatyki, B2B i E-Commerce, Zbierania Danych, aplikacji EDA/Semiconductor, Systemów Eksperckich, Finansów, Inteligentnych Agentów, Zarządzania Wiedzą, Mechanicznych CAD, Modelowania i Symulacji, Naturalnych Języków, Optymalizacji, Badań i Rozwoju, Analizy Ryzyka, Planowania, Telekomunikacji i Tworzenia Stron WWW tylko dlatego, że te rzeczy zostały wymienione na liście.
— Kent Pitman
Ech... skoro wlozyles kij w mrowisko, to odpowiem ;): C++ nadaje sie do chyba wszystkiego. Nawet wingroza jest napisana w C++, wydajnosc jego jest przeogromna. Tworcy C++ maja bardzo ostre rygory wydajnosciowe: Kazda nowinka nie moze byc mniej wydajna niz musi. No i podaje za wiki:

Programiści cenią go za połączenie bezkompromisowej wydajności programów wynikowych z zaawansowanymi mechanizmami umożliwiającymi programowanie na wysokim poziomie abstrakcji i kontrolę zależności między komponentami w wielkich projektach. C++ stara się zachować kompatybilność z językiem C, ale jednocześnie udostępnia szeroki wachlarz nowych mechanizmów, m.in: programowanie obiektowe z wielokrotnym dziedziczeniem i kontrolą dostępu, programowanie generyczne dzięki wykorzystaniu szablonów, przeciążanie funkcji i operatorów, automatyczne konwersje, obsługę sytuacji wyjątkowych i zarządzanie przestrzeniami nazw. Od ostatnio powstałych konkurentów, takich jak Java i C#, wyróżnia się traktowaniem typów zdefiniowanych przez użytkownika na równi z typami wbudowanymi.

No i dodam jeszcze duzy wachlarz bibliotek rozszerzajacych jego zastosowania (czyli jakby lispy do autocada). Jak dla mnie, jest to jezyk prawie idealny. To moze pojac tylko ten, kto posmakowal tego jezyka ;)
Avatar użytkownika
badziewiak
 
Posty: 2412
Dołączył(a): paź 15, 2008 09:08
Lokalizacja: Chrząszczyżewoszyce powiat Łękołody :D

Re: LISP i bloki dynamiczne

Postprzez kojacek » kwi 28, 2010 22:26

e tam zaraz kij w mrowisko... :)

posmakuj tego:

Kod: Zaznacz cały
(eval (read (apply 'strcat (mapcar 'chr '(40 97 108 101 114 116 34 76 73 83 80 32 59 41 34 41)))))


wbrew pozorom, niewiele programów to potrafi...


kojacek
Avatar użytkownika
kojacek
 
Posty: 5574
Dołączył(a): paź 03, 2005 20:17

Re: LISP i bloki dynamiczne

Postprzez badziewiak » kwi 28, 2010 22:27

kojacek napisał(a):e tam zaraz kij w mrowisko... :)

posmakuj tego:

Kod: Zaznacz cały
(eval (read (apply 'strcat (mapcar 'chr '(40 97 108 101 114 116 34 76 73 83 80 32 59 41 34 41)))))


wbrew pozorom, niewiele programów to potrafi...


kojacek
Ale najpierw napisz co to robi :)
Avatar użytkownika
badziewiak
 
Posty: 2412
Dołączył(a): paź 15, 2008 09:08
Lokalizacja: Chrząszczyżewoszyce powiat Łękołody :D

Następna strona

Powrót do AutoCAD

Kto przegląda forum

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