_

LISP odsuwanie poliliniii z rozbiciem

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 odsuwanie poliliniii z rozbiciem

Postprzez Lukaszs85 » lut 24, 2017 10:08

Witam
Poszukuje gotowego programiku LISP albo pomocy jak go stworzyć, który by wykonywał następującą prodedurę:

1. Wybór polilinii i odsunięcie jej o zadaną wartość - to już znalazłem na forum
Kod: Zaznacz cały
(vl-load-com)(vla-offset (vlax-ename->vla-object (car (entsel)))
wartosc_odsuniecia)


2. Przeniesienie tej odsuniętej polilinii na zadaną warstwę (np.: 0)
3. Rozbicie tej odsuniętej polilinii (oryginalna ma pozostać bez zmian.

Bardzo proszę o podpowiedzi

pozdrawiam
Łukasz
Lukaszs85
 
Posty: 20
Dołączył(a): lut 24, 2017 00:24

Re: LISP odsuwanie poliliniii z rozbiciem

Postprzez ziele_o2k » lut 24, 2017 11:17

Ad 2)
Kod: Zaznacz cały
(setq obj (vlax-ename->vla-object (entlast)))
(vla-put-layer obj "nazwa warstwy")

Ad 3)
Kod: Zaznacz cały
(vla-explode obj)
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 389
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: LISP odsuwanie poliliniii z rozbiciem

Postprzez Lukaszs85 » lut 24, 2017 12:13

Dzięki wielkie!! Działa jak należy :)
Lukaszs85
 
Posty: 20
Dołączył(a): lut 24, 2017 00:24

Re: LISP odsuwanie poliliniii z rozbiciem

Postprzez ziele_o2k » lut 24, 2017 12:28

Lukaszs85 napisał(a):Dzięki wielkie!! Działa jak należy :)

Teraz jeszcze sporo sprawdzajek trza dać żeby się nie wywalało :)


EDIT:
Przykładowo dla warstwy
Kod: Zaznacz cały
  (setq obj (vlax-ename->vla-object (entlast)))
  (setq ln "nazwa warstwy")
  (if (tblsearch "LAYER" ln)
       (vla-put-layer obj ln)
       (princ (strcat "\nWarstwa " ln " nie istnieje.") ))
  )
  (princ)
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 389
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: LISP odsuwanie poliliniii z rozbiciem

Postprzez kojacek » lut 24, 2017 13:53

ziele_o2k napisał(a):
Lukaszs85 napisał(a):Dzięki wielkie!! Działa jak należy :)

Teraz jeszcze sporo sprawdzajek trza dać żeby się nie wywalało :)


EDIT:
Przykładowo dla warstwy
Kod: Zaznacz cały
  (setq obj (vlax-ename->vla-object (entlast)))
  (setq ln "nazwa warstwy")
  (if (tblsearch "LAYER" ln)
       (vla-put-layer obj ln)
       (princ (strcat "\nWarstwa " ln " nie istnieje.") ))
  )
  (princ)


Jak dasz DXF-em + entmodem, warstwa może nie istnieć. Się zrobi sama. Powstanie (z kolan).
Avatar użytkownika
kojacek
 
Posty: 5222
Dołączył(a): paź 03, 2005 20:17

Re: LISP odsuwanie poliliniii z rozbiciem

Postprzez Lukaszs85 » lut 24, 2017 23:32

Zasadniczo nie będą potrzebne sprawdzajki, bo głównie chodzi o to w 99,99% będzie to warstwa 0.
Lukaszs85
 
Posty: 20
Dołączył(a): lut 24, 2017 00:24

Re: LISP odsuwanie poliliniii z rozbiciem

Postprzez Lukaszs85 » lut 25, 2017 00:19

Brakowało jeszcze :
Kod: Zaznacz cały
(vla-delete obj)

żeby usuwana była polilinia która przenoszona na zadaną warstwę.
Lukaszs85
 
Posty: 20
Dołączył(a): lut 24, 2017 00:24


Powrót do AutoCAD

Kto przegląda forum

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