Zobrazit plnou verzi příspěvku: Tabulka pomoci vla a potřeba vložit BLOK

chlebovsky
10.03.2014, 22:13
Zdravím.Vytvářím v Lispu výpis prvků do tabulky a chtěl bych v prvním sloupečku mít značku (blok), ve druhém sloupečku mít počet kusů, a ve třetím sloupečku popis položky.Samotnou tabulku vytvořím, počet řádků, sloupečků taky. Samotné texty 2,3 sloupeček doplním taky.Ale problém mám s vložením samotného bloku toho prvku (blok zásuvky třeba) do prvního sloupečkuA teď k dotazům a) lze vůbec to tabulky vkládat bloky ? A když tak jak toho docílímb) dokážu nějak změnit šířky prvního, druhého a třetího sloupce ?Nechce se mi totiž tu tabulku ručně kreslit pomocí čar, a tak bych chtěl využít přímo objekt table.Moc prosím o pomoc, děkuju předem.S pozdravem Martin.Tady přikládám kód      (vl-load-com)      ;;; tvorim table      (setq activeDocument (vla-get-activedocument (vlax-get-acad-object)))      (setq mSpace(vla-get-modelspace ActiveDocument))      ;;; point je definovany bod pomoci getpoint      (setq pt (vlax-make-safearray vlax-vbDouble '(0 . 2)))      (vlax-safearray-fill pt point)                                                                   ;;; count je počet radku (polozek) co jsem vybral      (setq myTable (vla-addtable mSpace pt (+ count 1) 3 0.5 3))      ;;; definice hlavicky      (vla-setcelltextheight myTable 0 0 0.4)      (vla-settext myTable 0 0 "Seznam prvků")      ;;; pocet radku a sloupecku      (setq nRows(- (vla-get-rows myTable) 1))      (setq nCols(- (vla-get-columns myTable) 1))            ;;; definice sub hlavicky      (vla-setCelltextHeight myTable 1 0 0.4)      (vla-settext myTable 1 0 "Značka")      (vla-setCellAlignment myTable 1 0 5)           (vla-setCelltextHeight myTable 1 1 0.4)      (vla-settext myTable 1 1 "Poč.")      (vla-setCellAlignment myTable 1 1 5)           (vla-setCelltextHeight myTable 1 2 0.4)      (vla-settext myTable 1 2 "Popis")      (vla-setCellAlignment myTable 1 2 4)           ;;; tady potrebuju nastavit sirky sloupecku, hlavně tretiho, protoze to pak roztahuje do vysky      (setq i 0)      (repeat count        (setq ent (nth i vypis)) ;;; vypis =  je muj seznam vybranych prvku        (setq name (cadr ent))        (setq poc  (caddr ent))        ;; tady potrebuju vlozit blok do tabulky (znacku zasuvky) v prvnim sloupecku        ;;;(vla-setCelltextHeight myTable (+ i 2) 0 0.3)        ;;;(vla-settext myTable (+ i 2) 0 poc)        ;;;(vla-setCellAlignment myTable (+ i 2) 0 5)             (vla-setCelltextHeight myTable (+ i 2) 1 0.3)        (vla-settext myTable (+ i 2) 1 poc)        (vla-setCellAlignment myTable (+ i 2) 1 5)             (vla-setCelltextHeight myTable (+ i 2) 2 0.3)        (vla-settext myTable (+ i 2) 2 name)        (vla-setCellAlignment myTable (+ i 2) 2 4)                 (setq i (1+ i))      )

Vladimír Michl
10.03.2014, 22:36
Na šířku sloupce (koukám do zdrojáku aplikace BLegend) je:[CODE](vla-SetColumnWidth TblObj Col1 wid1)[/CODE]Na vložení bloku je třeba nastavit typ:[CODE](vla-SetCellType TblObj Row1 Col1 acBlockCell)[/CODE]

chlebovsky
11.03.2014, 20:51
Díky moc, obrovská pomoc.Zadařilo se.