Vytisknout stránku | Zavřít okno

Automaticke cislovani

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: AutoCAD
Popis fóra: Otázky kolem aplikací AutoCAD a AutoCAD LT, AutoCAD web, prohlížečů, DWG a DXF, Design Review, Navisworks, nadstavby, Drive a cloud Autodesk
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=1243
Datum vytištění: 05.čer.2026 v 04:33


Téma: Automaticke cislovani
Odeslal: PeterCAD
Předmět: Automaticke cislovani
Datum odeslání: 16.srp.2005 v 11:06

Nevim, zda to v cadu jde, priklad:

rada dilu vedle sebe a kazdy ma svoje cislo od xx do yy. Jak je jednoduse ocisluju, aniz bych u kazdeho prepisoval cislo. Funguje neco jako 'tahni' v excelu??




Odpovědi:
Odeslal: Chlebník
Datum odeslání: 16.srp.2005 v 11:22

Jednou jsem řešil vkládání bodů a u každého napsat číslo a jinou barvou.

Pokud se trochu vyznáte v Lispu tak určitě pochopíte a upravíte. Pokud né tak napište a něco s tím uděláme.

Lisp :

(defun c:body (/ bod bod_old s_body x y sou i)
  (setq x 1 y 1)
  (while (setq bod (if bod_old (getpoint bod_old "\nVyber další bod")(getpoint "\nVyber první bod")))
    (entmake (list (cons 0 "POINT")(cons 8 "0")(cons 62 x)(cons 10 bod)))
    (entmake (list (cons 0 "TEXT") (cons 8 "0")(cons 62 x)(cons 10 bod)(cons 11 bod)(cons 40 0.3)(cons 1 (itoa y))(cons 50 0.0)(cons 41 1.0)(cons 51 0.0)(cons 71 0)(cons 72 0)(cons 73 0)))
    (setq s_body (append s_body (list bod)))
    (setq bod_old bod x (1+ x) y (1+ y))
    (if (> x 256)(setq x 1))
  )
  (setq file (getfiled "Vyber kam uložit body" "Body" "TXT" 1))
  (if file
    (progn
      (setq sou (open file "w"))
      (setq i 0)
      (repeat (length s_body)
 (write-line (strcat (itoa (1+ i)) "\t" (rtos (car (nth i s_body)) 2 4)"\t" (rtos (cadr (nth i s_body)) 2 4)"\t" (rtos (caddr (nth i s_body)) 2 4)) sou)
 (setq i (1+ i))
      )
      (close sou)
    )
  )
)



-------------
Ing. Martin Chlebovský
Projektant a vývojář
Veletrhy Brno a.s.


Odeslal: Rostislav Říha
Datum odeslání: 16.srp.2005 v 11:30

Původně odeslal(a) PeterCAD PeterCAD napsal(a):

Funguje neco jako 'tahni' v excelu??

pekna predstava:))) - nejde to, da se to nicmene obejit bud pouzitim nejake lispove utility (tech je na www kopec) nebo se to da udelat i jednoduchym dieselovym retezcem v menu a pak to bude fungovat i v LTcku



-------------
Rostislav Říha


Odeslal: Machacek
Datum odeslání: 16.srp.2005 v 12:03

Pro LTecko jsem mel kdysi udelana takovato uzivatelska tlacitka:

1. tlacitko nastavovalo format cisla (opakujici se zanky pred cislem nebo za nim)

^C^Csetenv;PRED;\setenv;HODNOTA;\setenv;ZA;

 

2. tlacitko bylo pro 2 mistne cislo

^C^C_-layer;_s;AG_ZAS_CISLA;;_-mtext;\_H;$M=$(*,$(getvar,DIM TXT),$(getvar,DIMSCALE));_J;_BL;_R;\@;$M=$(IF,$(<,$(strle n,$(getenv,PRED)),4),$(getenv,PRED))$M=$(IF,$(<,$(getenv, HODNOTA),10),0)$M=$(getenv,HODNOTA)$M=$(IF,$(<,$(strlen,$ (getenv,ZA)),4),$(getenv,ZA));;setenv;HODNOTA;$M=$(+,1,$(get env,HODNOTA));

 

3. tlacitko bylo pro 3 mistne cislo

^C^C_-layer;_s;AG_ZAS_CISLA;;_-mtext;\_H;$M=$(*,$(getvar,DIM TXT),$(getvar,DIMSCALE));_J;_BL;_R;\@;$M=$(IF,$(<,$(strle n,$(getenv,PRED)),4),$(getenv,PRED))$M=$(IF,$(<,$(getenv, HODNOTA),100),0)$M=$(IF,$(<,$(getenv,HODNOTA),10),0)$M=$( getenv,HODNOTA)$M=$(IF,$(<,$(strlen,$(getenv,ZA)),4),$(ge tenv,ZA));;setenv;HODNOTA;$M=$(+,1,$(getenv,HODNOTA));



-------------
Jiří Macháček

BricsCAD, Cadkon MEP


Odeslal: Rostislav Říha
Datum odeslání: 16.srp.2005 v 12:10

Původně odeslal(a) Machacek Machacek napsal(a):

Pro LTecko jsem mel kdysi udelana takovato uzivatelska tlacitka:^C^Csetenv;PRED;\setenv;HODNOTA;\setenv;ZA;

dobre, jen bych doporucil z duvodu kompatibility s velkym academ nepouzivat setenv a getenv, velky acad zna jen setvar a getvar - lze pouzit bud uzivatelske promenne userr, useri, nebo nejakou mene frekventovanou...



-------------
Rostislav Říha


Odeslal: PeterCAD
Datum odeslání: 16.srp.2005 v 13:26

to je sice pekne, verim ze to i funguje, ale jsem opravdu jen 'novacek'

Predpokladam tedy,ze ve velkem cadu nic takoveho neni, pokud si jej neupravim...



-------------
Peter Mikula
AutoCAD 2005



Odeslal: Chlebník
Datum odeslání: 16.srp.2005 v 13:28
napište přesně co to má dělat a nějak to dáme dokupy.

-------------
Ing. Martin Chlebovský
Projektant a vývojář
Veletrhy Brno a.s.


Odeslal: Machacek
Datum odeslání: 16.srp.2005 v 13:36

neni na tom nic sloziteho, jenom si nadefinujte svoje vlastni uzivatelska tlacitka a do jejich funkce si zkopirujte uvedene retezce.

1.TLC = nejdrive se vas opta na retezec opakujicich se znaku na zacatku (pokud zadate vic jak 4 znaky tak se pri cislovani nebude toto predcisli zobrazovat), pak nasleduje vyzva k zadani cisla od ktereho se zacne pocitat, a  nakonec je tam zase  opakujici se retezec na konci cisla (plati pro nej stejne pravidlo jako pro predcisli)

kdyz si to nastavite tak uz jenom mackate tlacitko 2 nebo 3 a nebo pouzijete opakovani prikazu pres mys



-------------
Jiří Macháček

BricsCAD, Cadkon MEP


Odeslal: PeterCAD
Datum odeslání: 16.srp.2005 v 15:12

Chlebnik:

mam napr. radu kancelari vedle sebe a musim je ocislovat, napr. od 001 do 036.

Taxem si predstavoval,ze zadam neco jako 'pole' s tim, ze se mi vypisou tato cisla (vcetne posloupnosti), pokud mozno i s umistenim tak jako u prikazu pole...

nebylo by spatne zadat parametry jako:

1-pocatecni cislo, 2-krok, 3-pocet cisel, (dalsi hodnoty umisteni dle pole, tj. sloupce/radky)

dik moc za snahu



-------------
Peter Mikula
AutoCAD 2005



Odeslal: Chlebník
Datum odeslání: 16.srp.2005 v 16:30

Vytvořte si soubor třeba        cisilka.lsp

otevřete si ho třeba v notepadu a nakopírujte do něj toto :

 

(defun c:cisilka (/ first kam pocet point i dist x y z vyska text rotace)
  (setq first 1)
  (if (not (setq first (getint (strcat "\nZadej první pořadové číslo : ["(substr "00" (strlen (itoa first)))(itoa first)"] "))))(setq first 1))
  (initget 0 "Rada Sloupec")
  (if (not (setq kam (getkword "\nKam kopírovat Rada/Sloupec [Rada] ")))(setq kam "Rada"))
  (initget 2)
  (if (= kam "Rada")(setq dist (getdist "\nZadej vzdálenost mezi sloupci : ")))
  (if (= kam "Sloupec")(setq dist (getdist "\nZadej vzdálenost mezi řadami : ")))
  (initget 2)
  (setq pocet (getint "\nZadej počet čísel : "))
  (initget 1)
  (setq point (getpoint "\nZadej počáteční bod vykreslování"))
  (setq i 0)
  (setq x (car point) y (cadr point) z (caddr point))
  (setq vyska 10.0) ;;; tady je napsaná výška výsledného textu lze jí jakkoliv změnit
  (setq rotace 0.0) ;;; tady je napsaná rotace výsledného textu lze jí jakkoliv změnit (v radiánech)
  (repeat pocet
    (setq x (+ x (if (= kam "Rada") dist 0)))
    (setq y (+ y (if (= kam "Sloupec") dist 0)))
    (setq text (strcat (substr "00" (strlen (itoa (+ first i)))) (itoa (+ first i))))
    (entmakex (list (cons 0 "TEXT")
      (cons 100 "AcDbEntity")
      (cons 67 0)
      (cons 410 "Model")
      (cons 8 "0") ;;; tady je napsaná hladina do které kreslit (možno smazat celý řádek)
      (cons 100 "AcDbText")
      (cons 10 (list x y z))
      (cons 40 vyska)
      (cons 1 text)
      (cons 50 0.0)
      (cons 41 1.0)
      (cons 51 0.0)
;;;      (cons 7 "Standard")  font
      (cons 71 0)
      (cons 72 0)
      (cons 11 (list 0.0 0.0 0.0))
      (cons 210 (list 0.0 0.0 1.0))
      (cons 100 "AcDbText")
      (cons 73 0)))
    (setq i (1+ i))
  )
)

 

včetně závorek, uvozovek všeho. Pak soubor uložte a zavřete.

Spusťte si autocad a soubor jednoduše přetáhněte na kreslící plochu (popř zapište do appload)

 

tím se soubor načte.

Pak stačí napsat dole na příkazové řádce cisilka a vše by mělo fungovat.

 

Dále je tam možno volit výšku textu, natočení a další - je tam poznámka

 

Kdyby to nějak nešlo napište.



-------------
Ing. Martin Chlebovský
Projektant a vývojář
Veletrhy Brno a.s.


Odeslal: Vladimír Michl
Datum odeslání: 16.srp.2005 v 16:36

Také by šlo použít naši utilitu MakeTable. Používá tabulky a dynamické hodnoty buněk (takže jen pro A2006), takže můžete číslo v řadě následně kdykoliv upravit a zbytek řady se automaticky přečísluje, můžete upravovat rozteč řady čísel, styly, atd.
Jen to dělané jen narychlo, očekává to že máte předem ručně nastaven aktuální styl tabulky s vypnutým záhlavím i nadpisem (a asi i ohraničeními buněk). Spouští se pouhým načtením.

http://www.cadforum.cz/forum/uploads/VladimrMichl/2005-08-16_163456_MakeTable.VLX - 2005-08-16_163456_MakeTable.VLX



-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: Augur
Datum odeslání: 17.srp.2005 v 09:13
V express tools v je prikaz Automatic text numbering. Pomocou pola sa vygeneruje text (napr. A A A A A) a potom sa necha pomocou tohoto prikazu prepisat. Dokonca sa da ocislovat predpona, alebo pripona (napr. okno1, okno2.....oknox)


Odeslal: Vladimír Michl
Datum odeslání: 17.srp.2005 v 17:03

ano, buď použijte TCOUNT nebo naši utilitu NumTable (vylepšený MakeTable)

viz http://www.cadforum.cz/cadforum/qaID.asp?tip=4587 - http://www.cadforum.cz/cadforum/qaID.asp?tip=4587



-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)



Vytisknout stránku | Zavřít okno