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)) )