Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy Arkance Systems [www.cadforum.cz]
CZ | SK | EN | DE
Přihlášení
či registrace
   právě nás čte: 5927 
RSS kanál - CAD tipy RSS tipy
RSS 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 Arkance Systems (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

Téma uzavřenoZoznam cyklicky pridávaný do zoznamu a kótovanie

 Odpovědět Odpovědět Stránka  <12 archiv
Autor
chlebovsky Zobrazit panel
Zasloužilý člen
Zasloužilý člen
Avatar

Přihlášen: 18.čer.2007
Lokalita: ČR (JM)
Používám:
Autocad R9 - 2022
Stav: Offline
Bodů: 112
Přímý odkaz na tuto zprávu Zasláno: 04.čvc.2008 v 15:24
jojo jasný, já to psal trochu všeobecně, je tam třeba testovat když je to :
BYLAYER "DLEHLAD" pak to bude 256
BYBLOCK "DLEBLOK"  pak to bude 0
pokud je to RGB nastavuje se "RGB:XXX,XXX,XXX"
jinak je to 1-255
jenže do 62 se ukládá jenom 0-255
v případě 256 = dlehlad se prostě položka 62 vypouští nebo uvede 62.256
 
a co se týče RGB :
tak do 62 se ukládá podobná barva a do kodu 420 se uloží binární kod RGB barvy a to takto
256*256*R + 256*G + B takže v případě 210,219,36 bude
(62.52)(420.1318660)
 
Jinak na dotaz p. michaelflyer kde na to chodím :-)
to jsou léta praxe cca 15let, a jak člověm narazí na jakýkoliv problém, tak radí různé fóra, jak americe tak tady naše nejlepší Cad Forum :-) a když zklame naprosto všecko tak poradí někdy to, že se obrátím přímo na toho nejvyššího z tohoto fora, tam je jistota, ten poradí vždycky :-) a to je p. Michl :-)
 
Kdysy jsem natrefil na jednu knížku o lispu na verzi 11. velmi jednoduchá, ale právě takovéto vychytávky tam jsou, a zrovna ta s tím eval tam je na tomto příkladě :-) takže já nééé :-) napadlo mně jí někdy naskenovat a tady nabídnout, ale nevím zda to vůbec můžu udělat. Každopádně, není problém naskenit, a poslat v pdf na vytištění (autor promine, snad, když je z roku já nevím kolik před naším letopočtem) ale je to jen základ.... bez novinek....
 
 
Ing. Martin Chlebovský

www.kde-je-auto.cz

GPS monitoring provozu vozidel a osob.

WebDeveloper.

Programátor aplikací pro Autocad a MS Office.

Tvorba WWW aplikací.

Modelování domů a staveb.&l
Zpět nahoru
michaelflyer Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 05.úno.2007
Lokalita: Slovensko
Používám:
AutoCAD
Stav: Offline
Bodů: 105
Přímý odkaz na tuto zprávu Zasláno: 08.čvc.2008 v 23:01
Prosím vás, ako by som sa zbavil nil-ových hodnôt z list-u? Viem, že max_arc_bod2 a max_arc_bod3 sú nil-ové. Ale chcem aby ich nebralo (nezapisovalo) do zoznamu (teda tie nil-ové hodnoty). Platí to pre každú premennú.

(setq surad_x_y (append surad_x_y (list bod_arc_a bod_arc_b max_arc_bod1 max_arc_bod2 max_arc_bod3 max_arc_bod4)))
Výpis súradníc:
((4323.11 3287.45) (4197.1 3967.82) (4236.03 3970.01) nil nil (4582.87 3623.18))

Upravil michaelflyer - 08.čvc.2008 v 23:03
Michal MUCHA
Zpět nahoru
michaelflyer Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 05.úno.2007
Lokalita: Slovensko
Používám:
AutoCAD
Stav: Offline
Bodů: 105
Přímý odkaz na tuto zprávu Zasláno: 09.čvc.2008 v 13:28
Skúšal som to vymeniť za medzeru ale nefungovalo to.
(setq surad_x_y (subst (cons nil " ") (assoc nil surad_x_y) surad_x_y))
(entmod surad_x_y)

Už ma nič nenapadá. Nemá niekto ničo v zálohe?
Michal MUCHA
Zpět nahoru
chlebovsky Zobrazit panel
Zasloužilý člen
Zasloužilý člen
Avatar

Přihlášen: 18.čer.2007
Lokalita: ČR (JM)
Používám:
Autocad R9 - 2022
Stav: Offline
Bodů: 112
Přímý odkaz na tuto zprávu Zasláno: 09.čvc.2008 v 13:39

Vyhodit nil ze seznamu je špatný, to se musí dělat cyklem přez všechny položky, tam test zda je nil nebo není, když není ukládá do druhého seznamu, a tím pak přepíše ten první.

 
Ideální je ten nil do toho seznamu rovnou nepřidávat :
(if bod_arc_a (setq surad_x_y (append surad_x_y (list bod_arc_a))))
(if bod_arc_b (setq surad_x_y (append surad_x_y (list bod_arc_b))))
..
..
..
(if max_arc_bod4 (setq surad_x_y (append surad_x_y (list max_arc_bod4))))
 
prostě to do seznamu nedávat :-) a položky načítat postupně
Ing. Martin Chlebovský

www.kde-je-auto.cz

GPS monitoring provozu vozidel a osob.

WebDeveloper.

Programátor aplikací pro Autocad a MS Office.

Tvorba WWW aplikací.

Modelování domů a staveb.&l
Zpět nahoru
michaelflyer Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 05.úno.2007
Lokalita: Slovensko
Používám:
AutoCAD
Stav: Offline
Bodů: 105
Přímý odkaz na tuto zprávu Zasláno: 09.čvc.2008 v 14:25
SUPER!!!!

Skúšal som aj obrysu arc-u (už ho len implementovať do pôvodného obrysu). Poviem vám, že žiadna sranda (predtým som sa asi podceňoval)!!!! Program má veľkosť 8kB. No možno som išiel na to veľmi zložito...
(if bod_arc_a (setq surad_x_y (append surad_x_y (list bod_arc_a))))
Inak nechápem ako to funguje. Ako to, že funkcia if (ak je nil-ová) nezapíše do zoznamu premennú...
Michal MUCHA
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 09.čvc.2008 v 15:19
pozorne si prectete napovedu k IF...

(if podminka ano ne)
"ano" se provede kdyz podminka NENI NIL
"ne" se provede kdyz podminka JE NIL

kdyz je podminka NIL a neni definovano "ne", tak funkce vrati NIL

Zpět nahoru
chlebovsky Zobrazit panel
Zasloužilý člen
Zasloužilý člen
Avatar

Přihlášen: 18.čer.2007
Lokalita: ČR (JM)
Používám:
Autocad R9 - 2022
Stav: Offline
Bodů: 112
Přímý odkaz na tuto zprávu Zasláno: 09.čvc.2008 v 15:30
funkce if je vlastně založená na principu nějakého porovnání a vrací jeden ze dvou ukolů dle toho jak dopadne podmínka.
 
if podminka ukol1 ukol2
 
samotná podmínka vrací bud NIL nebo TRUE takže když celou podmínku nahradíte touproměnnou tak vlastně dle toho se chová ten if
 
Takže když je
(IF POD UK1)
tak pokud je POD zadáno, provede se UK1 jinak se má provést UK2 ale když není zadaný nic se neudělá.
 
Proto testuju tu proměnnou
 
(if bod_arc_a
když je tak proveď
(setq surad_x_y (append surad_x_y (list bod_arc_a)))
 
)
 
Ing. Martin Chlebovský

www.kde-je-auto.cz

GPS monitoring provozu vozidel a osob.

WebDeveloper.

Programátor aplikací pro Autocad a MS Office.

Tvorba WWW aplikací.

Modelování domů a staveb.&l
Zpět nahoru
michaelflyer Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 05.úno.2007
Lokalita: Slovensko
Používám:
AutoCAD
Stav: Offline
Bodů: 105
Přímý odkaz na tuto zprávu Zasláno: 10.čvc.2008 v 08:02
"alfred": Nevedel som, že if dokáže pracovať aj len s jednou možnosťou. A ani neviem prečo to tak mám zafixované...

Ďakujem vám obom za pomoc.   
Michal MUCHA
Zpět nahoru
Kackac Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 11.úno.2006
Lokalita: ČR (Pha)
Používám:
AutoCAD
Stav: Offline
Bodů: 469
Přímý odkaz na tuto zprávu Zasláno: 12.čvc.2008 v 22:18
Původně odeslal(a) chlebovsky chlebovsky napsal(a):

Kdysy jsem natrefil na jednu knížku o lispu na verzi 11. velmi jednoduchá, ale právě takovéto vychytávky tam jsou, a zrovna ta s tím eval tam je na tomto příkladě :-) takže já nééé :-) napadlo mně jí někdy naskenovat a tady nabídnout, ale nevím zda to vůbec můžu udělat. Každopádně, není problém naskenit, a poslat v pdf na vytištění (autor promine, snad, když je z roku já nevím kolik před naším letopočtem) ale je to jen základ.... bez novinek....

Jéje, kdyby autor prominul a vy jste byl té dobroty, moc bych vás o to prosila a byla vám posléze neskonale vděčná. Email posílám na PM.


Upravil Kackac - 12.čvc.2008 v 22:23
Kackac
Zpět nahoru
michaelflyer Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 05.úno.2007
Lokalita: Slovensko
Používám:
AutoCAD
Stav: Offline
Bodů: 105
Přímý odkaz na tuto zprávu Zasláno: 17.led.2009 v 23:19
Prosím vás dá sa nejako vyfiltrovať z ssget zoznamu iba napríklad "LINE"? Ale z iného zoznamu ssget:
(setq vsetko (ssget))
(setq vyber_LINE_z_vsetko
(ssget "_P" '((0 . "LINE"))))
Viem, že to červeným je asi blbosť... Ide mi o to aby vo "vyber_LINE_z_vsetko" boli iba "LINE". Chcem posunúť (move) všetky vybrané objekty, ale aby v zozname "vyber_LINE_z_vsetko" boli iba "LINE" s ktorým ďalej pracujem.
Dá sa to aj inak???
Michal MUCHA
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 19.led.2009 v 06:46
Napriklad tak, ze v cyklu projedete vyber "vsetko", u kazde entity mrknete na to co je zac a pokud je to LINE tak ji funkci "ssadd" pridate do "vyber_LINE_z_vsetko".
Zpět nahoru
michaelflyer Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 05.úno.2007
Lokalita: Slovensko
Používám:
AutoCAD
Stav: Offline
Bodů: 105
Přímý odkaz na tuto zprávu Zasláno: 20.led.2009 v 07:35
Urobil som to cez repeat, ale to je nepodstatné. Mám problém s pochopením zápisu "ssadd":
(repeat poc_vyber_vsetko
    (setq meno_ent (ssname vyber_vsetko i))
    (setq zoznam_entity (entget meno_ent))
    (setq zisti_line (cdr (assoc 0 zoznam_entity)))
    (if     (= zisti_line "LINE")
      (progn
     (setq vyber (ssadd meno_ent))
     (princ vyber)
      )
    )
    (setq i (1+ i))
)
Označené červenou mi vyhlási error. Ako to má správne vyzerať?
Michal MUCHA
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 20.led.2009 v 08:59
poprve se da:
(setq vyber (ssadd jmeno_entity))

pak se dava:
(setq vyber (ssadd jmeno_dalsi_entity vyber))

Funkce ssadd ma dva parametry, pricemz druhy (nazev vybery ke kteremu se pridava) je nepovinny.
Zpět nahoru
michaelflyer Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 05.úno.2007
Lokalita: Slovensko
Používám:
AutoCAD
Stav: Offline
Bodů: 105
Přímý odkaz na tuto zprávu Zasláno: 20.led.2009 v 23:35
Ďakujem za pomoc. Ale stále mi to zapisovalo iba dve entity
Michal MUCHA
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 21.led.2009 v 06:51
ten Vas priklad by mohl vypadat takhle:

(setq vyber nil) ;to jen pro poradek...

(setq vyber_vsetko (ssget))
(setq poc_vyber_vsetko (sslength vyber_vsetko))
(setq i 0)
(setq vyber (ssadd))

(repeat poc_vyber_vsetko
    (setq meno_ent (ssname vyber_vsetko i))
    (if     (= (cdr (assoc 0 (entget meno_ent))) "LINE")
      (progn
        (setq vyber (ssadd meno_ent vyber));prikaz ssadd ma dva parametry!!!
   
        (princ "pridano, celkem vybrano: ")
        (princ (sslength vyber))
        (print)
      )
    )
    (setq i (1+ i))
)
(princ "Konec, celkem vybrano: ")
(princ (sslength vyber))
(print)



Zpět nahoru
michaelflyer Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 05.úno.2007
Lokalita: Slovensko
Používám:
AutoCAD
Stav: Offline
Bodů: 105
Přímý odkaz na tuto zprávu Zasláno: 21.led.2009 v 20:43
Hmmm.. no už viem, kde som robil chybu
A ani som nevedel, že to čo ja mám rozpísané na troch riadkoch sa dá zistiť podstatne kratšie (pomocou entget).
Veľmi pekne ďakujem za pomoc.
Michal MUCHA
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 577:Jak posčítat délku vybraných čar ve výkresu AutoCADu LT?
Tip 578:Jak posčítat délku vybraných úseček, křivek, oblouků, kružnic, elips a multičar ve výkresu?
Tip 5835:Snadný import souřadnic bodů, čar nebo bloků z Excelu do AutoCADu či AutoCADu LT.
Tip 9950:Vytvoření šikmé kóty v Revitu.
Tip 9077:Úspora místa na obrazovce AutoCADu volbou stylu ribbonu.
Tip 5120:Cyklický výběr překrývajících se objektů v AutoCADu 2007/2008/2009/2010.


 Odpovědět Odpovědět Stránka  <12 archiv

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



Stránka byla vygenerována za 1,387 sekund.