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: 5682 
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řenonatočení atributu

 Odpovědět Odpovědět Stránka  12> archiv
Autor
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 Téma: natočení atributu
    Zasláno: 12.čvc.2008 v 20:47
Po dlouhé době jsem se se zase dostala na cadfórum a s jistou radostí až pýchou jsem zjistila, že toto moje téma má bezkonkurenční návštěvnost Embarrassed
No nic, zpátky k tématu, byť je to už celkem dlouhá doba a možná to již není aktuální - k příspěvku Ferdinanda
Původně odeslal(a) Ferdinand Ferdinand napsal(a):

Chtěl jsem použít ten lispík Kackac na natočení atributů bloku s volbou úhlu natočení (tedy nikoli do nula st.), protože by se mi teď hodil na hromadný "vlevo vbok". Ale - lisp provede natočení všech atributů veškerých (?) bloků + všech samostatních textů (?) na jiný úhel, než zadám. Např. zadám-li požadovaný úhel 90, natočí se mi na 116.62 st.
Dotaz1: Chci natočit atributy pouze u vybraného bloku (i když už je vícekrát vložen do výkresu - to by se měly natočit u všech) a to o zadaný úhel - lze to?
Dotaz2: Proč mi to otáčí i obyč. texty? Kde je chyba?

Problém s jiným natočením než zadáte, pokud to ještě není vyřešeno, napadlo mě, zda to není špatně napsaným převodem mezi stupni a radiány.
ad dotaz 1 - určitě to jde, zapsal by se filtr pro výběr bloku daného jména a cyklus, který by aplikoval akci otočení atributů na všechny tyto bloky ve výkrese
ad dotaz 2 - nejspíš tam není filtr, který by do výběru zahrnul pouze entity typu atribut. Nevím, do jaké míry jste ten můj lisp upravoval dle vlastních potřeb, já, když jsem se k němu nedávno po dlouhé době dostala, zjistila jsem, že nefunguje (a to jsem měla za to, že fungoval, když jsem ho naposled opouštěla), a když jsem ho rozchodila, tak jsem odhalila spoustu nedostatků a problémů s jeho použitím, takže je možné, že pokud jste ho převzal, tak jste narazil na další problémy, které nebyly odladěné, protože původně to byl lisp víceméně pro mě na velmi omezenou oblast použití, tedy bez ošetření chyb, nenapadlo mě, že by se někomu hodil, to bych ho samozřejmě napsala líp:)
Kackac
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1904
Přímý odkaz na tuto zprávu Zasláno: 14.kvě.2008 v 12:54
Poněvadž texty se nachází ve stejné hladině do které jsou vloženy bloky s atributy, tato možnost v tomto případě není vhodná. Však právě proto cílím k tomu, aby ve výběru byly akceptovány jen a pouze atributy bloku(ů).
-FerTh-
Zpět nahoru
Rostislav Říha Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 03.říj.2004
Lokalita: ČR (Pha)
Používám:
ACA 2010
Stav: Offline
Bodů: 1613
Přímý odkaz na tuto zprávu Zasláno: 12.kvě.2008 v 17:51
a nestacilo by ty texty vypnout/skryt/zmrazit?
Rostislav Říha
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1904
Přímý odkaz na tuto zprávu Zasláno: 12.kvě.2008 v 11:29
Opět navazuji na staré téma... Chtěl jsem použít ten lispík Kackac na natočení atributů bloku s volbou úhlu natočení (tedy nikoli do nula st.), protože by se mi teď hodil na hromadný "vlevo vbok". Ale - lisp provede natočení všech atributů veškerých (?) bloků + všech samostatních textů (?) na jiný úhel, než zadám. Např. zadám-li požadovaný úhel 90, natočí se mi na 116.62 st.
Dotaz1: Chci natočit atributy pouze u vybraného bloku (i když už je vícekrát vložen do výkresu - to by se měly natočit u všech) a to o zadaný úhel - lze to?
Dotaz2: Proč mi to otáčí i obyč. texty? Kde je chyba?
-FerTh-
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1904
Přímý odkaz na tuto zprávu Zasláno: 03.led.2008 v 14:25
Původně odeslal(a) chlebovsky chlebovsky napsal(a):

(defun vrat_atributy (blok / blk att at vraci)
...
    (while (= "ATTRIB" (cdr (assoc 0 (setq at (entget (entnext at))))))  ;;; cyklus který vyhledá atributy lze použít i podmínka (/= "SEQEND"...)
podle mne tam namísto "ATTRIB" má být "ATTDEF"


Upravil Ferdinand - 03.led.2008 v 14:25
-FerTh-
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: 28.lis.2007 v 17:28
EmbarrassedSmile
Kackac
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1904
Přímý odkaz na tuto zprávu Zasláno: 28.lis.2007 v 11:37
OT:
Původně odeslal(a) Kackac Kackac napsal(a):

...teď jaxi nemám nazbyt, ...
Question
pozor na pravopis: podle mne správně se píše "yaxy" Big%20smile
-FerTh-
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: 25.lis.2007 v 02:20
To Ferdinand:
z 9. října: zkoušela jsem v rychlosti mrknout na to vámi nabízené řešení "ve dvou krocích", přepsala jsem to do lispu, protože tlačítka nepoužívám, ale nedařilo se mi do toho zakomponovat právě to co je červeně. Teda vlastně mi tam nechodilo ještě něco, ale to si teď nevzpomenu co.

15.listopadu 1.: co se týče těch atributů invisible, jejich výběr mi cad2007 nabídl (myslím, že při globální editaci), 2004 nemám u ruky, takže nevím, jak to je tam. Ale určitě by to šlo řešit lispem, něco na způsob jako jsem vypotila na to otáčení, tam by byl bez problémů i ten cyklus.

15.listopadu 2.: děkuji, zatím jsem to sice nezkoušela, ale až se k lispu zase dostanu, zkusím si s tím pohrát.

Problém je v tom, že při hrabání se v lispu mám neúměrnou spotřebu času, a toho teď jaxi nemám nazbyt, takže se omlouvám, že jsem nereagovala na vaše příspěvky, důvodem bylo to, že jsem se nedostala k tomu, abych to vyzkoušela. Snad na jaře Disapprove

Upravil Kackac - 25.lis.2007 v 02:21
Kackac
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1904
Přímý odkaz na tuto zprávu Zasláno: 15.lis.2007 v 13:19
To Kackac:
volání nadefinované funkce FUNKCE-X (který je v samostatném lispu FUNKCE-X.lsp) z jiného (běžícího) lispu
;;není-li přístupná aplikace FUNKCE-X...
(if(not c:FUNKCE-X)
;;...tak ho najde a načte
  (load (findfile "FUNKCE-X.lsp"))
)
Pokud je třeba také aby to hned vykonal, tak ještě přidat
(C:FUNKCE-X)
Jasně že cesta k FUNKCE-X.lsp musí být zpřístupněná v Možnostech.
-FerTh-
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1904
Přímý odkaz na tuto zprávu Zasláno: 15.lis.2007 v 11:34
Chtěl bych navázat na mou předchozí odpověď. Jak provést, aby se automaticky vybraly všechny atributy různých vložených bloků ve výkresu (tj. aby při výzvě "Select Attributes:" mi to provedlo hromadný výběr - přičemž některé atributy mají třeba i vlastnost Unvisible, Constant,...) ? Potřeboval bych všem atributům jedním příkazem přiřadit stejnou barvu resp. hladinu. V případě příkazu attedit ovšem by to chtělo pro každý zvlášť po mne potvrzení/volby... Pak by to chtělo nějak (?) zakomponovat do cyklu. Anebo na to jít podobně, jako je popsáno výše?
-FerTh-
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1904
Přímý odkaz na tuto zprávu Zasláno: 09.říj.2007 v 14:17
Na mne je to příliš složitý... Osobně bych to řešil asi ve 2 krocích: prvně bych vložil blok, pak bych pootočil jeho atributy zpátky do nuly. Na p.ř. by to probíhalo takhle:
ř1. Command: _-attedit
ř2. Edit attributes one at a time? [Yes/No] <Y>: _Y
ř3. Enter block name specification <*>:
ř4. Enter attribute tag specification <*>:
ř5. Enter attribute value specification <*>:
Select Attributes:
zde vyberu atributy
...
nnn attributes selected.
Enter an option [Value/Position/Height/Angle/Style/Layer/Color/Next] <N>:
A
Specify new rotation angle <35.54>: 0
...
Enter an option [Value/Position/Height/Angle/Style/Layer/Color/Next] <N>: enter
Command:
 
ř1. až ř4. mám jako makro na tlačítku
^C^C_-attedit _Y ;;;
a to co je červeně, by bylo třeba nějak (?) tam přifařit.
-FerTh-
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: 01.říj.2007 v 16:03
Dobrá, budu vám tedy věřit i bez příkladu :)
Děkuju moc za ochotu a trpělivost
Katka
Kackac
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: 01.říj.2007 v 11:22
Každá funkce vrací svůj provedený poslední úkon, to znamená ze v pripade soucett je sice poslední řádek ;vysledek ten ale není příkaz, proto funkce vrátí celý řádek (setq vysledek (+.....)) což vlastně je hodnota kterou potřebujete vrátit.
 
v případě třetím vrátí (prompt (strcat "vysledek " (prnatx c1) " + " (prnatx c2) " = " (prnatx souc)" "))
někdy se ale může stát že poslední výraz není zrovna to co by měla funkce vrátit.
 
proto spočítám poslední příkaz a pod tím bude to mé vraci....
teď mě sice nenapadá příklad, ale někdy na to určitě natrefíte.
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
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: 30.zář.2007 v 00:00
Nezapomněl jste na nic, naprosto vyčerpávající odpověď, moc děkuju.
Pochopila jsem i význam té samostatně stojící proměnné, ale nepochopila jsem, proč to tedy funguje i bez ní... funce mi vrací stejný výsledek se zakomentovanou i nezakomentovanou proměnnou vysledek a ctx, asi mi přecejen něco uniklo:)

(defun soucett (cis1 cis2 / vysledek)
  (setq vysledek (+ cis1 cis2))
  ;vysledek
)
(defun prnatx (csl / ctx)
  (setq ctx (rtos csl 2 2))
  ;ctx
)
(defun c:souct ()
  (setq c1 (getreal "zadej prvni cislo: ")
          c2 (getreal "zadej druhe cislo: ")
  )
  (setq souc (soucett c1 c2))
  (prompt (strcat "vysledek " (prnatx c1) " + " (prnatx c2) " = " (prnatx souc)" "))
)
Kackac
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: 29.zář.2007 v 10:24
Co se týče toho samotného vrací na konci funkce : tak to se používá právě když potřebujeme zavolat nějakou funkci, a potřebujeme aby ta funkce něco vrátila. Uvedu na příkladu.
Řekněme že si chceme vytvořit funkci na součet dvou čísel. Tudíž vstupní parametry budou CIS1 a CIS2, funkce se bude jmenovat SOUCET a funkce nám vrátí VYSLEDEK
 
funkce by pak vypadala takto :
 
(defun SOUCET (CIS1 CIS2 / VYSLEDEK) ;;; vstup je CIS1 a CIS2
  (setq VYSLEDK (+ CIS1 CIS2))
  VYSLEDEK
)
 
pak můžeme tuto funkci volat takto
 
(setq X (SOUCET 10.0 20.0))
právě ta poslední proměnná zaručí aby funkce vrátila nějakou hodnotu a proto ji můžeme hned něčemu přiřadit. Takže přiřadíme X.
 
Pakmáte v dalším dotazu (while.....  červený, to asi myslíte tím že tam je něco nezdravého že ?
Pokud to dobře chápu ja bych to upravil na :
 
(while (/= "SEQEND" (cdr (assoc 0 (setq blka (entget (entnext blk))))))
 
proste to první blka vymazal
 
dále se ptáte co to je SEQEND....
Pro pochopení doporučuju vzít prázdný výkres nakreslit třeba jednoduchou úsečku a uložit ho jako DXF... ten soubor pak přejmenujte třeba na ***.TXT a otevřte v poznámkovém bloku.... tím se vám zobrazí strašně obsáhlý ale čitelný zápis jak je vlastně tvořen jakoby vnitřní zápis všech prvků v Cadu. Dle toho můžete poznat která entita má jaké vlatnosti......
Dále celé DXF je děleno na hlavičku kde jsou systémovky, dále různé tabulky, hladit, stylů, typů čar...... atd... a v poslední části jsou entity.
 
Každá část začíná nějakým kodem a končí nějakým kodem
 
Třeba blok....
Blok začíná INSERT..... pak následují ATTRIBUT ATTRIBUT.... a vše je ukončeno SEQEND (jako zkratka SEKVENCE KONEC)
Něco podobného je i u křívky.... napřed je křivka s parametrama, a pak jednotlivé body s tloustkama a nakonec SEQEND..... je to jako by ukončení nějakého oddílu.... vše je velice dobře popsáno v helpu.... DXF reference....
 
Zapoměl jsem na něco ?
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
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: 29.zář.2007 v 04:12
Dyť já sem přece tele! Zapomněla jsem tam dát cyklusEmbarrassed a proto jel (entsel) donekonečna, otázku 2 mám tedy z krku a F3 vypadá teď takhle...
jen by mě zajímalo,  jestli (/= blka "SEQEND"...) je to samé jako (= "ATTRIB"...) a jestli ano, platí to pouze pro tento případ nebo je SEQEND univerzální a platí i pro jiné entity než atributy?

;____FUNKCE-3____natoci vsechny atributy vybraneho bloku (jiz drive vlozeneho s blbe natocenymi atributy nebo po battman) na 0°
(defun c:el_rozv_natoc ()
  (setq blok (car (entsel "Vyber blok: "))) ;vyber bloku a ulozeni jeho jm.entity do prom. "blok"
  (setq att (vrat_atributy blok)) ;vytvori seznam atributu vybraneho bloku podle predchozi fce "vrat_atributy" a ulozi ho do seznamu "att"
  (setq blk blok) ;ulozeni jmena vybraneho bloku do prom blk
  (while (/= blka "SEQEND" (cdr (assoc 0 (setq blka (entget (entnext blk))))))    ;cyklus while probiha dokud mu nedojdou atributy vybraneho bloku
    (setq atr (entnext blk)) ;postupne atributy vybraneho bloku
    (setq edata (entget atr)) ;data atributu
    (setq oldrot (assoc 50 edata)) ;podseznam obsahujici klic 50 (natoceni)
    (setq newrot (cons 50 0.0)) ;zkonstruovani noveho podseznamu klice 50
    (setq edata (subst newrot oldrot edata)) ;nahrazeni stareho podseznamu novym (natoceni 0)
    (entmod edata) ;modifikace seznamu
    (entupd blk) ;regenerace slozene entity (bloku, krivky...)
    (setq blk atr)
  )
)
Kackac
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: 29.zář.2007 v 03:00
A samozřejmě jsem zapomněla přiložit ty soubory:)
V zipu je lisp a blok se 4mi atributy, který F4 vkládá

Připojené souboryzipuploads/20070929_025820_EL_ROZV_pokus.zip



Upravil Kackac - 29.zář.2007 v 03:02
Kackac
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: 29.zář.2007 v 02:54
Tak jsem si na to po dlouhé době zase sedla a nějak se mi to nedaří doladit.
Udělala jsem si 4 funkce:

F1. podle vašeho posledního příspěvku, tudíž chodí jak má:)

F4. malá modifikace té původní funkce, která vkládala blok s 1 atributem a otočila ho - teď otáčí všechny atributy bloku, ať jich má kolik chce, to kupodivu taky chodí:)

F2. pomocná funkce, která má jen přidělit všem atributům natočení 0. Tu jsem vytvářela proto, abych ji mohla použít ve funkci 3 a 4 a nemusela ji v obou funkcích psát. Jenže ji neumím zavolat aby to chodilo, to je tedy dotaz 1 - jak ji zavolat z F3 a F4?

F3. funkce, jež má všechny atributy vybraného bloku (již dříve vloženého se špatně natočenými atributy) natočit na 0°. A tady je kámen úrazu (a dotaz 2) - nemůžu přijít na chybu. Otáčí to totiž sice všechny atributy vybraného bloku, ale zároveň i všechny bloky! vložené později než vybraný blok, a to úplně všechny, nejen rozvaděče s atributy:( Určitě tam mám někde do proměnné uloženo něco co tam nemá být, ale já na to nemůžu přijít. - vyřešeno - viz můj příspěvek z 04:12
Je pravda, že už jsem se do těch všech proměnných zamotala, že nedokážu sjednotit (nebo naopak zcela oddělit?) proměnné všech 4 funkcí, což je ostuda, protože kdo jiný by se v tom měl vyznat než já, ale mám pocit, že čim dýl se v tom hrabu, tím je to horší.


dotaz 3 se týka toho osamoceného "vraci" před poslední závorkou vaší fukce vrat_atributy (tedy u mě F1)
Původně odeslal(a) chlebovsky chlebovsky napsal(a):

...........
  )
 vraci
)
jak to, že takhle může něco stát samo o sobě, bez závorek? Co to vykonává?


Omlouvám se, že pořád otravuju s tím samým, ale nedaří se mi tím prokousat samotné, potřebuju zase nakopnout:)



Upravil Kackac - 29.zář.2007 v 04:20
Kackac
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 2816:Chybně natočené atributy zvětšeného bloku.
Tip 12147:Jak aktualizovat blok se zachováním polohy a natočení atributů?
Tip 4067:Jak zčitelnit natočené texty a atributy bloků ve výkresu?
Tip 4355:Změna vkládacího bodu bloku během vložení.
Tip 9997:Jak automaticky natočit výtisk z Revitu nebo jiné aplikace?
Tip 9086:VIPJak vytvořit 2D axonometrický pohled v AutoCAD Plant 3D?


 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,613 sekund.