Zobrazit plnou verzi příspěvku: Spojení do křivky

BenaCZ
25.06.2007, 12:24
Mohli byste mi prosím poradit jak zfunkčnit tento lisp? jedná se o zrychlené spojení čar do 1 křivky.

;;; spoji cary do krivky
(defun C:spojitdokrivky     (/ PDACPT)
;;;nastaví peditaccept
(setq PDACPT (getvar "peditaccept"))
(setvar "peditaccept" 1)

;;;vlastní funkce
(command "_pedit" pause "p" pause)
(princ)
;;; obnovuje původní peditaccept
(setvar "peditaccept" PDACPT)
(princ)
)

Lisp funguje, jen nedokážu po spojení čar do křivky ukončit dialog _pedit Díky moc za radu. Bena

PepaR
25.06.2007, 14:39
No já to řeším prozatím PLJOIN, makro podobného typu jak zamýšlíte Vy by se ale hodilo neboť PLJOIN ve vyšších verzích je trošku nespolehlivé.

chlebovsky
25.06.2007, 15:24
Pokud jsem to dobře pochopil, tak se Vám jedná o to, že se vám neukončí příkaz editace křivky.
Myslím že když přepíšete ten command tak by to mělo fungovat.
 
(command "_pedit" pause "_j" (ssget) "" "")
 
doporučuji psát i to "p" anglicky "_j" bude to fungovat vždy
Martin.

BenaCZ
25.06.2007, 15:29
Díky moc, je to přesně to co jsem chtěl.

johny
04.07.2007, 14:18
Tak ta promenna "peditaccept" je sikovna, kdyby jen o ni clovek vedel :)
Pred casem jsem to taky resil, jeste jsem po tom chtel aby to pospojovalo ikdyz tam jsou male mezery (do 5 cm) a aby slo objekty vybrat pred spustenim prikazu...
 
(defun C:ske( / ss index n Ano tepent) ;spoj "krivky" s mezerou do 0.05  (command "_select" pause)  (setq ss (ssget "_p"))    (setq index 0   n (sslength ss))    (repeat n      (setq typent (cdr (assoc 0 (entget (ssname ss index)))))       (if (or (equal typent "LINE") (equal typent "ARC"))  (setq Ano T))       (setq index (+ 1 index)))    (command "_pedit" "_m" "_p" "")  (if Ano (command "_y")) ;Kdyz je cara nebo oblouk  (command "_j" "_j" "_e" "0.05" "")  (princ))
 
Takze ten cyklus se necha nahradit vypnutim te sikovene promenne...