Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy CAD Studio [www.cadforum.cz]
Česky Slovensky English Deutsch
Přihlášení:
▶ Registrace

 právě nás čte: 2691 
RSS tipy RSS kanál - CAD tipy
RSS diskuze RSS kanál - CAD diskuze

Diskuze Diskuzní fórum, poradna

NápovědaCAD diskuze, rady, výměna zkušeností

CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion 360, 3ds Max a s dalšími CAD aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy CAD Studio - přímá podpora pro zákazníky funguje na helpdesk.cadstudio.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Auto LISP výpis vrcholů entity (rectangle)

 Odpovědět Odpovědět archiv
Autor
michal.s Zobrazit panel
Nováček
Nováček
Avatar

Přihlášen: 08.kvě.2014
Lokalita: ČR (Pha)
Stav: Offline
Bodů: 4
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace michal.s Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Téma: Auto LISP výpis vrcholů entity (rectangle)
    Zasláno: 23.led.2018 v 22:24
Zdravím,
 mohl by někdo poradit jak se dostanu v LISPu k vypsání například vrcholů obdélníku. Umím ho vybrat a vypsat přes "print" celý obsah entity a pak přes "cdr+assoc" vypíšu první tečka-dvojici (10) kde je první vrchol.. ale jak se dostanu k dalším (ostatním třem) vrcholům v entitě, které mají taky tečka-dvojici 10? To mi není jasné Unhappy

díky za tipy!

m.
Zpět nahoru
johny Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
AutoCAD Civil 3D 2016
Stav: Offline
Bodů: 1286
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace johny Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 23.led.2018 v 23:18
Funkce entget vám dala list. Čili udělejte cyklus, který bude testovat každý člen toho listu jestli náhodou není asociován s 10.
Zpět nahoru
michal.s Zobrazit panel
Nováček
Nováček
Avatar

Přihlášen: 08.kvě.2014
Lokalita: ČR (Pha)
Stav: Offline
Bodů: 4
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace michal.s Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 24.led.2018 v 04:39
..To mě napadlo ale nevěděl jsem jak seznam procházet, pohledal jsem a našel funkci "nth" tudy by asi cesta mohla vest?

díky za nakopnutí.. m.


Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
CAD Studio a.s.

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 17577
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Vladimír Michl Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 24.led.2018 v 06:48
Nth je dost pomalé - možná něco jako:

(setq vert (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget (car (entsel "\nSelect a Polyline: ")))))
(foreach x vert (print x))
Vladimír Michl (moderátor)
CAD Studio a.s. - www.cadstudio.cz
(podporu najdete na helpdesk.cadstudio.cz)
Zpět nahoru
michal.s Zobrazit panel
Nováček
Nováček
Avatar

Přihlášen: 08.kvě.2014
Lokalita: ČR (Pha)
Stav: Offline
Bodů: 4
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace michal.s Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 24.led.2018 v 08:37
moc děkuji za radu, bohužel tyhle příkazy vl-... v těch se moc nevyznám používám jen ty "obyčejny" :-)

každopádně díky m.
Zpět nahoru
johny Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
AutoCAD Civil 3D 2016
Stav: Offline
Bodů: 1286
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace johny Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 24.led.2018 v 10:11
Koukněte na příkazy foreach, repeat a while. 
V tomto případě je nejvhodnější foreach.

Spoiler alert!

;; code
(if (setq en (car (entsel)))
    (foreach x (entget en)
      (if (= 10 (car x))
        (print (cdr x)))))
;; end of code


Upravil johny - 26.led.2018 v 09:51
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 6682:Ohraničení výkresových objektů obrysovým "boxem".
Tip 4021:VIPVýpis "Mechanical" proměnných PowerPack/Genius.
Tip 3362:VIPJak zobrazit rozšířená data entit - XDATA?
Tip 5685:Jak automaticky vytvořit body v průsečících čar výkresu?
Tip 11809:Jak najít chybně uzavřené obrysy tvarů pro laserové vypalování?
Tip 10745:Několik metod odstranění nadbytečných vrcholů křivky.


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,172 sekund.