Již 10.000+ CAD tipů.
Přes 118.500 registrovaných u nás, celkem 1.095.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků.
Vyzkoušejte nový přesný Inženýrský kalkulátor.
Kompletní příkazy AutoCADu a proměnné AutoCADu 2026.
Diskuzní fórum, poradna
?CAD diskuze, rady, výměna zkušeností

Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
|
Odpovědět ![]() |
Stránka 12> archiv |
Autor | |
DodoSVK ![]() Zasloužilý člen ![]() Přihlášen: 13.říj.2007 Lokalita: Slovensko Používám: MAP 3D Stav: Offline Bodů: 184 |
![]() Zasláno: 22.říj.2011 v 07:53 |
Dobry den,
chcem sa vas opytat, ci by mi niekto z vas vedel pomoct s naprogramovanim lispu, ktory by vkladal blok s hodnotami ako je uvedene na prilozenom obrazku. Mam na mysli ten cerveny. Cize dany text by vyjadroval vlastne hodnotu y pred lomitkom a hodnotu x za lomitkom. Klasicka vyskova kota (na obr. v lavo) sa da vlozit pomocou GGmenu prikazom VKS ktory vklada blok 'Kota_vysky_R_GG.dwg'. Kedze ide o nieco podobne, mozno by stacilo len mierne poupravit uz existujuci script GGmenu, a vytvorit novy jednoduchy blok aby bol dosiahnuty cerveny vysledok z obrazku. To vsak uz sam nedokazem, preto vas ziadam o pomoc. Dakujem za tipy. Upravil DodoSVK - 22.říj.2011 v 07:58 |
|
![]() |
|
Vladimír Michl ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor ![]() ![]() ARKANCE Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Implementujeme řešení Autodesk Stav: Offline Bodů: 21916 |
![]() |
Na běžnou "kačenu" není třeba nic programovat. Ani na takovouto výškovou kótu. Viz dynamický blok "Dodo":
|
|
![]() |
|
PepaR ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
CAD/BIM manager ![]() ![]() Přihlášen: 29.lis.2004 Lokalita: ČR (ZL) Používám: ruky a hlavu (občas ;) Stav: Offline Bodů: 6206 |
![]() |
Dobrý den,
součástí GGmenu a i samostatných výškových kót je nejen statická, ale i dynamická výšková kóta. Blok této výškové kóty stačí poupravit, případně se můžete inspirovat textovým polem, které automaticky odečítá výšku a vložit jej do bloku vlastního (viz Váš obrázek). Dynamická kačena má ale i své nevýhody, které jsou blíže popsány v dokumentaci pro výškové kóty (viz odkaz výše) nebo v sérii článků AutoCAD ve stavební praxi, 6.díl na autodeskclubu. Pokud byste si chtěl upravit lisp a přitom zachovat příkaz výškových kót z GGmenu, tak jej zduplikujte a přejmenujte si v lispu spouštěcí příkazy na jiné názvy. Pak si upravte blok, případně dodejte vlastní, a v lispu nahraďte název používaného bloku za ten Váš.
|
|
![]() |
|
DodoSVK ![]() Zasloužilý člen ![]() Přihlášen: 13.říj.2007 Lokalita: Slovensko Používám: MAP 3D Stav: Offline Bodů: 184 |
![]() |
Dakujem obom za tipy.
Nakolko vsak potrenujem, aby kota bola staticka, pouzitie textovych poli pre mna nieje vhodne. Musim sa teda vybrat upravou bloku Kota_vysky_R_GG a nasledne upravou lispu kotvysk.lsp Viem teda ze je nutne vytvorit novy blok s nazvom napr. Kota_vysky_R_GG_Y/X s potrebnym obsahom, a v kotvysk.lsp doplnit o novy odsek s (defun C:YX .... ktory by riadil atributy v novoytvorenom bloku, cim by som dosiahol moj ciel. Chapem to zatial spravne? pomaly sa do toho dostavam, no zatial neviem presne ocom pisem :) je to premna vsetko nove. Ked som vsak otvoril zdrojovy kod lispu, ktory treba poupravit, zatocila sa mi hlava :) je to premna zatial bohuzial este poriadny gulas. Vedel by mi niekto este pomoct s vytvorenim noveho bloku a upravou lispu? bol by som velmi vdacny, snazim sa postupne vsetko naucit aj sam, no toto by sa mi zislo skor mat hotove ako som schopny sa to naucit, preto ak by to niekto vedel spravit rychlo, popripade zislo by sa to aj jemu, bol by som velmi vdacny za pomoc. Upravil DodoSVK - 23.říj.2011 v 14:29 |
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
Utilita kotvysk.lsp neni tak slozita, ale obsahuje nekolikrat velmi podobnou utilitu lisici se jen v detailu. Finalni verze obsahuje dva popisy - cesky a anglicky v zavislosti na konfiguraci v zahlavi. Je v ni osetreno docela mnoho ruznych moznosti kde muze vzniknout chyba a to asi potrebovat nebudete. Take pracuje s dynamickym blokem, coz je trochu slozitejsi nez blok jednoduchy a to predpokladam Vy nepotrebujete. I kdyz pokud nebudete potrebovat aktualizace, tak to je stejne.
Utilitu by bylo asi lepsi zkusit napsat od zacatku. Nevim jak moc komplikovane by to bylo, ale asi moc ne. Kliknete do bodu, nactete souradnice, zformatujete si popis a vlozite blok. Pokud nebudete chtit aktualizovat pri zmene, ale pouze vkladat nove bloky do mista kam kliknete, tak to neni tak slozite. Take je dulezite zda nebudete chtit vkladat automaticky napriklad podle krivky. Zkuste se do toho pustit, pokud narazite na konkretni problem, zkuste dotaz upresnit. Blok si vytvorte novy a dejte prosim hlavne jiny nazev nez je u kotvyk.lsp aby se to nejak nepletlo - hlavně aktualizace vyskovych kot. Pokud utilitu kotvysk pouzivate, tak by jste si pripravil komplikace hlavne Vy. Nevim jestli budete potrebovat jeden nebo dva atributy. |
|
![]() |
|
DodoSVK ![]() Zasloužilý člen ![]() Přihlášen: 13.říj.2007 Lokalita: Slovensko Používám: MAP 3D Stav: Offline Bodů: 184 |
![]() |
Mozno sa opytam hlupost ale predpokladam ze niekde v tomto retazci sa zistuje vyska ktora sa nakoniec objavi ako hodnota atributu vkladaneho bloku vyskovej koty.
Ak by som chcel aby retazec zistil nie vysku (y suradnicu), ale x-ovu suradnicu, co je nutne zmenit? Predpokladam ze to staci pozmenit minimalne. Ide mi hlavne o to miesto v retazci, kde lisp kaze nacitat tu ypsilonovu suradnicu... dakujem za radu a usmernenie.... (defun zjisti_vysku (ko nasobitel prefix / k y HODNOTA_KOTY format_cisla format_koty olddimzin2) ;nasobitel: ; - pro mm nasobitel=1000; pro ; - pro m nasobitel=1; pro (setq y (cdr (assoc 10 (entget ko)))) ;nacte do y hodnotu bodu (setq y (trans y 0 1)) ; prevede z globalniho do aktualniho USS (setq y (cadr y)) (if (< (abs y) 1e-011)(setq y 0)) ; melo by korigovat nepresnosti AutoCadu (setq HODNOTA_KOTY (/ y nasobitel)) ;(setq y (/ (cadr (cdr (assoc 10 (entget ko)))) 1000)) ; zakomentovany puvodni prikaz (setq format_koty (getvar "DIMLUNIT")) (setq format_cisla 2) (cond ((= format_koty 1) (setq format_cisla 1)) ;Scientific ((= format_koty 2) (setq format_cisla 2)) ;Decimal ((= format_koty 3) (setq format_cisla 3)) ; Engineering (feet and decimal inches) ((= format_koty 4) (setq format_cisla 4)) ; Architectural (feet and fractional inches) ((= format_koty 5) (setq format_cisla 5)) ;Fractional ((= format_koty 6) (setq format_cisla 2)) ;Decimal ) ; cond (if (and (= 1 (getvar "INSUNITS" )) (= 4 (getvar "DIMLUNIT"))) (progn (setq olddimzin2 (getvar "dimzin")) (setvar "dimzin" 1) ) ) (cond ((> y 0) (setq text (strcat prefix (rtos HODNOTA_KOTY format_cisla (getvar "LUPREC"))))) ((= y 0) (setq text (strcat "%%P" (rtos 0.0 format_cisla (getvar "LUPREC"))))) ((< y 0) (setq text (rtos HODNOTA_KOTY format_cisla (getvar "LUPREC")))) ) ; cond (setq k (entnext ko)) (setq k (entget k)) (setq k (subst (cons '1 (vl-string-subst "," "." text)) (assoc 1 k) k)) (entmod k) (entupd ko) (if olddimzin2 (progn (setvar "dimzin" olddimzin2)(setq olddimzin2 nil))) (princ) ) ; defun |
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
V radku:
(setq y (cdr (assoc 10 (entget ko)))) ;nacte do y hodnotu bodu se nacita vlastnost vkladaciho bodu bloku. (assoc 10 (entget ko)) vrati vlastnost ve formatu LIST - neco jako (10 X-souradnice Y-souradnice Z-souradnice) funkci (nth) nactete n-tou hodnotu z listu. Lze pouzit i funkce (car) (cadr), ale ty z hlavy nevim Nemam moznost to ted vyzkouset, ale zkuste: (setq y (nth (assoc 10 (entget ko)) 1)) nazornejsi by bylo nazvat promennou "X", ale to by jste musel upravit i zbytek funkce |
|
![]() |
|
DodoSVK ![]() Zasloužilý člen ![]() Přihlášen: 13.říj.2007 Lokalita: Slovensko Používám: MAP 3D Stav: Offline Bodů: 184 |
![]() |
vdaka za tip, no bud som spravil chybu ja alebo to nieje dobre
vymenil som (setq y (cdr (assoc 10 (entget ko)))) za (setq y (nth (assoc 10 (entget ko)) 1)) ale nefunguje to. Blok sa vlozi s vychodzou hodnotou atributu, a v prikazovom riadku sa napise: Ukažte bod umístění kóty : "nesprávný typ argumentu: consp 1" Upravil DodoSVK - 23.říj.2011 v 19:52 |
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
Hmm, smula.
![]() Bez vyzkouseni to bude slozitejsi. Kouknete do napovedy na funkci (nth) Nejlepsi je spistit si VisualLisp (prikaz VLIDE (_VLIDE) ) a tam mate jak pristupnou napovedu, tak konzoli na zkouseni prikazu, moznost debugovat a koukat se na hodnoty promennych za behu programu (nastroj kukatko). U funkce (nth) si nejsem si jist s poradim parametru. Bud je: (nth poradi list) nebo (nth list poradi) Pokud jsem to prevratil tak by bylo spravne (setq y (nth 1 (assoc 10 (entget ko)))) |
|
![]() |
|
DodoSVK ![]() Zasloužilý člen ![]() Přihlášen: 13.říj.2007 Lokalita: Slovensko Používám: MAP 3D Stav: Offline Bodů: 184 |
![]() |
v napovede sa pise ze sprane je to takto
(nth n lst) ked som zadal (setq y (nth 1 (assoc 10 (entget ko)))) tak to nefungovalo tiez ale chybove hlasenie bolo uz ine. Ukažte bod umístění kóty : "nesprávný typ argumentu: 2D/3D bod: 6560.7" hodnota 6560.7 bola skutocne X suradnica, ale nezapisalo ju do hodnoty atributu. Zrejme treba poupravit koli zmene ktoru som urobil este neaku inu cast scriptu, aby to cele prebehlo bez chyboveho hlasenia. Je to tak? ci ani (setq y (nth 1 (assoc 10 (entget ko)))) nie je spravne kedze to nefunguje a zmenu treba hladat stale v tomto kratkom retazci? Upravil DodoSVK - 23.říj.2011 v 21:02 |
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
A co vlastne potrebujete? Potrebujete jen vkladat ty bloky dle kliknuti?
A nebo potrebujete take pozdejsi aktualizaci? Potrebujete vkladat blok v zavislosti na meritku kotovaciho stylu a s formatem dle nastaveni jednotek (metry, mm, palce? Pokud tohle vsechno nepotrebujete tak je lepsi napsat trivialni novou utilitu. Ta bude velice prehledna. Pokud zacnete upravovat se slozitejsi utilitou, jako je na vkladani vyskovych kot, tak jen promazani zbytecnych radku Vam zabere mnohem vice casu! |
|
![]() |
|
DodoSVK ![]() Zasloužilý člen ![]() Přihlášen: 13.říj.2007 Lokalita: Slovensko Používám: MAP 3D Stav: Offline Bodů: 184 |
![]() |
No, je pravda ze zrejme je jednoduhsie napisat novu utilitu, no priznam sa ze Autolisp som dnes otvoril prvy krat v zivote, takze aj trivialna vec je premna problem.
V uz existujucom scripte mam aspon ako taku sancu sa zorientovat a upravit ju, lebo kedysi davno som skusal programovat v inom programovacom jazyku, tak aspon to mi pomoha... Dosiahnut chcem toto: chem vkladat bloky len podla kliknutia, a najlepsie by bolo keby boli rovno v tvare ako som ukazoval v obrazku pri otvoreni temy. neskorsiu aktualizaciu nepotrebujem, respektive sa jej chcem vyhnut, co sa pouzitim POLI neda. Je dolezite premna aby atributy mali hodnoty podla mojho USS, nie podla globalneho. Tiez by bola fajn ta zavislost na meritku kotovacieho stylu. |
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
Zkuste tohle:
blok: LISP To meritko podle kot to neumi. PS. Zkuste ten VisualLisp - pokud jste uz programoval, tak to hodne pomuze. Je to prijemne prostredi se syntaxi, debugerem, ... , proste vsim co pro vyvoj ve VisualLispu potrebujete. |
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
Zapomnel jsem, ze pri uploadu na server CadForum se prejmenuji soubory.
![]() Takze jeste dodam, ze blok se musi jmenovat "stanic-XY" a utilita se spousti "stanic-XY" |
|
![]() |
|
Martin Bielina ![]() Zasloužilý člen ![]() Přihlášen: 04.led.2007 Lokalita: ČR (Pha) Používám: AutoCAD True view 2016 Stav: Offline Bodů: 100 |
![]() |
Doplnění předchozího příspěvku - odpověď na otázku co je nutné změnit změnit je nutné původní (řádek č.7): na nové |
|
![]() |
|
DodoSVK ![]() Zasloužilý člen ![]() Přihlášen: 13.říj.2007 Lokalita: Slovensko Používám: MAP 3D Stav: Offline Bodů: 184 |
![]() |
skusil som to este upravit podla toho co pisete vyssie, ale nepomohlo...stale to iste chybove hlasenie ![]() |
|
![]() |
|
DodoSVK ![]() Zasloužilý člen ![]() Přihlášen: 13.říj.2007 Lokalita: Slovensko Používám: MAP 3D Stav: Offline Bodů: 184 |
![]() |
dakujem velmi pekne, vpodstate toto som chcel dosiahnut tazke mi to velmi pomoze. Akurat neviem preco ked dany blok vkladam tak sa mi vypnu vsetky uchopy ktore mam prednastavene a zakazdym si musim zvolit nanovo neaky, co je dost neprakticke ![]() a este koty X-ove by som chcel mat v absolutnej hodnote, tzn. 234.12/5.55 a nie 234.12/-5.55 inak je to uz takmer dokonale ![]() |
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
Vypnuti uchopu byla chyba. Posilam opravu. Pokud potrebujete absolutni hodnotu x tak si za (setq x (nth 0 point)) pridente radek: (setq x (abs x)) Ale zda se mi to divne. Nevim co to ma delat, ale predpokladam, ze se jedna o staniceni a pokud jste v zaporne oblasti, tak to ma psat zaporna cisla, ne? Upravil alfred - 23.říj.2011 v 23:11 |
|
![]() |
Pro technickou podporu CAD
kontaktujte Helpdesk
Odpovědět ![]() |
Stránka 12> archiv |
Přejít na fórum | Oprávnění fóra ![]() Nemůžete vytvářet nová témata v tomto fóru Nemůžete odpovídat na témata v tomto fóru Nemůžete vymazávat vaše příspěvky v tomto fóru Nemůžete upravovat vaše příspěvky v tomto fóru Nemůžete vytvářet ankety v tomto fóru Nemůžete hlasovat v anketách v tomto fóru |
Stránka byla vygenerována za 0,633 sekund.